/* Shared public surfaces. Compact view retains the same deal DOM and actions. */
:root { --public-surface:#fff; --public-soft:#f3f6fc; --public-text:#142440; --public-muted:#536581; --public-line:#dce4f1; --public-accent:#2457db; }
[data-theme=dark] { --public-surface:#182338; --public-soft:#111c2e; --public-text:#edf3ff; --public-muted:#b3c2db; --public-line:#35445f; --public-accent:#9cbbff; }
html { scroll-padding-top:100px; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible { outline:3px solid var(--public-accent); outline-offset:3px; }
.btn.btn-primary { color:#fff; }
.home-welcome.hero h1 .highlight { color:var(--public-accent); background:none; -webkit-text-fill-color:currentColor; }
.home-welcome.hero { display:block; padding:48px 0 36px; min-height:0; background:var(--public-soft); margin-top:var(--header-height,80px); }
.home-welcome .container { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr); align-items:center; gap:40px; }
.home-welcome .hero-content { max-width:720px; text-align:left; margin:0; }
.home-welcome h1 { font-size:clamp(2rem,4.4vw,3.5rem); line-height:1.1; margin:14px 0; color:var(--public-text); }
.home-welcome p { font-size:17px; max-width:590px; color:var(--public-muted); margin:0 0 20px; }
.home-welcome small { display:block; margin-top:16px; color:var(--public-muted); line-height:1.5; font-size:12px; }
.welcome-eyebrow { font-size:13px; font-weight:650; color:var(--public-accent); }
.welcome-art { min-height:210px; border-radius:28px; background:linear-gradient(135deg,#2254da,#4338ca); color:white; padding:32px; display:flex; align-items:center; justify-content:space-between; gap:20px; transform:rotate(-3deg); }
.welcome-art span { font-size:23px; font-weight:700; line-height:1.4; }
.welcome-art i { font-size:48px; color:#b8d5ff; }
.deal-view-switch { display:inline-flex; padding:4px; gap:4px; border:1px solid var(--public-line); background:var(--public-surface); border-radius:12px; flex-shrink:0; }
.deal-view-switch button { padding:8px 14px; min-height:44px; background:transparent; border:0; border-radius:8px; font:inherit; font-size:14px; color:var(--public-muted); cursor:pointer; }
.deal-view-switch button[aria-pressed=true] { color:white; background:#2457db; }
.deal-table-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 230px; padding:0 16px 10px; color:var(--public-muted); font-size:12px; font-weight:600; }
.deal-table-heading[hidden] { display:none; }
.deals-section .section-header { flex-wrap:wrap; gap:16px; }
.deals-grid.deals-compact { display:flex; flex-direction:column; gap:10px; }
.deals-compact .deal-card { display:grid; grid-template-columns:minmax(0,1fr) 230px; border:1px solid var(--public-line); box-shadow:none; border-radius:14px; background:var(--public-surface); overflow:hidden; transform:none; }
.deals-compact .deal-card-link { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); color:var(--public-text); }
.deals-compact .deal-card-top { padding:14px 16px; min-height:0; background:transparent; display:flex; flex-direction:column; gap:8px; color:var(--public-text); }
.deals-compact .deal-price-box { position:static; background:transparent; padding:0; border:0; border-radius:0; align-self:flex-start; order:3; }
.deals-compact .deal-price { font-size:21px; color:var(--public-accent); text-shadow:none; }
.deals-compact .deal-price-label { display:none; }
.deals-compact .deal-price::after { content:'’den'; font-size:12px; font-weight:500; color:var(--public-muted); margin-left:4px; }
.deals-compact .deal-route { margin:0; padding:0; font-size:17px; line-height:1.25; gap:8px; flex-wrap:wrap; color:var(--public-text); }
.deals-compact .deal-route .city-from, .deals-compact .deal-route .city-to { color:var(--public-text); text-shadow:none; }
.deals-compact .deal-country { color:var(--public-muted); font-size:12px; line-height:1.2; }
.deals-compact .deal-type-badge { color:var(--public-muted); background:transparent; padding:0; align-self:flex-start; margin:0; border:0; font-size:11px; }
.deals-compact .deal-badges-row { flex-wrap:wrap; margin:0; padding-right:0; }
.deals-compact .deal-badge { color:var(--public-accent); background:var(--public-soft); border:0; font-size:10px; padding:3px 6px; }
.deals-compact .deal-direct-badge { color:#166534; background:#dcfce7; font-size:10px; padding:3px 6px; }
.deals-compact .deal-card-bottom { padding:14px 12px; border-radius:0; background:transparent; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.deals-compact .deal-months-section { margin:0; padding:0; }
.deals-compact .deal-months-label { display:none; }
.deals-compact .deal-months { gap:4px; flex-wrap:wrap; }
.deals-compact .deal-month { padding:3px 6px; font-size:11px; color:var(--public-accent); background:var(--public-soft); }
.deals-compact .deal-airline-section { padding:0; background:transparent; margin:0; gap:6px; flex-wrap:wrap; }
.deals-compact .deal-airline-meta { font-size:10px; color:var(--public-muted); }
.deals-compact .deal-airline-meta > span:first-child, .deals-compact .deal-airline-meta > span:nth-child(2) { display:none; }
.deals-compact .deal-airline-name { color:var(--public-text); font-size:13px; }
.deals-compact .deal-airline-icon { width:28px; height:28px; background:#fff; }
.deals-compact .deal-time { color:var(--public-muted); font-size:11px; }
.deals-compact .deal-card-footer { border:0; padding:14px 12px; gap:6px; background:transparent; display:flex; flex-wrap:wrap; align-content:center; justify-content:center; }
.deals-compact .deal-card-footer .btn-primary { flex-basis:100%; padding:10px; min-height:40px; }
.deals-compact .deal-card-footer a.btn-primary { color:#fff; }
.deals-compact .btn-icon { width:40px; height:40px; color:var(--public-muted); background:var(--public-soft); }
.destinations-live { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.destination-live { padding:22px; border:1px solid var(--public-line); border-radius:18px; background:var(--public-surface); color:var(--public-text); text-decoration:none; display:grid; gap:8px; }
.destination-live:hover { border-color:var(--public-accent); }
.destination-live h3 { color:var(--public-text); font-size:21px; margin:0; }
.destination-live p, .destination-live small { color:var(--public-muted); font-size:13px; margin:0; }
.destination-live strong { color:var(--public-accent); font-size:20px; }
.destination-live small { display:block; font-weight:400; }
.destination-live > span:last-child { font-size:13px; font-weight:600; color:var(--public-accent); }
.destination-symbol { font-size:22px; color:var(--public-accent); }
.airline-logo img { width:100%; height:100%; object-fit:contain; background:white; border-radius:8px; }
.airline-logo img[hidden] { display:none; }
.listing-hero h1, .listing-hero p { color:inherit; }
.airline-name { white-space:normal; }
.airline-card { background:var(--public-surface); border-color:var(--public-line); }
.airline-card .airline-name, .airline-card .stat-val { color:var(--public-text); }
.airline-card .stat-lbl, .airline-card .airline-code { color:var(--public-muted); }
.airline-card .airline-card-bottom { background:var(--public-soft); border-color:var(--public-line); }
.airline-card .airline-price, .airline-card .airline-link { color:var(--public-accent); }
.airline-info-note { color:var(--public-muted); line-height:1.6; margin:0 0 24px; }
.footer { background:#101b30; color:#c5d1e8; }
.footer h4 { color:#fff; }
.footer p, .footer li a, .footer-bottom p { color:#c5d1e8; }
.footer a:hover { color:#fff; }
.cookie-consent, [data-theme=dark] .cookie-consent-content { background:var(--public-surface); color:var(--public-text); }
.cookie-consent-content { background:var(--public-surface); color:var(--public-text); }
.cookie-consent .cookie-consent-text p { color:var(--public-text); }
.cookie-consent .cookie-consent-text a { color:var(--public-accent); }
.cookie-consent .accept-btn { color:#fff; min-height:44px; }
[data-theme=dark] .filters-section, [data-theme=dark] .deal-card-bottom, [data-theme=dark] .deal-card-footer, [data-theme=dark] .guide-card, [data-theme=dark] .campaign-card { background:var(--public-surface); color:var(--public-text); border-color:var(--public-line); }
[data-theme=dark] .deal-airline-section, [data-theme=dark] .filter-btn, [data-theme=dark] .sort-options select { background:var(--public-soft); color:var(--public-text); border-color:var(--public-line); }
[data-theme=dark] .filter-btn.active { background:#2457db; color:white; }
[data-theme=dark] .deal-direct-badge { color:#14532d; background:#dcfce7; }
[data-theme=dark] .section-header h2, [data-theme=dark] .deal-airline-name, [data-theme=dark] .guide-card h3, [data-theme=dark] .campaign-card h3 { color:var(--public-text); }
[data-theme=dark] .section-header p, [data-theme=dark] .deal-time, [data-theme=dark] .deal-airline-meta { color:var(--public-muted); }
[data-theme=dark] .deals-section, [data-theme=dark] .destinations-section { background:var(--public-soft); }
@media(max-width:768px) {
    .deal-table-heading { display:none; }
    .home-welcome.hero { margin-top:var(--header-height-mobile,64px); padding:28px 0; }
    .home-welcome .container { display:block; }
    .welcome-art { display:none; }
    .home-welcome h1 { font-size:32px; }
    .home-welcome p { font-size:15px; }
    .home-welcome small { font-size:11px; }
    .filters-section { position:static; }
    .filters-section > .container { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
    .filters { overflow-x:auto; flex-wrap:nowrap; padding:4px 2px 8px; max-width:100%; }
    .filter-btn { flex-shrink:0; min-height:44px; }
    .sort-options select { width:100%; min-height:44px; }
    .deals-section { padding-top:24px; }
    .deals-section .section-header h2 { font-size:22px; }
    .deals-compact .deal-card { grid-template-columns:minmax(0,1fr); }
    .deals-compact .deal-card-link { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
    .deals-compact .deal-card-top { padding:12px; gap:6px; }
    .deals-compact .deal-route { font-size:15px; gap:5px; }
    .deals-compact .deal-card-bottom { padding:12px 10px; }
    .deals-compact .deal-card-footer { flex-wrap:nowrap; border-top:1px solid var(--public-line); padding:6px 10px; }
    .deals-compact .deal-card-footer .btn-primary { flex:1; font-size:12px; min-width:0; }
    .deals-compact .btn-icon { width:44px; height:44px; flex-shrink:0; }
    .deal-card .deal-route { overflow-wrap:anywhere; }
    .deal-card-footer .btn-icon { min-width:44px; min-height:44px; }
    .destinations-live { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .destination-live { padding:16px; }
    .destination-live h3 { font-size:18px; overflow-wrap:anywhere; }
    .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
    .footer-brand { grid-column:1/-1; }
    .footer-links a { display:inline-block; padding:6px 0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
