/* Travel eSIM blog — TopTravelESIM palette, Manrope + Inter. */
.blog-main{padding:0 32px 64px}.blog-page header nav{align-items:center}.blog-page .blog-nav-link{background:var(--color-primary-soft);padding:8px 18px;border-radius:24px}.blog-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center;padding:36px 0 52px;position:relative}.blog-hero:before{content:"";position:absolute;z-index:0;inset:-20px -32px 0;background:radial-gradient(ellipse at 16% 25%,#DDF8F2 0,transparent 53%),radial-gradient(ellipse at 85% 20%,#EAF4FC 0,transparent 65%);pointer-events:none}.blog-hero>*{position:relative;z-index:1}.blog-kicker{display:inline-block;padding:8px 15px;border-radius:30px;background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.035em}.blog-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:22px 0}.blog-hero h1 span{color:var(--color-primary)}.blog-hero-copy>p{font-size:18px;line-height:1.65;max-width:43ch;margin:0 0 20px}.blog-text-link{font-weight:700;color:var(--color-primary)}.blog-feature{border:1px solid white;border-radius:24px;overflow:hidden;background:white;box-shadow:0 12px 40px #102b3f0d}.blog-feature-image{display:block;position:relative}.blog-feature-image img{display:block;width:100%;height:270px;object-fit:cover}.blog-feature-badge{position:absolute;top:16px;left:16px;background:var(--color-accent-sun);color:var(--color-ink);padding:8px 14px;border-radius:22px;font-size:12px;font-weight:700}.blog-feature-copy{padding:22px 24px}.blog-feature h2{font-size:24px;line-height:1.3;margin:12px 0 8px}.blog-feature h2 a,.blog-card h3 a{color:var(--color-ink)}.blog-feature h2 a:hover,.blog-card h3 a:hover{color:var(--color-primary)}.blog-feature p{margin:0 0 14px;font-size:15px;line-height:1.6}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}.blog-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.blog-list-heading h2{font-size:30px;margin:0}.blog-list-heading>span{font-size:13px;color:var(--color-text-muted)}.blog-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card{background:white;border-radius:15px;border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .18s,box-shadow .18s;position:relative;min-width:0}.blog-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #102b3f14}.blog-card[hidden]{display:none}.blog-card-image{display:block;overflow:hidden}.blog-card-image img{display:block;width:100%;height:155px;object-fit:cover;transition:transform .25s}.blog-card:hover img{transform:scale(1.035)}.blog-card-content{padding:15px 16px 18px}.blog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--color-text-muted)}.blog-tag{font-size:10px;font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);padding:3px 7px;border-radius:5px}.blog-card h3{font-size:17px;line-height:1.4;margin:11px 0 22px}.blog-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:22px;position:absolute;right:14px;bottom:12px}.blog-sidebar{display:grid;gap:20px;padding-top:48px}.blog-panel{padding:22px;background:white;border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-card)}.blog-panel h2{font-size:20px;line-height:1.35;margin:0 0 14px}.blog-panel p{font-size:14px;line-height:1.65;margin:0 0 18px}.blog-panel label{display:block;font-size:17px;font-weight:700;color:var(--color-ink);margin-bottom:12px}.blog-panel input{width:100%;height:48px;font-size:16px;border:1px solid var(--color-border);border-radius:12px;padding:0 12px;background:white;color:var(--color-ink)}.blog-category{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 7px;background:transparent;border:0;border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text)}.blog-category:last-child{border-bottom:0}.blog-category[aria-pressed=true]{background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);font-weight:700}.blog-category span:last-child{font-size:12px}.blog-trip-panel{background:linear-gradient(140deg,white,var(--color-primary-soft))}.blog-panel-icon{font-size:42px;color:var(--color-primary);display:block;line-height:1;margin-bottom:16px}.blog-panel .primary{display:block;text-align:center;padding:13px 10px;font-size:13px}.blog-editor-note{background:var(--color-accent-sky)}.blog-pagination{display:flex;align-items:center;gap:8px;margin-top:24px;flex-wrap:wrap}.blog-pagination button{padding:9px 14px;min-height:44px;background:white;color:var(--color-ink);border:1px solid var(--color-border);border-radius:10px}.blog-pagination button[aria-current=page]{background:var(--color-primary);color:white;border-color:var(--color-primary)}.blog-pagination button:disabled{opacity:.4;cursor:default}.blog-no-results{padding:32px;border:1px dashed var(--color-border);border-radius:16px}.article-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;color:var(--color-text-muted);font-size:12px}.article-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:22px 0 42px}.article-hero h1{font-size:clamp(32px,3.5vw,44px);letter-spacing:-.03em;line-height:1.18;margin:18px 0}.article-hero p{font-size:17px;line-height:1.65;margin:0 0 20px}.article-byline{font-size:12px;color:var(--color-text-muted);line-height:1.7}.article-hero figure{margin:0}.article-hero img{display:block;width:100%;height:340px;object-fit:cover;border-radius:24px}.article-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:52px;justify-content:center;align-items:start}.article-toc{position:sticky;top:22px;background:white;border:1px solid var(--color-border);border-radius:18px;padding:20px;font-size:12px;max-height:calc(100vh - 44px);overflow:auto}.article-toc summary{font-size:17px;font-weight:700;color:var(--color-ink)}.article-toc ol{padding-left:18px;line-height:1.5}.article-toc li{margin:12px 0}.article-toc a{color:var(--color-text-muted)}.article-toc a:hover{color:var(--color-primary)}.article-toc>.primary{display:block;padding:12px 8px;font-size:12px;text-align:center;color:white;margin-top:20px}.article-body{min-width:0;font-size:16px;line-height:1.75}.article-body>p:first-child{font-size:18px;color:var(--color-ink)}.article-body h2{font-size:28px;line-height:1.3;margin:38px 0 18px;scroll-margin-top:25px;overflow-wrap:break-word}.article-body h3{font-size:21px;line-height:1.4;margin:26px 0 14px}.article-body p{margin:0 0 20px}.article-body li{margin:9px 0}.article-body strong{color:var(--color-ink)}.article-table{max-width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--color-border);margin:24px 0}.article-table table{min-width:580px;line-height:1.55}.article-table th,.article-table td{padding:12px 14px;white-space:normal}.article-table th{font-size:13px;color:var(--color-ink)}.article-figure{margin:30px 0}.article-figure img{width:100%;height:auto;display:block;border-radius:18px;max-height:420px;object-fit:cover}.article-figure figcaption{font-size:12px;line-height:1.6;color:var(--color-text-muted);padding:12px 6px}.article-figure figcaption a{display:block}.article-diagram img{object-fit:contain}.article-faq{padding:18px 20px;margin:12px 0;background:white;border:1px solid var(--color-border);border-radius:14px}.article-faq summary{font-size:16px;line-height:1.6;font-weight:700;color:var(--color-ink)}.article-faq p{margin:16px 0 0}.article-sources{margin-top:34px;padding:24px;border-radius:18px;background:var(--color-accent-sky)}.article-sources h2{margin:0 0 16px;font-size:24px}.article-sources p,.article-sources li{font-size:14px}.article-cta{background:var(--color-primary-soft);padding:26px;border-radius:18px;margin:28px 0}.article-cta h2{margin:0 0 16px;font-size:26px}.article-cta .primary{display:inline-flex;padding:14px 22px}.article-back{font-weight:600}.blog-related{margin-top:50px;border-top:1px solid var(--color-border);padding-top:30px}.blog-related>.blog-cards{max-width:960px}.blog-related h2{font-size:30px}.blog-page [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.blog-card,.blog-card img{transition:none}}
@media(max-width:1050px){.blog-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.blog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-hero{gap:25px}.blog-feature h2{font-size:21px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}.article-hero{gap:25px}.article-hero img{height:290px}}
@media(max-width:767px){.blog-main{padding:0 20px 44px}.blog-hero{grid-template-columns:1fr;gap:26px;padding:24px 0 32px}.blog-hero:before{inset:0 -20px}.blog-hero h1{font-size:34px;line-height:1.15}.blog-hero-copy>p{font-size:16px}.blog-feature-image img{height:220px}.blog-feature-copy{padding:20px}.blog-feature h2{font-size:22px}.blog-layout{display:flex;flex-direction:column;gap:24px}.blog-latest{width:100%}.blog-sidebar{width:100%;padding-top:0;order:-1;grid-template-columns:1fr}.blog-sidebar .blog-trip-panel,.blog-sidebar .blog-editor-note{display:none}.blog-panel{padding:16px}.blog-panel h2{font-size:18px}.blog-sidebar .blog-panel:nth-child(2){display:flex;gap:8px;flex-wrap:wrap}.blog-sidebar .blog-panel:nth-child(2) h2{width:100%;margin-bottom:2px}.blog-category{width:auto;border:1px solid var(--color-border);border-radius:20px;padding:8px 12px;font-size:12px;min-height:44px}.blog-category:last-child{border-bottom:1px solid var(--color-border)}.blog-category[aria-pressed=true]{border-radius:20px}.blog-list-heading h2{font-size:26px}.blog-cards{gap:14px}.blog-card-image img{height:145px}.blog-card h3{font-size:16px}.blog-card-content{padding:14px}.article-hero{grid-template-columns:1fr;padding:16px 0 28px;gap:24px}.article-hero h1{font-size:32px}.article-hero img{height:240px}.article-hero p{font-size:16px}.article-layout{display:flex;flex-direction:column;gap:22px}.article-toc{position:static;width:100%;max-height:none;padding:16px}.article-toc ol{columns:2;column-gap:22px}.article-toc li{break-inside:avoid}.article-toc>.primary{display:none}.article-body{width:100%}.article-body h2{font-size:26px}.article-body h3{font-size:20px}.article-body>p:first-child{font-size:17px}.article-sources{padding:20px}.article-cta{padding:20px}.blog-related>.blog-cards{grid-template-columns:1fr 1fr}.blog-related>.blog-cards>.blog-card:last-child{display:none}}
@media(max-width:480px){.blog-cards{grid-template-columns:1fr}.blog-card-image img{height:200px}.blog-card h3{font-size:18px}.blog-card-meta{font-size:12px}.blog-tag{font-size:11px}.article-toc ol{columns:1}.blog-related>.blog-cards{grid-template-columns:1fr}.blog-related>.blog-cards>.blog-card:last-child{display:block}.blog-feature-image img{height:200px}.article-figure figcaption{font-size:12px}.article-diagram{margin-left:-4px;margin-right:-4px}}
/* Existing catalogue section spacing must not add extra gaps inside blog layouts. */
.blog-main>section,.blog-layout>section,.blog-sidebar>section{margin:0}.blog-main>.blog-related{margin-top:50px}
.blog-hero:before{background:linear-gradient(90deg,#F6F9FC 0%,rgba(246,249,252,.94) 30%,rgba(246,249,252,.62) 66%,rgba(246,249,252,.25)),url('/assets/blog/cruise-port.webp') center 46%/cover no-repeat;border-radius:22px}
@media(max-width:767px){.blog-hero:before{background:linear-gradient(180deg,rgba(246,249,252,.88),#F6F9FC 72%),url('/assets/blog/cruise-port.webp') center top/auto 420px no-repeat}}
/* Article reading aids inspired by the supplied full-page prototype. */
.article-layout{grid-template-columns:minmax(0,760px) 270px;gap:36px;justify-content:space-between}.article-body{grid-column:1;grid-row:1}.article-sidebar{grid-column:2;grid-row:1;position:sticky;top:20px;display:grid;gap:18px;min-width:0;max-height:calc(100vh - 40px);overflow:auto}.article-sidebar>section{margin:0}.article-sidebar .article-toc{position:static;max-height:none;overflow:visible}.article-trip-panel{background:white;border:1px solid var(--color-border);border-radius:18px;padding:20px}.article-trip-panel h2{font-size:18px;margin:0 0 8px}.article-trip-panel p{font-size:12px;margin:0 0 15px;line-height:1.6}.article-trip-form label{display:block;font-size:11px;font-weight:600;color:var(--color-text-muted);margin-bottom:12px}.article-trip-form select{width:100%;font-size:16px;height:44px;border:1px solid var(--color-border);border-radius:9px;padding:6px 8px;background:white;color:var(--color-ink)}.article-trip-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.article-trip-form .primary{font-size:13px;min-height:48px;padding:12px;width:100%}.article-sidebar-tip{background:var(--color-ink);border-radius:16px;padding:20px;color:white}.article-sidebar-tip h2{font-size:18px;color:white;line-height:1.4;margin:0 0 10px}.article-sidebar-tip p{font-size:12px;line-height:1.6}.article-sidebar-tip a{display:block;background:var(--color-primary-soft);color:var(--color-primary);border-radius:8px;padding:12px;text-align:center;font-size:12px;font-weight:700}.article-reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:100;background:transparent;pointer-events:none}.article-reading-progress span{display:block;height:100%;width:0;background:var(--color-accent-mint);transition:width .08s linear}.article-checklist,.article-calculator{padding:24px;border-radius:18px;background:var(--color-primary-soft);margin:28px 0!important}.article-checklist h2,.article-calculator h2{font-size:24px;margin:16px 0 10px}.article-checklist>p,.article-calculator>p{font-size:14px}.article-checklist>label{display:flex;align-items:center;gap:12px;padding:13px;background:white;border:1px solid var(--color-border);border-radius:10px;margin:10px 0;font-size:14px}.article-checklist input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.article-checklist-status{margin:14px 0 0!important;font-weight:600;color:var(--color-primary)}.article-calc-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.article-calc-inputs label{font-size:12px;font-weight:600}.article-calc-inputs input,.article-calc-inputs select{width:100%;min-width:0;display:block;height:48px;border:1px solid var(--color-border);border-radius:10px;padding:8px;background:white;color:var(--color-ink);font-size:16px}.article-calc-result{padding:20px;background:var(--color-accent-sun);border-radius:14px}.article-calc-result>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.article-calc-result span{font-size:14px;color:var(--color-ink)}.article-calc-result output{font-size:28px;color:var(--color-ink);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.article-calc-result p{font-size:12px;margin:12px 0 0;line-height:1.7}.article-route{padding:22px;border-radius:16px;background:var(--color-primary-soft);margin:28px 0}.article-route>p{font-size:14px;margin:12px 0}.article-route>div{display:flex;flex-wrap:wrap;gap:10px}.article-route a{display:block;background:white;border:1px solid var(--color-border);border-radius:10px;padding:10px 15px;font-size:14px;font-weight:600}.article-key-advice{padding:24px;border-radius:18px;background:var(--color-ink);color:white;margin:32px 0}.article-key-advice h3{color:white;margin:16px 0 12px;font-size:25px}.article-key-advice p{font-size:15px;line-height:1.75;margin:0}.article-key-advice .blog-kicker{background:#DDF8F2;color:#007C74}@media(max-width:1050px){.article-layout{grid-template-columns:minmax(0,1fr) 240px;gap:24px}}@media(max-width:767px){.article-layout{display:flex;flex-direction:column}.article-sidebar{position:static;width:100%;max-height:none;overflow:visible;order:0}.article-body{order:1}.article-sidebar-tip{display:none}.article-sidebar .article-toc ol{columns:1}.article-sidebar .article-trip-panel{padding:18px}.article-trip-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.article-trip-form>label{grid-column:1/-1}.article-trip-fields{grid-column:1/-1}.article-trip-form button{grid-column:1/-1}.article-trip-form label{margin:0}.article-trip-form select{height:48px}.article-calc-inputs{gap:8px}.article-checklist,.article-calculator{padding:18px}.article-calc-result{padding:16px}.article-calc-result>div{flex-wrap:wrap}.article-calc-result output{font-size:26px}.article-key-advice{padding:22px}.article-key-advice h3{font-size:22px}}

.blog-category[aria-current="page"]{background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);font-weight:700}.blog-section-intro{margin-top:36px}.article-hero a.blog-kicker:hover,.article-hero a.blog-kicker:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* Category identity colors from TopTravelESIM. Keep text contrast accessible. */
.blog-tag[data-blog-section="Tips & Guides"],.blog-kicker[data-blog-section="Tips & Guides"],.blog-category[data-category="Tips & Guides"]{background:#EEF9F6;color:#326C65;border-radius:8px}
.blog-tag[data-blog-section="Comparisons"],.blog-kicker[data-blog-section="Comparisons"],.blog-category[data-category="Comparisons"]{background:#F0F6FB;color:#426782;border-radius:8px}
.blog-tag[data-blog-section="Travel Tips"],.blog-kicker[data-blog-section="Travel Tips"],.blog-category[data-category="Travel Tips"]{background:#FCF6E4;color:#765D2E;border-radius:8px}
.blog-tag[data-blog-section="Device & Setup"],.blog-kicker[data-blog-section="Device & Setup"],.blog-category[data-category="Device & Setup"]{background:#EAF4F3;color:#326460;border-radius:8px}
.blog-tag[data-blog-section="Destinations"],.blog-kicker[data-blog-section="Destinations"],.blog-category[data-category="Destinations"]{background:#E9F8F4;color:#346960;border-radius:8px}
.blog-tag[data-blog-section="Provider Reviews"],.blog-kicker[data-blog-section="Provider Reviews"],.blog-category[data-category="Provider Reviews"]{background:#EFF2F5;color:#425D6E;border-radius:8px}
.blog-category{margin:6px 0;padding:12px;transition:box-shadow .15s}.blog-category[aria-current="page"],.blog-category[aria-pressed="true"]{outline:1px solid #BCCFD2;outline-offset:2px;font-weight:700}.blog-category:hover{box-shadow:inset 0 0 0 1px #BCCFD2}.blog-category:focus-visible,.blog-tag:focus-visible,.blog-kicker:focus-visible{outline:3px solid #17649D;outline-offset:3px}.blog-tag[data-blog-section],.blog-kicker[data-blog-section]{font-weight:700}
