/* V13 global visual hardening — loaded after storefront.css */
:root{--ui-page-max:1440px;--ui-content-max:1180px;--ui-gutter:clamp(16px,3vw,32px);--ui-radius:18px;--ui-focus:#2563eb}
html{overflow-x:hidden}body{max-width:100%;background:var(--color-bg,#f6fafb)}main,section,header,footer,nav,form,article,aside,div{min-width:0}img,svg,video,canvas,iframe{max-width:100%}img,video{height:auto}iframe{border:0}input,select,textarea,button{max-width:100%;font:inherit}textarea{resize:vertical}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid color-mix(in srgb,var(--ui-focus) 70%,transparent);outline-offset:3px}
.site-header{width:100%;isolation:isolate}.nav-bar{width:min(var(--ui-page-max),100%);padding-inline:var(--ui-gutter)}.nav-links{min-width:0}.site-main{width:100%;overflow:clip}.container{width:min(var(--ui-content-max),100%);padding-inline:var(--ui-gutter)}.card,.pkg-card,[class*="-card"]{overflow-wrap:anywhere}.grid{align-items:stretch}.grid>*{min-width:0}
/* Homepage: contain every decorative and editorial layer. */
.ad-home{width:100%;overflow:clip}.ad-home>section{width:100%}.ad-container{width:min(var(--ui-page-max),calc(100% - (2 * var(--ui-gutter))))!important;max-width:100%;margin-inline:auto}.ad-hero{min-height:clamp(560px,68vh,760px);overflow:hidden}.ad-hero:before,.ad-hero__orb{pointer-events:none}.ad-hero__grid{z-index:1}.ad-hero__content{position:relative;z-index:3}.ad-hero__visual{width:100%;max-width:760px;min-height:clamp(360px,40vw,540px);justify-self:end;contain:layout paint}.ad-hero__image-shell{inset:0!important;max-width:100%;max-height:560px}.ad-hero__image-shell img{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:560px;object-fit:cover!important;background:#dceeff}.ad-hero__orb{max-width:440px;max-height:440px}.ad-floating-stat{max-width:min(240px,60%)}.ad-search-wrap{width:100%}.ad-search input{min-width:0;width:100%}.ad-city-card img,.ad-region-card img,.ad-country-card img{display:block}.ad-country-grid,.ad-region-grid,.ad-benefit-grid,.ad-review-grid,.ad-device-models,.ad-stats__grid{max-width:100%}.ad-phone{max-width:45%}
/* Lists, tables and forms used by account, checkout and content pages. */
.table-responsive,.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{max-width:100%;border-collapse:collapse}th,td{overflow-wrap:anywhere}.form-group input,.form-group select,.form-group textarea,.form-control{width:100%}.button-row,.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.empty-state{text-align:center;padding:clamp(24px,5vw,60px)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
/* Editorial and destination media must never escape their cards. */
.blog-content,.seo-content,.rich-content{max-width:100%;overflow-wrap:anywhere}.blog-content pre,.seo-content pre,.rich-content pre{max-width:100%;overflow:auto}.blog-content img,.seo-content img,.rich-content img{border-radius:12px}.blog-content iframe,.seo-content iframe,.rich-content iframe{width:100%;aspect-ratio:16/9;height:auto}.destination-hero img,.package-hero img{width:100%;height:auto;object-fit:cover}
@media(max-width:1100px){.nav-links{gap:14px}.nav-links a{font-size:.8rem}.ad-hero__grid{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}.ad-country-grid,.ad-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ad-hero{min-height:auto}.ad-hero__grid{grid-template-columns:1fr}.ad-hero__visual{justify-self:center;width:min(720px,100%)}.ad-country-grid,.ad-region-grid,.ad-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-grid,.campaign-hero__inner{grid-template-columns:1fr!important}.footer-inner--premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.footer-newsletter__inner{align-items:stretch;flex-direction:column}.footer-newsletter form{min-width:0;width:100%}}
@media(max-width:640px){:root{--ui-gutter:14px}.ad-hero{padding-top:32px}.ad-hero h1{font-size:clamp(2.25rem,12vw,3.6rem);overflow-wrap:anywhere}.ad-hero__visual{min-height:300px}.ad-hero__image-shell{max-height:360px}.ad-hero__image-shell img{max-height:360px}.ad-country-grid,.ad-region-grid,.ad-benefit-grid,.ad-review-grid,.ad-device-models{grid-template-columns:1fr}.ad-search{border-radius:18px}.ad-search__icon{flex:0 0 auto}.ad-search button{padding-inline:16px}.ad-search__results{left:0;right:0}.ad-section__head h2{font-size:clamp(1.75rem,9vw,2.4rem)}.ad-device-banner__phones{overflow:hidden}.ad-phone{max-width:none}.footer-inner--premium{grid-template-columns:1fr}.footer-newsletter__inner{padding:26px 20px}.footer-newsletter form{display:grid;border-radius:16px}.footer-bottom--premium{align-items:flex-start;flex-direction:column}.button-row,.form-actions{align-items:stretch;flex-direction:column}.button-row .btn,.form-actions .btn{width:100%}.card{padding:clamp(16px,4vw,24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-promo,.mobile-app-dock,.content-esim-cta,.site-footer{display:none!important}.site-main{overflow:visible}.container{width:100%;max-width:none;padding:0}.card{box-shadow:none}}

/* V14 storefront alignment and eSIM content */
.site-logo img,.brand-logo img{display:block;width:auto;max-width:min(220px,42vw);height:38px;object-fit:contain}.esim-recommendation__form{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(110px,.55fr) minmax(210px,1.1fr) minmax(190px,.9fr) auto;gap:14px;align-items:end}.esim-recommendation__inline-input{display:grid;grid-template-columns:1fr auto;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:#fff}.esim-recommendation__inline-input input{min-width:0;border:0!important}.esim-recommendation__inline-input span{display:grid;place-items:center;padding:0 12px;border-left:1px solid var(--color-border);white-space:nowrap}.pkg-card-meta{display:flex;gap:7px;flex-wrap:wrap}.pkg-card-meta .badge{white-space:nowrap}.device-rich-content{margin:clamp(28px,5vw,64px) 0;padding:clamp(22px,4vw,42px);border:1px solid var(--color-border);border-radius:24px;background:linear-gradient(135deg,#fff,#eefbfd)}.device-rich-content__intro{max-width:820px}.device-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.device-guide-grid article{padding:20px;border:1px solid var(--color-border);border-radius:16px;background:#fff}.device-guide-grid article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--color-primary);color:#fff;font-weight:900}.device-guide-grid h3{margin:12px 0 6px}.device-link-cloud{display:flex;gap:9px;flex-wrap:wrap}.device-link-cloud a{padding:8px 12px;border-radius:999px;background:#fff;color:var(--color-primary-dark);font-weight:750;text-decoration:none}.device-link-cloud a:hover{text-decoration:underline}
@media(max-width:1040px){.esim-recommendation__form{grid-template-columns:repeat(2,minmax(0,1fr))}.esim-recommendation__submit{width:100%}.device-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.site-logo img,.brand-logo img{height:32px;max-width:52vw}.esim-recommendation__form,.device-guide-grid{grid-template-columns:1fr}.esim-recommendation__hotspot{min-height:64px}.device-link-cloud{align-items:stretch;flex-direction:column}.device-link-cloud a{text-align:center}}

/* Shared fallback components used by legacy public templates. */
.alert{padding:13px 15px;margin-bottom:16px;border:1px solid transparent;border-radius:12px}.alert-success{border-color:#a7e3c7;background:#ecfdf5;color:#086044}.alert-danger{border-color:#fecaca;background:#fff1f2;color:#991b1b}.alert-info{border-color:#bfdbfe;background:#eff6ff;color:#1e4f91}.form-stack{display:grid;gap:16px}.form-section{display:grid;gap:14px;padding:clamp(16px,3vw,24px);border:1px solid var(--color-border);border-radius:var(--ui-radius);background:#fff}.full{grid-column:1/-1}.muted,.note{color:var(--color-text-muted)}.mono{font-family:var(--font-mono);overflow-wrap:anywhere}.status-pill,.pbadge,.coupon-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--color-primary-light);color:var(--color-primary-dark);font-size:.75rem;font-weight:800}.stars-row{color:#f5a800;letter-spacing:.08em}.empty-row,.empty-pay,.wallet-empty{padding:30px;text-align:center;color:var(--color-text-muted)}
.panel-page-head,.card-head,.payment-host-head,.pay-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.panel-wallet-page,.pay-shell,.payment-host-shell,.pending-payment-shell,.legal-page{width:min(var(--ui-content-max),100%);margin-inline:auto;padding:clamp(20px,4vw,48px) var(--ui-gutter)}.wallet-overview-grid,.pay-kpis,.pay-grid,.payment-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.wallet-balance-card,.wallet-points-card,.wallet-coupon-card,.pay-kpi,.pay-panel,.payment-method-card,.pending-payment-card,.legal-page__content{padding:clamp(18px,3vw,28px);border:1px solid var(--color-border);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--shadow-sm)}.pay-table-wrap,.payment-iframe-wrap{max-width:100%;overflow:auto}.pay-table,.v4-table{width:100%;min-width:680px}.payment-iframe-wrap iframe{display:block;width:100%;min-height:560px}.payment-spinner,.pending-ring{width:46px;height:46px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.payment-method-option{position:relative;display:block}.payment-method-option>input{position:absolute;opacity:0}.payment-method-option>input:checked+.payment-method-card{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.payment-method-card{display:flex;align-items:center;gap:14px;cursor:pointer}.payment-method-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:13px;background:var(--color-primary-light)}.payment-method-copy{min-width:0}.payment-method-copy strong,.payment-method-copy small{display:block}.payment-method-copy small{color:var(--color-text-muted)}.legal-page__header{max-width:780px;margin-bottom:28px}.legal-page__content{line-height:1.8}.legal-page__content h2{margin-top:1.8em}.legal-page__action{margin-top:20px}.voucher-apply-form{display:flex;gap:8px}.voucher-apply-form input{min-width:0;flex:1}
@media(max-width:640px){.panel-page-head,.card-head,.payment-host-head,.pay-panel-head{align-items:flex-start;flex-direction:column}.voucher-apply-form{flex-direction:column}.payment-iframe-wrap iframe{min-height:70vh}.pay-table,.v4-table{min-width:600px}}
