/* ─────────────────────────────────────────────────────────────────────────
   Skala typograficzna — 3 poziomy:
     T1  1rem   / 700  — nagłówki sekcji (h2.section-title)
     T2  .875rem/ 400–600 — treść, wartości, body copy
     T3  .75rem / 600–700 — etykiety, meta, taby, badge
     T4  .65rem / 700  — mikro-etykiety (data-item .label, visa-detail .label)

   Paleta — 3 kolory funkcjonalne:
     Dominujący:  #111 (tekst główny), #6b7280 (wtórny), #e5e7eb (obramowania)
     Akcent:      #ed1c24 (TropicalMed — CTA, alerty, sekcja-border)
     Pozytywny:   #166534 (wyłącznie status bezwizowy)
     Ostrzeżenie: #991b1b (wyłącznie wymagane szczepienia)
   ───────────────────────────────────────────────────────────────────────── */
html { scroll-padding-top: calc(var(--tm2-navbar-h, 56px) + 52px); }

/* ── Progress bar ─────────────────────────────────────────────────────────── */
#progress-bar-box { position: fixed; top: var(--tm2-navbar-h, 56px); left: 0; right: 0; z-index: 9999; height: 2px; pointer-events: none; }
#progress-bar     { height: 2px; width: var(--scrollAmount, 0%); background: #ed1c24; }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.emb-hero { background: #0f2744; color: #fff; padding: 1.75rem 0 1.5rem; }
.emb-hero h1 { font-size: clamp(1.2rem,3vw,1.75rem); font-weight: 800; line-height: 1.22; margin-bottom: 0; letter-spacing: -.02em; }
.emb-hero-lead { font-size: .875rem; opacity: .65; margin: .45rem 0 0; font-weight: 400; letter-spacing: 0; }
.emb-hero .article-meta { font-size: .75rem; opacity: .45; margin-top: .6rem; }

/* ── Breadcrumb w hero ────────────────────────────────────────────────────── */
.emb-hero .breadcrumb { font-size: .75rem; opacity: .6; --bs-breadcrumb-divider-color: rgba(255,255,255,.4); }
.emb-hero .breadcrumb-item a { color: rgba(255,255,255,.75); text-decoration: none; }
.emb-hero .breadcrumb-item.active { color: #fff; }

/* ── Status strip — inside dark hero ──────────────────────────────────────── */
.emb-status-strip { margin-top: 1.1rem; padding-top: .875rem; border-top: 1px solid rgba(255,255,255,.12); }
.esb-items { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.esb-item  { font-size: .75rem; font-weight: 600; padding: .18rem .6rem; border-radius: 4px; white-space: nowrap; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }
.esb-yf    { border-color: rgba(252,165,165,.55); color: #fca5a5; background: rgba(220,38,38,.2); }
.esb-vacc  { border-color: rgba(252,165,165,.4); color: rgba(255,200,200,.85); background: rgba(220,38,38,.15); }
.esb-free  { border-color: rgba(134,239,172,.45); color: #86efac; background: rgba(134,239,172,.12); }
.esb-ok    { border-color: rgba(134,239,172,.45); color: #86efac; background: rgba(134,239,172,.12); }

/* ── Anchor nav ───────────────────────────────────────────────────────────── */
.emb-anchor-nav { background: #fff; border-bottom: 2px solid #e5e7eb; position: sticky; top: var(--tm2-navbar-h, 56px); z-index: 19; }
.emb-anchor-nav .container { display: flex; overflow-x: auto; scrollbar-width: none; }
.emb-anchor-nav .container::-webkit-scrollbar { display: none; }
.anchor-tab {
    white-space: nowrap; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px;
    background: none; padding: .65rem 1rem; font-size: .875rem; font-weight: 600;
    color: #6b7280; text-decoration: none; transition: color .15s, border-color .15s; display: inline-block;
}
.anchor-tab:hover  { color: #ed1c24; text-decoration: none; }
.anchor-tab.active { color: #ed1c24; border-bottom-color: #ed1c24; }

/* ── Sekcje ───────────────────────────────────────────────────────────────── */
.emb-info-section { padding: 1.75rem 0; }
.emb-info-section + .emb-info-section { border-top: 1px solid #f0f0f0; }
.emb-section-title {
    font-size: 1rem; font-weight: 800; color: #111; margin-bottom: .25rem;
    letter-spacing: -.01em; line-height: 1.3;
}
.emb-section-lead { font-size: .8rem; color: #6b7280; margin: 0 0 1.1rem 0; line-height: 1.5; }

/* ── Intro paragraph ─────────────────────────────────────────────────────── */
.emb-intro-text { font-size: .875rem; color: #374151; line-height: 1.75; }

/* ── Data grid ────────────────────────────────────────────────────────────── */
/* border-right + border-bottom per item, clipped by overflow:hidden na gridzie */
.data-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 0;
}
.data-item {
    background: #fff; padding: .95rem 1.1rem .95rem 0;
}
.data-item .label { font-size: .6rem; text-transform: uppercase; letter-spacing: .07em; color: #9ca3af; font-weight: 700; margin-bottom: .35rem; display: flex; align-items: center; gap: .25rem; }
.mi { font-family: 'Material Symbols Outlined'; font-weight: 400; font-size: .85rem; line-height: 1; text-transform: none; letter-spacing: 0; opacity: .7; flex-shrink: 0; }
.data-item .label .mi { }
.data-item .value { font-size: .8rem; font-weight: 600; color: #111; word-break: break-word; line-height: 1.4; }
.data-item .value a { color: #374151; text-decoration: none; }
.data-item .value a:hover { text-decoration: underline; color: #111; }
.data-item .value.good    { color: #166534; }
.data-item .value.unknown { color: #9ca3af; font-weight: 400; }

/* ── Office card ──────────────────────────────────────────────────────────── */
.office-card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 1.25rem; margin-bottom: 1rem; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.office-type          { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .1rem .45rem; border-radius: 4px; margin-bottom: .45rem; background: #f0f4ff; color: #1e3a8a; border: 1px solid #bfdbfe; }
.office-type-cg       { background: #f0f9ff; color: #075985; border-color: #bae6fd; }
.office-type-other    { background: #f9fafb; color: #374151; border-color: #e5e7eb; }
.office-name   { font-size: .875rem; font-weight: 700; color: #111; margin-bottom: .75rem; }
.hours-row { display: flex; gap: .2rem; flex-wrap: wrap; margin-top: .5rem; }
.hours-chip { font-size: .75rem; border: 1px solid #e5e7eb; border-radius: 4px; padding: .08rem .35rem; line-height: 1.6; background: #f9fafb; }
.hours-chip .dn { font-weight: 700; color: #374151; }
.hours-chip .dh { color: #111; }
.hours-chip.closed { opacity: .22; }
.map-embed { margin-top: .875rem; border-radius: 8px; overflow: hidden; border: 1px solid #e5e7eb; }
.map-embed iframe { display: block; width: 100%; height: 200px; border: 0; }

/* ── Inline CTA strip (po sekcji placówek) ────────────────────────────────── */
.emb-cta-strip {
    padding: .875rem 1.125rem; background: #fff; border: 1px solid #e5e7eb;
    border-radius: 8px; display: flex; gap: .75rem; align-items: center;
    flex-wrap: wrap; margin-bottom: .25rem;
}
.emb-cta-strip-body         { flex: 1; min-width: 200px; }
.emb-cta-strip-title        { font-size: .875rem; font-weight: 700; color: #111; }
.emb-cta-strip-title.is-yf  { color: #991b1b; }
.emb-cta-strip-title.is-vacc{ color: #92400e; }
.emb-cta-strip-desc         { font-size: .75rem; color: #6b7280; margin-top: .15rem; }

/* ── Tabela porównawcza wiz ───────────────────────────────────────────────── */
.visa-compare-wrap { overflow-x: auto; margin-bottom: 1.5rem; border: 1px solid #e5e7eb; border-radius: 8px; }
.visa-compare-table { width: 100%; border-collapse: collapse; }
.visa-compare-table thead tr { background: #1f2937; }
.visa-compare-table th { padding: .55rem .875rem; text-align: left; font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.6); white-space: nowrap; }
.visa-compare-table td { padding: .55rem .875rem; border-bottom: 1px solid #f0f0f0; vertical-align: middle; color: #111; font-size: .875rem; }
.visa-compare-table tbody tr:last-child td { border-bottom: none; }
.visa-compare-table tbody tr:hover td { background: #f9fafb; }

/* ── Visa card ────────────────────────────────────────────────────────────── */
.visa-card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 1rem 1.125rem; margin-bottom: .6rem; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.visa-cat  { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .1rem .45rem; border-radius: 4px; background: #f9fafb; color: #374151; border: 1px solid #e5e7eb; }
.visa-badges { display: flex; flex-wrap: wrap; gap: .25rem; margin: .4rem 0 .55rem; }
.vbadge  { display: inline-flex; align-items: center; font-size: .75rem; font-weight: 600; padding: .1rem .45rem; border-radius: 4px; border: 1px solid #e5e7eb; background: #f9fafb; color: #374151; }
.vb-free { border-color: #bbf7d0; color: #166534; background: #f0fdf4; }
.vb-yf   { border-color: #fca5a5; color: #991b1b; background: #fff; font-weight: 700; }
.vb-vacc { border-color: #fca5a5; color: #991b1b; background: #fff; }
.visa-details { display: grid; grid-template-columns: repeat(auto-fill, minmax(115px, 1fr)); gap: .35rem; margin-top: .6rem; }
.visa-detail .label { font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; color: #9ca3af; font-weight: 700; }
.visa-detail .value { font-size: .875rem; font-weight: 700; color: #111; }
.visa-reqs { margin-top: .6rem; font-size: .875rem; color: #374151; line-height: 1.7; }
.visa-reqs .rl { font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; color: #9ca3af; font-weight: 700; display: block; margin-bottom: .18rem; }
/* Notatki wewnątrz kart wizowych */
.visa-yf-note { margin-top: .5rem; font-size: .75rem; color: #991b1b; border-left: 2px solid #fca5a5; padding: .3rem .6rem; }
.visa-note    { margin-top: .5rem; font-size: .875rem; color: #6b7280; }
.visa-action  { margin-top: .65rem; }

/* ── Vaccination box ──────────────────────────────────────────────────────── */
.vacc-box       { border-radius: 8px; padding: 1rem 1.125rem; margin-bottom: .85rem; background: #fff; border: 1px solid #e5e7eb; border-left: 3px solid #ed1c24; }
.vacc-box-title { font-weight: 700; font-size: .875rem; margin-bottom: .3rem; color: #111; }
.vacc-box p     { font-size: .875rem; margin-bottom: .75rem; }
.vacc-box.warn p { font-size: .875rem; color: #374151; margin: 0; }
/* YF button wewnątrz vacc-box */
.btn-yf { background: #991b1b !important; color: #fff !important; font-size: .75rem !important; font-weight: 700 !important; }

/* ── Inne zalecane szczepienia ────────────────────────────────────────────── */
.emb-other-vaccs   { margin-top: .75rem; font-size: .875rem; color: #374151; }
.emb-other-vaccs p { margin: .4rem 0 0; }

/* ── Health CTA box (wewnątrz #szczepienia) ──────────────────────────────── */
.emb-health-cta-box {
    margin-top: 1.1rem; padding: 1rem 1.125rem; background: #f9fafb;
    border-radius: 8px; border: 1px solid #e5e7eb;
    display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
}
.emb-health-cta-body    { flex: 1; min-width: 180px; }
.emb-health-cta-title   { font-size: .875rem; font-weight: 700; color: #111; margin-bottom: .2rem; }
.emb-health-cta-sub     { font-size: .75rem; color: #6b7280; }
.emb-health-cta-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

/* ── "Przydatne informacje" links ────────────────────────────────────────── */
.emb-section-links   { margin-top: .75rem; font-size: .75rem; color: #6b7280; line-height: 1.7; }
.emb-section-links a { color: #374151; font-weight: 600; }

/* ── FAQ ──────────────────────────────────────────────────────────────────── */
.faq-item { border-bottom: 1px solid #f0f0f0; padding: .875rem 0; }
.faq-item:last-child { border-bottom: none; }
.faq-q { font-weight: 700; font-size: .875rem; color: #111; cursor: pointer; display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.faq-q:hover { color: #ed1c24; }
.faq-q .faq-icon { flex-shrink: 0; font-size: 1rem; color: #ed1c24; transition: transform .2s; line-height: 1.5; }
.faq-a { color: #374151; font-size: .875rem; line-height: 1.75; overflow: hidden; max-height: 0; transition: max-height .28s ease, padding-top .28s ease; }
.faq-a.open { max-height: 800px; padding-top: .45rem; }

/* ── Lead / blog body ─────────────────────────────────────────────────────── */
.emb-blog-text-section .emb-lead { font-size: .875rem; line-height: 1.8; color: #374151; }

/* ── Alert box (krytyczne info w treści artykułu, np. zakaz Izrael) ──────── */
.emb-alert-box {
    margin: 1rem 0; padding: 1rem 1.125rem; border-radius: 8px;
    background: #fef2f2; border: 1px solid #fca5a5; border-left: 3px solid #991b1b;
    font-size: .875rem; color: #7f1d1d; line-height: 1.65;
}

/* ── Sidebar ──────────────────────────────────────────────────────────────── */
.emb-sidebar-sticky { }
.emb-cta-card       { border-top: 3px solid #ed1c24 !important; }
.emb-cta-footer     { font-size: .7rem; color: #9ca3af; margin-top: .5rem; letter-spacing: .01em; }
.emb-sidebar-h6     { font-size: .875rem; }
.emb-country-chip   {
    display: inline-block; font-size: .75rem; padding: .2rem .5rem; border-radius: 4px;
    border: 1px solid #e5e7eb; color: #374151; text-decoration: none;
    background: #f9fafb; white-space: nowrap;
}
.emb-country-chip:hover { border-color: #d1d5db; color: #111; }
.emb-more-link      { display: block; margin-top: .6rem; font-size: .75rem; color: #ed1c24; font-weight: 600; text-decoration: none; }
.emb-more-link:hover { text-decoration: underline; }

.info-row { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding: .3rem 0; border-bottom: 1px solid #f0f0f0; }
.info-row:last-child { border-bottom: none; }
.info-row .ir-label { color: #9ca3af; flex-shrink: 0; font-size: .75rem; font-weight: 600; }
.info-row .ir-value { font-weight: 600; color: #111; text-align: right; font-size: .875rem; }
.health-badge         { display: flex; align-items: center; padding: .25rem .55rem; border-radius: 4px; font-size: .75rem; font-weight: 600; margin-bottom: .25rem; border: 1px solid; }
.health-badge-good    { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.health-badge-warn    { background: #fff; color: #991b1b; border-color: #fca5a5; }
.health-badge-danger  { background: #fff; color: #991b1b; border-color: #fca5a5; }
.health-badge-neutral { background: #f9fafb; color: #374151; border-color: #e5e7eb; }

/* ── Sticky mobile CTA ─────────────────────────────────────────────────── */
.emb-sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; padding: .65rem 1rem; background: #fff; border-top: 1px solid #e5e7eb; box-shadow: 0 -2px 12px rgba(0,0,0,.08); z-index: 900; display: none; }

/* ── Health-recommended tag in hero ──────────────────────────────────── */
.esb-health-rec { border-color: rgba(147,197,253,.45); color: #93c5fd; background: rgba(59,130,246,.12); }

/* ── Micro-copy under CTAs ───────────────────────────────────────────── */
.emb-cta-microcopy { width: 100%; font-size: .65rem; color: #9ca3af; text-align: center; margin-top: .35rem; letter-spacing: .01em; }
.emb-cta-strip .emb-cta-microcopy { text-align: right; }
.emb-sticky-cta .emb-cta-microcopy { margin-top: .2rem; }

/* ── Health bridge callout (wiza → zdrowie) ──────────────────────────── */
.emb-health-bridge {
    display: flex; gap: .75rem; padding: 1rem 1.125rem; margin: .5rem 0 0;
    background: #fffbeb; border: 1px solid #fde68a; border-left: 3px solid #f59e0b; border-radius: 8px;
}
.emb-health-bridge-icon  { font-size: 1.25rem; flex-shrink: 0; line-height: 1.4; }
.emb-health-bridge-title { font-size: .875rem; font-weight: 700; color: #92400e; margin-bottom: .25rem; }
.emb-health-bridge-text  { font-size: .8rem; color: #78350f; line-height: 1.65; margin: 0 0 .4rem; }
.emb-health-bridge-link  { font-size: .75rem; font-weight: 700; color: #ed1c24; text-decoration: none; }
.emb-health-bridge-link:hover { text-decoration: underline; }

/* ── Inline CTA block (full-width, between visa & health) ────────────── */
.emb-inline-cta-block {
    padding: 1.25rem; margin: .5rem 0; background: linear-gradient(135deg, #fef2f2 0%, #fff7ed 100%);
    border: 1px solid #e5e7eb; border-radius: 8px; text-align: center;
}
.emb-inline-cta-inner { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.emb-inline-cta-body  { flex: 1; min-width: 200px; text-align: left; }
.emb-inline-cta-title  { font-size: .875rem; font-weight: 700; color: #111; }
.emb-inline-cta-desc   { font-size: .75rem; color: #6b7280; margin-top: .15rem; }

/* ── Generic health content (no mandatory vaccines) ──────────────────── */
.emb-generic-health      { margin-bottom: .85rem; }
.emb-generic-health-text { font-size: .875rem; color: #374151; line-height: 1.75; margin-bottom: .6rem; }
.emb-time-argument {
    font-size: .8rem; color: #374151; padding: .6rem .875rem;
    background: #f9fafb; border-radius: 6px; border: 1px solid #e5e7eb; line-height: 1.6;
}

/* ── Disease risk table ──────────────────────────────────────────────── */
.emb-disease-table-wrap { overflow-x: auto; margin-bottom: 1rem; border: 1px solid #e5e7eb; border-radius: 8px; }
.emb-disease-table { width: 100%; border-collapse: collapse; }
.emb-disease-table thead tr { background: #1f2937; }
.emb-disease-table th {
    padding: .55rem .75rem; text-align: left; font-size: .65rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.6); white-space: nowrap;
}
.emb-disease-table td {
    padding: .55rem .75rem; border-bottom: 1px solid #f0f0f0;
    vertical-align: top; color: #374151; font-size: .8rem; line-height: 1.5;
}
.emb-disease-table td:first-child { font-weight: 700; color: #111; white-space: nowrap; }
.emb-disease-table tbody tr:last-child td { border-bottom: none; }
.emb-disease-table tbody tr:hover td { background: #f9fafb; }
.emb-disease-table td.risk { color: #991b1b; }
.emb-disease-table td.protection { color: #166534; }

/* ── Loss aversion callout ───────────────────────────────────────────── */
.emb-loss-callout {
    padding: 1rem 1.125rem; margin: 1rem 0; border-radius: 8px;
    background: #fff7ed; border: 1px solid #fed7aa; border-left: 3px solid #ea580c;
}
.emb-loss-callout-title { font-size: .875rem; font-weight: 700; color: #9a3412; margin-bottom: .35rem; }
.emb-loss-callout p { font-size: .8rem; color: #7c2d12; line-height: 1.65; margin: 0 0 .3rem; }
.emb-loss-callout p:last-child { margin-bottom: 0; }
.emb-loss-callout strong { color: #9a3412; }

/* ── Pre-departure checklist ─────────────────────────────────────────── */
.emb-checklist-group { margin-bottom: 1.1rem; }
.emb-checklist-group-title {
    font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    color: #6b7280; margin-bottom: .45rem; display: flex; align-items: center; gap: .3rem;
}
.emb-checklist-group-title .mi { font-size: 1rem; opacity: .5; }
.emb-checklist-items { display: flex; flex-direction: column; gap: .35rem; }
.emb-checklist-item {
    display: flex; align-items: flex-start; gap: .5rem; font-size: .8rem; color: #374151;
    padding: .4rem .6rem; border: 1px solid #e5e7eb; border-radius: 6px;
    background: #fff; cursor: pointer; transition: background .15s; line-height: 1.5;
}
.emb-checklist-item:hover { background: #f9fafb; }
.emb-checklist-item input[type="checkbox"] { margin-top: .15rem; accent-color: #ed1c24; flex-shrink: 0; }
.emb-checklist-cta-item   { border-color: #fca5a5; background: #fff5f5; }
.emb-checklist-cta-item a { color: #ed1c24; font-weight: 600; }

/* ── Authority micro-line ────────────────────────────────────────────── */
.emb-cta-authority { font-size: .6rem; color: #9ca3af; text-align: center; margin-top: .25rem; letter-spacing: .02em; }

/* ── Main container (replaces inline style) ──────────────────────────── */
.emb-main-container { padding: 2rem 0 4rem; }

/* ── Similar articles spacing (replaces inline margin-top:1000px) ────── */
.emb-similar-articles { margin-top: 1000px; }

/* ── Checklist print ─────────────────────────────────────────────────── */
@media print {
    body * { visibility: hidden !important; }
    #checklista, #checklista * { visibility: visible !important; }
    #checklista { position: absolute; left: 0; top: 0; width: 100%; padding: 1.5rem; }
    .emb-anchor-nav, .emb-sticky-cta, .emb-hero, #progress-bar-box, #emb-checklist-pdf, #emb-checklist-print { display: none !important; }
    .emb-checklist-item { border: 1px solid #ccc; break-inside: avoid; }
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — tablet & mobile
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Tablet / below lg (991px) ───────────────────────────────────────── */
@media (max-width: 991px) {
    .emb-sticky-cta { display: block; }
    body { padding-bottom: 62px; }
    .emb-similar-articles { margin-top: 2rem; }
}

/* ── Mobile (576px) ──────────────────────────────────────────────────── */
@media (max-width: 576px) {
    /* scroll-padding */
    /* scroll-padding-top handled by calc() in root rule */

    /* hero */
    .emb-hero { padding: 1.25rem 0 1rem; }

    /* anchor nav */
    .anchor-tab { padding: .5rem .65rem; font-size: .75rem; }

    /* main container */
    .emb-main-container { padding: 1rem 0 2rem; }

    /* sections */
    .emb-info-section { padding: 1.25rem 0; }

    /* data grid */
    .data-grid { grid-template-columns: 1fr 1fr; gap: 1px; }
    .data-item { padding: .7rem .6rem .7rem 0; }

    /* office card */
    .office-card { padding: .875rem; margin-bottom: .75rem; }
    .map-embed iframe { height: 160px; }

    /* visa */
    .visa-card { padding: .75rem; }
    .visa-details { grid-template-columns: 1fr 1fr; }
    .visa-compare-table th:nth-child(n+4),
    .visa-compare-table td:nth-child(n+4) { font-size: .75rem; padding: .4rem .5rem; }

    /* CTA strips */
    .emb-cta-strip { flex-direction: column; align-items: stretch; padding: .75rem; }
    .emb-cta-strip-body { min-width: 0; }
    .emb-info-section .btn-tropicalmed-cta { font-size: .75rem; padding: .35rem .75rem; }

    /* health CTA box */
    .emb-health-cta-box { flex-direction: column; align-items: stretch; }
    .emb-health-cta-body { min-width: 0; }

    /* inline CTA */
    .emb-inline-cta-block { padding: .875rem; }
    .emb-inline-cta-inner { flex-direction: column; align-items: stretch; }
    .emb-inline-cta-body { min-width: 0; text-align: center; }

    /* health bridge */
    .emb-health-bridge { flex-direction: column; gap: .35rem; padding: .75rem; }

    /* callouts */
    .emb-loss-callout { padding: .75rem; }
    .emb-alert-box { padding: .75rem; }
    .emb-time-argument { padding: .5rem .65rem; }

    /* vaccination box */
    .vacc-box { padding: .75rem .875rem; }

    /* checklist */
    .emb-checklist-item { padding: .35rem .45rem; font-size: .75rem; gap: .4rem; }
    #emb-checklist-pdf, #emb-checklist-print { flex: 1; }

    /* disease table */
    .emb-disease-table th { padding: .4rem .5rem; }
    .emb-disease-table td { padding: .4rem .5rem; font-size: .75rem; }

    /* FAQ */
    .faq-item { padding: .65rem 0; }
}

/* ── Extra-small phones (400px) ──────────────────────────────────────── */
@media (max-width: 400px) {
    .data-grid { grid-template-columns: 1fr; }
}
