/* source: styles.css */
:root{--ink:#172519;--cream:#f5f2e9;--paper:#fffdf8;--orange:#f15c3e;--lime:#c7ed56;--green:#174c37;--muted:#637065;--line:#d8ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif}.shell{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}.announcement{background:#15291c;color:#e6f1d7;text-align:center;padding:10px;font-size:12px;font-weight:700;letter-spacing:.02em}.announcement span{color:#aeb9ad;margin-left:10px}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:24px;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-1.5px;display:flex;align-items:center;gap:8px}.brand-mark{background:var(--orange);border-radius:8px;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:20px;width:27px;height:27px;display:grid;place-items:center}.nav nav{display:flex;gap:32px}.nav a,.footer a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}.support{border:1px solid var(--ink);background:transparent;border-radius:30px;padding:10px 16px;font:700 13px Manrope}.support span{margin-left:6px}.hero{position:relative;padding-top:90px;padding-bottom:104px;overflow:hidden;min-height:610px}.eyebrow,.section-label{font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.13em;color:#4c5c4d}.eyebrow i{background:var(--orange);width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}h1,h2{font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.07em;margin:20px 0 22px;font-weight:800}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.hero-copy{font-size:17px;line-height:1.7;max-width:505px;color:var(--muted);margin-bottom:29px}.search-box{position:relative;display:flex;background:#fff;border:1px solid #e5e4dc;box-shadow:0 15px 33px #263c1712;border-radius:12px;width:min(630px,100%);height:68px;z-index:3}.search-icon{font:30px Georgia;padding:13px 15px 10px 20px}.search-box input{border:0;outline:0;font:500 15px Manrope;flex:1;min-width:0}.search-box button,.optimize-btn,.cta button{border:0;background:var(--orange);color:white;border-radius:9px;margin:7px;padding:0 19px;font:800 13px Manrope}.search-box button span,.optimize-btn span,.select-plan span,.cta button span{font-size:19px;margin-left:8px}.suggestions{position:absolute;background:#fff;left:0;right:0;top:75px;border:1px solid #ddd;border-radius:10px;overflow:hidden;box-shadow:0 12px 28px #1112}.suggestions button{margin:0!important;padding:11px 18px!important;width:100%;color:var(--ink)!important;background:#fff!important;text-align:left;border-radius:0!important}.suggestions small{float:right;color:var(--muted)}.popular{display:flex;gap:9px;align-items:center;margin-top:16px;font-size:12px;color:#778076}.popular button{border:0;background:#ebe9df;border-radius:18px;padding:7px 10px;font:600 12px Manrope;color:#3a473b}.hero-art{position:absolute;right:-110px;top:8px;width:590px;height:590px;opacity:.95}.globe{height:100%;border-radius:50%;background:radial-gradient(circle at 35% 31%,#e0f18f 0 4%,#b6de57 17%,#6ba242 47%,#326536 77%,#184128 100%);box-shadow:inset -35px -30px 70px #132b1d90,0 40px 45px #15372520;position:relative}.globe:before{content:'';position:absolute;inset:60px 0;border:1px solid #d4e87f55;border-radius:50%;transform:rotate(-35deg)}.orbit{position:absolute;border:1px solid #f6ffd48f;border-radius:50%;width:110%;height:30%;left:-5%;top:36%}.orbit.two{transform:rotate(66deg)}.pin{position:absolute;color:#fff;font-size:22px;text-shadow:0 2px 7px #123}.pin-one{top:28%;left:34%}.pin-two{top:52%;left:65%}.pin-three{top:67%;left:31%}.trust{display:flex;justify-content:space-between;padding-top:29px;padding-bottom:29px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust div{display:flex;gap:8px;align-items:baseline}.trust strong{font-size:20px;letter-spacing:-1px}.trust span{font-size:12px;color:var(--muted)}.plans-section{padding-top:120px;padding-bottom:120px}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-intro h2,.how h2{font-size:51px;margin:15px 0 0}.section-intro p{max-width:350px;color:var(--muted);font-size:14px;line-height:1.7}.finder{background:var(--paper);padding:26px;border:1px solid #e1e1d8;border-radius:15px}.finder-top{display:flex;align-items:center;justify-content:space-between}.active-country{display:flex;gap:11px;align-items:center}.active-country>span{font-size:30px}.active-country small{display:block;font-size:11px;color:var(--muted)}.active-country strong{font-size:18px}.change-destination{background:transparent;border:0;text-decoration:underline;font:700 12px Manrope}.filters{display:flex;gap:8px;margin:25px 0;overflow:auto;padding-bottom:3px}.filter{border:1px solid #d9ded4;background:transparent;border-radius:20px;padding:8px 13px;white-space:nowrap;font:600 12px Manrope;color:#4d584e}.filter.active{background:var(--green);color:white;border-color:var(--green)}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-card{border:1px solid #dfe2d9;border-radius:11px;padding:17px;background:white}.plan-top,.plan-bottom{display:flex;justify-content:space-between;align-items:center}.plan-tag{font:700 10px Manrope;padding:5px 8px;border-radius:4px}.coral{background:#ffdfd7;color:#ac3a27}.lime{background:#e2f6a9;color:#3f6821}.purple{background:#e3dcff;color:#6046a5}.more{border:0;background:transparent;letter-spacing:1px}.plan-card h3{margin:25px 0 3px;font-size:17px}.provider{font-size:11px;color:var(--muted);margin:0}.data{margin:23px 0 15px;display:flex;align-items:baseline;gap:9px}.data strong{font-size:29px;letter-spacing:-1.5px}.data span{font-size:11px;color:var(--muted)}.plan-details{border-top:1px solid #edf0e9;padding-top:13px;display:flex;gap:10px;flex-wrap:wrap}.plan-details span{font-size:10px;color:#536153}.plan-bottom{margin-top:20px}.plan-bottom>strong{font-size:19px}.select-plan{border:0;background:var(--ink);color:white;border-radius:7px;padding:8px 11px;font:700 11px Manrope}.pricing-note{font-size:10px;color:#7d877d;margin:17px 0 0}.optimizer{background:var(--green);color:white;padding:100px 0}.optimizer-grid{display:grid;grid-template-columns:1fr 470px;gap:80px;align-items:center}.light{color:#b6ceab}.optimizer h2{font-size:55px;margin-top:15px}.optimizer h2 em{color:var(--lime)}.optimizer-copy>p{color:#ced7c9;max-width:410px;line-height:1.7;font-size:15px}.optimizer-steps{margin-top:35px;font:12px 'DM Mono',monospace;color:#b7c7b3;display:flex;gap:9px;flex-wrap:wrap}.optimizer-steps span{color:var(--lime)}.trip-card{background:#f8f7f1;color:var(--ink);border-radius:14px;padding:25px}.trip-card label{display:block;font-size:12px;font-weight:800;margin-bottom:17px}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.chips span{font:600 11px Manrope;background:#e3edd7;border-radius:15px;padding:5px 8px}.chips button{border:0;background:transparent;padding:0 0 0 3px}.trip-card input,.trip-card select{width:100%;border:1px solid #d6dcd2;border-radius:6px;background:#fff;padding:11px;font:500 12px Manrope;margin-top:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex!important;align-items:center;gap:9px;margin:4px 0 15px!important}.toggle-row input{display:none}.toggle{width:30px;height:17px;border-radius:15px;background:#c7cec5;position:relative}.toggle:before{content:'';background:white;width:13px;height:13px;border-radius:50%;position:absolute;top:2px;left:2px;transition:.2s}.toggle-row input:checked+.toggle{background:var(--green)}.toggle-row input:checked+.toggle:before{left:15px}.optimize-btn{width:100%;height:48px;margin:0}.recommendation{margin-top:15px;border-radius:8px;background:#e5f5bd;padding:12px;color:#29421c}.recommendation strong{font-size:12px}.recommendation p{font-size:11px;line-height:1.5;margin:4px 0}.recommendation span{font:500 11px 'DM Mono',monospace}.how{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:31% 1fr;gap:70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:16px}.steps b{font:500 12px 'DM Mono',monospace;color:var(--orange)}.steps h3{font-size:17px;margin:17px 0 9px}.steps p{font-size:13px;line-height:1.7;color:var(--muted)}.cta{background:#c9ee61;border-radius:14px;margin-bottom:70px;padding:43px 50px;display:flex;justify-content:space-between;align-items:center}.cta>div{display:flex;gap:22px;align-items:center}.cta span{font-size:36px}.cta h2{font-size:35px;margin:0}.cta button{height:48px;margin:0;background:var(--ink)}.footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:40px;display:flex;align-items:center;justify-content:space-between}.footer p{font-size:12px;color:var(--muted)}.footer div{display:flex;gap:20px}.footer a{font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#1e3425;color:#fff;padding:12px 16px;border-radius:8px;font-size:12px;transition:.25s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){.nav nav,.support{display:none}.hero{padding-top:62px;min-height:610px}.hero-art{width:390px;height:390px;right:-150px;top:200px;opacity:.65}.trust{gap:15px;overflow:auto}.trust div{min-width:max-content}.section-intro,.how{display:block}.section-intro p{margin-top:20px}.plan-grid,.optimizer-grid,.steps{grid-template-columns:1fr}.optimizer-grid{gap:40px}.optimizer{padding:75px 0}.how{padding-top:80px;padding-bottom:80px}.steps{gap:20px}.cta{padding:30px;display:block}.cta>div{margin-bottom:20px}.cta h2{font-size:28px}.footer{display:block}.footer p{margin:15px 0}.footer div{flex-wrap:wrap}.search-box{height:62px}.search-box button{padding:0 11px;font-size:11px}.popular{overflow:auto;white-space:nowrap}.plans-section{padding-top:80px;padding-bottom:80px}}@media(max-width:430px){.shell{padding-left:18px;padding-right:18px}.finder{padding:16px}.plan-grid{gap:10px}.plan-card{padding:14px}.data strong{font-size:25px}.active-country strong{font-size:16px}.change-destination{font-size:10px}.optimizer-grid{padding-left:18px;padding-right:18px}.trip-card{padding:18px}}
.recovery-row{display:flex;justify-content:flex-end;padding-top:0;padding-bottom:13px}.esim-recovery{display:inline-flex;align-items:center;gap:7px;color:var(--green);font:700 12px Manrope;text-decoration:none;border-bottom:1px solid #8ca585;padding-bottom:2px}.esim-recovery span{color:currentColor;font-size:16px;line-height:1}.esim-recovery:hover{color:var(--orange);border-color:var(--orange)}@media(max-width:800px){.recovery-row{justify-content:flex-start;padding-bottom:13px}}
.search-box button{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.search-box button:hover{filter:brightness(.96);box-shadow:0 5px 12px #9c341f33}.search-box button:active,.search-box button.is-submitted{transform:translateY(1px) scale(.97);box-shadow:inset 0 2px 5px #7f281b55}
/* `hidden` makes Safari treat the page as a scroll container, which can let a
   sticky header's first row slide beneath the browser chrome. `clip` prevents
   horizontal overflow without changing the scrolling ancestor. */
html{overflow-x:clip}body{max-width:100%;overflow-x:clip}
.trust-review-link{display:flex;gap:8px;align-items:baseline;color:var(--ink);text-decoration:none;padding:7px 10px;margin:-7px -10px;border-radius:9px}.trust-review-link strong{color:var(--ink)}.trust-review-link span{color:var(--muted);text-decoration:underline;text-underline-offset:4px}.trust-review-link:hover{background:#e9f3d5}.trust-review-link:hover strong,.trust-review-link:hover span{color:var(--green)}
/* The destination box is already a large, clearly bounded field. Keep a tap
   or click calm instead of adding a second ring around the whole search bar. */
.search-box:focus-within{border-color:#e5e4dc;box-shadow:0 15px 33px #263c1712}.search-box input:focus-visible{outline:0!important}

/* source: home-brand.css */
.nav .brand,.footer .brand{font-size:15px;font-style:italic;letter-spacing:-.8px;gap:5px}.nav .brand-mark,.footer .brand-mark{width:27px;height:27px;border-radius:8px;font-size:19px}.footer .brand{display:inline-flex;align-items:center}
@media(max-width:800px){.nav .brand,.footer .brand{font-size:15px}.nav .brand-mark,.footer .brand-mark{width:27px;height:27px;font-size:19px}}

/* source: brand-color.css */
.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark,.brand>span{background:#174c37!important}.brand img.brand-mark{width:27px;height:27px;object-fit:contain;background:transparent!important;border-radius:50%!important}

/* source: trip-optimizer.css */
.trip-destination-field { position: relative; }
.trip-suggestions { position: absolute; z-index: 5; left: 0; right: 0; top: calc(100% + 3px); max-height: 240px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: #fff; border: 1px solid #d6dcd2; border-radius: 7px; box-shadow: 0 8px 18px #17331c26; }
.trip-suggestions button { display: flex; justify-content: space-between; align-items: center; width: 100%; border: 0; background: #fff; padding: 10px 11px; color: var(--ink); font: 600 12px Manrope; text-align: left; }
.trip-suggestions button:hover, .trip-suggestions button.keyboard-active { background: #e8e5dd; }
.trip-suggestions small { color: var(--muted); }
.recommendation{min-width:0;overflow-wrap:anywhere}.recommendation>span{display:block;margin-top:8px}.recommendation>.optimizer-lowest-price{width:max-content;margin-top:10px;margin-bottom:-2px;border-radius:999px;background:#174c37;color:#fff;padding:4px 8px;font:800 9px/1 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.trip-buy-row { display: grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap: 8px; margin-top: 12px; }
.trip-buy { min-width:0;min-height:40px;border: 0; border-radius: 6px; padding: 9px 10px; background: var(--green); color: #fff; font: 700 11px/1.35 Manrope; text-align:center;overflow-wrap:anywhere; }
.trip-buy-row-many{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px}.trip-buy-row-many .trip-buy{min-height:34px;padding:6px 8px;font-size:10px;line-height:1.2}.trip-buy-row-many .trip-cart-actions{display:contents}
.trip-buy-row.trip-buy-row-local{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px;overflow:visible}.trip-buy-row.trip-buy-row-local .trip-buy{min-height:34px;padding:6px 8px;font-size:10px;line-height:1.2}
.trip-buy.secondary { background: #fff; color: var(--green); border: 1px solid var(--green); }
.trip-buy[data-cart-added="true"]{background:#e5f5bd;color:#29421c;border:1px solid #b8d882}.trip-buy[data-cart-added="true"]:hover{position:relative;background:#fff2ef;border-color:#d66b5d;color:transparent}.trip-buy[data-cart-added="true"]:hover::after{content:attr(data-remove-label);position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#a43f32;font:700 11px/1.35 Manrope}
.optimizer-local-alternative,.optimizer-regional-alternative{display:grid;gap:10px;min-width:0;margin-top:14px;padding-top:12px;border-top:1px solid #dbe3d6}.optimizer-local-alternative p,.optimizer-regional-alternative p{margin:0;color:#526152;font-size:11px;line-height:1.5}.optimizer-regional-alternative .trip-buy{margin-top:0;justify-self:start}
.optimizer-plan-list{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.optimizer-plan-list li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid #e1e8dc;color:#526152;font-size:10px;line-height:1.4}.optimizer-plan-list li span{min-width:0}.optimizer-plan-list li strong{flex:0 0 auto;color:#29421c;font-size:11px}
.optimizer-bulk-note{display:block;margin-top:7px;color:#356325;font-size:10px;font-weight:800;line-height:1.45}
.optimizer-split-assumption{display:block;margin:7px 0;color:#61705d;font-size:10px;line-height:1.45}
/* Keep the separate-plan total informative, not visually stronger than the
   recommended one-eSIM option above it. */
.optimizer-local-alternative .optimizer-plan-list li{color:#687466;font-size:10px}
.optimizer-local-alternative .optimizer-plan-list li strong{color:#526152;font-size:10px;font-weight:600}
.recommendation .optimizer-local-alternative .optimizer-discount-total{display:block;margin-top:6px;color:#687466;font-size:10px;font-weight:600;line-height:1.45}
@media(max-width:430px){.trip-buy-row,.trip-buy-row.trip-buy-row-local{grid-template-columns:1fr}.optimizer-plan-list li{align-items:flex-start;flex-direction:column;gap:3px}.optimizer-regional-alternative .trip-buy{width:100%}}

/* source: optimizer-actions.css */
/* Keep the regional alternative's follow-up action beside its add button. */
.optimizer-regional-alternative .regional-cart-actions{display:flex!important;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px}
.optimizer-regional-alternative .regional-cart-actions .trip-cart-actions{display:inline-flex;flex:0 0 auto}
.optimizer-regional-alternative .trip-buy{width:auto!important;justify-self:auto}
.trip-checkout-error{flex-basis:100%;margin:8px 0 0;color:#8d2f20;font-size:.84rem;line-height:1.45}

/* source: optimizer-page.css */
.optimizer h1 { font-size:55px; margin-top:15px; }
.optimizer h1 em { color:var(--lime); }
.usage-field{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px}.usage-field>select{grid-column:1/-1}.optimizer-data-calculator-link{justify-self:end;margin:10px 0 0;color:var(--green);font:800 11px Manrope;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (max-width:800px) { .optimizer h1 { font-size:clamp(42px,12vw,55px); } }

/* source: button-polish.css */
.select-plan,.optimize-btn,#ctaSearch,.search-box button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;font-size:12px!important;line-height:1.1}.select-plan{padding:8px 10px!important}.optimize-btn{font-size:12px!important}.select-plan span,.optimize-btn span,#ctaSearch span,.search-box button span{font-size:15px!important;line-height:1;margin-left:0!important}.plan-card{position:relative}.plan-card .more{display:none!important}.plan-card .provider{position:absolute;top:17px;right:17px;margin:0;background:#f0f3ed;border-radius:5px;padding:5px 7px;color:#536153;font-size:9px;font-weight:700}

/* source: locale.css */
.nav-actions{display:flex;align-items:center;gap:8px}.language-menu,.currency-menu{position:relative}.language-menu summary,.currency-menu summary{cursor:pointer;list-style:none;border:1px solid var(--ink);border-radius:30px;padding:9px 12px;background:var(--paper);font:700 12px Manrope}.language-menu summary::-webkit-details-marker,.currency-menu summary::-webkit-details-marker{display:none}.language-menu:not([open]) .language-options,.currency-menu:not([open]) .currency-options{display:none}.language-options,.currency-options{position:absolute;right:0;top:43px;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:2px;width:205px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 30px #17251922}.language-options a,.currency-options button{padding:8px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;font:700 12px Manrope}.language-options a{font-size:12px!important}.language-options a:hover,.currency-options button:hover,.currency-options button[aria-current="true"]{background:#e8eee0}.footer-controls{display:flex;align-items:center;gap:8px}.footer .language-options,.footer .currency-options{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:2px}.footer-controls .language-options,.footer-controls .currency-options{top:auto;bottom:43px}.hero>.hero-art{z-index:0}.hero>:not(.hero-art){position:relative;z-index:1}@media(max-width:800px){.nav-actions .support{display:inline-block}.language-menu summary,.currency-menu summary{padding:8px 10px}.footer-controls{margin-top:18px}}

/* source: rtl.css */
html[dir="rtl"] .hero-art{left:-110px;right:auto}html[dir="rtl"] .language-options{left:0;right:auto}html[dir="rtl"] .search-icon{padding-left:15px;padding-right:20px}html[dir="rtl"] .section-intro,html[dir="rtl"] .finder-top,html[dir="rtl"] .footer{direction:rtl}@media(max-width:800px){html[dir="rtl"] .hero-art{left:-150px;right:auto}}

/* source: mobile-layout.css */
.mobile-menu-trigger,.mobile-site-menu{display:none}
.mobile-popular-chip{display:none}

@media(max-width:800px){
  /* On phones keep the sticky header to one calm row. Secondary navigation
     and preferences live in the accessible menu drawer below. */
  .nav{height:64px;min-height:64px;display:flex;align-items:center;gap:9px;padding-top:0;padding-bottom:0}
  .nav>.brand{min-width:0;font-size:20px}
  .nav nav{display:none}
  .nav-actions{display:flex;align-items:center;width:auto;min-width:0;margin-left:auto;gap:7px;white-space:nowrap}
  .nav-actions .support:not(.cart-link){display:none}
  .nav-actions .support.cart-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;font-size:12px;line-height:1;white-space:nowrap}
  .nav-actions .support span{margin-left:3px}
  .mobile-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--ink);border-radius:999px;padding:8px 11px;background:var(--paper);color:var(--ink);font:800 12px/1 Manrope;cursor:pointer}
  .mobile-menu-trigger>span:first-child{font-size:15px;line-height:1}
  .mobile-site-menu{display:none}
  .mobile-site-menu[open]{position:fixed;inset:0 0 0 auto;display:block;width:min(88vw,360px);max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
  .mobile-site-menu::backdrop{background:#17251966}
  .mobile-site-menu-panel{display:flex;flex-direction:column;min-height:100%;padding:20px;background:var(--cream)}
  .mobile-site-menu-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:19px}
  .mobile-site-menu-header button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:27px;line-height:1;cursor:pointer}
  .mobile-site-menu-links{display:grid;gap:2px;padding:18px 0}
  .mobile-site-menu-links a{padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;font-weight:800;text-decoration:none}
  .mobile-site-menu-controls{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
  .mobile-site-menu-controls .language-menu,.mobile-site-menu-controls .currency-menu{position:relative}
  .mobile-site-menu-controls .language-options,.mobile-site-menu-controls .currency-options{top:auto;bottom:43px}
  .hero-copy{display:none}
  .popular>button:not(.mobile-popular-chip){display:none}
  .popular>.mobile-popular-chip{display:block}
  .how{display:none}
  /* Give compact phone screens a calmer, more deliberate reading rhythm. */
  .shell{padding-left:24px;padding-right:24px}
  .trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;justify-items:center;gap:16px 12px;overflow:visible;padding-top:28px;padding-bottom:28px;text-align:center}
  .trust div{display:grid;justify-items:center;gap:2px;min-width:0}
  .trust strong{font-size:19px}
  .trust span{font-size:11px;line-height:1.35}
  .trust-review-link{display:grid;gap:2px;min-width:0;margin:0;padding:0;align-items:start;justify-items:center;text-align:center}
  .announcement span{margin-left:0}
  .plans-section{padding-top:60px;padding-bottom:60px}
  .section-intro{margin-bottom:30px}
  .finder{padding:22px}
  .filters{margin-top:28px;margin-bottom:24px;gap:10px}
  .plan-grid{gap:16px}
  .plan-card{padding:19px}
  .optimizer{padding-top:60px;padding-bottom:60px}
  .optimizer-grid{gap:30px}
  .trip-card{padding:22px}
  .optimizer-steps{margin-top:24px}
  .how{padding-top:60px;padding-bottom:60px}
  .steps{gap:22px}
  .cta{margin-bottom:40px;padding:30px}
  .footer{padding-top:32px;padding-bottom:36px}
  .footer-links{display:grid!important;grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px!important;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
  .footer-links a{font-size:13px}
  .footer-controls{justify-content:center;margin-top:20px}

  /* More separation around dense planning content without creating empty gaps. */
  .hero{padding-bottom:86px}
  .hero-copy,.section-intro p,.regional-heading p,.multi-result-heading p{line-height:1.75}
  .search-trip-chips{margin-top:13px}
  .hero-trip-recommendation{margin-top:22px!important}
  .plans-section{padding-top:72px;padding-bottom:72px}
  .section-intro{margin-bottom:34px}
  .finder{padding:24px}
  .plan-card,.regional-card{padding:20px}
  .plan-details{gap:12px;line-height:1.55}
  .regional-section{margin-top:40px;padding-top:34px}
  /* Multi-destination results already sit inside the finder; do not add the
     single-destination section's large mobile gap above their first header. */
  .multi-destination-results .multi-regional-section{margin-top:0;padding-top:0}
  .multi-destination-results .multi-regional-section .regional-heading{margin-bottom:12px}
  .multi-result-section{margin-top:40px;padding-top:34px}
  .regional-heading,.multi-result-heading{margin-bottom:20px}
  .regional-card+.regional-card{margin-top:2px}
  .how{padding-top:72px;padding-bottom:72px}
  .steps{gap:28px}

  /* Prioritize finding a plan on phones. The trust summary follows the
     results, alongside the longer explanatory content, instead of delaying
     the first useful package list. Desktop keeps the editorial order. */
  main#top{display:flex;flex-direction:column}
  main#top>.hero{order:1;min-height:0;padding-bottom:42px}
  main#top>.recovery-row{order:2}
  main#top>.plans-section{order:3}
  /* Keep the trust ribbon visually separate from the closing trip CTA. */
  main#top>.trust{order:4;margin:0 0 24px}
  main#top>.how{order:5}
  main#top>.cta{order:6}

  /* Phone cards are an at-a-glance purchase decision. The full routing,
     coverage, carrier, and top-up information remains in the detail card. */
  main#top .plan-card[data-plan-details],
  main#top .regional-card[data-plan-details]{padding:14px}
  main#top .plan-card[data-plan-details] .plan-top,
  main#top .regional-card[data-plan-details] .regional-tag,
  main#top .regional-card[data-plan-details] .regional-coverage{display:none}
  main#top .plan-card[data-plan-details] h3,
  main#top .regional-card[data-plan-details] h4{margin:0 0 9px;font-size:15px;line-height:1.3}
  main#top .plan-card[data-plan-details] .data,
  main#top .regional-card[data-plan-details] .regional-data{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:0;border:0}
  main#top .plan-card[data-plan-details] .data strong,
  main#top .regional-card[data-plan-details] .regional-data strong{font-size:22px;letter-spacing:-1px}
  main#top .plan-card[data-plan-details] .plan-bottom,
  main#top .regional-card[data-plan-details] .regional-bottom{align-items:center;margin-top:12px}
  main#top .plan-card[data-plan-details] .plan-bottom>strong,
  main#top .regional-card[data-plan-details] .regional-bottom>strong{font-size:17px}
  main#top .plan-card[data-plan-details] .buy-now,
  main#top .regional-card[data-plan-details] .buy-now{display:none}
  main#top .plan-card[data-plan-details] .plan-buy-now-stack{display:none}
  main#top .plan-card[data-plan-details] .plan-actions,
  main#top .regional-card[data-plan-details] .plan-actions{width:auto;flex:0 0 auto}
  main#top .plan-card[data-plan-details] .select-plan,
  main#top .regional-card[data-plan-details] .select-plan{min-height:40px;padding:9px 12px!important;font-size:11px!important;white-space:nowrap}
}
@media(max-width:360px){
  .nav>.brand{font-size:18px}
  .nav-actions{gap:5px}
  .nav-actions .support.cart-link,.mobile-menu-trigger{padding:8px 8px;font-size:11px}
}

@media(max-width:430px){
  .shell{padding-left:22px;padding-right:22px}
  .finder{padding:20px}
  .trip-card{padding:20px}
}

@media(max-width:620px){
  /* The country-plan controls should be readable at a glance, not a side-scrolling strip. */
  .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding-bottom:0;gap:6px;margin-top:24px}
  .filters>.filter{min-height:44px;padding:8px 5px;white-space:normal;text-align:center;font-size:10px;line-height:1.15}
  .mobile-plan-refinements{display:block;margin-top:-14px;margin-bottom:24px;border:1px solid #d9ded4;border-radius:10px;background:#fffdf8}
  .mobile-plan-refinements summary{padding:12px 13px;cursor:pointer;color:#174c37;font:800 12px Manrope;list-style:none}
  .mobile-plan-refinements summary::-webkit-details-marker{display:none}
  .mobile-plan-refinements summary:after{content:'+';float:right;font-size:17px;line-height:.7}
  .mobile-plan-refinements[open] summary:after{content:'–'}
  .mobile-plan-refinement-content{display:grid;gap:9px;padding:0 11px 11px}
  .mobile-plan-refinement-content>.filter,.mobile-plan-refinement-content>.duration-filter,.mobile-plan-refinement-content>.route-filter,.mobile-plan-refinement-content>.data-range-filter,.mobile-plan-refinement-content>.hotspot-filter{width:100%;min-height:42px;border:1px solid #d9ded4;border-radius:10px;padding:8px 11px;white-space:normal}
  .mobile-plan-refinement-content>.duration-filter,.mobile-plan-refinement-content>.route-filter{display:flex;justify-content:space-between;align-items:center}
  .mobile-plan-refinement-content>.duration-filter select,.mobile-plan-refinement-content>.route-filter select{max-width:60%;text-align:right}
  .mobile-plan-refinement-content>.data-range-filter{display:flex;justify-content:space-between;align-items:center;gap:9px}
  .mobile-plan-refinement-content>.data-range-filter select{max-width:60%;min-width:0;text-align:right}
  /* Keep the destination context readable before showing plan controls. */
  .finder-top{align-items:stretch;flex-direction:column;gap:15px}
  .active-country{align-items:flex-start}
  .finder-actions{justify-content:space-between;width:100%;padding-top:11px;border-top:1px solid var(--line)}
  .destination-guide-link,.change-destination{min-height:30px;display:inline-flex;align-items:center}
}

@media(max-width:760px){
  .filters:empty{display:none}
  .regional-section>.regional-controls-row{display:none}
  .mobile-regional-control-actions,.mobile-regional-filter-sheet{display:none!important}
  /* Keep Sort and Filters in normal document flow. The former negative margin
     pulled this control row into the section copy on narrow screens. */
  .mobile-plan-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 24px}
  .mobile-plan-disclosure{position:relative}
  .mobile-plan-disclosure summary{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #174c37;border-radius:10px;background:#fffdf8;color:#174c37;cursor:pointer;font:800 13px Manrope;list-style:none}
  .mobile-plan-disclosure summary::-webkit-details-marker{display:none}
  .mobile-plan-disclosure[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0;background:#edf5df}
  .mobile-plan-disclosure-content{position:absolute;z-index:12;top:100%;left:0;display:grid;gap:8px;width:max(100%,220px);padding:9px;border:1px solid #174c37;border-radius:0 0 10px 10px;background:#fffdf8;box-shadow:0 14px 28px #17301d24}
  .mobile-plan-filters .mobile-plan-disclosure-content{right:0;left:auto;width:max(100%,280px)}
  .mobile-plan-disclosure-content>.filter,.mobile-plan-disclosure-content>.duration-filter,.mobile-plan-disclosure-content>.route-filter,.mobile-plan-disclosure-content>.data-range-filter,.mobile-plan-disclosure-content>.regional-data-range,.mobile-plan-disclosure-content>.hotspot-filter,.mobile-plan-disclosure-content>.regional-country-filter{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:0;border:1px solid #d9ded4;border-radius:9px;padding:8px 11px;background:#fff;white-space:normal}
  .mobile-plan-disclosure-content>.multi-filter-buttons{display:grid;width:100%;gap:8px}
  .mobile-plan-disclosure-content>.multi-filter-buttons>.filter{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;margin:0;border:1px solid #d9ded4;border-radius:9px;padding:8px 11px;background:#fff;color:#4d584e;text-align:left;font:700 12px Manrope}
  .mobile-plan-disclosure-content>.multi-filter-buttons>.filter.active{background:#174c37;border-color:#174c37;color:#fff}
  .mobile-plan-disclosure-content>.filter{text-align:left;font:700 12px Manrope;color:#4d584e}
  .mobile-plan-disclosure-content>.filter.active{background:#174c37;color:#fff}
  .mobile-plan-disclosure-content>.duration-filter select,.mobile-plan-disclosure-content>.route-filter select,.mobile-plan-disclosure-content>.data-range-filter select{max-width:62%;min-width:0;text-align:right}
  .multi-country-filters{padding-bottom:0!important;margin-bottom:10px!important;border-bottom:0!important}
  .multi-country-filters+.filter-recommendation-hint{margin:0 0 14px!important}
  .mobile-plan-disclosure-content .multi-data-stack{position:static;display:grid;gap:7px;min-width:0}
  .mobile-plan-disclosure-content .multi-data-stack .multi-data-calculator-link{position:static;padding:5px 2px;font-size:11px}
}

/* source: cart-badge.css */
.cart-link{display:inline-flex;align-items:center;justify-content:center;gap:7px}.cart-link>span:first-child{margin-left:0!important}
.cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--lime,#c7ed56);color:var(--green,#174c37);font:800 10px/1 Manrope,Arial,sans-serif}
.cart-count[hidden]{display:none}

/* source: cart-preview.css */
.nav-actions{position:relative}
.cart-preview{position:absolute;right:0;top:calc(100% + 9px);z-index:60;width:min(338px,calc(100vw - 32px));padding:8px;background:var(--paper,#fffdf8);border:1px solid var(--line,#d8ddd2);border-radius:12px;box-shadow:0 16px 35px #17251924;color:var(--ink,#172519)}
.cart-preview-items{display:grid;gap:2px;max-height:288px;overflow:auto}
.cart-preview-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #e9ece4}
.cart-preview-item:last-child{border-bottom:0}
.cart-preview-item strong,.cart-preview-item span,.cart-preview-item b{display:block}
.cart-preview-item strong{font:800 11px/1.35 Manrope,Arial,sans-serif}
.cart-preview-item span{margin-top:2px;color:#637065;font:600 10px/1.35 Manrope,Arial,sans-serif}
.cart-preview-item>div:last-child{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.cart-preview-item b{font:800 11px/1 Manrope,Arial,sans-serif;white-space:nowrap}
.cart-preview-item button{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d8ddd2;border-radius:999px;background:#fff;color:#536153;font:700 16px/1 Arial,sans-serif;cursor:pointer}
.cart-preview-item button:hover,.cart-preview-item button:focus-visible{background:#f5ded8;border-color:#e3aa9d;color:#9d3824;outline:none}
.cart-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.cart-preview-view,.cart-preview-checkout{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border-radius:7px;text-decoration:none!important;font:800 11px/1 Manrope,Arial,sans-serif}
.cart-preview-view{border:1px solid #cfd8ca;background:#fff;color:var(--green,#174c37)!important}
.cart-preview-checkout{background:var(--lime,#c7ed56);color:var(--green,#174c37)!important}
.cart-preview-empty,.cart-preview-loading{margin:7px 4px;color:#637065;font:700 11px/1.45 Manrope,Arial,sans-serif}.cart-preview-empty{text-align:center}
.cart-preview-error{margin:4px 4px 7px;color:#9d3824;font:700 10px/1.45 Manrope,Arial,sans-serif}
@media(max-width:800px){.cart-preview{display:none!important}}

/* source: accessibility.css */
/* WCAG-oriented interaction layer: visible focus, durable contrast, and
   comfortably sized controls on compact touch screens. */
/* Keep one restrained neutral focus cue on every interactive control. A border
   by itself does not tell keyboard users which field currently owns focus. */
:where(a,button,summary,input,select,textarea):focus-visible{outline:1px solid #758071!important;outline-offset:1px!important;box-shadow:none!important}
/* The custom hotspot toggle remains visually compact while its real checkbox
   stays in the tab order and accessibility tree. */
.toggle-row input{display:block!important;position:absolute!important;inline-size:1px!important;block-size:1px!important;margin:0!important;opacity:0!important;overflow:hidden!important}
.toggle-row input:focus-visible+.toggle{outline:2px solid #536153!important;outline-offset:3px!important}
.coral{background:#ffe7e1!important;color:#8d2f20!important}.lime{background:#e6f5b5!important;color:#315b22!important}.purple{background:#e8e2ff!important;color:#4e3689!important}
.provider,.plan-details span,.regional-heading p,.multi-result-heading p,.cart-preview-item span{color:#4b594d!important}
.cart-preview-item button{width:36px!important;height:36px!important}.cart-preview-view,.cart-preview-checkout{min-height:44px}
@media(max-width:760px){
  .filters>.filter,.regional-sort-tabs>.filter,.multi-filter-buttons>.filter{min-height:44px!important;padding:9px 12px!important}
  .duration-filter,.route-filter,.data-range-filter,.regional-data-range,.hotspot-filter{min-height:44px!important;padding:7px 12px!important}
  .duration-filter select,.route-filter select,.data-range-filter select,.regional-data-range select{min-height:36px!important}
  .hotspot-filter{display:inline-flex!important;align-items:center!important;gap:9px!important}
  .hotspot-filter input{inline-size:22px!important;block-size:22px!important}
  .validity-group-toggle,.select-plan,.buy-now,.country-best-view-cart,.trip-buy{min-height:44px!important}
  .search-trip-chips button,.regional-country-chips button{min-height:36px!important}
  .item-quantity button{width:44px!important;min-width:44px!important;min-height:44px!important}.item-quantity span{min-width:36px!important}
  .remove,.plan-details-close{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
}
