/* ===== LiveFair24 SEO Site — Shared Styles ===== */
:root{
  --blue:#0b5fff; --blue-deep:#0842b0; --blue-soft:#eaf1ff;
  --ink:#101828; --ink-dim:#5a6478; --ink-faint:#9097a8;
  --surface:#fff; --surface-2:#f4f6fb; --line:#e3e8f1;
  --gold:#f5a623; --green:#16a34a; --red:#dc2626;
  --radius:14px; --max:1160px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Manrope',sans-serif;background:var(--surface-2);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--blue);color:#fff;}
.mono{font-family:'JetBrains Mono',monospace;}
.display{font-family:'Sora',sans-serif;font-weight:700;letter-spacing:-.01em;}
img{max-width:100%;display:block;}

/* Layout */
.container{max-width:var(--max);margin:0 auto;padding:0 24px;}
.section{padding:56px 0;}

/* Nav */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--max);margin:0 auto;gap:20px;}
.nav-logo{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.nav-logo .dot{width:8px;height:8px;border-radius:2px;background:var(--blue);}
.nav-links{display:flex;gap:28px;font-size:13.5px;font-weight:600;color:var(--ink-dim);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{font-size:13px;font-weight:700;padding:9px 18px;border-radius:10px;background:var(--blue);color:#fff;}
.nav-cta:hover{background:var(--blue-deep);}
.nav-right{display:flex;align-items:center;gap:10px;}

/* Mobile hamburger menu */
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;padding:0;flex-shrink:0;}
.nav-burger span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease;}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media(max-width:768px){
  .nav-burger{display:flex;}
  .nav-links{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; padding:6px 24px 14px;
    box-shadow:0 16px 28px -16px rgba(16,24,40,.25);
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:600;color:var(--ink);}
  .nav-links a:last-child{border-bottom:none;}
}

/* Responsive tables — scroll horizontally instead of clipping/squishing */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table-scroll table{min-width:640px;}
.table-scroll.hotel-scroll-wrap table{min-width:540px;}

/* Breadcrumb */
.breadcrumb{background:var(--surface);border-bottom:1px solid var(--line);padding:10px 24px;}
.breadcrumb-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-faint);flex-wrap:wrap;}
.breadcrumb-inner a{color:var(--ink-dim);}
.breadcrumb-inner a:hover{color:var(--blue);}
.breadcrumb-inner .sep{color:var(--line);}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;}
.badge-blue{background:var(--blue-soft);color:var(--blue-deep);}
.badge-gold{background:#fff9ec;color:#b45309;}
.badge-green{background:#f0fdf4;color:#15803d;}
.badge-live{background:var(--blue-soft);color:var(--blue-deep);}
.badge-live::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px rgba(22,163,74,.25);}

/* Price freshness */
.freshness{font-size:11.5px;color:var(--ink-faint);font-family:'JetBrains Mono',monospace;}
.freshness.fresh{color:var(--green);}
.freshness.stale{color:var(--red);}

/* Hero */
.hero{background:linear-gradient(135deg,#0842b0 0%,#0b5fff 60%,#3d7dff 100%);color:#fff;padding:72px 24px 64px;}
.hero-inner{max-width:var(--max);margin:0 auto;}
.hero h1{font-size:clamp(32px,5vw,60px);font-family:'Sora',sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-bottom:16px;}
.hero p{font-size:17px;opacity:.82;max-width:52ch;line-height:1.6;margin-bottom:32px;}

/* Search bar */
.search-form{display:flex;gap:10px;max-width:620px;flex-wrap:wrap;}
.search-input{flex:1;min-width:200px;padding:14px 18px;border-radius:12px;border:none;font-size:15px;font-family:'Manrope',sans-serif;font-weight:600;box-shadow:0 2px 12px rgba(0,0,0,.15);}
.search-input:focus{outline:2px solid rgba(255,255,255,.6);}
.search-btn{padding:14px 26px;border-radius:12px;background:#fff;color:var(--blue-deep);font-weight:800;font-size:14.5px;border:none;cursor:pointer;white-space:nowrap;}
.search-btn:hover{background:var(--blue-soft);}

/* Stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:40px 0;}
.stat-strip>div{background:var(--surface);padding:24px 20px;}
.stat-strip .num{font-family:'Sora',sans-serif;font-weight:800;font-size:26px;color:var(--blue);}
.stat-strip .lbl{font-size:12px;color:var(--ink-dim);margin-top:5px;}
@media(max-width:640px){.stat-strip{grid-template-columns:1fr 1fr;}}

/* Section headers */
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:14px;}
.section-header h2{font-family:'Sora',sans-serif;font-weight:700;font-size:26px;}
.section-header p{color:var(--ink-dim);font-size:14px;margin-top:6px;}
.section-header a{font-size:13px;font-weight:700;color:var(--blue);}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s,transform .15s,box-shadow .15s;}
.card:hover{border-color:#c3d6fd;transform:translateY(-3px);box-shadow:0 16px 32px -20px rgba(16,24,40,.2);}
.card .genre{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--blue-deep);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.card h3{font-family:'Sora',sans-serif;font-weight:700;font-size:19px;line-height:1.2;margin-bottom:8px;}
.card .meta{font-size:12.5px;color:var(--ink-dim);margin-bottom:4px;}
.card .date{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--ink-faint);margin-bottom:14px;}
.card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px dashed var(--line);}
.card-foot .from{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-faint);}
.card-foot .from b{color:var(--gold);font-size:16px;}
.card-foot .card-actions{display:flex;gap:14px;align-items:center;}
.card-foot .cta{font-size:12px;font-weight:700;color:var(--blue);}
.card-foot .cta:hover{color:var(--blue-deep);}
.card-foot .cta-hotels{font-size:12px;font-weight:700;color:var(--ink-faint);display:inline-flex;align-items:center;gap:3px;}
.card-foot .cta-hotels:hover{color:var(--blue);}

/* Price comparison table */
.price-table{width:100%;border-collapse:collapse;font-size:14px;}
.price-table th{text-align:left;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border-bottom:2px solid var(--line);}
.price-table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle;}
.price-table tr:last-child td{border-bottom:none;}
.price-table tr.best-row td{background:linear-gradient(90deg,#fffcf0,transparent);}
.price-table .pname{font-weight:700;display:flex;align-items:center;gap:10px;}
.price-table .pbadge{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#0a0a0f;flex-shrink:0;}
.price-table .p-tm{background:linear-gradient(135deg,#7fe7db,#5ec9ff);}
.price-table .p-tn{background:linear-gradient(135deg,#ffe08a,#ffab5e);}
.price-table .p-vs{background:linear-gradient(135deg,#ffb4e6,#e879c2);}
.price-table .p-sh{background:linear-gradient(135deg,#a9f0c2,#57cf85);}
.price-table .p-gt{background:linear-gradient(135deg,#b9c3ff,#8f9bff);}
.price-table .total-price{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;}
.price-table .total-price.best{color:var(--gold);}
.price-table .fee-breakdown{font-size:11.5px;color:var(--ink-faint);font-family:'JetBrains Mono',monospace;margin-top:2px;}
.price-table .buy-btn{display:inline-flex;align-items:center;gap:5px;padding:11px 16px;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;font-size:12.5px;min-height:38px;}
.price-table .buy-btn:hover{background:var(--blue-deep);}
.best-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--gold);color:#241a00;margin-left:6px;font-family:'JetBrains Mono',monospace;vertical-align:middle;}

/* Trip panel */
.trip-panel{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;}
@media(max-width:860px){.trip-panel{grid-template-columns:1fr;}}
.trip-breakdown{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;}
.trip-row{display:grid;grid-template-columns:44px 1fr auto 80px;align-items:center;gap:12px;padding:14px 0;}
.trip-row .icon{font-size:22px;text-align:center;}
.trip-row .tlabel{font-size:11px;font-family:'JetBrains Mono',monospace;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;}
.trip-row .tname{font-weight:700;font-size:14px;margin-top:3px;}
.trip-row .tprice{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;text-align:right;}
.trip-row .tlink{font-size:12.5px;font-weight:700;color:var(--blue);text-align:right;}
.trip-row .tlink:hover{text-decoration:underline;}
.trip-divider{height:1px;background:var(--line);}
.trip-total{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:2px solid var(--ink);}
.trip-total .label{font-family:'Sora',sans-serif;font-weight:700;font-size:16px;}
.trip-total .amount{font-family:'Sora',sans-serif;font-weight:800;font-size:34px;color:var(--blue);}
.trip-cta{background:linear-gradient(160deg,var(--blue-deep),var(--blue));border-radius:16px;padding:28px;color:#fff;position:sticky;top:90px;}
.trip-cta .eyebrow{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:8px;}
.trip-cta .big-price{font-family:'Sora',sans-serif;font-weight:800;font-size:50px;line-height:1;}
.trip-cta .breakdown{font-size:13px;opacity:.75;margin-top:10px;line-height:1.6;}
.trip-cta .cta-btns{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.trip-cta .cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:12px;font-weight:700;font-size:14px;text-align:center;}
.trip-cta .cta-btn-solid{background:#fff;color:var(--blue-deep);}
.trip-cta .cta-btn-outline{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);}
.trip-cta .disclaimer{font-size:11px;opacity:.5;margin-top:14px;text-align:center;line-height:1.5;}

/* Hotel list */
.hotel-table{width:100%;border-collapse:collapse;}
.hotel-table th{text-align:left;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border-bottom:2px solid var(--line);}
.hotel-table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle;}
.hotel-table tr:last-child td{border-bottom:none;}
.hotel-table .hname{font-weight:700;font-size:14px;}
.hotel-table .hdist{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-dim);}
.hotel-table .hrating{color:var(--gold);font-weight:700;font-size:13px;}
.hotel-table .hprice{font-family:'Sora',sans-serif;font-weight:800;font-size:18px;}
.hotel-table .hprice span{font-size:11px;color:var(--ink-faint);font-weight:600;font-family:'JetBrains Mono',monospace;}
.hotel-table .book-btn{display:inline-flex;align-items:center;padding:11px 14px;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;font-size:12px;min-height:38px;}

/* Price history */
.history-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:20px 0;}
.history-strip>div{background:var(--surface);padding:18px 16px;}
.history-strip .h-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.history-strip .h-val{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;color:var(--ink);}
.history-strip .h-sub{font-size:11.5px;color:var(--ink-faint);margin-top:3px;}
.h-val.green{color:var(--green);}
.h-val.red{color:var(--red);}
@media(max-width:640px){.history-strip{grid-template-columns:1fr 1fr;}}

/* Related events */
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.related-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;transition:border-color .15s,transform .15s;}
.related-card:hover{border-color:#c3d6fd;transform:translateY(-2px);}
.related-card .r-genre{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--blue-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.related-card h4{font-family:'Sora',sans-serif;font-weight:700;font-size:16px;margin-bottom:4px;}
.related-card .r-meta{font-size:12px;color:var(--ink-dim);}
.related-card .r-price{font-family:'Sora',sans-serif;font-weight:800;font-size:16px;color:var(--gold);margin-top:12px;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:last-child{border-bottom:none;}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-weight:700;font-size:14.5px;text-align:left;background:var(--surface);cursor:pointer;border:none;color:var(--ink);}
.faq-q:hover{background:var(--blue-soft);}
.faq-q .chevron{font-size:16px;transition:transform .2s;flex-shrink:0;color:var(--ink-faint);}
.faq-q.open .chevron{transform:rotate(180deg);}
.faq-a{display:none;padding:0 22px 18px;font-size:14px;color:var(--ink-dim);line-height:1.7;}
.faq-a.open{display:block;}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:48px 24px 40px;margin-top:60px;}
.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;}}
.footer-logo{font-family:'Sora',sans-serif;font-weight:800;font-size:18px;margin-bottom:12px;}
.footer-tagline{font-size:13px;color:var(--ink-dim);line-height:1.6;max-width:28ch;}
.footer-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:14px;font-family:'JetBrains Mono',monospace;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-col ul li a{font-size:13.5px;color:var(--ink-dim);}
.footer-col ul li a:hover{color:var(--blue);}
.footer-bottom{max-width:var(--max);margin:32px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-faint);}

/* Utilities */
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.pill{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);}

/* Responsive helpers */
@media(max-width:480px){.trip-row{grid-template-columns:36px 1fr auto;} .trip-row .tlink{display:none;}}
.event-card{ cursor:pointer; }
.event-card.active{ border-color:var(--blue); box-shadow:0 0 0 2px var(--blue); }
.event-card:hover:not(.active){ border-color:#c3d6fd; }
.cta-hotels{ cursor:pointer; display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:700; color:var(--ink-faint); }
.cta-hotels:hover{ color:var(--blue); }
