/* Travel eSIM pages: /esim/<cc>.html and the /esim/ hub.
   Written by backend/scripts/esim-pages-build.mjs, which links this file from
   every page it renders. Colors and type come from the tokens in
   /css/site.css; do not name a color or a font family here. */

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.65;}
a{color:var(--brand);}
a:hover{color:var(--brand-lift);}

/* Top bar */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;background:rgba(var(--bg-rgb),0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.logo{display:inline-flex;align-items:baseline;gap:1px;font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;}
.logo-usa{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-left:5px;}
.top-links{display:flex;align-items:center;gap:16px;}
.top-links a{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;}
.top-links a.btn{color:var(--white);}

/* Buttons */
.btn{display:inline-block;background:var(--brand);color:var(--white);text-decoration:none;padding:11px 22px;border-radius:999px;font-weight:600;font-size:14px;line-height:1.2;}
.btn:hover{background:var(--brand-lift);color:var(--white);}
.btn.ghost{background:transparent;color:var(--brand);border:1.5px solid rgba(var(--brand-rgb),0.35);}
.btn.ghost:hover{background:rgba(var(--brand-rgb),0.06);color:var(--brand);}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 8px;}

/* Page */
main{max-width:880px;margin:0 auto;padding:22px 20px 64px;}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:16px;}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--brand);}
h1{font-size:clamp(30px,5vw,44px);margin-bottom:14px;}
h2{font-size:clamp(21px,3vw,25px);margin:44px 0 12px;scroll-margin-top:72px;}
h3{font-size:17px;margin:22px 0 6px;}
p{margin-bottom:14px;font-size:16px;}
.lead{font-size:18px;color:var(--muted-strong);margin-bottom:22px;}
ul,ol{margin:10px 0 16px 22px;}
li{margin-bottom:6px;}
.checked{font-size:14px;color:var(--muted);}

/* TL;DR (kept between the geo:tldr guards that website/esim/_geo-inject.mjs checks) */
.tldr{background:rgba(var(--brand-rgb),0.05);border:1px solid rgba(var(--brand-rgb),0.18);border-radius:var(--radius);padding:16px 20px;margin:0 0 8px;}
.tldr strong{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand);margin-bottom:6px;}
.tldr ul{margin:0 0 0 18px;}
.tldr li{font-size:15.5px;}

/* Tables */
.table-wrap{margin:12px 0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:15px;}
caption{caption-side:bottom;text-align:left;padding:10px 14px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);}
th,td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
thead th{font-size:13px;font-weight:600;color:var(--muted-strong);background:var(--surface-2);}
tbody th{font-weight:700;white-space:nowrap;}
.price{font-weight:700;font-size:17px;text-decoration:none;}
.price:hover{text-decoration:underline;}
.price-inline{font-weight:700;text-decoration:none;}
.matrix .spec,.matrix .cov,.matrix .st{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:2px;}
.matrix .st{color:var(--warn);}
.matrix td.none{color:var(--muted);}
@media (max-width:640px){
  .matrix th,.matrix td{padding:9px 7px;font-size:14px;}
  .price{font-size:16px;}
  .list thead{display:none;}
  .list tr{display:block;padding:8px 0;border-bottom:1px solid var(--border);}
  .list tbody tr:last-child{border-bottom:0;}
  .list td{display:flex;justify-content:space-between;gap:14px;padding:4px 14px;border:0;text-align:right;}
  .list td::before{content:attr(data-label);flex:0 0 auto;white-space:nowrap;color:var(--muted);font-size:13px;text-align:left;}
}

/* Lists and boxes */
.plans-list li{margin-bottom:10px;}
.steps li{margin-bottom:10px;padding-left:4px;}
.facts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;margin:36px 0 8px;}
.facts strong{font-weight:600;}
.facts > strong{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-strong);margin-bottom:4px;}
.facts ul{margin:4px 0 0 18px;}
.faq{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 22px 10px;}
.faq h3{margin-top:18px;}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:12px 0;}
.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;text-decoration:none;color:var(--ink);}
.card:hover{border-color:var(--brand);color:var(--ink);}
.card b{display:block;font-size:15px;font-weight:600;}
.card span{display:block;font-size:13px;color:var(--muted);}

/* Hub */
.filter{margin:6px 0 10px;}
.filter label{display:block;font-size:13px;font-weight:600;color:var(--muted-strong);margin-bottom:6px;}
.filter input{width:100%;max-width:420px;padding:11px 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);}
.filter input:focus{outline:2px solid rgba(var(--brand-rgb),0.35);outline-offset:1px;border-color:var(--brand);}

footer{padding:40px 20px;background:var(--surface-2);text-align:center;color:var(--muted);font-size:13px;}
footer a{color:var(--muted);margin:0 6px;}

@media (max-width:600px){
  .top{padding:10px 16px;}
  .top-links{gap:10px;}
  .top-links a:not(.btn){display:none;}
  main{padding:18px 16px 56px;}
  .faq{padding:4px 16px 8px;}
}
