/* Be Vietnam Pro (SIL Open Font License), self-hosted from Google Fonts v12 */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/be-vietnam-pro-800-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/be-vietnam-pro-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/be-vietnam-pro-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--navy:#102c3c;--teal:#008778;--muted:#61747c;--line:#e1e9e9;--pale:#f1f7f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--navy);font:16px/1.65 'Be Vietnam Pro',sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #15b9a4;outline-offset:4px}.wrap{max-width:1240px;margin:auto;padding-left:32px;padding-right:32px}.announcement{background:var(--navy);color:#fff;text-align:center;padding:9px 16px;font-size:12px;letter-spacing:.3px}.announcement a{margin-left:20px;text-decoration:underline;text-underline-offset:4px}header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:29px;font-weight:800;display:flex;align-items:center;letter-spacing:-1px;gap:8px}.brand img{height:34px;width:auto;display:block}footer .brand img{height:30px}nav{display:flex;gap:32px;font-size:14px;font-weight:500}nav a:hover,.text-link:hover{color:var(--teal)}.header-check{font-size:13px;border:1px solid var(--line);border-radius:30px;padding:10px 16px}.header-check span{margin-left:12px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding-top:35px;padding-bottom:65px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.1px;color:var(--teal);margin:0 0 16px}h1{font-size:57px;line-height:1.19;letter-spacing:-2.8px;margin:0 0 24px;font-weight:700}h1 span{color:var(--teal)}.lead{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:30px}.search{display:flex;align-items:center;border:1px solid #d0dddd;padding:7px;border-radius:12px;box-shadow:0 8px 22px #102c3c08;background:white;gap:10px}.search>span{font-size:30px;margin-left:10px;line-height:1}.search input{min-width:0;flex:1;border:0;font-size:14px;padding:10px 0;background:transparent}.search button,.primary{border:0;border-radius:8px;background:var(--teal);color:#fff;font-size:14px;font-weight:600;padding:13px 21px}.suggestions{font-size:12px;color:var(--muted);margin-top:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.suggestions button{font-size:11px;border:0;background:var(--pale);color:var(--navy);border-radius:20px;padding:5px 10px}.compat-link{display:inline-block;font-size:12px;margin-top:25px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.hero-image{height:430px;position:relative;margin-right:12px}.hero-image>img{width:100%;height:100%;object-fit:cover;border-radius:24px 24px 100px 24px}.image-top{position:absolute;top:24px;left:25px;font-size:10px;letter-spacing:2px;color:#fff;text-shadow:0 1px 8px #000}.location{position:absolute;bottom:35px;left:25px;color:#fff;display:flex;gap:12px;font-size:26px;text-shadow:0 1px 10px #000}.location small{font-size:9px;letter-spacing:1.7px;display:block}.location strong{font-size:23px}.connection{display:flex;gap:12px;align-items:center;position:absolute;right:-28px;bottom:75px;padding:16px 20px;background:white;border-radius:13px;box-shadow:0 10px 35px #102c3c20;font-size:12px}.connection small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.connection-icon{background:#e1f5ef;color:var(--teal);font-size:23px;padding:3px 11px;border-radius:9px}.connection>span:last-child{color:var(--teal)}.benefits{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.benefits b{font-size:20px;color:var(--teal);margin-right:10px;vertical-align:middle}.section{padding-top:70px;padding-bottom:70px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:24px}h2{font-size:30px;letter-spacing:-1px;line-height:1.4;margin:0 0 10px}.section-heading p:not(.eyebrow),.center>p:last-child{color:var(--muted);font-size:14px;margin:0}.text-link{font-size:12px;font-weight:600;white-space:nowrap;padding-bottom:5px}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.destination{display:flex;align-items:center;text-align:start;gap:16px;background:white;padding:19px 20px;border:1px solid var(--line);border-radius:12px;transition:.2s}.destination:hover{border-color:var(--teal);transform:translateY(-2px)}.flag{font-size:30px;background:var(--pale);width:55px;height:55px;display:grid;place-items:center;border-radius:50%}.destination strong{display:block;font-size:15px}.destination small{font-size:12px;color:var(--muted)}.destination small b{color:var(--teal);font-weight:600}.destination>span:last-child{margin-left:auto;color:var(--muted)}.plans-section{background:var(--pale)}.demo-label{font-size:11px;background:white;border:1px solid var(--line);padding:5px 10px;border-radius:20px;color:var(--muted)}.plan-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.tabs{background:#e5eeec;padding:5px;display:flex;border-radius:9px}.tabs button{border:0;background:transparent;padding:10px 22px;border-radius:7px;font-size:13px;color:var(--muted)}.tabs button[aria-selected=true]{background:white;color:var(--navy);box-shadow:0 2px 5px #102c3c08;font-weight:600}.plan-controls label{font-size:12px;color:var(--muted)}select{background:white;color:var(--navy);border:1px solid #d1dfdc;border-radius:8px;padding:10px;font-size:13px;margin-left:10px}.results{font-size:12px;color:var(--muted);min-height:20px;margin:15px 0}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{background:white;border:1px solid var(--line);border-radius:16px;padding:25px;position:relative}.plan-head{display:flex;gap:12px;align-items:center}.plan-head .flag{width:43px;height:43px;font-size:25px}.plan-head h3{font-size:16px;margin:0}.plan-head small{font-size:11px;color:var(--muted)}.plan-data{font-size:33px;font-weight:700;margin:26px 0 8px;letter-spacing:-1px}.plan-data span{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}.plan-meta{font-size:12px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}.plan-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px;gap:10px}.price{font-size:20px;font-weight:700}.price small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.plan-bottom button{background:#e8f5f1;color:var(--teal);border:0;padding:11px 15px;border-radius:7px;font-size:12px;font-weight:600}.center{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:40px}.steps article>span{font-size:15px;font-weight:600;color:var(--teal);background:var(--pale);width:46px;height:46px;display:grid;place-items:center;border-radius:13px}.steps h3{font-size:17px;margin:18px 0 10px}.steps p{font-size:13px;color:var(--muted);margin:0}.compatible{background:var(--navy);color:#fff;border-radius:20px;padding:40px 44px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.compatible .eyebrow{color:#71dbbf}.compatible h2{font-size:28px}.compatible p{color:#b7cbd1;font-size:13px}.device-check label{display:block;font-size:12px;margin-bottom:7px}.device-check select{width:100%;margin:0;font-size:14px;padding:13px}.device-check p{font-size:11px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq>div>p:last-child{font-size:13px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:17px 0}summary{font-size:14px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:19px;color:var(--teal)}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);max-width:560px}footer{border-top:1px solid var(--line);background:#f9fbfa;padding-top:42px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.5fr;gap:30px}.footer-top strong{display:block;font-size:12px;margin-bottom:14px}.footer-top p,.footer-top>div>a:not(.brand){font-size:11px;color:var(--muted);display:block;margin-bottom:9px}.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line);margin-top:30px;font-size:10px;color:var(--muted)}dialog{border:0;border-radius:20px;max-width:480px;width:calc(100% - 32px);padding:32px;color:var(--navy);box-shadow:0 25px 80px #102c3c40}dialog::backdrop{background:#102c3c80;backdrop-filter:blur(4px)}.close{position:absolute;inset-inline-end:15px;top:10px;background:transparent;border:0;font-size:28px;color:var(--muted)}dialog h2{font-size:24px}dialog p,dialog li{font-size:14px}dialog .notice{background:var(--pale);padding:15px;border-radius:10px;color:var(--muted);font-size:12px}.empty{grid-column:1/-1;text-align:center;padding:35px}button:hover{filter:brightness(.97)}@media(min-width:1500px){.hero{padding-top:55px;padding-bottom:85px}}@media(max-width:1000px){h1{font-size:43px}.hero{gap:30px}.connection{right:-10px;padding:12px}.header-check{display:none}nav{gap:20px}.benefits{flex-wrap:wrap}.benefits span{width:45%}.plan-bottom{align-items:start;flex-direction:column}.compatible{margin:0 24px}}@media(max-width:700px){.wrap{padding-left:20px;padding-right:20px}.announcement{font-size:10px}.announcement a{margin-left:8px}header{height:auto;min-height:80px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:15px}nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:35px}h1{font-size:44px;letter-spacing:-2px}.lead{font-size:14px}.hero-image{height:300px;margin-right:10px}.connection{right:-10px;bottom:40px}.hero-image>img{border-radius:20px 20px 70px 20px}.compat-link{margin-top:18px}.benefits{gap:15px;font-size:10px}.benefits b{margin-right:5px}.section{padding-top:45px;padding-bottom:45px}h2{font-size:25px}.section-heading{align-items:start;flex-direction:column;gap:12px}.destinations{grid-template-columns:repeat(2,1fr);gap:10px}.destination{padding:14px 10px;gap:9px}.destination .flag{width:34px;height:34px;font-size:23px;flex-shrink:0}.destination strong{font-size:12px}.destination small{font-size:10px}.destination>span:last-child{display:none}.plan-controls{align-items:start;flex-direction:column}.tabs{width:100%}.tabs button{flex:1;padding:10px}.plan-grid{grid-template-columns:1fr}.plan-bottom{flex-direction:row;align-items:center}.steps{grid-template-columns:1fr;gap:26px;margin-top:28px}.steps article{position:relative;padding-left:65px}.steps article>span{position:absolute;left:0;top:0}.steps h3{margin-top:0}.compatible{grid-template-columns:1fr;gap:20px;padding:28px 24px;margin:0 20px}.faq{grid-template-columns:1fr;gap:15px}.faq h2 br{display:none}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-bottom{flex-direction:column;gap:8px}.search button{padding:12px 14px}.search input{font-size:13px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ChoEsim travel palette */
/* Palette contrast (WCAG 2.x relative luminance, computed 2026-10-11 by script; text needs 4.5:1):
   --navy  #132756  on #ffffff 14.46:1   on #edf4ff 13.07:1
   --teal  #165be8  on #ffffff  5.68:1   on #edf4ff  5.14:1
   --muted #566582  on #ffffff  5.87:1   on #edf4ff  5.30:1
   All three pass AA for normal text on both backgrounds. Other literal colours in this file are not measured. */
:root{--navy:#132756;--teal:#165be8;--muted:#566582;--line:#dae3f5;--pale:#edf4ff}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.announcement{background:linear-gradient(100deg,#125ce6,#6842cc);font-size:13px;padding:10px 16px}.header-check{background:#edf4ff;color:#165be8;border-color:#d2e2ff;font-weight:600}header{height:90px}.hero-band{background:radial-gradient(ellipse at 4% 95%,#fce8c6 0,transparent 48%),radial-gradient(ellipse at 83% 12%,#d6e5ff 0,transparent 56%),#f2f7ff;overflow:hidden}.hero{gap:40px;padding-top:60px;padding-bottom:75px;position:relative;grid-template-columns:1.12fr 1fr}.hero .eyebrow{display:inline-block;background:#fff;padding:7px 13px;border:1px solid #dbe5ff;border-radius:30px;color:#2351b4;letter-spacing:1.2px;font-size:11px}.hero h1{font-size:52px;line-height:1.28;letter-spacing:-2px;font-weight:800}.hero h1 span{background:linear-gradient(95deg,#155ded,#7946cf);background-clip:text;-webkit-background-clip:text;color:transparent}.lead{font-size:15px;color:#465978}.search{padding:8px;border-radius:14px;box-shadow:0 12px 30px #255ab51a;border:1px solid #ccdafe}.search>span{color:#165be8}.search button,.primary{background:#165be8;box-shadow:0 4px 9px #165be826;min-height:44px}.suggestions button{background:#fff;border:1px solid #d8e3f6;padding:7px 12px;font-size:12px}.compat-link{color:#425775;font-size:13px}.hero-image{height:425px;margin:0 12px 0 0;transform:rotate(2deg);border:8px solid #fff;border-radius:30px;box-shadow:0 20px 40px #24468d20}.hero-image>img{border-radius:22px;filter:saturate(1.22)}.hero-image:after{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(transparent 45%,#0d245f85);pointer-events:none}.image-top{z-index:1;background:#13275660;border-radius:20px;padding:5px 10px;top:18px;left:18px;letter-spacing:1.7px}.location{z-index:1;bottom:25px;left:20px}.travel-tag{position:absolute;z-index:2;right:-25px;top:38px;background:#ffbe40;color:#4c2b05;padding:16px 20px;border-radius:4px 20px 4px 20px;font-size:13px;line-height:1.3;letter-spacing:1.4px;transform:rotate(-9deg);box-shadow:0 8px 20px #41270420}.travel-tag strong{font-size:24px;font-weight:800}.travel-tag>span{position:absolute;right:-12px;top:-19px;color:#ff623b;font-size:43px;line-height:1}.connection{z-index:2;right:-20px;bottom:65px;transform:rotate(-2deg);border:1px solid #d4e2ff}.connection-icon{background:#e4edff;color:#165be8}.connection>span:last-child{background:#def8ed;border-radius:50%;padding:0 6px;color:#007d51}.benefits{border:0;padding-top:26px;padding-bottom:26px;color:#374d75;font-size:13px;gap:15px}.benefits span:nth-child(2) b{color:#d95815}.benefits span:nth-child(3) b{color:#7c3ecc}.benefits span:nth-child(4) b{color:#c23866}.benefits b{background:#edf4ff;border-radius:10px;padding:4px 8px;font-size:20px}.benefits span:nth-child(2) b{background:#fff0dd}.benefits span:nth-child(3) b{background:#f1eaff}.benefits span:nth-child(4) b{background:#ffe9f0}h2{font-weight:700}.section{padding-top:64px;padding-bottom:64px}.destinations{gap:20px}.destination{padding:0;border-radius:18px;overflow:hidden;display:block;box-shadow:0 6px 18px #1d387c08;background:#fff;transition:transform .2s,box-shadow .2s}.destination:hover{transform:translateY(-5px);box-shadow:0 14px 28px #1d387c18}.destination-scene{height:185px;position:relative;overflow:hidden}.destination-scene img{height:100%;width:100%;object-fit:cover;transition:transform .4s;display:block}.destination:hover .destination-scene img{transform:scale(1.045)}.destination-tag{position:absolute;top:15px;left:15px;background:white;color:#25478b;font-size:10px;font-weight:700;letter-spacing:1px;padding:5px 10px;border-radius:20px}.destination .tag-experience{background:#f1e8ff;color:#6732b3}.destination .tag-relax{background:#fff0d1;color:#94520a}.destination-info{display:flex;align-items:center;gap:13px;padding:20px;text-align:start}.destination-info>span:nth-child(2){flex:1;min-width:0}.destination-note{display:block;font-size:11px;color:var(--muted);margin:2px 0 8px}.destination strong{font-size:17px}.destination small{font-size:13px}.destination .flag{width:45px;height:45px;font-size:28px;background:#edf4ff;flex-shrink:0}.destination-open{color:#165be8;background:#edf4ff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:17px}.destination:nth-child(2) .flag,.destination:nth-child(5) .flag{background:#f0e9ff}.destination:nth-child(3) .flag,.destination:nth-child(6) .flag{background:#fff0d9}.destination-compact{background:#f6f9ff}.destination-compact .destination-info{padding:17px 20px}.destination-compact strong{font-size:15px}.plans-section{background:linear-gradient(115deg,#edf4ff,#f4f0ff);border-top:1px solid #dce6fa;border-bottom:1px solid #e4ddfa}.plan{border-radius:19px;border-color:#d7e2fa;overflow:hidden;box-shadow:0 8px 24px #32468308;transition:transform .2s}.plan:hover{transform:translateY(-3px)}.plan:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:#266bed}.plan:nth-child(2):before{background:#8d51d6}.plan:nth-child(3):before{background:#f29b27}.plan-head .flag{background:#edf4ff}.plan:nth-child(2) .flag{background:#f0e8ff}.plan:nth-child(3) .flag{background:#fff0db}.plan-data{color:#165be8;font-size:38px}.plan:nth-child(2) .plan-data{color:#7434bb}.plan:nth-child(3) .plan-data{color:#a35706}.plan-bottom button{background:#165be8;color:white;font-size:13px;padding:11px 17px}.plan:nth-child(2) .plan-bottom button{background:#7434bb}.plan:nth-child(3) .plan-bottom button{background:#a35706}.tabs{background:#dce7fc}.tabs button[aria-selected=true]{background:#165be8;color:#fff;box-shadow:0 3px 9px #165be820}.steps{gap:20px}.steps article{background:#edf4ff;border:1px solid #dbe7ff;border-radius:18px;padding:26px}.steps article:nth-child(2){background:#f4edff;border-color:#e8dcff}.steps article:nth-child(3){background:#fff3df;border-color:#f8e6c5}.steps article>span{background:#165be8;color:#fff;width:48px;height:48px;border-radius:50%}.steps article:nth-child(2)>span{background:#7434bb}.steps article:nth-child(3)>span{background:#a35706}.steps p{font-size:14px}.compatible{background:linear-gradient(115deg,#155dea,#4145c6 62%,#733ec4);box-shadow:0 15px 30px #254dcc20;padding:42px 44px;border-radius:24px}.compatible .eyebrow{color:#ffe086}.compatible p{color:#e4ecff;font-size:14px}.device-check p{font-size:12px}.device-check select{border:0;padding:15px}.faq details{background:#f7f9ff;margin-bottom:10px;border:1px solid #e0e7fa;border-radius:12px;padding:18px 20px}.faq details[open]{background:#edf4ff;border-color:#c8d9fc}.faq summary{font-size:15px}.faq details p{font-size:14px}footer{background:#132756;color:#fff;border-top:4px solid #ffbf49}.footer-top p,.footer-top>div>a:not(.brand){color:#c6d2ef;font-size:12px}.footer-top strong{font-size:14px}.footer-bottom{border-color:#ffffff20;color:#bdcae8;font-size:11px}.photo-credit{font-size:10px;color:#bdcae8;padding-top:24px}.demo-label{color:#52617f}.plan-head small{font-size:12px}.text-link{font-size:13px}.destination-note{line-height:1.6}.plan-meta{font-size:13px}
@media(max-width:1000px){.hero h1{font-size:42px}.hero{gap:28px}.travel-tag{right:-12px}.connection{right:-12px;font-size:11px}.destination-info{padding:16px;gap:10px}.destination-note{font-size:10px}.destination-open{display:none}.benefits{font-size:12px}}
@media(max-width:700px){header{height:auto}.hero{padding-top:35px;padding-bottom:42px;gap:30px}.hero h1{font-size:39px;line-height:1.3;letter-spacing:-1.7px}.hero .eyebrow{font-size:10px;letter-spacing:.8px}.hero-image{height:295px;margin:0 12px 0 4px;border-width:6px}.hero-image>img{border-radius:22px}.travel-tag{top:25px;right:-18px;padding:12px 15px}.travel-tag strong{font-size:20px}.connection{bottom:40px}.benefits{font-size:11px;padding-top:20px;padding-bottom:20px}.benefits b{font-size:16px;padding:3px 5px}.section{padding-top:42px;padding-bottom:42px}.destinations{gap:12px}.destination-scene{height:130px}.destination-info{padding:13px 11px;gap:7px;align-items:start;flex-wrap:wrap}.destination-photo .destination-info>.flag{width:31px;height:31px;font-size:21px}.destination-photo .destination-info>span:nth-child(2){flex-basis:calc(100% - 39px)}.destination strong{font-size:14px}.destination small{font-size:12px}.destination-note{font-size:10px;margin-bottom:5px}.destination-tag{top:10px;left:10px;font-size:8px;padding:4px 7px}.destination-compact .destination-info{padding:13px 11px;align-items:center}.destination-compact strong{font-size:12px}.destination-compact .flag{width:30px;height:30px;font-size:21px}.destination-compact:last-child:nth-child(odd){grid-column:1/-1}.steps article{padding:22px 22px 22px 84px;position:relative}.steps article>span{left:20px;top:23px;width:43px;height:43px}.steps h3{font-size:16px}.steps p{font-size:13px}.compatible{padding:28px 24px;gap:18px}.compatible h2{font-size:25px}.faq summary{font-size:14px}.faq details p{font-size:13px}.announcement{font-size:10px}.footer-top{gap:23px}.footer-top p,.footer-top>div>a:not(.brand){font-size:11px}}
@media(max-width:700px){.hero{grid-template-columns:1fr}.hero h1{max-width:540px}.hero-image{width:calc(100% - 16px);height:320px}.connection{right:-12px;bottom:48px}.location{bottom:18px}.location strong{font-size:20px}}
.language-control{display:flex;align-items:center;gap:4px;color:#165be8;margin-left:auto}.language-control select{border:1px solid #dbe5f7;background:#f3f7ff;font-size:13px;margin:0;padding:8px 10px;border-radius:20px;max-width:120px}.language-control>span{font-size:20px}header{gap:20px}header nav{margin-left:auto}.hero h1{font-size:49px}body:lang(es) .hero h1{font-size:45px}.suggestions{font-size:13px}.lead{font-size:16px}.plan-grid{row-gap:24px}.plan-head h3{line-height:1.5}.plan-bottom{flex-wrap:wrap}.plan-bottom button{white-space:nowrap}.tabs button{min-height:44px}.destination{min-height:44px}
@media(max-width:1000px){header nav{gap:16px}.hero h1,body:lang(es) .hero h1{font-size:40px}}
@media(max-width:700px){header{position:relative}header nav{order:3;width:100%;margin:0;gap:8px;font-size:12px}.language-control{margin-left:auto}.hero h1,body:lang(es) .hero h1{font-size:38px}.hero .eyebrow{max-width:100%;font-size:9px;letter-spacing:.4px}.lead{font-size:15px}.destination strong{overflow-wrap:anywhere}.plan-controls label{display:flex;align-items:center;gap:8px}.tabs button{font-size:13px}.device-check select{max-width:100%}.destination-note{font-size:11px}.benefits span{font-size:11px}}
/* Global navigation and connected traveler */
header{position:relative;z-index:20;gap:18px}.language-control select{max-width:154px;width:154px;font-size:13px}.language-control>span{display:none}.language-status{position:absolute;inset-inline-end:32px;top:85px;background:#fff;box-shadow:0 6px 20px #13275615;font-size:12px;color:#355384;border-radius:7px;max-width:270px;z-index:30}.language-status:not(:empty){padding:9px 13px}.menu-toggle{display:none}.nav-group{margin:0;padding:0;border:0;position:relative;overflow:visible;background:transparent;min-width:0}.nav-group summary{font-size:14px;line-height:1.65;gap:8px;padding:10px 0}.nav-group summary:after{content:'⌄';font-size:14px;color:#596a8e;line-height:1.4}.nav-group[open] summary:after{content:'⌃'}.nav-group summary::-webkit-details-marker{display:none}.submenu{position:absolute;top:calc(100% + 10px);inset-inline-start:-18px;min-width:230px;padding:9px;background:#fff;border:1px solid #dce6fb;border-radius:14px;box-shadow:0 16px 38px #13275620;display:grid;gap:3px;z-index:30}.submenu a{font-size:13px;border-radius:8px;padding:10px 13px;white-space:normal}.submenu a:hover{background:#edf4ff;color:#165be8}.nav-group[open]>summary{color:#165be8}header nav{align-items:center;gap:24px}.hero-traveler{border:0;background:transparent;box-shadow:none;transform:none;isolation:isolate;margin:5px 22px 5px 20px;height:440px}.hero-traveler:after{display:none}.hero-photo{height:100%;width:100%;overflow:hidden;border:8px solid #fff;border-radius:100px 28px 90px 28px;transform:rotate(2deg);box-shadow:0 22px 48px #3155922b;position:relative}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#13275608,transparent 45%,#13275645);pointer-events:none}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:12% center;display:block;animation:travelZoom 18s ease-in-out infinite alternate;transform-origin:60% 55%}.hero-traveler .image-top{top:25px;inset-inline-start:45px;left:auto;right:auto;text-shadow:none;max-width:calc(100% - 75px);font-size:10px;padding:7px 12px;color:#fff;background:#13275685;letter-spacing:.4px}.hero-traveler .travel-tag{right:-10px;top:50px;z-index:3}.floating-card{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #ffffffd0;padding:15px 17px;border-radius:15px;box-shadow:0 12px 35px #15316924;max-width:280px;animation:cardFloat 6s ease-in-out infinite;will-change:transform}.floating-card strong{display:block;font-size:13px;line-height:1.5}.floating-card small{display:block;font-size:11px;color:#62708a;line-height:1.5;margin-top:3px}.card-icon{width:41px;height:43px;display:grid;place-items:center;flex-shrink:0;color:#175fec;background:#e9f0ff;border-radius:11px;font-size:27px}.card-qr{top:120px;left:-38px;animation-delay:-1s}.card-qr .card-icon{color:#7434bb;background:#f0e7ff;font-size:31px}.card-esim{bottom:40px;right:-25px;animation-delay:-3s}.card-check{padding:2px 7px;border-radius:50%;background:#ddf6ea;color:#00784c;font-size:13px}.card-number{left:-15px;bottom:-25px;animation-duration:7s;animation-delay:-5s}.card-number .card-icon{color:#a85f0a;background:#fff0d6}.hero{padding-bottom:90px}.hero-copy{position:relative;z-index:5}.hero-copy .search{position:relative;z-index:6}html[dir=rtl] .hero-copy{text-align:right}html[dir=rtl] .destination-info{text-align:right}html[dir=rtl] .search>span{margin-right:10px;margin-left:0}html[dir=rtl] .steps article{text-align:right}html[dir=rtl] .hero-traveler .image-top{inset-inline-start:auto;right:35px;left:auto}html[dir=rtl] .hero-traveler .travel-tag{left:-12px;right:auto}html[dir=rtl] .submenu{inset-inline-start:-18px}html[dir=rtl] .plan-data{letter-spacing:0}body:lang(ar),body:lang(fa),body:lang(ur){font-family:Tahoma,Arial,sans-serif}body:lang(hi),body:lang(bn),body:lang(ta),body:lang(te),body:lang(kn),body:lang(ml),body:lang(pa),body:lang(my),body:lang(km),body:lang(si){line-height:1.9}h1,h2,h3{overflow-wrap:break-word}.hero h1{line-height:1.35}.hero-copy .eyebrow{white-space:normal;line-height:1.6}.plan-controls{flex-wrap:wrap}.tabs button{white-space:normal}.benefits span{line-height:1.7}.destination-note{overflow-wrap:break-word}.photo-credit a:hover{text-decoration:underline}
@keyframes travelZoom{from{transform:scale(1.01)}to{transform:scale(1.1)}}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:1150px){header nav{gap:17px}.header-check{display:none}.language-control select{width:140px;max-width:140px}.hero-traveler{margin-right:15px;margin-left:10px}.card-qr{left:-18px}.card-esim{right:-10px}.floating-card{padding:13px;max-width:245px}.floating-card strong{font-size:12px}.floating-card small{font-size:10px}}
@media(max-width:900px){header{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;height:auto;min-height:82px;gap:12px;padding-top:18px;padding-bottom:18px;align-items:center}.language-control{justify-self:end;margin:0;min-width:0}.language-control select{width:145px;max-width:100%}.menu-toggle{display:flex;width:44px;height:44px;border:1px solid #d3e2fa;border-radius:12px;background:#edf4ff;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px;flex-shrink:0}.menu-toggle>span{display:block;width:21px;height:2px;background:#165be8;border-radius:2px;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}header nav{display:none;grid-column:1/-1;width:100%;order:4;margin:0;padding:12px;background:#f3f7ff;border:1px solid #dbe5fb;border-radius:14px;gap:0;align-items:stretch}header nav.is-open{display:flex;flex-direction:column;animation:menuReveal .2s ease-out}header nav>a{padding:14px 12px;font-size:14px;font-weight:500;min-height:44px}header .nav-group{padding:0;background:transparent;border:0;border-radius:0;border-bottom:1px solid #dfe8f8}header .nav-group:last-child{border-bottom:0}.nav-group summary{padding:14px 12px;min-height:44px;font-size:14px}.submenu{position:static;min-width:0;border:0;box-shadow:none;padding:0 10px 12px 22px;background:transparent;gap:4px}.submenu a{background:white;border:1px solid #e1e9fb;font-size:13px;min-height:44px;display:flex;align-items:center}.language-status{top:76px;inset-inline-end:20px}.hero-traveler{height:410px}.hero-traveler .travel-tag{right:-10px;padding:13px 15px}.hero-traveler .travel-tag strong{font-size:20px}.card-qr{top:130px}.floating-card{max-width:230px}.card-number{bottom:-20px;left:-8px}}
@keyframes menuReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.hero{padding-top:35px;padding-bottom:70px;gap:45px}.hero-traveler{height:355px;width:calc(100% - 32px);margin:0 16px;max-width:520px;justify-self:center}.hero-photo{border-width:6px;border-radius:75px 22px 65px 22px}.hero-traveler .image-top{top:20px;inset-inline-start:30px;font-size:11px;max-width:calc(100% - 55px);padding:6px 9px}.hero-traveler .travel-tag{top:50px;right:-9px;padding:12px}.hero-traveler .travel-tag strong{font-size:20px}.floating-card{max-width:235px;padding:12px;gap:9px}.floating-card strong{font-size:12px}.floating-card small{font-size:10px}.card-icon{width:35px;height:37px;font-size:23px}.card-qr{top:145px;left:-13px}.card-esim{right:-15px;bottom:58px}.card-number{bottom:-24px;left:0}.brand{font-size:25px}header .brand{gap:6px}.hero-copy h1{font-size:37px;letter-spacing:-1px;line-height:1.4}.steps article{padding-inline-start:84px;padding-inline-end:22px}.steps article>span{left:auto;inset-inline-start:20px}.section-heading,.plan-controls{gap:18px}.tabs{max-width:100%;flex-wrap:wrap}.tabs button{padding:10px 13px}.section-heading h2{line-height:1.5}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top a,.footer-top p{overflow-wrap:anywhere}.hero-traveler .travel-tag{max-width:110px;overflow-wrap:anywhere}.hero-traveler .travel-tag strong{font-size:18px}}
@media(max-width:400px){header{gap:8px;grid-template-columns:auto minmax(0,1fr) 40px}.language-control select{width:116px;font-size:12px;padding:8px 5px}.menu-toggle{width:40px;height:42px}.hero-traveler{height:335px}.hero-copy h1{font-size:34px}.floating-card{max-width:210px}.floating-card small{font-size:10px}.card-qr{top:130px}.hero-traveler .image-top{font-size:11px}.hero-traveler .travel-tag{top:54px}.brand{font-size:23px}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.floating-card,header nav.is-open{animation:none!important}.menu-toggle>span{transition:none}.floating-card{will-change:auto}}
.hero-traveler .travel-tag{max-width:none;overflow-wrap:normal;white-space:nowrap}.hero-traveler .travel-tag strong{white-space:nowrap}
.brand{direction:ltr;unicode-bidi:isolate}.plan-data{direction:ltr}.price{unicode-bidi:isolate}.language-control select{direction:ltr}.hero-traveler .travel-tag{max-width:180px}.hero-traveler .travel-tag strong{font-size:18px}.hero-traveler .travel-tag{font-size:11px}
/* Destination directory and accessible language picker */
.destination-menu{position:absolute;top:calc(100% + 10px);inset-inline-start:-200px;display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:25px;width:min(1100px,calc(100vw - 64px));padding:28px;background:#fff;border:1px solid #e3e9f6;border-radius:16px;box-shadow:0 18px 45px #13275620;z-index:40;max-height:min(680px,75vh);overflow:auto;overscroll-behavior:contain}.destination-menu-group{min-width:0}.destination-menu-group .menu-group-title{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;line-height:1.6;margin:0 0 13px;color:#132756}.destination-menu-group a{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.5;min-height:38px;padding:6px 4px;border-radius:7px;color:#364056;white-space:normal}.destination-menu-group a:hover{background:#edf4ff;color:#165be8}.destination-menu-group a>span:first-child{font-size:18px;width:23px;flex-shrink:0}.destination-menu-group .global-menu-link{color:#165be8;font-weight:600}.language-control select[hidden]{display:none!important}.language-trigger{display:flex;align-items:center;gap:7px;background:#f3f7ff;border:1px solid #dbe5f7;color:#132756;padding:8px 11px;border-radius:22px;min-height:42px;max-width:165px;font-size:13px;direction:ltr}.language-trigger>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:115px}.language-trigger>span:last-child{margin-inline-start:4px;color:#566b96}.language-dialog{width:min(660px,calc(100vw - 40px));max-width:660px;max-height:calc(100dvh - 48px);padding:26px;border:0;border-radius:22px;overflow:hidden;color:#132756;box-shadow:0 24px 80px #13275640}.language-dialog::backdrop{background:#10255080;backdrop-filter:blur(5px)}.language-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.language-dialog-heading h2{font-size:23px;margin:0;line-height:1.5}.language-close{width:40px;height:40px;border:0;border-radius:50%;background:#edf4ff;font-size:27px;color:#324d7b;line-height:1}.language-search{display:flex;align-items:center;gap:10px;background:#f4f7fc;border:1px solid #d7e2f6;border-radius:11px;padding:9px 13px;direction:ltr}.language-search>span{font-size:24px;color:#165be8;line-height:1}.language-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:16px;color:#132756;padding:4px;line-height:1.5}.language-search:focus-within{outline:2px solid #165be8;outline-offset:2px}#languageStatus{font-size:13px;line-height:1.5;color:#435d83;margin:9px 0}#languageStatus:empty{margin:0}.language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 235px);min-height:120px;padding:4px 5px 4px 2px;margin-top:18px;direction:ltr;scrollbar-width:thin}.language-option{display:flex;align-items:center;gap:9px;min-height:49px;padding:10px 11px;border:1px solid #e1e7f4;background:#fff;color:#263c62;border-radius:10px;font-size:14px;text-align:start;line-height:1.5;min-width:0}.language-option>span:nth-child(2){overflow-wrap:anywhere;min-width:0;flex:1}.language-option:hover{background:#f1f6ff;border-color:#b5ccfa}.language-option.is-selected{background:#edf4ff;border-color:#165be8;color:#165be8;font-weight:600}.language-flag{font-size:21px;flex-shrink:0}.language-tick{font-size:14px;color:#165be8;flex-shrink:0}.language-dialog .language-option{white-space:normal}html[dir=rtl] .destination-menu{inset-inline-start:-200px}html[dir=rtl] .destination-menu-group a{text-align:right}
@media(min-width:901px) and (max-width:1100px){.destination-menu{inset-inline-start:-170px;width:calc(100vw - 64px);gap:15px;padding:22px;grid-template-columns:repeat(5,minmax(125px,1fr))}.destination-menu-group a{font-size:12px}}
@media(max-width:900px){header nav{background:#fff;border-color:#e2e9f6;padding:6px 0;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}.destination-menu,html[dir=rtl] .destination-menu{position:static;display:block;width:100%;max-height:360px;max-height:min(390px,50dvh);border:0;box-shadow:none;border-radius:0;padding:8px 20px 12px 22px;background:#fff;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.destination-menu-group{margin-bottom:22px}.destination-menu-group:last-child{margin-bottom:5px}.destination-menu-group .menu-group-title{font-size:12px;margin:8px 0 8px;font-weight:700;letter-spacing:.3px}.destination-menu-group a{font-size:14px;min-height:39px;padding:7px 0;gap:10px;border:0;border-radius:5px;background:#fff;color:#303b4d}.destination-menu-group a>span:first-child{font-size:18px}.nav-group summary{padding:14px 12px;background:white}.nav-group[open] summary{color:#165be8}.submenu{padding:0 12px 12px 22px;background:white}.submenu a{border:0;background:white;padding:9px 0;color:#445877}.language-trigger{max-width:154px}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.language-trigger{font-size:13px;padding:8px 9px;max-width:144px}.language-trigger>span:nth-child(2){max-width:96px}.language-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px 16px;border-radius:18px;margin:auto}.language-dialog-heading{margin-bottom:15px}.language-dialog-heading h2{font-size:22px}.language-grid{max-height:calc(100dvh - 210px);margin-top:15px;gap:8px;padding-inline-end:2px}.language-option{font-size:14px;min-height:51px;padding:10px 8px;gap:7px}.language-flag{font-size:20px}.language-search input{font-size:16px}.destination-menu{padding-inline-start:18px;padding-inline-end:15px}.hero-traveler .travel-tag{white-space:normal;max-width:145px}.hero-traveler .travel-tag strong{white-space:normal;overflow-wrap:normal}}
@media(max-width:400px){.language-trigger{max-width:124px;font-size:12px;padding:8px}.language-trigger>span:nth-child(2){max-width:75px}.language-trigger>span:last-child{margin-inline-start:0}.language-option{font-size:13px}.language-flag{font-size:19px}.language-dialog{padding:18px 13px}.language-grid{gap:6px}.language-tick{font-size:12px}.destination-menu-group a{font-size:14px}}
/* Vivid opening panel */
.hero-band{background:radial-gradient(ellipse at 94% 8%,#895aff8c 0,transparent 50%),radial-gradient(ellipse at 0 100%,#167fcb85 0,transparent 52%),linear-gradient(115deg,#102e83 0%,#234ed6 48%,#5536af 100%)}.hero h1{color:#fff}.hero h1 span{background:linear-gradient(95deg,#ffe589,#ffbd76);background-clip:text;-webkit-background-clip:text;color:transparent}.hero .eyebrow{background:#ffffff12;border-color:#ffffff35;color:#e9f0ff;box-shadow:0 4px 12px #0b175a0a}.hero .lead{color:#e4eaff}.hero .suggestions{color:#d9e6ff}.hero .suggestions button{background:#ffffff12;border-color:#ffffff40;color:#fff}.hero .suggestions button:hover{background:#ffffff25}.hero .compat-link{color:#e1e9ff}.hero .search{border-color:#fff;box-shadow:0 14px 30px #09174835}.hero-photo{box-shadow:0 25px 55px #09154850}.hero .floating-card{box-shadow:0 15px 35px #09174840;color:#132756}.hero .floating-card small{color:#62708a}.hero-traveler .travel-tag{box-shadow:0 10px 30px #09174835}.hero .search input{color:#132756}.hero .search input::placeholder{color:#626f87}.hero-band:focus-within .hero .compat-link:focus-visible,.hero .suggestions button:focus-visible{outline-color:#ffe589}
.language-option{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:normal}.language-option>span:nth-child(2){letter-spacing:normal}.destination-menu-group .menu-group-title{font-size:12px}.language-trigger{font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
@media(min-width:901px){.destinations-group{position:static}.destination-menu,html[dir=rtl] .destination-menu{inset-inline-start:32px;top:calc(100% - 5px);width:calc(100% - 64px)}}
select[hidden]{display:none!important}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;max-width:100%;min-width:145px;min-height:44px;padding:10px 13px;margin-inline-start:10px;border:1px solid #d1dff3;background:#fff;color:#132756;border-radius:9px;font:14px/1.5 'Be Vietnam Pro',system-ui,sans-serif;text-align:start}.select-trigger>span:first-child{min-width:0;overflow-wrap:anywhere}.select-trigger>span:last-child{font-size:17px;color:#5c7195;flex-shrink:0}.device-check .select-trigger{width:100%;margin:0;font-size:15px;padding:14px 15px}.plan-controls label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.plan-controls label .select-trigger{margin:0}.choice-dialog{width:min(430px,calc(100vw - 32px));max-width:430px;max-height:calc(100dvh - 32px);padding:24px;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px #13275640}.choice-dialog .language-dialog-heading h2{font-size:21px;line-height:1.5}.choice-options{display:grid;gap:8px;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;padding:3px}.choice-option{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:50px;border:1px solid #dfe7f5;background:#fff;border-radius:11px;padding:13px 15px;color:#233957;font:15px/1.5 'Be Vietnam Pro',system-ui,sans-serif;text-align:start}.choice-option.is-selected{border-color:#165be8;color:#165be8;background:#edf4ff;font-weight:600}.choice-option:hover{background:#f3f7ff}.choice-option>span:first-child{min-width:0;overflow-wrap:anywhere}.choice-option>span:last-child:not(:first-child){color:#165be8;flex-shrink:0}.choice-dialog::backdrop{background:#10255080;backdrop-filter:blur(5px)}
@media(max-width:700px){.select-trigger{font-size:14px;min-height:46px}.plan-controls label{font-size:13px;width:100%;justify-content:space-between;gap:12px}.plan-controls label .select-trigger{flex:0 1 auto;min-width:140px}.device-check .select-trigger{font-size:15px}.choice-dialog{width:calc(100vw - 24px);padding:20px 16px;border-radius:18px}.choice-dialog .language-dialog-heading h2{font-size:21px}.choice-option{font-size:16px;min-height:52px}}

/* Align language names consistently while preserving each script direction. */
.language-option .language-name{text-align:start;unicode-bidi:isolate}

/* Compact header with full-size touch controls. */
header.wrap{height:64px;min-height:64px;padding-top:0;padding-bottom:0}
header .header-check{padding-top:8px;padding-bottom:8px}
@media(max-width:900px){header.wrap{height:auto;min-height:64px;padding-top:10px;padding-bottom:10px;row-gap:10px}header nav{margin-top:0}}
/* Complete ChoEsim storefront */
[hidden]{display:none!important}.page-hero{background:linear-gradient(115deg,#18358d,#2459ef 52%,#7648de);color:#fff;overflow:hidden}.page-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-top:45px;padding-bottom:45px;min-height:245px}.page-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.15;max-width:780px;margin:16px 0}.page-hero p{color:#e4eaff;max-width:650px}.page-hero .eyebrow{color:#ffdc83;margin-top:24px}.breadcrumb{color:#e0e8ff;font-size:13px}.page-visual img{width:310px;height:210px;object-fit:cover;border-radius:30px 12px 40px 12px;border:5px solid #ffffffb0;transform:rotate(3deg)}.giant-flag{font-size:110px}.page-content{padding-top:42px;padding-bottom:65px;min-height:50vh}.page-content h2{font-size:27px;line-height:1.3}.page-content h3{line-height:1.4}.page-content a.primary,.page-content a.secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;padding:13px 20px;border-radius:12px;font-weight:700}.secondary{border:1px solid #d4dffc;background:white;color:#1b49b2}.full{width:100%;box-sizing:border-box;margin-top:18px}.page-search{display:flex;align-items:center;gap:14px;border:1px solid #d1ddff;background:#fff;padding:10px 12px;border-radius:16px;max-width:760px;box-shadow:0 8px 24px #2042940c}.page-search>span{color:#165be8;font-size:27px}.page-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;padding:8px;color:#132756}.directory-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.pill{display:inline-block;border:1px solid #d6e1ff;border-radius:30px;padding:8px 13px;background:#f3f6ff;color:#2454be;font-size:13px;text-decoration:none}.country-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.country-tile{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #e0e6f6;border-radius:16px;text-decoration:none;color:#132756;transition:transform .2s,box-shadow .2s}.country-tile:hover,.store-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #1d459212}.country-tile>span:nth-child(2){flex:1}.country-tile small{display:block;color:#607292;margin-top:5px;font-size:12px}.store-flag{font-size:32px}.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0}.store-card{border:1px solid #dfe6f7;border-radius:22px;background:white;padding:24px;transition:.2s}.store-card-top,.store-card-bottom,.summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.store-card h3{font-size:22px}.store-data{font-size:35px;font-weight:800;margin:25px 0 10px}.store-data small{font-size:14px;color:#647594;font-weight:500}.store-card-bottom{border-top:1px solid #e7edf9;margin-top:25px;padding-top:20px;flex-wrap:wrap}.store-card-bottom strong{font-size:22px}.muted{color:#637493;font-size:14px;line-height:1.7}.page-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:30px;align-items:start}.content-card,.summary-card{background:#fff;border:1px solid #dfe6f7;border-radius:22px;padding:28px;margin-bottom:22px}.summary-card{background:linear-gradient(145deg,#f6f8ff,#f0ecff);position:sticky;top:20px}.summary-line{font-size:14px;margin:22px 0}.summary-card hr{border:0;border-top:1px solid #d8e1f5}.page-note{padding:14px 16px;border-radius:12px;background:#fff7e3;color:#75551e;font-size:13px;line-height:1.7}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#f6f8fd;border-radius:16px;padding:22px;margin:25px 0}.spec-grid small{display:block;color:#667796;font-size:12px;margin-bottom:8px}.spec-grid strong{font-size:19px}.detail-benefits{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#ecf3ff;border-radius:15px;padding:20px;margin-bottom:36px;color:#2454be}.coverage-tags{display:flex;flex-wrap:wrap;gap:10px}.cart-row{display:flex;align-items:center;gap:20px;border:1px solid #dfe6f7;border-radius:18px;padding:22px;margin-bottom:16px;flex-wrap:wrap}.cart-row>div:nth-child(2){flex:1}.cart-row h3{margin:0}.cart-row p{font-size:13px;color:#667796}.quantity{display:flex;align-items:center;gap:12px}.quantity button{width:32px;height:32px;border:1px solid #d3dffc;background:#f3f7ff;border-radius:8px;color:#1753d8;font-size:20px}.remove-item{background:none;border:0;color:#b73e58}.empty{text-align:center;padding:60px 20px;display:flex;align-items:center;flex-direction:column;gap:16px}.empty-icon{font-size:60px}.checkout-progress{padding:18px;background:#f2f6ff;border-radius:14px;margin-bottom:30px;text-align:center;font-size:14px}.form-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:18px 0}.form-field input,.form-field textarea,.wide-input{width:100%;box-sizing:border-box;border:1px solid #ccd8ee;border-radius:12px;padding:13px;font:inherit;color:#132756;background:white}.form-field input:focus,.form-field textarea:focus,.wide-input:focus{outline:3px solid #c4d9ff;border-color:#235aeb}.check-field{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;margin:22px 0}.check-field input{margin-top:4px}.payment-choice{padding:20px;background:#eef3ff;border:1px solid #7499f0;border-radius:12px;display:flex;justify-content:space-between;gap:10px}.payment-choice span{font-size:11px;color:#805c12;background:#ffecb5;padding:4px 8px;border-radius:5px}.success-panel{text-align:center;max-width:700px;margin:0 auto 35px;padding:35px;background:#effaf5;border-radius:24px}.success-check{display:block;background:#22ad83;color:#fff;width:70px;height:70px;border-radius:50%;font-size:45px;margin:0 auto 20px}.success-panel .demo-label{display:inline-block}.platform-tabs{display:flex;gap:12px;margin-bottom:20px}.platform-tabs button.active{background:#1759ed;color:white}.guide-steps{padding-inline-start:25px}.guide-steps li{padding:12px 0 15px 8px;line-height:1.8}.guide-steps li::marker{font-weight:800;color:#245be5}.sample-qr{font-size:140px;line-height:1.5;text-align:center;color:#17316b;border:10px solid white;border-radius:18px;background:repeating-linear-gradient(45deg,#fff,#fff 6px,#f1f4fa 6px,#f1f4fa 12px)}.account-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px}.account-nav{padding:18px;background:#f4f6ff;border:1px solid #e0e7fa;border-radius:20px;align-self:start}.account-link{display:block;padding:14px;border-radius:12px;color:#203d7e;text-decoration:none;font-weight:600}.account-link:hover{background:#e4edff}.esim-preview{display:flex;gap:18px;align-items:center}.usage-bar{height:12px;background:#e9edf7;border-radius:20px;margin-top:24px;overflow:hidden}.usage-bar span{display:block;width:64%;height:100%;background:linear-gradient(90deg,#235bf1,#8455e9);border-radius:20px}.usage-dial{width:190px;height:190px;border-radius:50%;margin:30px auto;background:conic-gradient(#3164f2 0 64%,#e8edf8 64% 100%);display:grid;place-items:center}.usage-dial strong{width:157px;height:157px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:44px}.usage-dial span{font-size:16px;color:#71809b}.order-row{display:flex;gap:20px;justify-content:space-between;align-items:center;border:1px solid #dfe6f7;padding:24px;border-radius:18px;color:#132756;text-decoration:none;flex-wrap:wrap}.order-row small{display:block;margin-top:6px;color:#73809c}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:970px;margin:auto;gap:28px}.auth-art{position:relative;border-radius:25px;overflow:hidden;min-height:560px}.auth-art img{width:100%;height:100%;object-fit:cover;position:absolute}.auth-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#102650dd)}.auth-art>div{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;color:#fff}.auth-art h2{font-size:34px}.auth-form{margin:0}.auth-links{display:flex;gap:15px;flex-wrap:wrap;font-size:13px;margin-top:22px}.form-status{color:#187e66;line-height:1.7;font-size:14px}.faq-list{max-width:900px;margin:30px auto}.faq-list details,.device-row{border-bottom:1px solid #dce3f1;padding:20px 4px}.faq-list summary,.device-row summary{cursor:pointer;font-weight:600;color:#17326d}.faq-list p,.device-row p{color:#5c6c88;line-height:1.8}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.help-category{position:relative;text-decoration:none;color:#132756;margin:0}.help-category>span{font-size:34px;color:#5360de}.help-category b{position:absolute;right:20px;top:25px;color:#3562dd}.help-banner{display:flex;align-items:center;justify-content:space-between;background:#eef2ff;padding:30px;border-radius:22px;gap:20px}.reading{max-width:780px;margin:auto;line-height:1.9;color:#445977}.reading h2{color:#142a5a;margin-top:35px}.reading .article-lead{font-size:21px}.legal{font-size:16px}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.blog-card{border:1px solid #dfe6f7;border-radius:22px;overflow:hidden;text-decoration:none;color:#132756}.blog-card img{width:100%;height:250px;object-fit:cover}.blog-card>div{padding:25px}.blog-card h2{font-size:24px}.error-page>span{font-size:130px;font-weight:900;background:linear-gradient(45deg,#1c59ef,#914fe0);background-clip:text;color:transparent}.store-actions{display:flex;gap:12px;align-items:center}.store-actions a{position:relative;text-decoration:none;color:#2055c5;font-size:22px}.store-actions small{position:absolute;top:-7px;right:-9px;background:#674cdf;color:white;border-radius:50%;font-size:10px;min-width:17px;height:17px;display:grid;place-items:center}.extended-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:30px;padding-bottom:30px;border-bottom:1px solid #dfe6f7}.footer-route{font-size:13px;color:inherit;text-decoration:none}.page-content code{font-size:12px;overflow-wrap:anywhere}.pageMain button{cursor:pointer}button,a,input,textarea{touch-action:manipulation}
@media(max-width:1100px){header .header-check{display:none}.country-directory,.store-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){header.wrap{gap:12px}.store-actions{margin-inline-start:auto}.language-control{margin-inline-start:0!important}.page-hero-inner{gap:20px}.page-visual img{width:220px;height:170px}.page-split{grid-template-columns:1fr}.summary-card{position:static}.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.page-hero-inner{padding-top:25px;padding-bottom:30px;min-height:0}.page-hero h1{font-size:32px}.page-visual{display:none}.page-hero .eyebrow{font-size:10px}.page-content{padding-top:25px;padding-bottom:40px}.country-directory{grid-template-columns:1fr 1fr;gap:10px}.country-tile{padding:13px;gap:9px}.country-tile .store-flag{font-size:24px}.country-tile strong{font-size:13px}.country-tile>span:last-child{display:none}.store-grid,.help-grid,.blog-grid{grid-template-columns:1fr}.store-card{padding:23px}.page-search{gap:8px}.page-search button{padding:12px;font-size:13px}.content-card,.summary-card{padding:22px}.account-layout{grid-template-columns:1fr;gap:20px}.account-nav{display:flex;flex-wrap:wrap;gap:3px;padding:10px}.account-nav .account-link{padding:10px;font-size:13px}.account-nav p,.account-nav>.text-link{display:none}.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.page-content h2{font-size:24px}.extended-footer{grid-template-columns:1fr 1fr}.help-banner{flex-direction:column;align-items:flex-start}.cart-row{gap:14px;padding:17px}.cart-row .remove-item{width:100%;text-align:end}.store-actions{gap:10px}.store-actions a{font-size:19px}.language-trigger{max-width:115px;padding:8px!important}.language-trigger #currentLanguageName{max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header .brand{font-size:23px}.menu-toggle{width:36px;min-width:36px}.detail-benefits{font-size:13px;padding:16px}.blog-card img{height:210px}.spec-grid{padding:17px;gap:18px}.spec-grid strong{font-size:16px}.page-steps{grid-template-columns:1fr}.page-content .empty{padding:35px 10px}.error-page>span{font-size:100px}}
@media(max-width:900px){header.wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;height:auto;min-height:64px}.brand{grid-column:1;grid-row:1}.store-actions{grid-column:2;grid-row:1;justify-self:end;margin:0}.language-control{grid-column:3;grid-row:1}.menu-toggle{grid-column:4;grid-row:1}header nav{grid-column:1/-1;grid-row:2;width:100%;order:0}.store-actions{gap:8px}.language-trigger{max-width:105px;min-height:40px}.language-trigger #currentLanguageName{max-width:55px}.menu-toggle{height:40px}}
@media(max-width:370px){header.wrap{padding-inline:12px;gap:6px}.store-actions{gap:6px}.language-trigger{max-width:90px}.language-trigger #currentLanguageName{max-width:40px}}
/* Account entry points and completeness audit improvements. */
.header-auth{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-auth a,.header-auth button,.mobile-auth a,.mobile-auth button{font:inherit;font-size:13px;font-weight:600;white-space:nowrap;padding:9px 12px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.auth-signin{color:#1757dc;border:1px solid #d7e3fc;background:#f4f7ff}.auth-register{color:#fff;background:#1759ed;border:1px solid #1759ed}.header-auth span,.mobile-auth span{display:none}.mobile-auth{display:none}header .header-check{display:none}header.wrap{gap:15px}header nav{gap:22px}.plan-information{border-block:1px solid #e0e7f5;margin:20px 0}.plan-information p{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin:0;padding:12px 0}.plan-information p+p{border-top:1px solid #edf0f7}.plan-information span{color:#71809a;text-align:end}.policy-links{display:flex;gap:12px;align-items:center}.password-toggle{border:0;background:none;color:#1757dc;padding:0;font-size:13px}.search-plan-heading{margin-top:35px}.account-link[aria-current=page]{color:#1759ed;background:#e2ebff}
@media(max-width:1150px) and (min-width:901px){header.wrap{gap:10px;padding-inline:22px}header nav{gap:14px;font-size:13px}.header-auth a,.header-auth button{padding:8px;font-size:12px}.language-trigger{max-width:110px}.brand{font-size:25px}}
@media(max-width:900px){.header-auth{display:none}.mobile-auth{display:flex;gap:12px;padding:15px 12px;border-bottom:1px solid #e0e7f7;margin-bottom:5px}.mobile-auth a,.mobile-auth button{flex:1;padding:12px}.store-actions{gap:8px}header.wrap{gap:8px}.plan-information p{flex-direction:column;gap:5px}.plan-information span{text-align:start}.policy-links{flex-wrap:wrap}}

/* Google sign-in shares the storefront's responsive card layout. */
.google-auth-panel{margin-bottom:24px}.google-auth-panel h3{margin:0 0 8px;font-size:22px}.google-auth-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid #b9c7df;border-radius:12px;background:#fff;color:#1f2937;font:inherit;font-size:16px;font-weight:600;cursor:pointer;box-sizing:border-box}.google-auth-button:hover{background:#f5f8ff;border-color:#2459ef}.google-auth-button:focus-visible{outline:3px solid #a9c7ff;outline-offset:3px}.google-auth-button:disabled{opacity:.65;cursor:wait}.google-auth-status{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.google-disclosure{font-size:14px}.auth-divider{display:flex;align-items:center;gap:12px;color:#61718e;font-size:14px;margin-top:24px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#e0e6f3;flex:1}.google-profile dt{font-size:14px;color:#61718e;margin-top:20px}.google-profile dd{margin:6px 0 20px;overflow-wrap:anywhere;font-size:18px}.google-profile .secondary{padding:12px 18px;border-radius:12px;font:inherit;cursor:pointer}#accountAuthStatus{padding:16px;color:#ad2345;text-align:center}.auth-form{min-width:0}

.google-auth-panel{margin:24px 0 0}.google-auth-panel .auth-divider{margin:0 0 22px}.google-auth-status:empty{display:none}.google-disclosure{margin-bottom:0}

.auth-page footer .footer-top>div:last-child{display:none}.auth-page footer .footer-bottom>span{display:none}

/* Destination discovery and trip preparation. */
.area-filters,.travel-shortcuts,.plan-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.area-filters button,.plan-filter-row button{font:inherit;cursor:pointer;border:1px solid #d9e3ff;background:white;color:#253c70}.area-filters .active,.plan-filter-row .active{background:#2359ef;color:#fff;border-color:#2359ef}.plan-filter-row{align-items:center}.plan-filter-row>span{width:78px;font-size:14px;color:#526587}.sort-plans{border:0;background:transparent;font:inherit;cursor:pointer}.plan-browser{margin:30px 0}.plan-browser .store-card{display:flex;flex-direction:column}.quick-add{margin-top:15px;border:1px solid #c9d7ff;background:#f0f5ff;color:#2252db;border-radius:12px;padding:11px;font:inherit;cursor:pointer}.quick-add:hover{background:#e1eaff}.travel-calculator{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;background:linear-gradient(125deg,#f0f6ff,#f4edff);margin:40px 0!important}.travel-calculator h2{font-size:32px;line-height:1.2}.travel-calculator fieldset{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.travel-calculator legend{margin-bottom:10px;color:#526587;font-size:14px}.usage-choice{display:flex;align-items:flex-start;gap:8px;border:1px solid #d1dbf0;background:#fff;border-radius:12px;padding:12px;cursor:pointer}.usage-choice:has(input:checked){border-color:#2459ef;box-shadow:0 0 0 1px #2459ef}.usage-choice small{display:block;font-size:11px;margin-top:6px;color:#607294}.usage-choice input{margin-top:3px;accent-color:#2459ef}.estimate-result:empty{display:none}.estimate-result{margin-top:20px;background:#fff;border-radius:16px;padding:20px}.estimate-result>strong{font-size:36px;color:#2359ef}.estimate-note{font-size:12px;line-height:1.6}.continent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.continent-card{position:relative;padding:24px;border:1px solid #dbe4ff;border-radius:22px;background:linear-gradient(135deg,#eef6ff,#f4f0ff);color:#172d5e;transition:transform .2s,box-shadow .2s}.continent-card:nth-child(2n){background:linear-gradient(135deg,#ecfbf4,#eef8ff)}.continent-card:nth-child(3n){background:linear-gradient(135deg,#fff5db,#fff0ed)}.continent-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #253b6b15}.continent-card>span{font-size:34px}.continent-card h3{font-size:21px;margin:12px 0 6px}.continent-card p{font-size:14px;color:#526587;margin:0}.continent-card>b{position:absolute;right:24px;top:28px;font-size:22px}.planning-help{margin-top:32px;gap:20px}.planning-help>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.planning-help p{margin-bottom:0}.home-explore{scroll-margin-top:100px}button:focus-visible,.continent-card:focus-visible{outline:3px solid #7c9fff;outline-offset:3px}
@media(max-width:760px){.travel-calculator{grid-template-columns:1fr;gap:16px;padding:22px!important}.travel-calculator h2{font-size:26px}.travel-calculator fieldset{grid-template-columns:1fr}.continent-grid{grid-template-columns:repeat(2,1fr);gap:12px}.continent-card{padding:18px}.continent-card h3{font-size:17px}.continent-card>b{right:16px;top:20px}.plan-browser .section-heading{align-items:flex-start;gap:14px}.plan-browser .section-heading h2{font-size:25px}.sort-plans{font-size:13px;white-space:nowrap}.planning-help{flex-direction:column;align-items:flex-start}.plan-filter-row{gap:7px}.plan-filter-row>span{width:100%}.plan-filter-row .pill{padding:8px 12px}.travel-shortcuts .pill{font-size:13px}.home-explore .section-heading{gap:15px}}
@media(prefers-reduced-motion:reduce){.continent-card{transition:none}}

/* Keep the main navigation available while scrolling in either direction. */
.site-header{position:sticky;top:0;z-index:50;width:100%;background:#fff;border-bottom:1px solid #dce4f2;box-shadow:0 4px 16px rgba(20,40,90,.12)}
html{scroll-padding-top:100px}
@media(max-width:900px){.site-header header nav{max-height:calc(100dvh - 120px)}}

#supplierFilters{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0}#supplierFilters label{display:flex;flex-direction:column;gap:8px;min-width:150px;max-width:100%;font-size:14px}#supplierFilters select{appearance:auto;font:inherit;line-height:1.5;min-height:44px;width:100%;max-width:100%;padding:10px 12px;background:#fff;border:1px solid #d1dff3;border-radius:9px;color:#132756}#supplierGrid .store-card h3{overflow-wrap:anywhere}#supplierPlans [data-more]{margin-top:24px}@media(max-width:600px){#supplierFilters label{flex:1 1 140px}#supplierFilters select{font-size:16px}#planGrid .store-card{min-width:0}}

.installation-qr{display:block;max-width:100%;height:auto;border:12px solid #fff;border-radius:8px;margin:20px 0}.activation-details{display:grid;gap:8px}.activation-details dt{font-weight:600}.activation-details dd{margin:0 0 16px;overflow-wrap:anywhere;padding:12px;background:#f4f7fc;border-radius:8px;font:14px/1.6 monospace}

/* ---- Usability refinements ---- */
/* Inner pages: a slimmer banner so the content starts higher, without the repeated tagline. */
.page-hero-inner{min-height:0;padding-top:24px;padding-bottom:28px}
.page-hero .eyebrow{display:none}
.page-hero h1{margin:8px 0 4px;font-size:clamp(28px,3.2vw,40px)}
.page-hero p{margin:4px 0 0}
/* Sign in / register: the card carries the title, Google comes first. */
.auth-page .page-content{padding-top:28px}
.auth-title{margin:0 0 6px;font-size:28px;line-height:1.2}
.auth-form .google-auth-panel{margin:6px 0 4px}
.auth-form .auth-divider{margin:18px 0 6px}
/* Plan cards: compact, easy to scan. */
.store-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.store-card-main{display:flex;gap:14px;align-items:flex-start;min-width:0}
.store-card-main>div{min-width:0}
.store-card-main .store-flag{font-size:26px;line-height:1;margin-top:4px}
.store-card h3{font-size:18px;margin:0 0 4px;line-height:1.3}
.store-card .store-data{font-size:30px;margin:6px 0 4px}
.store-card .muted{margin:0;font-size:13px}
.store-card-bottom{margin-top:0;padding-top:14px}
.country-directory.popular{margin-bottom:8px}
.section-title{font-size:20px;margin:22px 0 10px}
/* Data estimator: a closed one-line disclosure instead of a large block. */
.trip-estimator{border:1px solid #d9e3ff;border-radius:14px;background:#f5f8ff;margin:18px 0}
.trip-estimator summary{cursor:pointer;padding:14px 18px;font-weight:600;color:#1c3f9c;list-style:none}
.trip-estimator summary::-webkit-details-marker{display:none}
.trip-estimator summary:before{content:'+ ';font-weight:800}
.trip-estimator[open] summary:before{content:'\2212 '}
.trip-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:0 18px 14px}
.trip-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#526587;flex:1;min-width:150px}
.trip-form input,.trip-form select{font:inherit;min-height:42px;padding:8px 12px;border:1px solid #d1dff3;border-radius:9px;background:#fff;color:#132756;width:100%}
#tripResult{padding:0 18px 16px}
#tripResult:empty{display:none}
/* Plan page and cart: reassurance, a buy box that stays in view, a sticky bar on phones. */
.back-link{margin:0 0 14px}
.back-link a{color:#2454be;text-decoration:none;font-weight:600}
.summary-card{top:96px}
.trust-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;font-size:13px;color:#47597d}
.summary-cta{margin-top:14px}
.deliver-to{margin:0 0 12px}
/* Footer: one tidy set of links. */
footer .footer-top,footer>.photo-credit{display:none}
.footer-bottom a[href*="unsplash"]{display:none}
.extended-footer{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px;padding-top:44px;padding-bottom:28px;border-bottom:1px solid #ffffff20;align-items:start}
.footer-brand p{color:#bdcae8;margin:10px 0 0;font-size:14px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col strong{color:#fff;font-size:14px;margin-bottom:4px}
.footer-col .footer-route{font-size:14px;color:#cdd8f2;text-decoration:none}
.footer-col .footer-route:hover{color:#fff;text-decoration:underline}
.footer-col .footer-route span[aria-hidden]{display:none}
.photo-credits{grid-column:1/-1;margin:8px 0 0;font-size:11px;color:#8fa0c8}
.photo-credits a{color:inherit}
@media(max-width:900px){.extended-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:700px){
 .page-hero-inner{padding-top:18px;padding-bottom:20px}
 #supplierFilters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 #supplierFilters label{min-width:0}
 #supplierFilters label:last-child{grid-column:1/-1}
 .store-card,.plan-browser .store-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:start;padding:14px 16px;gap:10px 12px;border-radius:16px}
 .store-card h3{font-size:15px}
 .store-card .store-data{font-size:22px;margin:2px 0}
 .store-card .store-data .nowrap{white-space:normal}
 .store-card-bottom{border-top:0;padding-top:0;flex-direction:column;align-items:flex-end;flex-wrap:nowrap;gap:8px}
 .store-card-bottom strong{font-size:18px}
 .store-card-bottom .primary{padding:8px 14px;font-size:14px}
}
@media(max-width:760px){
 .plan-buy{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;margin:0;border-radius:18px 18px 0 0;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 24px #1d45921f}
 .plan-buy .plan-buy-price h2{font-size:22px;margin:0}
 .plan-buy .plan-buy-price p{margin:0;font-size:13px}
 .plan-buy .trust-list,.plan-buy .muted{display:none}
 .plan-buy .primary.full{width:auto;flex:1;max-width:210px}
 .page-content:has(.plan-buy){padding-bottom:96px}
}

/* Filters: the global select margin pushed them past the card edge. */
#supplierFilters select,.trip-form select{margin:0;box-sizing:border-box}
/* Estimator summary: one marker, left-aligned (the generic summary rule centres text and adds its own +). */
.trip-estimator summary{display:block;text-align:start}
.trip-estimator summary:after{content:none!important}
/* Benefit strip sits left instead of spreading across the page. */
.detail-benefits{justify-content:flex-start;gap:12px 28px;padding:14px 18px;margin-bottom:22px}
.plan-browser .store-card,#supplierGrid .store-card{text-align:start}

/* Help centre on phones: two compact cards per row instead of six tall ones. */
@media(max-width:600px){
 .help-grid{grid-template-columns:1fr 1fr;gap:10px}
 .help-grid>*{padding:14px;min-height:0}
 .help-grid h3{font-size:15px}
}

/* Phone menu: one scroll area (the panel), country list in two columns, language shown as a flag. */
@media(max-width:900px){
 header .destination-menu,html[dir=rtl] header .destination-menu{max-height:none;overflow:visible}
 .destination-menu-group{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;margin-bottom:14px}
 .destination-menu-group .menu-group-title{grid-column:1/-1}
 .destination-menu-group a{min-width:0;font-size:14px}
 .destination-menu-group a>span:last-child{overflow-wrap:anywhere}
 header nav{padding-bottom:10px}
}
@media(max-width:600px){
 .language-trigger #currentLanguageName{display:none}
 .language-trigger{padding:8px 10px!important;max-width:none}
}

/* Phones: destination tiles keep their name and price (an old rule hid the text), and controls are less bulky. */
@media(max-width:700px){
 .country-tile>span:last-child{display:block;min-width:0}
 .country-tile{padding:10px 12px;gap:9px;align-items:center}
 .country-tile .store-flag{font-size:22px}
 .country-tile strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
 .country-tile small{margin-top:2px;font-size:11.5px;line-height:1.3}
 .area-filters{gap:8px;margin:14px 0}
 .area-filters button,.area-filters .pill{padding:7px 12px;font-size:13px;line-height:1.3;min-height:0}
 .page-search{padding:5px 6px 5px 12px;border-radius:12px;gap:6px}
 .page-search>span{font-size:20px}
 .page-search input{padding:6px;font-size:15px}
 .page-search button,.page-search .primary{padding:9px 14px;font-size:14px;min-height:0;border-radius:9px}
 .page-content a.primary,.page-content a.secondary,.page-content button.primary,.page-content button.secondary{padding:10px 16px;font-size:14px;border-radius:10px;gap:8px}
 #supplierFilters select,.trip-form select,.trip-form input{min-height:40px;padding:8px 10px;font-size:14px}
 .store-card-bottom .primary{padding:7px 12px}
 .section-title{font-size:18px;margin:16px 0 8px}
}

/* Phone menu: compact rows (several rules used to stack their padding, giving ~75px rows). */
@media(max-width:900px){
 header nav.is-open{padding:2px 0}
 header .nav-group{padding:0!important;margin:0}
 header .nav-group>summary,header nav>a{min-height:0!important;padding:11px 14px!important;line-height:1.35;font-size:15px}
 header nav>a{display:block}
 header .mobile-auth{padding:10px 12px;margin:0;gap:8px}
 header .mobile-auth a,header .mobile-auth button{min-height:0;padding:9px 12px;font-size:14px;border-radius:10px}
 header .submenu a{min-height:0!important;padding:9px 0!important;font-size:14px}
 header .destination-menu{padding-top:2px}
}

/* The open phone menu is a flex column; an older unconditional "gap:22px" was still adding ~90px of air. */
@media(max-width:900px){
 header nav,header nav.is-open{gap:0!important;row-gap:0!important}
 header .mobile-auth{padding:8px 12px}
 header .mobile-auth a,header .mobile-auth button{padding:7px 12px;line-height:1.3}
}

/* "How it works": the step cards sat flush against the card below them. */
.page-steps{margin:0 0 28px}
.page-steps+.content-card,.page-steps+.help-banner,.page-steps+*{margin-top:0}
@media(max-width:700px){.page-steps{margin-bottom:20px}}

/* Side-by-side buttons inside cards had no space between them. */
.content-card>a.primary,.content-card>a.secondary,.content-card>button.primary,.content-card>button.secondary,.help-banner a.primary,.help-banner a.secondary{margin:6px 10px 6px 0}
html[dir=rtl] .content-card>a.primary,html[dir=rtl] .content-card>a.secondary{margin:6px 0 6px 10px}

/* CHOESIM-0017: 44 x 44 CSS px touch targets on coarse pointers only; the desktop layout is unchanged. */
@media (pointer:coarse){
 .quantity button{min-width:44px;min-height:44px}
 .remove-item,.cart-row .remove-item{min-height:44px;min-width:44px;padding:10px 12px}
 .menu-toggle{min-width:44px;min-height:44px}
 .password-toggle,.text-link{display:inline-flex;align-items:center;min-height:44px}
 .footer-col .footer-route,.photo-credits a{display:inline-flex;align-items:center;min-height:44px}
 .area-filters button,.area-filters .pill,.plan-filter-row button,.plan-filter-row select,.platform-tabs .pill,.tabs button{min-height:44px;min-width:44px}
 .store-actions a,.language-trigger,.header-check{min-width:44px;min-height:44px}
 .store-actions a{display:inline-flex;align-items:center;justify-content:center}
}

/* CHOESIM-0019: policy, guide and device pages (callouts, tables, contents list, accordions, five footer groups). */
.callout,.reading blockquote{margin:18px 0;padding:14px 16px;border-inline-start:4px solid var(--teal);border-radius:12px;background:var(--pale);color:var(--navy);font-size:15px;line-height:1.7}
.reading blockquote p{margin:0}
.reading blockquote{margin-inline:0}
.reading blockquote.callout-draft{background:#fff7e3;border-color:#a35706;color:#75551e}
.table-scroll{max-width:100%;overflow-x:auto}
.doc-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px;line-height:1.55}
.doc-table th,.doc-table td{border:1px solid var(--line);padding:10px 12px;text-align:start;vertical-align:top;overflow-wrap:anywhere}
.doc-table thead th{background:var(--pale);color:var(--navy)}
.doc-table tbody th{font-weight:600;color:var(--navy);background:#fff}
.doc-toc{margin:22px 0;border:1px solid var(--line);border-radius:14px;background:#fff}
.doc-toc summary,.doc-faq summary{min-height:44px;display:list-item;padding:10px 16px;font-weight:600;color:var(--navy);cursor:pointer}
.doc-toc ol{margin:0;padding:0 16px 12px 42px}
.doc-toc a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);text-decoration:underline}
.doc-faq{border-bottom:1px solid var(--line)}
.doc-faq summary{padding-inline:4px}
.doc-faq summary h3{display:inline;margin:0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}
.doc-faq>:not(summary){margin:0 4px 14px}
.faq-list details,.device-row{padding-block:11px}
.faq-list summary,.device-row summary{padding-block:9px;min-height:44px}
.doc-toc summary:focus-visible,.doc-faq summary:focus-visible,.faq-list summary:focus-visible,.device-row summary:focus-visible,.table-scroll:focus-visible,.doc-toc a:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:8px}
.next-links{list-style:none;margin:8px 0 16px;padding:0}
.page-split.even{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-split.even>.content-card{margin-bottom:0}
@media(max-width:900px){.page-split.even{grid-template-columns:1fr}.page-split.even>.content-card{margin-bottom:22px}}
.page-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.steps article:nth-child(4){background:#e9f7f1;border-color:#cdeadf}
.steps article:nth-child(4)>span{background:#0d7f5f}
.extended-footer{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:24px}
.extended-footer>*{min-width:0}
.footer-col .footer-route{overflow-wrap:anywhere}
@media(max-width:1100px){.extended-footer{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}
@media(max-width:900px){.extended-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){header .brand img{height:28px}}

.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}.legal-links{display:flex;flex-wrap:wrap;gap:8px 20px}.legal-links a{font-size:13px;color:#cdd8f2;text-decoration:none}.legal-links a:hover{color:#fff;text-decoration:underline}

/* Footer: no stray rules, readable dark logo, legal bar */
.extended-footer{border-bottom:0}
footer .footer-bottom{border-top:0;margin-top:8px;padding-top:12px;padding-bottom:26px;justify-content:space-between}
.legal-links a{display:inline-flex;align-items:center;min-height:44px}
.legal-links a span[aria-hidden]{display:none}
.footer-brand .brand img{display:block;height:34px;width:auto}
.extended-footer .photo-credits{grid-column:1/-1;margin:0;font-size:12px;color:#bdcae8}
/* Documents: contents list and FAQ accordions */
.doc-toc{background:#f7f9ff;border-color:#dbe4fb}
.doc-toc summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:12px 18px}
.doc-toc summary::-webkit-details-marker{display:none}
.doc-toc summary::after{content:"+";color:#165be8;font-size:20px;font-weight:500}
.doc-toc[open] summary::after{content:"\2013"}
.doc-toc ol{list-style:none;margin:0;padding:0 18px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 20px;counter-reset:none}
.doc-toc li{margin:0}
.doc-toc a{min-height:40px;text-decoration:none;color:#1b46b8;font-weight:500}
.doc-toc a:hover{text-decoration:underline}
.reading .doc-faq{border:1px solid #dbe4fb;border-radius:14px;background:#fff;margin:0 0 10px;padding:0}
.reading .doc-faq[open]{border-color:#9db8f7;box-shadow:0 6px 18px #165be814}
.reading .doc-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:56px;padding:14px 18px;font-size:16px;font-weight:600;line-height:1.35;color:var(--navy);cursor:pointer}
.reading .doc-faq summary::-webkit-details-marker{display:none}
.reading .doc-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf0ff;color:#165be8;font-size:20px;font-weight:500;line-height:1}
.reading .doc-faq[open] summary::after{content:"\2013";background:#165be8;color:#fff}
.reading .doc-faq>*:not(summary){margin:0;padding:0 18px 14px}
.reading .doc-faq>*:not(summary):last-child{padding-bottom:18px}
.reading h3+.doc-faq,.reading h2+.doc-faq{margin-top:14px}
.reading .doc-faq summary h3{margin:0;padding:0;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;border:0}
/* Help center and documents */
.blog-grid{align-items:stretch}
.guide-card>div{padding-block:22px}
.policy-links-card{padding:20px 24px;margin-top:28px}
.policy-links-card .section-title{font-size:20px;margin:0 0 8px}
.policy-links-card .next-links{display:flex;flex-wrap:wrap;gap:4px 24px;list-style:none;margin:0;padding:0}
.help-grid+section,.blog-grid+.policy-links-card{margin-top:32px}
#guides{margin-top:36px}
#guides .section-title,.page-content>.section-title{margin:0 0 16px}
.reading a:not(.primary):not(.text-link):not(.blog-card){color:#1b46b8;text-decoration:underline;text-underline-offset:2px}
.reading a:not(.primary):not(.text-link):hover{color:#0f2f8a}
.install-steps li,.step-list li{margin-bottom:10px}
.guide-steps{padding-left:1.4em}
.guide-steps li{margin:0 0 12px;padding-left:4px}
.guide-steps li>*{margin-block:2px}
.guide-steps li p{margin:2px 0 0}
.guide-card>div{padding-block:16px}
.faq-list details{border:1px solid #dbe4fb;border-radius:14px;background:#fff;margin:0 0 10px;padding:0}
.faq-list details[open]{border-color:#9db8f7}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;padding:14px 18px;min-height:56px;font-weight:600;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details>*:not(summary){margin:0;padding:0 18px 16px}
/* Device check, contact and about */
.device-checker p{margin:0 0 12px;color:var(--muted)}
.device-results{margin-top:14px;display:grid;gap:10px}
.device-found{margin:0;padding:12px 14px;border-radius:12px;background:#e9f8ef;color:#14532d}
.device-empty{padding:14px;border-radius:12px;background:#fff6e5;color:#6b4300}
.device-empty p{margin:6px 0 8px}
.device-brand{border:1px solid #dbe4fb;border-radius:14px;background:#fff;padding:0}
.device-brand[open]{border-color:#9db8f7}
.device-brand summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:12px 16px;min-height:48px;font-weight:600;cursor:pointer}
.device-brand summary::-webkit-details-marker{display:none}
.device-count{font-size:12px;font-weight:600;color:#165be8;background:#eaf0ff;border-radius:999px;padding:2px 10px}
.device-list{list-style:none;margin:0;padding:0 16px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 16px}
.device-list li{display:flex;gap:8px;align-items:flex-start;padding:6px 0;font-size:14px;line-height:1.35}
.device-check{color:#0f9d58;font-weight:700;flex:none}
.device-brand .page-note{margin:0;padding:0 16px 14px}
.contact-card{margin:20px 0 24px}
.contact-card h3{margin:6px 0}
.contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-links .help-category{min-height:0;padding:16px 18px}
.contact-links .help-category h3{margin:0;font-size:16px}
#contactForm select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}
#contactForm h2{margin:0 0 14px}

/* CHOESIM-0022: support pages review (devices, contact, help, about, FAQ filter, how it works, guide). */
.arrow{display:inline-block}
html[dir=rtl] .arrow{transform:scaleX(-1)}
.plain-list{margin:0 0 18px;padding-inline-start:20px}
.plain-list li{margin:4px 0}
.ui-icon{display:block;flex:none}
/* Device check */
.device-checker{margin-bottom:28px}
.device-checker h2{margin:0 0 4px}
.device-sub{margin:0 0 14px;color:var(--muted)}
.field-label{display:block;margin:0 0 6px;font-size:14px;font-weight:600}
.device-input{position:relative}
.device-input .wide-input{padding-inline-end:48px;min-height:48px;font-size:16px}
.device-input input[type=search]::-webkit-search-cancel-button{display:none}
.device-clear{position:absolute;inset-block:0;inset-inline-end:0;width:48px;border:0;background:none;color:var(--muted);font-size:24px;line-height:1;border-radius:12px}
.device-clear:hover{color:var(--navy)}
.device-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.device-chip{min-height:44px;padding:8px 14px;border:1px solid #d6e1ff;border-radius:999px;background:#f3f6ff;color:#2454be;font-size:14px;font-weight:600}
.device-chip:hover{background:#e6edff}
.device-results{margin-top:16px;display:block}
.device-idle{margin:0;color:var(--muted);font-size:14px}
.device-hit,.device-miss{padding:14px 16px;border-radius:14px}
.device-hit{background:#eef4f7;border:1px solid #d5e2e8}
.device-miss{background:#fff6e5;border:1px solid #f0d9a8;color:#5e3d00}
.device-title{margin:0 0 10px;font-weight:700;overflow-wrap:anywhere}
.device-hit-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:0}
.device-hit-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;border-top:1px solid #d5e2e8}
.device-name{font-weight:600}
.device-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;color:var(--muted)}
.device-chip-note{display:inline-block;padding:1px 8px;border-radius:999px;background:#fff3d6;color:#6b4300;font-size:12px;font-weight:600}
.device-show-all{margin:0 0 12px}
.device-note{margin:0 0 8px;font-size:14px;color:var(--muted)}
.device-disclaimer{margin:0;font-size:14px}
.device-actions{margin:0 0 10px;padding-inline-start:20px}
.device-actions li{margin:4px 0}
.device-hint{margin:0;font-size:14px}
.confirm-section{margin:0 0 28px}
.confirm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.confirm-card{margin:0}
.confirm-card h3{margin:0 0 8px}
.confirm-card .guide-steps{margin:0 0 8px}
.confirm-badge{margin:0 0 8px;padding:4px 10px;border-radius:999px;background:#e6f4f1;color:#0b5d52;font-size:13px;font-weight:600;display:inline-block}
.device-eid{margin:14px 0 0;font-size:14px;color:var(--muted)}
.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.device-brand summary>span:first-child{flex:1;min-width:0}
.device-count{flex:none;min-width:36px;text-align:center}
.device-list{display:block;list-style:disc;padding:0 16px 8px 36px}
.device-list li{display:list-item;padding:4px 0}
.brand-note{margin-top:12px}
#brands{margin-bottom:28px}
@media(max-width:900px){.confirm-grid{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr}}
/* Contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"info form" "help form";gap:0 40px;align-items:start}
.contact-info{grid-area:info}
.contact-form{grid-area:form;position:sticky;top:96px;margin:0}
.contact-help{grid-area:help}
.contact-card{margin:20px 0 24px}
.contact-card .store-flag{display:inline-flex;color:#165be8}
.contact-mail{font-size:18px;font-weight:700;color:#1b46b8;overflow-wrap:anywhere}
.contact-card .primary{margin-top:6px}
.contact-links .help-category{min-height:0}
.contact-links .help-category p{margin:2px 0 0;font-size:14px;color:var(--muted)}
.form-hint{margin:0 0 6px;font-size:14px;color:var(--muted)}
.contact-form .form-field{margin:14px 0}
.contact-form select,#contactForm select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:48px;padding:12px 13px;border:1px solid #ccd8ee;border-radius:12px;background:#fff;color:#132756;font:inherit}
.contact-form select:focus{outline:3px solid #c4d9ff;border-color:#235aeb}
.contact-form textarea{resize:vertical}
.contact-status{margin-top:14px;border-radius:12px;font-size:15px}
.contact-status:empty{display:none}
.contact-status.ok,.contact-status.error,.contact-status.busy{padding:12px 14px}
.contact-status.ok{background:#e9f8ef;border:1px solid #9fd8b5;color:#14532d}
.contact-status.error{background:#fdecec;border:1px solid #f1b4b4;color:#7a1f1f}
.contact-status.busy{background:#eef4f7;border:1px solid #d5e2e8}
.status-icon{font-weight:700;margin-inline-end:4px}
.contact-status:focus-visible{outline:3px solid #15b9a4;outline-offset:2px}
@media(max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "form" "help"}.contact-form{position:static;margin:20px 0 28px}}
/* Help and contact category cards: one column list on phones, descriptions visible */
.help-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
.help-category{display:flex;align-items:flex-start;gap:14px;padding-inline-end:48px}
.help-category .cat-icon{color:#165be8;flex:none}
.help-category .cat-text{display:block;min-width:0}
.help-category h3{margin:0 0 2px;font-size:17px}
.help-category p{margin:0;font-size:14px;color:var(--muted)}
.help-category b{top:50%;transform:translateY(-50%);right:18px}
html[dir=rtl] .help-category b{right:auto;left:18px;transform:translateY(-50%) scaleX(-1)}
@media(max-width:900px){.help-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.help-grid.help-cats,.contact-links{grid-template-columns:1fr;gap:10px}.help-grid.help-cats>*,.contact-links>*{min-height:64px;padding:14px 48px 14px 16px}.help-grid h3{font-size:16px}}
.help-search{max-width:none;width:100%}
.search-status{min-height:0;margin:10px 0 16px;font-size:15px}
.search-status:empty{display:none}
.search-status p{margin:0}
.search-status .text-link{display:inline;min-height:0;white-space:normal;margin-inline-start:6px;border:0;background:none;padding:0;color:#1b46b8;text-decoration:underline}
.help-faq{margin:32px 0}
.help-banner p{margin:4px 0 0}
.faq-filter{max-width:760px;margin:0 auto 12px}
.faq-filter .text-link{border:0;background:none;color:#1b46b8;white-space:nowrap}
.faq-filter+#faqStatus{max-width:780px;margin-inline:auto}
.reading h2.faq-lead{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:0}
/* About */
.about-intro{max-width:760px;margin:0 0 8px}
.about-intro h2{margin:0 0 8px}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 30px}
.why-grid .content-card{margin:0}
.why-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#eaf0ff;color:#165be8}
.why-grid h3{margin:12px 0 6px;font-size:18px}
.why-grid p{margin:0;font-size:15px;color:var(--muted)}
.how-rows{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.how-rows li{display:flex;gap:16px;align-items:flex-start;padding:14px 18px;border:1px solid #dfe6f7;border-radius:16px;background:#fff}
.how-num{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#165be8;color:#fff;font-weight:700;font-size:14px}
.how-rows h3{margin:0;font-size:17px}
.how-rows p{margin:2px 0 0;font-size:15px;color:var(--muted)}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.policy-card{margin:0;display:block;padding:18px 20px}
.policy-card h3{margin:0;font-size:17px;color:#1b46b8}
.policy-card p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.about-faq{margin:32px 0}
.cta-band{margin-top:32px;padding:32px;border-radius:22px;background:linear-gradient(115deg,#18358d,#2459ef 52%,#7648de);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.cta-band h2{margin:0;color:#fff}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.page-content .cta-band a.cta-light{background:#fff;color:#1b49b2;box-shadow:none}
.page-content .cta-band a.cta-ghost{background:transparent;color:#fff;border-color:#ffffffb0}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.why-grid,.policy-grid{grid-template-columns:1fr}.cta-band{padding:24px}}
/* Guide */
.checklist{list-style:none;margin:0;padding:0}
.checklist li{margin:0 0 10px}
.checklist label{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:6px 0;cursor:pointer}
.checklist input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:#165be8}
.need-help{margin:14px 0 18px}

.contact-form .form-field select{margin:0;margin-inline-start:0}
.help-faq .faq-list,.about-faq .faq-list{max-width:none;margin:0 0 12px}

.checklist input[type=checkbox]{width:24px;height:24px;flex:none}
/* CHOESIM-0023: breadcrumb trail is a real list of links; the menu group labels are paragraphs, not headings. */
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.breadcrumb li+li::before{content:"/";margin:0 7px;opacity:.75}
.breadcrumb a{color:inherit;text-decoration:none}
.breadcrumb a:hover,.breadcrumb a:focus-visible{text-decoration:underline}
/* CHOESIM-0027: shopping and account pages. Closed checkout notice, empty-state actions, order cards, copy buttons, install order on phones. */
.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}
.content-card .empty{padding:20px 0}
.closed-notice{margin:0 0 18px}
.closed-notice h3{margin:0 0 6px;font-size:17px}
.closed-notice p{margin:0 0 8px}
.closed-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:0!important}
.check-links{display:flex;flex-wrap:wrap;gap:0 6px;margin:-12px 0 18px;font-size:13px}
.order-card h3{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}
.order-card p{margin:0 0 8px}
.order-status{min-height:0;min-width:0;cursor:default}
.activation-details dd .copy-btn{margin-inline-start:10px;padding:6px 14px;font-size:13px;min-height:44px;min-width:44px}
.copy-status{margin-inline-start:8px;font:13px/1.4 'Be Vietnam Pro',sans-serif;color:var(--muted)}
.activation-details dd>span:first-child{overflow-wrap:anywhere}
@media(max-width:700px){
 .install-split>div{display:contents}
 .install-split .install-manual-card{order:1}
 .install-split .install-steps{order:2}
 .install-split .install-qr-card{order:3}
}
.empty button.secondary,.empty-actions button.secondary{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;min-height:44px;border-radius:12px;font-weight:700;cursor:pointer}
.empty .empty-actions a.text-link{font-weight:700}
.empty [data-account-unavailable]{max-width:46ch}
/* Phone width: the 44 px touch target does not depend on the pointer media query alone (headless and some browsers report a fine pointer). */
@media(max-width:700px){
 .quantity button{min-width:44px;min-height:44px}
 .remove-item,.cart-row .remove-item,.password-toggle,.platform-tabs .pill,.page-content button.secondary,.page-content button.primary{min-height:44px;min-width:44px}
}
.auth-form .form-status[data-kind=error]{color:#b3261e}
.auth-form .form-status[data-kind=ok]{display:flex;flex-direction:column;gap:6px;margin-top:18px;padding:14px 16px 14px 48px;position:relative;background:#e9f7f1;border:1px solid #8fd3b8;border-radius:12px;color:#0f5b46;font-size:15px}
.auth-form .form-status[data-kind=ok]:before{content:'\2713';position:absolute;left:14px;top:12px;width:24px;height:24px;border-radius:50%;background:#187e66;color:#fff;font-weight:700;display:grid;place-items:center;font-size:15px}
[dir=rtl] .auth-form .form-status[data-kind=ok]{padding:14px 48px 14px 16px}
[dir=rtl] .auth-form .form-status[data-kind=ok]:before{left:auto;right:14px}
.auth-form .form-status:focus{outline:2px solid #1757dc;outline-offset:3px}
.google-auth-status button.text-link,.form-status button.text-link{border:0;background:none;color:#1757dc;font:inherit;font-weight:700;text-decoration:underline;padding:0 4px;cursor:pointer}
/* CHOESIM-0029: About page copy */
.about-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.about-hero-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 20px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid transparent}
.about-hero-actions a.primary{background:#fff;color:#1b49b2;box-shadow:none}
.about-hero-actions a.secondary{background:transparent;color:#fff;border-color:#ffffffb0}
.about-mission{max-width:720px;margin:0 0 32px}
.about-mission h2{margin:0 0 4px}
.about-mission .about-sub{margin:0 0 12px;font-size:19px;font-weight:600;color:#1b46b8}
.about-mission p{line-height:1.8}
.trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 14px}
.trust-card{margin:0;padding:18px 20px}
.trust-card p{margin:0;font-size:15px}
.about-faq-list{max-width:none}
.about-faq-list summary h3{margin:0;font-size:inherit;line-height:1.4;font-weight:inherit;color:inherit}
.about-faq-list summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf0ff;color:#165be8;font-size:20px;font-weight:500;line-height:1}
.about-faq-list details[open] summary::after{content:"\2013";background:#165be8;color:#fff}
.about-faq-list summary{overflow-wrap:anywhere}
@media(max-width:560px){.trust-grid{grid-template-columns:1fr}.about-hero-actions a{flex:1 1 100%;text-align:center}}

/* Trip length control and plan-card copy on destination pages (CHOESIM-0030) */
#supplierFilters.has-trip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
#supplierFilters.has-trip label,#supplierFilters.has-trip label:last-child{min-width:0;grid-column:auto}
#supplierFilters select{min-height:44px}
.nowrap{white-space:nowrap}
.plan-tag{display:inline-block;padding:1px 8px;margin-inline-end:4px;border-radius:999px;background:#e8f0ff;color:#1c3f9c;font-size:12px;font-weight:600}
.plan-note{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.trip-hidden{display:block;margin-top:4px}
#supplierCount .text-link{background:none;border:0;padding:0 4px;font:inherit;color:#1c3f9c;text-decoration:underline;cursor:pointer;min-height:44px}
.empty .secondary{margin-top:10px;min-height:44px}
.trip-estimator [data-set-trip]{min-height:44px}
@media(max-width:560px){#supplierFilters.has-trip{grid-template-columns:1fr 1fr}#supplierFilters.has-trip label.trip-field{grid-column:1/-1}}
.about-tagline{display:block;margin-bottom:6px;font-size:18px;color:#fff}
.esim-live{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fe}
.esim-live p{margin:0 0 6px}.esim-live-bar{height:6px;border-radius:3px;background:#dfe6f5;overflow:hidden}.esim-live-bar span{display:block;height:100%;background:#2459ef}
.esim-live-data{margin-top:6px!important;font-size:14px}.esim-live-note{font-size:13px;margin-bottom:0!important}

/* Destination page: facts live in the hero, filters and estimator form one compact toolbar */
.hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.hero-facts span{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;line-height:1.3}
.hero-facts .hf-main{background:#fff;color:#18358d;font-weight:700}
.hero-facts .hf-tag{background:transparent;border-color:rgba(255,255,255,.4)}
.hero-note{margin:10px 0 0;font-size:14px;color:rgba(255,255,255,.9)}
.hero-note a{color:#fff;font-weight:700;text-decoration:underline}
.browser-title{font-size:22px;margin:0 0 10px}
.plan-browser #supplierFilters{margin:0 0 10px}
.plan-filter-row label span{font-size:12px;color:#526587}
.plan-browser .trip-estimator{margin:0 0 12px;background:transparent;border:0;border-radius:0}
.plan-browser .trip-estimator summary{display:inline-block;padding:6px 0;font-size:14px;color:#1c3f9c;text-decoration:underline;text-underline-offset:3px}
.plan-browser .trip-estimator[open]{background:#f5f8ff;border:1px solid #d9e3ff;border-radius:14px}
.plan-browser .trip-estimator[open] summary{padding:12px 18px 6px;text-decoration:none}
.plan-browser #supplierCount{margin:0 0 12px}
@media(max-width:560px){.hero-facts span{font-size:13px;padding:4px 10px}.browser-title{font-size:19px}}

/* Hero note link: stays white on hover (the generic .text-link hover is teal, unreadable on the blue hero) */
.hero-note a.text-link,.hero-note a.text-link:hover,.hero-note a.text-link:focus-visible{color:#fff;display:inline;min-height:0;text-decoration:underline;text-underline-offset:3px}
.hero-note a.text-link:hover{text-decoration-thickness:2px}
/* Count and estimator link share one row when they fit; otherwise the link drops to its own single line (never two). The estimator always comes first so the count stays right above the list. */
.browser-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;margin:0 0 14px}
.browser-meta #supplierCount{margin:0;flex:0 1 auto;order:2;font-size:16px;font-weight:700;color:#1b2a4e}
.browser-meta #supplierCount .trip-hidden{display:block;font-size:14px;font-weight:400;color:#4a5578}
.browser-meta .trip-estimator{margin:0;flex:0 0 auto;max-width:100%;order:1}
.browser-meta .trip-estimator summary{padding:4px 0;min-height:0;font-weight:600}
.browser-meta .trip-estimator summary:before{margin-inline-end:.3em}
.browser-meta .trip-estimator[open]{flex:1 1 100%;order:1;margin:0 0 12px}
.browser-meta .trip-estimator[open] summary{padding:12px 18px 6px}

/* Icons at the start of the second-level menu links */
header .submenu a{display:flex;align-items:center;gap:10px}
header .submenu a .mi{flex:none;color:#165be8;opacity:.85}
header .submenu a:hover .mi{opacity:1}

/* iOS Safari zooms the page when a field under 16px gets focus and stays zoomed afterwards (CHOESIM-0034). */
@media(max-width:900px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea{font-size:16px!important}}

/* Phone filters: one control per row so labels such as "Trip total: low to high" are not cut off. */
@media(max-width:430px){#supplierFilters,#supplierFilters.has-trip{grid-template-columns:1fr}#supplierFilters.has-trip label.trip-field{grid-column:auto}}

/* Trip length quick chooser: the same 1 to 10, 15, 20, 30 days and "any length" on every destination (CHOESIM-0035). */
.trip-chips{border:1px solid #d9e3f5;border-radius:16px;overflow:hidden;background:#fff;margin:14px 0 18px}
.trip-chips-head{background:linear-gradient(115deg,#1f4fe0,#3b6ef5);color:#fff;padding:14px 18px}
.trip-chips-head strong{font-size:17px}
.trip-chip-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:14px}
.trip-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:8px 4px;border:2px solid #dde4f0;border-radius:12px;background:#f6f9fd;color:#132756;font:inherit;cursor:pointer}
.trip-chip b{font-size:19px;line-height:1.1}
.trip-chip small{font-size:12px;color:#5b6b8f}
.trip-chip[aria-pressed=true]{background:#165be8;border-color:#165be8;color:#fff}
.trip-chip[aria-pressed=true] small{color:#e6edff}
.trip-chip:focus-visible{outline:3px solid #15b9a4;outline-offset:2px}
.trip-discount{margin:0;padding:0 18px 14px}
@media(max-width:700px){.trip-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}}
#supplierFilters.has-trip{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:430px){#supplierFilters.has-trip{grid-template-columns:1fr}}

/* Sticky "Add to cart" bar for pay-per-day plans on phones (the day field stays in the card). */
.plan-buy-bar{display:none}
@media(max-width:760px){
 .plan-buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -8px 24px #1d45921f}
 .plan-buy-bar strong{display:block;font-size:22px;line-height:1.2}
 .plan-buy-bar small{color:#5b6b8f;font-size:12px}
 .plan-buy-bar .primary{flex:1;max-width:210px}
 .page-content:has(.plan-buy-bar){padding-bottom:96px}
}

/* Homepage destination tiles are real links (CHOESIM-0051). */
a.destination{display:block;color:inherit;text-decoration:none}
a.destination:focus-visible{outline:3px solid #15b9a4;outline-offset:3px}

/* Destination buying guide and region country list (CHOESIM-0051). */
.dest-guide,.region-countries,.dest-steps,.dest-needs,.dest-faq{max-width:1100px;margin:28px auto 0;padding:0 20px}
.dest-steps h2,.dest-needs h2,.dest-faq h2{font-size:22px;margin:0 0 10px}
.dest-steps ol{margin:0 0 12px;padding-left:20px}.dest-steps li{margin:8px 0}.dest-steps li strong{display:block}.dest-steps-links{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.dest-steps-links button.text-link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.dest-needs table{width:100%;border-collapse:collapse}.dest-needs th,.dest-needs td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line,#e5e7eb)}.dest-needs thead th{font-weight:600}
@media(max-width:640px){.dest-needs thead{display:none}.dest-needs tr,.dest-needs th,.dest-needs td{display:block}.dest-needs th[scope=row]{border-bottom:0;padding-bottom:2px}}
.dest-guide h2,.region-countries h2{font-size:22px;margin:0 0 10px}
.dest-picks,.dest-notes{margin:0 0 12px;padding-left:20px}
.dest-picks li,.dest-notes li{margin:6px 0}
.region-countries p{line-height:1.9}


/* CHOESIM-0052: checkout Apply button, a Pay button that reads as disabled, and a consistent secondary button (My eSIMs "Refresh"). */
button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1.5px solid #165be8;border-radius:12px;background:#fff;color:#165be8;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;transition:background .15s,color .15s}
button.secondary:hover{background:#eef3ff}
button.secondary:focus-visible,button.primary:focus-visible{outline:3px solid #9db8ff;outline-offset:2px}
button.secondary:disabled{border-color:#c4cfe3;color:#8795ad;background:#f4f6fa;cursor:not-allowed;opacity:1}
.coupon-form{display:flex;align-items:flex-end;gap:12px;margin:16px 0 8px}
.coupon-form .form-field{flex:1;min-width:0;margin:0}
.coupon-form input{width:100%;min-height:44px;margin:0}
.coupon-form button{flex:none;min-height:44px;background:#165be8;border-color:#165be8;color:#fff}
.coupon-form button:hover{background:#0f49c4;border-color:#0f49c4}
@media(max-width:420px){.coupon-form{flex-wrap:wrap}.coupon-form button{width:100%}}
button.primary:disabled,button.primary[aria-disabled=true]{background:#c9d3e3;color:#5b6b85;box-shadow:none;cursor:not-allowed;opacity:1}
.section-heading button.secondary{min-height:40px;padding:8px 16px;font-size:14px}
.footer-legal{margin-inline-start:16px;opacity:.85}.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.refund-note{margin:10px 0 0}.google-disclosure+.google-disclosure{margin-top:-6px}

/* Mobile polish: cart controls on one aligned row with labels, a quieter Remove, and a trip estimator that cannot widen the page. */
.cart-row{align-items:flex-start}
.cart-row>div:first-child{flex:1;min-width:0}
.cart-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 24px;margin:12px 0 4px}
.cart-control{display:flex;flex-direction:column;gap:4px}
.cart-control small{font-size:12px;color:#667796;line-height:1.2}
.cart-control .quantity{gap:10px}
.cart-control .quantity span{min-width:3.2ch;text-align:center;font-weight:600;white-space:nowrap}
.cart-row .remove-item{width:auto;margin-inline-start:auto;align-self:flex-end;border:1px solid #efc7d1;border-radius:10px;background:#fff;color:#b73e58;font-size:14px;font-weight:600;padding:8px 16px;min-height:40px}
.cart-row .remove-item:hover{background:#fff4f6}
.trip-estimator,.trip-form{max-width:100%}
.trip-form label{flex:1 1 140px;min-width:0}
.trip-form select,.trip-form input{min-width:0;max-width:100%;text-overflow:ellipsis}

/* iOS Safari zooms the page when a field with text smaller than 16px gets focus (and zooms back out on close): keep fields at 16px on phones. */
@media(max-width:900px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}

/* Guest checkout, order confirmation and /view-esim/ (CHOESIM-0077, phase E). Labels always visible, 16px fields, 44px targets, text (not colour alone) for errors. */
.guest-signin{margin:0 0 12px}
.guest-form{margin:12px 0}
.gfield{display:flex;flex-direction:column;gap:6px;margin:16px 0}
.gfield label{font-size:15px;font-weight:600}
.gfield input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #6f7f99;border-radius:12px;font:inherit;font-size:16px;color:var(--navy);background:#fff}
.gfield input::placeholder{color:#66758f;opacity:1}
.gfield input:focus-visible{outline:3px solid #165be8;outline-offset:2px;border-color:#165be8}
.gfield input[aria-invalid=true]{border:2px solid #b3261e}
.gfield-hint{color:#566582;font-size:13px;line-height:1.5}
.gfield-error{display:block;color:#b3261e;font-size:14px;font-weight:600;line-height:1.5}
.gsuggest{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#fff7e3;color:#4d3a10;font-size:14px}
.gsuggest:empty{display:none}
.gsuggest button{min-height:44px;padding:8px 14px;font-size:14px}
#guestDeliver:empty{display:none}
#guestDeliver .deliver-to{margin:16px 0 8px;padding:12px 14px;border-radius:12px;background:var(--pale)}
#guestDeliver .text-link{border:0;background:none;padding:0 4px;font:inherit;font-weight:700;color:#1b46b8;text-decoration:underline;cursor:pointer}
.guest-terms{align-items:flex-start;gap:12px;margin:12px 0 4px;min-height:44px}
.guest-terms input{flex:none;width:24px;height:24px;margin:8px 0 0}
.guest-terms label{padding:8px 0;font-size:14px;line-height:1.6;cursor:pointer}
.guest-terms a.text-link{display:inline;min-height:0;color:#1b46b8;text-decoration:underline;text-underline-offset:2px}
.pay-methods{border:0;padding:0;margin:18px 0;min-width:0}
.pay-methods h2,.pay-methods legend{margin:0 0 8px;padding:0;font-size:18px;font-weight:800}
.pay-methods legend .step-title{font-weight:800}
.pay-option{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:8px 0;padding:12px 14px;border:1px solid #6f7f99;border-radius:12px;cursor:pointer}
.pay-option input{flex:none;width:22px;height:22px;margin:2px 0 0}
.pay-option small{display:block;color:#566582;line-height:1.5}
.ts-wrap{margin:16px 0}
.ts-box{min-height:65px;max-width:100%;margin:8px 0;overflow-x:auto}
.ts-box:focus-visible,.form-summary:focus,#rsResult:focus{outline:3px solid #165be8;outline-offset:2px}
.ts-error{margin:8px 0;padding:12px 14px;border-radius:12px;background:#fdecea;color:#7a1410}
.ts-error p{margin:0 0 8px}
.form-summary{margin:16px 0;padding:14px 16px;border-inline-start:4px solid #b3261e;border-radius:12px;background:#fdecea;color:#5c0f0b}
.form-summary h3{margin:0 0 6px;font-size:16px}
.form-summary ul{margin:0;padding-inline-start:20px}
.form-summary a{color:#8c1d18;font-weight:600;text-decoration:underline}
.form-error{color:#b3261e;font-weight:600}
.form-error:empty{display:none}
.guest-esim-title{margin:24px 0 8px}
.resend-card #rsResult .callout{margin:16px 0 0}
.guest-email-box h2,.resend-card h2{margin-top:0}
@media(max-width:600px){.gsuggest button{flex:1 1 100%}.guest-form .gfield input{font-size:16px}}
@media (pointer:coarse){#guestDeliver .text-link{min-height:44px}}
/* CHOESIM-0077 phase D: notice band after earlier guest orders were added to the account */
.claim-band{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 18px}
.claim-band p{margin:0}.claim-band p+p{margin-top:8px}

/* CHOESIM-0078: checkout payment step: method cards, VND charge note, reassurance under the Pay button */
.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pay-grid .pay-option{margin:0;padding:14px;border:1.5px solid #cbd7ee;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}
.pay-grid .pay-option:hover{border-color:#7f9be0}
.pay-grid .pay-option:has(input:checked){border-color:#1b46b8;background:#eef3ff;box-shadow:0 0 0 3px rgba(27,70,184,.14)}
.pay-grid .pay-option:has(input:focus-visible){outline:3px solid #165be8;outline-offset:2px}
.pay-grid .pay-option strong{display:block;color:#132756;line-height:1.35}
.charge-note{margin:12px 0 0;padding:12px 14px;border:1px solid #efd9a6;border-radius:12px;background:#fff8e8;color:#5a4200;font-size:14px;line-height:1.55}
.pay-trust{margin:16px 0 0;padding:14px 16px;border:1px solid #d9e4f8;border-radius:14px;background:#f4f8ff;gap:10px}
.pay-trust li{line-height:1.5}
[data-pay-paypal]:not([aria-busy=true])::before{content:"\1F512\00a0"}
@media(max-width:640px){.pay-grid{grid-template-columns:1fr}}
.step-title{display:flex;align-items:center;gap:10px}
.step-num{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1b46b8;color:#fff;font-size:14px;font-weight:700}
.step-heading,#guestTitle{margin:20px 0 8px;font-size:18px}
.pay-methods legend{width:100%}
.coupon-form{margin-top:20px}
.pay-panel{margin-top:18px;padding-top:16px;border-top:1px solid #d9e4f8}
.pay-panel .ts-wrap{margin:12px 0}
.pay-panel [data-pay-paypal]{margin-top:4px}
.summary-card hr+.summary-line{align-items:baseline}
.summary-card hr+.summary-line strong{font-size:26px;color:#1b46b8}

/* Cart: one clear card per item, Remove in the corner, Add another as a button */
.cart-row{position:relative;display:block;padding:20px;background:#fff}
.cart-row>div:first-child{padding-inline-end:84px}
.cart-row h3{font-size:18px;line-height:1.35}
.cart-row .remove-item{position:absolute;top:14px;inset-inline-end:14px;width:auto;min-height:40px;padding:6px 14px}
.cart-controls{margin:14px 0 0;padding-top:14px;border-top:1px solid #e6edfb;gap:14px 28px}
.cart-add{margin:4px 0 20px}
.cart-add a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:12px}
@media(max-width:600px){.cart-row>div:first-child{padding-inline-end:0}.cart-row h3{padding-inline-end:76px}}
.pay-panel .charge-note{margin:0 0 14px}
/* Order summary column is narrow: keep the security check and its error compact */
.pay-panel .ts-wrap{margin:12px 0}
.pay-panel .ts-wrap>.small{margin:0 0 8px;font-size:12px;line-height:1.5}
.pay-panel .ts-wrap>.small:empty{display:none}
.pay-panel .ts-box{margin:6px 0}
.pay-panel .ts-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 0;padding:12px;font-size:13px;line-height:1.5}
.pay-panel .ts-error p{flex:1 1 100%;margin:0}
.pay-panel .ts-error button{min-height:40px;padding:6px 16px}
.pay-panel .ts-error .text-link{min-height:40px;font-size:14px}
.pay-panel .form-error{font-size:14px;line-height:1.5}
.pay-panel #payTerms{font-size:12px;line-height:1.7}

/* Cart: Remove is a trash icon */
.cart-row .remove-item{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;top:12px;inset-inline-end:12px}
.cart-row .remove-item svg{display:block}
/* Pay panel: policy links flow inline with the sentence; the idle security-check box takes no space */
.pay-panel .text-link{display:inline;min-height:0;padding:0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.pay-panel #payTerms{margin:0 0 12px}
.pay-panel .ts-box:empty{min-height:0;margin:0}
.pay-panel .ts-wrap{margin:0 0 14px}
.pay-panel .ts-wrap>.small{margin:0 0 4px}
.pay-panel #tsStatus:empty{display:none}
/* Plan page: the IP-location cell is long text, give it the full row */
/* Sign-in panels: policy links flow inside the sentence instead of breaking it into lines */
.google-disclosure{margin:0 0 6px;font-size:13px;line-height:1.7}
.google-disclosure .text-link{display:inline;min-height:0;padding:0;text-decoration:underline;text-underline-offset:2px}

/* Order summary: VND amount as a compact line right under the total; the Turnstile explanation is for screen readers only (the widget itself shows when a check is needed) */
.pay-panel .charge-note{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:-6px 0 14px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.4}
.pay-panel .charge-note small{font-size:12px;color:#7a6020}
.pay-panel .ts-wrap>.small{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pay-panel .ts-wrap{margin:0 0 12px}
.pay-panel .ts-wrap:not(:has(.ts-box:not(:empty))):not(:has(.ts-error:not([hidden]))){margin:0}

.pay-switch{margin:12px 0 0;font-size:14px}
.pay-switch .text-link{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:0;background:none;border:0;padding:4px 0;font:inherit;line-height:1.45;font-weight:600;color:#1c3f9c;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:start}
.pay-switch .text-link:hover{color:#102c8a}
.pay-switch .text-link:focus-visible{outline:2px solid #1c3f9c;outline-offset:3px;border-radius:4px}
.pay-switch .text-link:after{content:'\2192';margin-inline-start:6px;text-decoration:none;display:inline-block}
[dir=rtl] .pay-switch .text-link:after{content:'\2190'}

/* CHOESIM-0057: privacy choice card (shown until the visitor chooses; reopened from the footer) */
.consent-bar{position:fixed;left:50%;bottom:16px;z-index:60;box-sizing:border-box;width:min(760px,calc(100% - 24px));transform:translateX(-50%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;background:#fff;color:#132756;border:1px solid #dbe4f7;border-radius:20px;box-shadow:0 18px 48px rgba(24,53,141,.22),0 2px 8px rgba(16,44,60,.08);font-size:14px;line-height:1.5;animation:consent-in .32s cubic-bezier(.2,.8,.2,1) both}
.consent-bar[hidden]{display:none}
@keyframes consent-in{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
.consent-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#165be8,#6842cc);color:#fff;box-shadow:0 6px 16px rgba(36,89,239,.32)}
.consent-body{min-width:0}
.consent-body strong{display:block;font-size:15px;color:#132756;margin-bottom:2px}
.consent-body p{margin:0;color:#4a5578}
.consent-body a{color:#1c3f9c;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.consent-actions{display:flex;gap:10px;flex:0 0 auto}
.consent-actions button{min-height:44px;padding:0 20px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.consent-no{background:#fff;color:#1c3f9c;border:1.5px solid #c8d4ee}
.consent-no:hover{background:#f3f6fe;border-color:#9db2e6}
.consent-yes{background:#165be8;color:#fff;border:1.5px solid #165be8;box-shadow:0 6px 16px rgba(22,91,232,.28)}
.consent-yes:hover{background:#0f49c4;border-color:#0f49c4}
.consent-actions button:focus-visible,.consent-body a:focus-visible{outline:3px solid #165be8;outline-offset:2px}
.consent-open{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;opacity:.85;min-height:0}
@media(max-width:640px){.consent-bar{left:0;right:0;bottom:0;width:auto;transform:none;grid-template-columns:auto 1fr;border-radius:22px 22px 0 0;border-bottom:0;padding:16px 16px calc(14px + env(safe-area-inset-bottom));animation-name:consent-up}.consent-actions{grid-column:1 / -1}.consent-actions button{flex:1}}
@keyframes consent-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.consent-bar{animation:none}}

/* Plan facts: equal tiles with an icon (plan page) and icon chips (plan cards) */
.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:none;border-radius:0;padding:0;margin:20px 0}
.spec{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;background:#f6f8fd;border:1px solid #e3eaf8;border-radius:16px}
.spec-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:#1c4fd8;box-shadow:0 2px 8px rgba(36,89,239,.14)}
.spec[data-k=validity] .spec-icon{color:#6b3fd0;background:#f3edff}
.spec[data-k=speed] .spec-icon{color:#b86e00;background:#fff4e0}
.spec[data-k=activation] .spec-icon{color:#0b8a5a;background:#e6f8ef}
.spec[data-k=hotspot] .spec-icon{color:#0a7d93;background:#e3f6fa}
.spec[data-k=ip] .spec-icon{color:#3b4fd1;background:#ecefff}
.spec-text{min-width:0}
.spec .spec-text small{display:block;margin:0 0 2px;color:#667796;font-size:12px;line-height:1.3}
.spec .spec-text strong{display:block;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.spec-grid>.spec:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:600px){.spec-grid{padding:0;gap:10px}.spec{padding:12px 10px;gap:10px}.spec-icon{width:38px;height:38px}.spec .spec-text strong{font-size:15px}}
@media(max-width:360px){.spec-grid{grid-template-columns:1fr}}
.plan-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.plan-chips li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;background:#f1f5ff;color:#2b4580;border-radius:999px;font-size:12.5px;line-height:1.4}
.plan-chips li .ic{flex:none;color:#1c4fd8}
.plan-chips li:nth-child(3) .ic{color:#0a7d93}

/* Payment method: a single method (PayPal) is the same highlighted card as the OnePay options */
.pay-methods h2,.pay-methods legend{margin:0 0 8px;padding:0;font-size:18px}
.pay-grid .pay-option.is-only{cursor:default;border-color:#1b46b8;background:#eef3ff;box-shadow:0 0 0 3px rgba(27,70,184,.14);align-items:center}
.pay-option.is-only:before{content:'';flex:none;width:22px;height:22px;border-radius:50%;background:#1b46b8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.pay-option.is-only>span{flex:1;min-width:0}
/* Phones: a shorter checkout so the Pay button is reachable without scrolling for ages */
@media(max-width:640px){
 .page-hero:has(+.page-content .pay-methods) .page-hero-inner{min-height:0;padding-top:12px;padding-bottom:14px}
 .page-hero:has(+.page-content .pay-methods) .eyebrow{display:none}
 .page-hero:has(+.page-content .pay-methods) h1{font-size:24px;margin:2px 0 0}
 .page-hero:has(+.page-content .pay-methods) .breadcrumb{font-size:12px}
 .page-content:has(.pay-methods){padding-top:12px;padding-bottom:20px}
 .page-split:has(.pay-methods){gap:12px}
 .content-card:has(.pay-methods){padding:14px 14px 10px;margin-bottom:0}
 .content-card:has(.pay-methods)>h2:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .content-card:has(.pay-methods) .step-heading{font-size:17px;margin:4px 0 6px}
 .step-title{gap:8px}.step-num{width:24px;height:24px;font-size:13px}
 .deliver-to{font-size:14px;line-height:1.45;margin:0 0 6px}
 .coupon-form{margin:6px 0 2px;gap:8px}
 .coupon-form .form-field{font-size:13px}
 .coupon-form input,.coupon-form button{min-height:40px}
 #couponResult:empty{display:none}
 .pay-methods{margin:10px 0 4px}
 .pay-methods h2,.pay-methods legend{font-size:17px;margin-bottom:6px}
 .pay-grid{gap:8px}
 .pay-option,.pay-grid .pay-option{padding:10px 12px;gap:10px;min-height:0;border-radius:12px}
 .pay-option strong{font-size:15px}.pay-option small{font-size:12.5px;line-height:1.35}
 .pay-grid .pay-option:not(:has(input:checked)):not(.is-only) small{display:none}
 .pay-grid .pay-option:not(:has(input:checked)):not(.is-only){padding-top:9px;padding-bottom:9px}
 #pmNote{display:none}
 .pay-switch{margin:8px 0 0;font-size:13.5px}
 .content-card:has(.pay-methods)>a.secondary{display:inline-flex;align-items:center;min-height:0;padding:6px 0;margin:2px 0 0;border:0;background:none;font-size:14px;box-shadow:none}
 .summary-card:has(.pay-panel){padding:14px;margin-bottom:12px}
 .summary-card:has(.pay-panel) h3{font-size:17px;margin:0 0 4px}
 .summary-card:has(.pay-panel) .summary-line{margin:6px 0;font-size:15px}
 .summary-card:has(.pay-panel) .summary-line strong{font-size:20px}
 .summary-card:has(.pay-panel) hr{margin:8px 0}
 .summary-card .charge-note{margin:0 0 8px;padding:8px 10px;font-size:13px}
 .summary-card #payTerms{font-size:12px;line-height:1.45;margin:6px 0 10px}
 .summary-card .pay-panel .primary{width:100%;min-height:48px;justify-content:center}
 .summary-card .pay-trust{margin-top:10px;padding:8px 10px;font-size:12px;line-height:1.4}
 .summary-card .pay-trust li{margin:0 0 4px}
}
/* CHOESIM-0098: richer blog text from the admin editor: callout boxes, figures with captions, code, buttons, checklists, contents list. */
.reading .callout-tip{background:#eaf7ef;border-color:#067647;color:#0b3d2a}.reading .callout-warning{background:#fff7e3;border-color:#a35706;color:#75551e}.reading .callout-info{background:#eef3ff;border-color:#165be8;color:#132756}
.reading .callout>:first-child{margin-top:0}.reading .callout>:last-child{margin-bottom:0}
.reading figure.fig{margin:22px 0}.reading figure.fig img{display:block;width:100%;height:auto;border-radius:12px}.reading figure.fig figcaption{margin-top:8px;font-size:14px;color:#5b6b8f;text-align:center}
.reading .fig-small{max-width:50%;margin-inline:auto}.reading .fig-left{float:left;max-width:45%;margin:6px 22px 12px 0}.reading .fig-right{float:right;max-width:45%;margin:6px 0 12px 22px}
@media(max-width:640px){.reading .fig-small,.reading .fig-left,.reading .fig-right{max-width:100%;float:none;margin-inline:0}}
.reading pre.code{background:#0f1c33;color:#e8eefc;border-radius:10px;padding:14px 16px;overflow:auto;font-size:14px;line-height:1.5}
.reading a.button{display:inline-block;background:#165be8;color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;text-decoration:none;box-shadow:0 4px 9px #165be826}.reading a.button:hover{background:#0f49c4}
.reading mark{background:#ffe58a;color:inherit;padding:0 3px;border-radius:3px}.reading del{opacity:.7}
.reading li.task{list-style:none;margin-inline-start:-1.2em}.reading li.task span{margin-inline-end:.4em}
.reading nav.toc{border:1px solid #dbe4fb;border-radius:12px;background:#f7f9ff;padding:8px 18px;margin:18px 0}.reading nav.toc ol{margin:6px 0;padding-inline-start:1.2em}.reading nav.toc .toc-3{margin-inline-start:1em;font-size:.95em}
@media(prefers-color-scheme:dark){.reading .callout-tip{background:#0d2a1f;color:#bfeed6}.reading .callout-warning{background:#2d230f;color:#f3d9a4}.reading .callout-info{background:#10213f;color:#cfe0ff}.reading nav.toc{background:#111b30;border-color:#26304d}}
/* CHOESIM-0100: country page puts the plan list first; the 3-step guide is a collapsed disclosure after it. */
.plan-help{margin:6px 0 0;font-size:14px}
.plan-help .text-link{display:inline-block;padding:6px 0}
.dest-steps{border:1px solid #dbe4fb;border-radius:12px;background:#f7f9ff;padding:0 18px;max-width:1060px;scroll-margin-top:16px}
.dest-steps>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;cursor:pointer;list-style:none}
.dest-steps>summary::-webkit-details-marker{display:none}
.dest-steps>summary h2{margin:0;font-size:20px}
.dest-steps>summary:after{content:'';flex:none;width:9px;height:9px;border-right:2px solid #165be8;border-bottom:2px solid #165be8;transform:rotate(45deg);margin-inline-end:4px;transition:transform .15s}
.dest-steps[open]>summary:after{transform:rotate(-135deg)}
.dest-steps>summary:focus-visible{outline:3px solid #165be8;outline-offset:2px;border-radius:8px}
.dest-steps-body{padding:0 0 14px}
@media(prefers-reduced-motion:reduce){.dest-steps>summary:after{transition:none}}
@media(max-width:700px){.dest-steps{margin-inline:16px;max-width:none}}
/* CHOESIM-0100: no traveller picture on mobile (same 700px breakpoint where .hero becomes one column); the hero keeps no empty row. */
@media(max-width:700px){.hero-image.hero-traveler{display:none}.hero-band .hero{gap:0;padding-bottom:40px}}
.plan-help .text-link{color:#165be8;font-weight:600;text-decoration:underline}
/* CHOESIM-0100: 701–900px (hamburger menu, two cramped hero columns) -> one column with the compact picture, like on phones. */
@media(min-width:701px) and (max-width:900px){.hero-band .hero{grid-template-columns:1fr;gap:45px;padding-top:40px;padding-bottom:70px}.hero-band .hero-copy{max-width:640px}.hero-band .hero .search{max-width:640px}.hero-traveler{height:355px;width:calc(100% - 32px);margin:0 16px;max-width:520px;justify-self:center}.hero-photo{border-width:6px;border-radius:75px 22px 65px 22px}.hero-traveler .image-top{top:20px;inset-inline-start:30px;font-size:11px;max-width:calc(100% - 55px);padding:6px 9px}.hero-traveler .travel-tag{top:50px;right:-9px;padding:12px;max-width:110px}.hero-traveler .travel-tag strong{font-size:18px}.floating-card{max-width:235px;padding:12px;gap:9px}.floating-card strong{font-size:12px}.floating-card small{font-size:10px}.card-icon{width:35px;height:37px;font-size:23px}.card-qr{top:145px;left:-13px}.card-esim{right:-15px;bottom:58px}.card-number{bottom:-24px;left:0}}
/* CHOESIM-0100: 901–1050px: the full menu is on one row — keep labels on one line and tighten the row so it does not wrap. */
@media(min-width:901px) and (max-width:1050px){header nav{gap:10px}header nav a,.nav-group summary{white-space:nowrap;font-size:13px}.language-control select{width:112px;max-width:112px;font-size:12px}header{gap:10px}header .brand{font-size:26px}.header-actions,.auth-actions{gap:6px}}
.plan-help button.text-link{background:none;border:0;padding:6px 0;font:inherit;font-size:14px;cursor:pointer;text-align:start}
.plan-help button.text-link:focus-visible{outline:3px solid #165be8;outline-offset:2px;border-radius:4px}
/* CHOESIM-0096: the home Journal block sits outside .page-content, so its secondary link did not get the button padding */
.planning-help a.secondary{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;min-height:44px;border-radius:8px;font-weight:600;font-size:14px;text-decoration:none}
/* CHOESIM-0112: multi-day discount on every pay-per-day card */
.plan-tag-save{background:#e6f6ec;color:#11623a}.plan-discount{margin-top:4px}
.store-card .plan-note{grid-column:1/-1}

/* Journal pages: right column next to the article and next to the list (blog.js asideHTML) */
.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
.journal-layout .reading{max-width:none;margin:0}
.journal-main .blog-grid{grid-template-columns:1fr 1fr;gap:22px}
.reading h2{scroll-margin-top:96px}
.article-aside{position:sticky;top:92px;display:grid;gap:18px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin;padding-bottom:4px}
.aside-card{border:1px solid #dbe4fb;border-radius:16px;background:#fff;padding:18px 18px 12px}
.aside-card h2{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;color:#4a5f86}
.aside-plans{background:linear-gradient(135deg,#18358d,#2459ef 60%,#7648de);border:0;color:#fff;padding-bottom:18px}
.aside-plans h2{color:#bcd0ff;text-transform:none;letter-spacing:0;font-size:13px}
.aside-name{font-size:24px;font-weight:700;margin:0 0 6px;line-height:1.2}
.aside-plans p{margin:0 0 12px;color:#e8efff;font-size:14px;line-height:1.55}
.aside-plans a.primary{background:#fff;color:#18358d;padding:10px 16px;font-size:14px;border-radius:10px;box-shadow:none}
.aside-toc ol{margin:0 0 6px;padding-inline-start:18px;display:grid;gap:9px;font-size:14px;line-height:1.4}
.aside-toc a,.aside-tools a{color:#2459ef;text-decoration:none}
.aside-toc a:hover,.aside-tools a:hover{text-decoration:underline}
.aside-post{display:flex;gap:12px;align-items:center;padding:10px 0;text-decoration:none;color:inherit;border-top:1px solid #eef2fd}
.aside-card .aside-post:first-of-type{border-top:0;padding-top:0}
.aside-post img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.aside-post b{display:block;font-size:14px;line-height:1.35;color:#10244f;font-weight:600}
.aside-post small{display:block;margin-top:3px;color:#6b7c99;font-size:12px}
.aside-dest{padding-bottom:6px}
.aside-chip{display:inline-block;margin:0 6px 8px 0;padding:6px 12px;border-radius:999px;background:#eef3ff;color:#18358d;font-size:13px;text-decoration:none}
.aside-chip:hover{background:#dde7ff}
.aside-tools ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:9px;font-size:14px}
@media(max-width:1000px){.journal-layout{grid-template-columns:minmax(0,1fr)}.article-aside{position:static;margin-top:28px}}
@media(max-width:600px){.journal-main .blog-grid{grid-template-columns:1fr}}
/* CHOESIM-0125: journal list pager */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:38px 0 6px}.pager-num,.pager-step,.pager-gap{min-width:42px;height:42px;padding:0 14px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none}.pager-num,.pager-step{border:1px solid #d6e1ff;background:#f3f6ff;color:#1b49b2}.pager-num:hover,.pager-step:hover{background:#e4edff}.pager-num:focus-visible,.pager-step:focus-visible{outline:3px solid #c4d9ff;outline-offset:2px}.pager-num.is-current{background:#1759ed;border-color:#1759ed;color:#fff}.pager-gap{color:#637493;min-width:24px;padding:0}@media(max-width:600px){.pager{gap:6px}.pager-num,.pager-step{min-width:38px;height:38px;padding:0 10px}}

/* CHOESIM-0127: My eSIMs list */
.section-heading.esim-head{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}
.esim-head h2{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.esim-head button.secondary{min-height:44px;flex:none}
.esim-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--pale);color:var(--navy);font-size:14px;font-weight:700;line-height:1}
.esim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;align-items:stretch}
.esim-grid>.content-card{margin:0}
.content-card.esim-card{display:flex;flex-direction:column;gap:12px;padding:22px;box-shadow:0 6px 18px rgba(19,39,86,.06);min-width:0}
.esim-card-top{display:flex;align-items:center;gap:12px;min-width:0}
.esim-card-top h3{margin:0;font-size:17px;line-height:1.3;color:var(--navy);overflow-wrap:anywhere;min-width:0;text-align:start}
.esim-card-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(115deg,#18358d,#2459ef 52%,#7648de);color:#fff}
.esim-card.is-ended .esim-card-icon{background:#eef1f6;color:#4a5672}
.esim-card.is-pending .esim-card-icon{background:var(--pale);color:var(--teal)}
.content-card.esim-card.is-pending{border-style:dashed;border-color:#b9c9ee;box-shadow:none}
.esim-card-status{display:flex;flex-direction:column;gap:8px}
.esim-card-status p{margin:0}
.esim-card-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}
.esim-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.3}
.esim-badge[data-tone=ok]{background:#e6f6ec;color:#0b5a34;border-color:#bfe5cd}
.esim-badge[data-tone=info]{background:#f3f6ff;color:#2454be;border-color:#d6e1ff}
.esim-badge[data-tone=warn]{background:#fff4d9;color:#7a4a00;border-color:#f0d9a0}
.esim-badge[data-tone=neutral]{background:#eef1f6;color:#4a5672;border-color:#d9dfea}
.esim-days{font-size:14px;font-weight:600;color:var(--navy)}
.esim-card .esim-live-bar{height:8px;border-radius:4px}
.esim-card .esim-live-data{margin:0!important;font-size:14px;color:var(--navy)}
.esim-card .esim-live-note{margin:0!important;font-size:12.5px;color:var(--muted)}
.esim-card-meta{margin:0;font-size:13px;color:var(--muted)}
.esim-card-meta div{display:flex;gap:6px;flex-wrap:wrap}
.esim-card-meta dt{font-weight:600}
.esim-card-meta dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.esim-card-mail,.esim-card-text{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.esim-card-text{font-size:14px;color:var(--navy)}
.esim-card-actions{margin-top:auto;padding-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.esim-card .esim-card-actions .primary,.esim-card .esim-card-actions .secondary{margin:0;min-height:44px}
.esim-card .esim-card-actions a.secondary{border:1.5px solid #165be8;background:#fff;color:#165be8}
.esim-card-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;color:#1b46b8;font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px;background:none;border:0}
.esim-card-link:hover{color:#0f2f8a;text-decoration-thickness:2px}
.content-card.empty.esim-empty{border-radius:22px;padding:40px 20px;margin:0}
.esim-empty p{margin:0}
.esim-empty-icon{width:56px;height:56px;border-radius:16px}
.content-card.esim-skel{min-height:190px;box-shadow:none}
.esim-skel span{display:block;border-radius:8px;background:#eef2fa}
.esim-skel-icon{width:44px;height:44px;border-radius:12px}
.esim-skel-title{width:60%;height:18px}
.esim-skel-badge{width:35%;height:24px}
.esim-skel-action{width:100%;height:44px;margin-top:auto}
.esim-card a:focus-visible,.esim-card button:focus-visible,.esim-head button:focus-visible,.esim-empty a:focus-visible,.esim-empty button:focus-visible{outline:3px solid #165be8;outline-offset:2px;border-radius:12px}
@media(max-width:700px){.content-card.esim-card{padding:18px}.esim-card .esim-card-actions .primary,.esim-card .esim-card-actions .secondary{flex:1 1 100%;justify-content:center}.esim-head h2{font-size:22px}}
/* CHOESIM-0133: payment method cards with an icon, a tick on the chosen one and the gateway named once above the grid. */
.pay-gateway{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 10px;color:#566582;font-size:14px}
.pay-secure{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#eaf2ff;border:1px solid #cfe0ff;color:#1b46b8;font-weight:700;font-size:13px;white-space:nowrap}
.pay-grid .pay-option{position:relative;align-items:center;border-radius:14px;padding:14px 44px 14px 14px;box-shadow:0 1px 2px #13275610}
.pay-grid .pay-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.pay-grid .pay-option>span:not(.pay-icon):not(.pay-tick){flex:1;min-width:0}
.pay-icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#eef3ff;color:#1b46b8}
.pay-icon-apple{background:#f1f2f4;color:#111}
.pay-icon-google{background:#eaf2ff;color:#1a73e8}
.pay-icon-samsung{background:#eef0fb;color:#1428a0}
.pay-tick{position:absolute;inset-inline-end:14px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;border:1.5px solid #cbd7ee;background:#fff}
.pay-grid .pay-option:has(input:checked) .pay-tick{border-color:#1b46b8;background:#1b46b8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.pay-grid .pay-option:has(input:checked) .pay-icon{background:#fff}
.pay-grid .pay-option.is-only{padding-inline-end:14px}
@media(max-width:640px){.pay-icon{width:38px;height:38px;border-radius:10px}.pay-grid .pay-option,.pay-grid .pay-option:not(:has(input:checked)):not(.is-only){padding:10px 42px 10px 12px}.pay-gateway{font-size:13px}}

/* Article body: images and tables never widen the column (mobile overflow, owner report 2026-11-14) */
.reading img{max-width:100%;height:auto}

/* CHOESIM-0140: data calculator page. */
.calc-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,2fr) auto;gap:12px;align-items:end;margin-top:16px}
.calc-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#526587;min-width:0}
.calc-field input,.calc-field select{font:inherit;min-height:44px;padding:8px 12px;border:1px solid #d1dff3;border-radius:9px;background:#fff;color:#132756;width:100%;box-sizing:border-box;min-width:0}
.calc-form button{min-height:44px}
.calc-result{margin-top:16px}.calc-result:empty{display:none}
.calc-gb{font-size:26px;margin:0 0 10px}
@media(max-width:900px){.calc-form{grid-template-columns:1fr 1fr}.calc-form .calc-field:first-child{grid-column:1/-1}}
@media(max-width:600px){.calc-form{grid-template-columns:1fr}}
