/* Shared customer and workspace refinements. Existing product and payment rules stay in their modules. */
:root{--beone-accent:#087d74;--beone-soft:#edf7f3;--beone-border:#d8e7e1;--beone-focus:#258e80}
body{font-feature-settings:"ss01" on}
:where(main,.admin-main) :where(h1,h2,h3){text-wrap:balance}
:where(main,.admin-main) :where(p,li,dd,a,strong){overflow-wrap:break-word}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--beone-focus);outline-offset:4px}
:where(button,.btn){-webkit-tap-highlight-color:transparent}
:where(button,.btn):disabled{cursor:not-allowed}
:where(main,.admin-main) :where(input,select,textarea){max-width:100%}
:where(main,.admin-main) :where(article,section,aside,form,fieldset){min-width:0}
dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
dialog::backdrop{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
html:has(dialog[open]){overflow:hidden}
.btn{border-radius:12px;min-height:46px;letter-spacing:0}
.btn-dark{background:#075b54}
.btn-lime{background:#d6f6e8;color:#114a40;border-color:#b9e8d4}
.btn-outline{border-color:#b9d3c8}
:where(.form-grid,.admin-fields) :where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:10px}
:where(.page-hero,.plans-hero,.contact-hero,.legal-hero,.faq-hero,.guides-hero) h1{line-height:1.08}
.site-footer :where(a,p){line-height:1.65}
.physical-purchase-hero{padding:25px 0 30px;background:#edf7f3;color:#123d37;overflow:hidden}
.physical-purchase-hero::before{border-color:#cee7db}
.physical-purchase-hero .buy-back{color:#486d60;margin-bottom:19px}
.physical-purchase-hero .buy-kicker{color:#087268}
.physical-purchase-hero h1{font-size:clamp(2.15rem,4vw,3.55rem);max-width:800px;margin:9px 0 12px;letter-spacing:-.04em}
.physical-purchase-hero p{font-size:.96rem;color:#506d61;max-width:630px}
.physical-purchase-hero+.checkout-section{padding-top:26px}
.physical-purchase-hero+.checkout-section .checkout-pick{margin-top:0}
.physical-purchase-hero+.checkout-section .checkout-pick-card{border:1px solid var(--beone-border);box-shadow:0 12px 34px #184e3810}
.physical-checkout-layout{margin-top:24px;align-items:start}
.physical-checkout-layout>.checkout-panel{border:1px solid var(--beone-border);box-shadow:0 12px 34px #184e3810}
.physical-checkout-layout .checkout-panel>h2{font-size:1.7rem;margin:8px 0 10px}
.physical-checkout-layout .checkout-panel>p{font-size:.88rem;line-height:1.55}
.physical-summary{display:block;padding:0!important;border:1px solid var(--beone-border);background:#fff;box-shadow:none;border-radius:18px;overflow:hidden}
.physical-summary details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;list-style:none;font-weight:700;font-size:.87rem;color:#23544a;cursor:pointer}
.physical-summary details>summary::-webkit-details-marker{display:none}
.physical-summary details[open]>summary{border-bottom:1px solid #e3eee8}
.physical-summary details[open]>summary>span{transform:rotate(180deg)}
.physical-summary-body{padding:22px}
.physical-summary .checkout-summary-art{height:145px;width:100%;margin-bottom:20px;border-radius:12px;background:#f2f8f4}
.physical-summary .checkout-summary-art img{max-height:130px}
.physical-summary h2{font-size:1.55rem}
.physical-summary p{font-size:.84rem}
.physical-summary small{display:block;font-size:.73rem;line-height:1.6;color:#647c70}
.physical-summary .checkout-price{margin:18px 0}
.physical-registration{margin-bottom:7px}
.physical-registration>p{min-height:0;margin:9px 0 5px}
.physical-order-intent{display:block;font-size:.71rem;line-height:1.5;color:#667b70}
.physical-registration .esim-registration-face.is-tapped{animation:sim-choice-tap .26s ease}
@keyframes sim-choice-tap{50%{transform:scale(.975);box-shadow:0 0 0 3px #0b82751b}}
.physical-registration-receipt{align-items:start;gap:12px}
.physical-registration-receipt strong{text-align:right}
#physical-eligibility-dialog .esim-eligibility-brand>img{object-fit:contain}
/* Destination-led roaming, with the same published catalogue and explicit coverage. */
.roaming-hero-inner{min-height:300px}
.roaming-hero-copy{padding:44px 0}
.roaming-hero h1{font-size:clamp(2.35rem,4.8vw,4.25rem);max-width:700px}
.roaming-hero-copy>p{max-width:570px}
.roaming-hero-art{max-height:290px}
.roam-search-section{padding:27px 0;background:#f4f9f6}
.roam-search{box-shadow:0 10px 30px #164b3710;border:1px solid #dce9e2;border-radius:18px}
.roam-search-heading{margin-bottom:20px}
.roam-search-heading h2{font-size:1.65rem;line-height:1.2}
.roam-search-controls{display:grid;grid-template-columns:minmax(0,1fr) 150px 180px;gap:12px;align-items:end}
.roam-combobox{grid-column:1/-1;min-width:0}
.roam-chip-field{min-height:58px;border-radius:12px;background:#fcfefd;align-items:center;padding:6px 12px}
.roam-chip-field input{min-height:42px;font-size:16px}
.roam-region-select,.roam-sort-select{display:grid;gap:6px;min-width:0}
.roam-sort-select>span{font-size:.73rem;color:#5a7469;font-weight:600}
.roam-region-select select,.roam-sort-select select{min-height:46px;width:100%;border:1px solid #cddfd4;border-radius:10px;background:white;color:#234e41;padding:10px 12px;font-size:.86rem}
.roam-search-controls>button{grid-column:3;grid-row:2;min-height:46px;border-radius:10px;background:#08796e;box-shadow:none}
.roam-options{border-radius:12px;border-color:#cbded3;box-shadow:0 16px 38px #113d3724;max-height:320px;overscroll-behavior:contain;z-index:15}
.roam-options li{min-height:48px;display:flex;align-items:center;padding:12px 16px}
.roam-options li:hover,.roam-options li[aria-selected=true]{background:#eaf6ef;color:#075c4f}
.roam-chip{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:5px 8px;background:#e8f5ed;font-size:.8rem;max-width:100%}
.roam-chip button{width:44px;height:44px;flex-shrink:0;border:0;background:transparent;color:#275c4e;font-size:20px}
.roam-pass-card{border:1px solid #d5e5dc;border-radius:17px;box-shadow:0 6px 22px #1647320a;background:#fff;overflow:hidden}
.roam-pass-heading{background:#f0f7f3;color:#267564;border-bottom:1px solid #e1ece5;font-size:.68rem;padding:13px 20px;gap:10px}
.roam-pass-card .roaming-card-body{padding:22px;display:flex;flex-direction:column;height:100%}
.roam-pass-card h3{font-size:1.45rem;line-height:1.2;margin-bottom:10px;letter-spacing:-.025em}
.roam-pass-description{font-size:.85rem;line-height:1.6}
.roam-pass-allowance{background:#f6faf7;border-radius:11px;padding:14px 16px;gap:12px;border:0}
.roam-pass-allowance strong{font-size:1.4rem}
.roam-pass-allowance span{font-size:.82rem;line-height:1.4}
.roam-pass-countries{margin-bottom:20px}
.roam-pass-countries>div{gap:6px}
.roam-pass-countries>div>span{border-radius:6px;background:#f2f6f3;font-size:.73rem}
.roam-pass-countries em{font-style:normal;font-size:.69rem}
.roam-pass-card .roaming-card-bottom{margin-top:auto;gap:15px;border-top:1px solid #e5eee7;padding-top:18px}
.roam-pass-card .roaming-card-bottom>strong{font-size:1.8rem;color:#124e40}
.roam-pass-card .roaming-card-bottom>a{border-radius:10px;padding:11px 16px;background:#075f56;color:#fff;border:0;font-size:.8rem}
.roam-finder-hero{padding:36px 0;background:#edf7f2}
.roam-finder-hero h1{font-size:clamp(2rem,4vw,3.2rem)}
.roam-detail-summary{box-shadow:0 12px 30px #194b3810;border:1px solid #d7e6dc}
/* All Admin surfaces retain their workflows, with shared spacing and readable controls. */
.admin-main{min-width:0}
.admin-main :where(h1){font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.12;letter-spacing:-.035em}
.admin-main :where(h2){line-height:1.2;letter-spacing:-.025em}
.admin-main :where(.admin-card,.workspace-card,.crm-panel){border-color:#dce8e0;box-shadow:0 5px 20px #133e2b06}
.admin-main :where(.admin-card,.crm-panel){border-radius:16px}
.admin-main :where(.admin-title-split,.admin-toolbar,.workspace-toolbar,.crm-toolbar,.order-toolbar,.button-row){gap:12px;flex-wrap:wrap}
.admin-main :where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;border-radius:9px}
.admin-main :where(.small-button,.crm-row-action,.order-pagination button){min-height:42px;border-radius:9px}
.admin-main :where(.table-wrap,.admin-table-wrap,.crm-table-wrap,.workspace-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.admin-main :where(th){font-weight:700;letter-spacing:.015em}
.admin-main :where(td){vertical-align:top}
.admin-main :where(.crm-panel,.workspace-card) :where(dd,p,small){overflow-wrap:anywhere}
@media(max-width:900px){
 .header-inner{gap:18px}
 .admin-main>header{min-height:62px;padding:12px 18px}
 .admin-title-split{align-items:start}
}
@media(max-width:700px){
 body:not(.admin-body) main h1{font-size:clamp(2rem,8.5vw,2.8rem);line-height:1.09;letter-spacing:-.035em}
 body:not(.admin-body) main h2{font-size:clamp(1.55rem,6.4vw,2.1rem);line-height:1.16}
 body:not(.admin-body) main h3{line-height:1.25}
 .container{width:calc(100% - 32px)}
 .btn{padding:13px 18px;min-height:46px;font-size:.88rem}
 :where(main,.admin-main) :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
 :where(.page-hero,.faq-hero,.guides-hero,.legal-hero,.contact-hero,.plans-hero){padding-top:30px;padding-bottom:30px}
 :where(.contact-hero-copy,.plans-hero-copy,.hero-copy){padding-top:30px;padding-bottom:30px}
 :where(.section,.contact-options,.contact-guide,.plan-detail-benefits-section){padding-top:40px;padding-bottom:40px}
 .section-heading.split{align-items:start;gap:20px;flex-wrap:wrap}
 .section-heading p,.sim-copy>p{font-size:.93rem}
 .hero-trust{margin-top:26px;flex-wrap:wrap;gap:8px}
 .site-footer .container{gap:28px}
 .order-status-hero{padding-top:30px;padding-bottom:38px}
 .order-status-wrap,.receipt{max-width:calc(100% - 32px)}
 .order-receipt-summary>div{gap:12px}
 .order-receipt-actions{gap:10px;flex-wrap:wrap}
 .physical-purchase-hero{padding:18px 0 22px}
 .physical-purchase-hero .buy-back{margin-bottom:13px;font-size:.73rem}
 .physical-purchase-hero h1{font-size:2rem!important;margin:8px 0 9px}
 .physical-purchase-hero p{font-size:.82rem;line-height:1.5}
 .physical-purchase-hero+.checkout-section{padding-top:16px}
 .physical-purchase-hero+.checkout-section .checkout-pick-card{padding:18px;gap:14px}
 .physical-purchase-hero+.checkout-section .checkout-pick-art{height:76px}
 .physical-purchase-hero+.checkout-section .checkout-pick-art img{max-height:75px}
 .physical-purchase-hero+.checkout-section h2{font-size:1.45rem}
 .physical-purchase-hero+.checkout-section .checkout-pick-copy>p{font-size:.8rem}
 .physical-checkout-layout{display:flex;flex-direction:column;width:calc(100% - 28px);gap:16px;margin-top:16px}
 .physical-checkout-layout>.checkout-panel{order:0;width:100%;padding:18px}
 .physical-checkout-layout>.physical-summary{order:1;width:100%}
 .physical-checkout-layout .checkout-panel>h2{font-size:1.45rem}
 .physical-checkout-layout .checkout-panel>p{font-size:.78rem;margin-bottom:19px}
 .physical-checkout-layout .form-grid{gap:15px}
 .physical-checkout-layout .form-grid label{font-size:.8rem}
 .physical-checkout-layout .checkout-paybar{bottom:env(safe-area-inset-bottom,0px);margin-left:0;margin-right:0}
 .physical-registration .esim-registration-face{height:90px!important;padding:9px 10px!important}
 .physical-registration .esim-registration-icon{margin-bottom:3px}
 .physical-registration .esim-registration-face strong{font-size:.77rem;min-height:2.4em;padding-right:5px}
 .physical-registration .esim-registration-face small{font-size:.61rem;margin-top:1px}
 .physical-registration .esim-registration-check{width:17px;height:17px;top:10px;right:10px}
 .physical-registration>p,.physical-order-intent{font-size:.69rem}
 .physical-summary details>summary{padding:17px 18px;font-size:.83rem}
 .physical-summary-body{padding:18px}
 .physical-summary .checkout-summary-art{height:88px;margin:0 0 15px}
 .physical-summary .checkout-summary-art img{max-height:80px}
 .physical-summary h2{font-size:1.35rem!important}
 .physical-summary .checkout-price{grid-column:auto;margin:15px 0}
 #physical-eligibility-dialog .esim-eligibility-brand{gap:12px}
 #physical-eligibility-dialog .esim-eligibility-brand>img{width:80px;height:34px}
 #physical-eligibility-dialog .esim-eligibility-brand>span{font-size:.56rem;line-height:1.5;max-width:130px;text-align:right}
 .roaming-hero-inner{min-height:0}
 .roaming-hero-copy{padding:27px 0 23px}
 .roaming-hero h1{font-size:2.2rem!important;margin:12px 0}
 .roaming-hero-copy>p{font-size:.85rem;line-height:1.6}
 .roaming-hero-actions{margin-top:18px;gap:15px}
 .roam-search-section{padding:18px 0}
 .roam-search{padding:18px 16px;border-radius:15px}
 .roam-search-heading{margin-bottom:17px;gap:10px}
 .roam-search-heading h2{font-size:1.25rem!important;margin:0 0 6px}
 .roam-search-heading p{font-size:.76rem;line-height:1.55}
 .roam-search-heading>span{width:32px;height:32px;flex-basis:32px}
 .roam-search-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 8px}
 .roam-combobox{grid-column:1/-1}
 .roam-chip-field{min-height:56px;padding:5px 9px;gap:4px}
 .roam-chip-field input{min-width:100px;width:100%;font-size:16px}
 .roam-region-select{grid-column:1;grid-row:2}
 .roam-sort-select{grid-column:2;grid-row:2}
 .roam-region-select select,.roam-sort-select select{font-size:.8rem;padding:10px 8px;min-height:46px}
 .roam-sort-select>span{display:none}
 .roam-search-controls>button{grid-column:1/-1;grid-row:3;width:100%;min-height:48px;font-size:.9rem}
 .roam-options{max-height:min(320px,45dvh)}
 .roam-options li{min-height:52px;font-size:.94rem}
 .roam-search-hint{font-size:.7rem;line-height:1.5;margin-bottom:0}
 .roaming-jump{gap:8px;overflow-x:auto;justify-content:flex-start;padding:13px 16px}
 .roaming-jump a{flex-shrink:0;font-size:.74rem;min-height:40px;display:flex;align-items:center;border:1px solid #d6e4db;border-radius:9px;padding:8px 11px}
 .roaming-section{padding:30px 0}
 .roaming-section-heading{margin-bottom:18px}
 .roaming-section-heading h2{font-size:1.8rem}
 .roaming-section-heading p{font-size:.81rem;line-height:1.6}
 .roaming-track{display:grid;grid-template-columns:1fr;overflow:visible;gap:14px;padding:0}
 .roaming-carousel .roaming-card{width:100%;min-width:0;flex-basis:auto}
 .roaming-carousel-actions{display:none}
 .roam-pass-heading{padding:12px 17px;font-size:.62rem}
 .roam-pass-card .roaming-card-body{padding:18px;height:auto;gap:0}
 .roam-pass-card h3{font-size:1.35rem!important;margin-bottom:8px}
 .roam-pass-description{font-size:.8rem;margin-bottom:14px}
 .roam-pass-allowance{padding:13px 14px;margin-bottom:15px}
 .roam-pass-allowance strong{font-size:1.35rem}
 .roam-pass-countries{padding:0;margin:0 0 17px}
 .roam-pass-countries>div>span{font-size:.7rem}
 .roam-pass-card .roaming-card-bottom{padding-top:16px}
 .roam-pass-card .roaming-card-bottom>strong{font-size:1.65rem}
 .roam-results-heading{padding-top:26px}
 .roam-results-heading h2{font-size:1.6rem!important}
 .roam-results-grid{gap:14px}
 .roam-finder-hero{padding:25px 0}
 .roam-finder-hero h1{font-size:2rem!important}
 .roam-detail-hero{padding:22px 0 30px}
 .roam-detail-grid{gap:22px;margin-top:22px}
 .roam-detail-summary{padding:22px}
 .roam-detail-summary>a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:10px}
 .admin-main{width:100%}
 #admin-content{padding:24px 16px 50px}
 .admin-main :where(.admin-card){padding:20px 16px}
 .admin-main :where(.admin-title,.workspace-title){margin-bottom:22px}
 .admin-main :where(.admin-title-split,.workspace-heading){align-items:start;flex-wrap:wrap;gap:14px}
 .admin-main :where(.admin-fields,.crm-detail-grid,.crm-detail-main,.crm-detail-side){grid-template-columns:minmax(0,1fr)}
 .admin-main :where(.admin-fields)>.full{grid-column:auto}
 .admin-main :where(.workspace-toolbar,.admin-toolbar,.crm-toolbar,.order-toolbar){display:flex;flex-wrap:wrap;align-items:end;gap:10px}
 .admin-main :where(.workspace-toolbar,.admin-toolbar,.crm-toolbar,.order-toolbar)>:where(label,input,select){flex:1 1 135px;min-width:0}
 .admin-main :where(.admin-title h1,.workspace-title h1){font-size:1.9rem}
 .admin-main :where(.crm-detail-head,.order-pagination){gap:12px;flex-wrap:wrap}
 .admin-main :where(.crm-detail-head h2){font-size:1.3rem;overflow-wrap:anywhere}
 .admin-main :where(.crm-detail-side){gap:16px}
 .admin-main :where(th,td){padding:12px 10px;font-size:.8rem}
 .admin-main :where(.crm-stats,.workspace-summary){gap:9px}
 .admin-main dialog{padding:20px 16px;width:calc(100vw - 28px)}
}
@media(max-width:359px){
 .physical-registration .esim-registration-face{height:66px!important;padding:8px 35px 8px 47px!important}
 .physical-registration .esim-registration-icon{left:13px;top:21px}
 .physical-registration .esim-registration-face strong{min-height:0;font-size:.82rem}
 .physical-registration .esim-registration-check{top:23px}
 .roam-pass-card .roaming-card-bottom>a{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .physical-registration .esim-registration-face.is-tapped{animation:none}
 .btn,.roam-options li{transition:none}
}
@media print{.physical-summary details:not([open])>.physical-summary-body{display:block}.physical-summary details>summary{display:none}}
/* Physical checkout starts directly with the form, without a promotional hero. */
.physical-checkout-heading{margin:0 0 12px}
.physical-checkout-heading .physical-edit{display:inline-block;font-size:.75rem;color:#58766a;text-decoration:underline;text-underline-offset:4px;margin:0 0 20px}
.physical-checkout-heading .buy-label{display:block;font-size:.64rem;color:#08766a;letter-spacing:.1em}
.physical-checkout-heading h1{font-size:1.9rem;line-height:1.15;margin:9px 0 0;letter-spacing:-.035em}
.roam-finder-hero h1{color:#164b40}
.roam-finder-hero p{color:#577369}
.roam-finder-hero .roaming-section-kicker{color:#087d71}
@media(max-width:700px){
 body:not(.admin-body) main .physical-checkout-heading h1{font-size:1.55rem;line-height:1.18}
 .physical-checkout-heading .physical-edit{margin-bottom:16px}
 .physical-checkout-layout{margin-top:18px}
 .physical-checkout-layout>.checkout-panel>p{margin-bottom:18px}
}
@media(max-width:700px){
 .notify-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .notify-filters>label{min-width:0}
 .notify-filters :where(input,select){min-width:0;width:100%}
}
@media(max-width:359px){.notify-filters{grid-template-columns:minmax(0,1fr)}}

.roam-results-heading>a{display:inline-flex;align-items:center;min-height:44px}

@media(min-width:701px) and (max-width:900px){
 .physical-checkout-layout{display:flex;flex-direction:column;gap:20px}
 .physical-checkout-layout>.checkout-panel{order:0;width:100%}
 .physical-checkout-layout>.physical-summary{order:1;width:100%}
}
