/* Travel data uses the site's existing paper/ink palette and a compact plan list. */
.esim-page { padding-block: 28px 64px; }
.esim-page [hidden] { display: none !important; }
.esim-breadcrumb { display:flex; gap:10px; font-size:14px; color:var(--muted); margin-bottom:24px; }
.esim-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.esim-heading h1 { font-size:clamp(28px,3vw,40px); line-height:1.2; letter-spacing:-.035em; margin:0 0 12px; }
.esim-heading p { color:var(--muted); max-width:64ch; font-size:16px; line-height:1.65; margin:0; }
.esim-guide-link { flex-shrink:0; color:var(--accent); padding:12px 0; }
.esim-destinations { display:flex; gap:28px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.esim-destinations a { display:flex; align-items:center; gap:10px; min-height:52px; border-bottom:3px solid transparent; font-size:17px; }
.esim-destinations a[aria-current] { border-color:var(--accent); color:var(--accent); }
.esim-country-code { font-size:12px; padding:3px 5px; border:1px solid var(--line); border-radius:4px; color:var(--muted); }
.esim-filters { display:flex; align-items:end; gap:20px; padding:20px; background:var(--paper); border-radius:12px; margin-bottom:32px; }
.esim-filters label { display:grid; gap:9px; font-size:14px; color:var(--muted); }
.esim-filters select { min-width:180px; min-height:46px; padding:10px 36px 10px 12px; border:1px solid var(--line); border-radius:7px; background:var(--canvas); color:var(--ink); font:inherit; font-size:16px; }
.esim-filters .esim-hotspot-filter { display:flex; align-items:center; min-height:46px; gap:10px; color:var(--ink); cursor:pointer; }
.esim-hotspot-filter input { width:20px; height:20px; accent-color:var(--accent); }
.esim-list-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.esim-list-heading h2 { font-size:21px; margin:0; }
.esim-list-heading h2 span { font-size:15px; margin-left:8px; color:var(--muted); font-weight:500; }
.esim-list-heading>span,.esim-context { font-size:14px; color:var(--muted); line-height:1.6; }
.esim-context { margin:10px 0 18px; }
.esim-table { border-block:1px solid var(--line); }
.esim-table-head,.esim-plan { display:grid; grid-template-columns:1fr 1fr 1.2fr .8fr; align-items:center; gap:24px; }
.esim-table-head { font-size:13px; color:var(--muted); padding:13px 20px; background:var(--paper); }
.esim-plan { padding:24px 20px; border-top:1px solid var(--line); }
.esim-allowance,.esim-price { display:grid; gap:7px; }
.esim-allowance strong { font-size:26px; letter-spacing:-.025em; line-height:1.2; }
.esim-price strong { font-size:22px; font-variant-numeric:tabular-nums; line-height:1.3; }
.esim-allowance>span { font-size:15px; color:var(--muted); }
.esim-price small { font-size:12px; color:var(--muted); }
.esim-terms>span { display:flex; gap:6px; align-items:center; font-size:15px; }
.esim-terms svg { width:18px; height:18px; }
.esim-supported { color:#67d5b5; }
html[data-theme="light"] .esim-supported { color:#176f58; }
.esim-terms details { margin-top:8px; font-size:14px; color:var(--muted); }
.esim-terms summary,.esim-sources summary { cursor:pointer; min-height:28px; padding-block:5px; }
.esim-terms p { line-height:1.7; max-width:44ch; }
.esim-buy { text-align:right; }
.esim-buy a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border:1px solid var(--line); border-radius:7px; padding:10px 16px; color:var(--accent); font-size:15px; font-weight:600; white-space:nowrap; }
.esim-buy a:hover { background:var(--paper); border-color:var(--accent); }
.esim-empty { text-align:center; padding:38px 20px; background:var(--paper); }
.esim-empty h3 { font-size:20px; margin:0 0 10px; }
.esim-empty p { color:var(--muted); line-height:1.7; }
.esim-empty a { display:inline-flex; padding:12px 20px; color:var(--accent); }
.esim-disclosure { color:var(--muted); font-size:13px; line-height:1.75; max-width:105ch; margin:16px 0 40px; }
.esim-reading { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:64px; align-items:start; margin-top:36px; }
.esim-article { max-width:76ch; }
.esim-article section { padding:0 0 28px; margin-bottom:26px; border-bottom:1px solid var(--line); }
.esim-article h2 { font-size:23px; letter-spacing:-.02em; margin:0 0 16px; }
.esim-article p { font-size:16px; line-height:1.85; color:var(--ink-secondary,var(--ink)); margin:12px 0; }
.esim-sources { font-size:13px; color:var(--muted); }
.esim-sources a { color:var(--accent); margin-right:8px; }
.esim-sources span { margin-right:12px; }
.esim-aside { border-left:2px solid var(--line); padding-left:22px; }
.esim-aside h2 { font-size:18px; margin:0 0 12px; }
.esim-aside p { color:var(--muted); font-size:14px; line-height:1.8; }
.esim-aside a { display:block; padding:12px 0; font-size:14px; color:var(--accent); }
@media(max-width:1000px) { .esim-reading {gap:32px;grid-template-columns:minmax(0,1fr) 240px} .esim-table-head,.esim-plan{gap:16px;grid-template-columns:.9fr 1fr 1.1fr 1fr} }
@media(max-width:700px) {
 .esim-page{padding-top:20px}.esim-breadcrumb{margin-bottom:18px}.esim-heading{display:block}.esim-guide-link{display:inline-block;margin-top:8px}.esim-destinations{gap:18px}.esim-destinations a{font-size:16px;gap:6px}.esim-country-code{display:none}
 .esim-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;margin-bottom:26px}.esim-filters label{min-width:0}.esim-filters select{min-width:0;width:100%}.esim-hotspot-filter{grid-column:1/-1}.esim-list-heading{display:block}.esim-list-heading>span{display:block;margin-top:8px}
 .esim-table-head{display:none}.esim-plan{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:22px 4px;gap:18px 12px}.esim-price{text-align:right}.esim-allowance strong{font-size:25px}.esim-price strong{font-size:20px}.esim-terms{font-size:14px}.esim-buy a{padding:10px 10px;white-space:normal;max-width:100%;line-height:1.4;font-size:14px}.esim-reading{display:block}.esim-aside{margin-top:24px}.esim-disclosure{margin-bottom:32px}.esim-article h2{font-size:21px}
}
