/**
 * Services / connectivity page (page-templates/page-connectivity.php).
 * Migrated 2026-07-11 from the template's inline <style> block so the page CSS
 * is cacheable and versioned like every other per-page sheet. Loads after
 * style.css + home-sections.css (enqueue deps), same cascade position the
 * inline block effectively had for these selectors.
 */

/* Featured eSIM partner */
.va-conn-esim-featured { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; background: var(--paper-warm); padding: 24px 26px; margin: 32px 0 0; border: 1px solid var(--line-soft); }
.va-conn-esim-featured-logo { background: #fff; padding: 18px; display: flex; align-items: center; justify-content: center; aspect-ratio: 16/9; }
.va-conn-esim-featured-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.va-conn-esim-featured-name { font-size: 24px; letter-spacing: -0.01em; margin: 6px 0 8px; }
.va-conn-esim-featured-body p { font-size: 14.5px; line-height: 1.6; color: var(--ink); margin: 0; }
@media (max-width: 768px) {
	.va-conn-esim-featured { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
	.va-conn-esim-featured-logo { aspect-ratio: 4/2.5; }
}

/* Emergency — Visit Albania line */
.va-conn-emergency-va { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; background: var(--paper-warm); border: 1px solid var(--line-soft); border-left: 3px solid var(--terracotta); padding: 20px 24px; }
.va-conn-emergency-va-body { max-width: 560px; }
.va-conn-emergency-va-call { white-space: nowrap; }

/* eSIM activation steps */
.va-conn-activate { margin-top: 40px; background: var(--paper-warm); border: 1px solid var(--line-soft); padding: 24px 26px; }
.va-conn-steps { margin: 0; padding-left: 1.2em; display: grid; gap: 10px; max-width: 760px; }
.va-conn-steps li { font-size: 14.5px; line-height: 1.6; color: var(--ink); }
.va-conn-activate-note { margin: 16px 0 0; font-size: 13.5px; color: var(--muted); font-style: italic; }

/* Prepaid-SIM cards: was inline repeat(3,1fr) with no breakpoint — at 375px the 1fr
   tracks clamp to min-content and overflow the panel column. Stack on phones. */
.va-conn-sim-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) { .va-conn-sim-grid { grid-template-columns: 1fr; } }

/* eSIM comparison table — structural base (wrap/min-width/swipe hint) comes from
   .va-compare-wrap / .va-compare-table in style.css; only the page skin lives here. */
.va-conn-compare th, .va-conn-compare td { text-align: left; padding: 12px 16px; border: 1px solid var(--line); vertical-align: top; }
.va-conn-compare thead th { background: var(--ink); color: #fff; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; }
.va-conn-compare tbody td:first-child { font-weight: 600; }
.va-conn-compare tr.is-best td { background: rgba(199,90,60,0.06); }
.va-conn-compare tr.is-warn td { color: var(--muted); }

/* Rent-a-car partner cards */
.va-conn-rc-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 16px; }
.va-conn-rc-card { display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); padding: 18px 20px; color: inherit; text-decoration: none; transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease; }
.va-conn-rc-card:hover { border-color: var(--terracotta); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(8,35,56,0.06); }
.va-conn-rc-logo { width: 88px; height: 58px; flex: none; background: #fff; border: 1px solid var(--line-soft); display: flex; align-items: center; justify-content: center; padding: 8px; }
.va-conn-rc-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.va-conn-rc-name { font-size: 17px; margin: 0 0 4px; }
.va-conn-rc-meta { font-size: 12.5px; line-height: 1.5; color: var(--muted); }

/* Sticky connectivity tab bar (moved out of hero so it sticks through the page) */
.va-connectivity-tabs-bar { position: sticky; top: 0; z-index: 70; background: var(--ionian-deep, #082338); padding: 8px 48px; }
/* The lede is now the hero's last child; its bottom margin collapsed out as a
   cream stripe above the bar. Zero it so hero + bar read as one navy block. */
.va-connectivity-hero .va-connectivity-lede { margin-bottom: 0; }
/* overflow-x:auto alone makes overflow-y compute to auto → a stray vertical
   scrollbar from the 1px-tall active underline. Pin to horizontal, hide bar. */
.va-connectivity-tabs-bar .va-connectivity-tabs { margin-top: 0; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; padding-bottom: 1px; scrollbar-width: none; -ms-overflow-style: none; border-bottom: none; }
.va-connectivity-tabs-bar .va-connectivity-tabs::-webkit-scrollbar { display: none; }
/* Keep each tab label on one line so the bar scrolls horizontally instead of
   wrapping/clipping on narrow phones (e.g. "E-SIM & Data" → "E-SIM & DAT"). */
.va-connectivity-tabs-bar .va-connectivity-tab { white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 900px) { .va-connectivity-tabs-bar { padding: 8px 24px; } }

/* Ferry operators */
.va-conn-ferry-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 16px; }
.va-conn-ferry-card { border: 1px solid var(--line); padding: 22px 24px; }
.va-conn-ferry-route { font-size: 18px; margin: 0 0 6px; }
.va-conn-ferry-note { font-size: 13.5px; line-height: 1.55; color: var(--muted); margin: 0 0 16px; }
.va-conn-ferry-ops { display: flex; flex-wrap: wrap; gap: 8px; }
.va-conn-ferry-op { padding: 8px 14px; font-size: 12px; }
