:root{
  --ink:#14211d;--muted:#5d6b66;--line:#dfe5e1;--bg:#f6f4ef;--card:#fff;
  --brand:#0f4c3a;--brand-2:#1d6b53;--accent:#d8a24a;--accent-soft:#f6ead3;--danger:#b4412f;
  --radius:14px;--shadow:0 1px 2px rgba(20,33,29,.06),0 8px 24px rgba(20,33,29,.07);
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand-2)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.01em;margin:0 0 .4em}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--brand);color:#fff;position:sticky;top:0;z-index:5}
.brand{color:#fff;text-decoration:none;font-family:Fraunces,serif;font-size:21px;display:flex;align-items:center;gap:8px}
.brand em{font-style:normal;color:var(--accent);margin-left:2px}
.mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--brand);display:grid;place-items:center;font-weight:700}
.top nav{display:flex;gap:18px;align-items:center}
.top nav a{color:#e7efe9;text-decoration:none;font-weight:500}
.pill{background:var(--accent);color:var(--brand)!important;padding:6px 12px;border-radius:999px;font-weight:600}
main{max-width:1120px;margin:0 auto;padding:0 16px 60px;min-height:70vh}
.hero{background:linear-gradient(160deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff;margin:0 -16px;padding:48px 24px 90px;text-align:center}
.hero h1{font-size:clamp(28px,5vw,46px)}
.hero p{color:#cfe0d7;max-width:560px;margin:0 auto}
.searchbox{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin:-60px auto 28px;padding:18px;max-width:1000px;position:relative}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.tab{border:0;background:transparent;padding:8px 14px;border-radius:999px;font:600 14px Inter;color:var(--muted);cursor:pointer}
.tab.on{background:var(--brand);color:#fff}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end}
label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
input,select,textarea{width:100%;margin-top:4px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:15px Inter;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-2);border-color:transparent}
.btn{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:12px 18px;font:600 15px Inter;cursor:pointer}
.btn:hover{background:var(--brand-2)}
.btn.gold{background:var(--accent);color:var(--brand)}
.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:wait}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.result{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:12px}
.result .price{text-align:right}
.price b{font-size:24px;font-family:Fraunces,serif}
.earn{display:inline-block;background:var(--accent-soft);color:#7a5414;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;margin-top:4px}
.muted{color:var(--muted)}
.small{font-size:13px}
.seg{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg code{background:#eef2ef;border-radius:6px;padding:2px 6px}
.stars{color:var(--accent)}
.banner{background:var(--accent-soft);border:1px solid #ecd6ad;border-radius:10px;padding:10px 14px;margin:16px 0;font-size:14px}
.err{color:var(--danger);font-weight:500}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.stat{font-family:Fraunces,serif;font-size:34px;font-weight:700}
.tier{display:inline-block;background:var(--brand);color:var(--accent);border-radius:999px;padding:3px 12px;font-weight:600;font-size:13px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.pos{color:var(--brand-2);font-weight:600}.neg{color:var(--danger);font-weight:600}
.page{padding-top:28px}
.empty{text-align:center;padding:40px;color:var(--muted)}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:22px 24px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
@media (max-width:760px){.two{grid-template-columns:1fr}.top nav a:not(.pill){display:none}.result{grid-template-columns:1fr}.result .price{text-align:left}}

/* ---- v2: results layout, filters, bundles, trips ---- */
.rlayout{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}
.filters{position:sticky;top:76px}
.filters h3{margin-bottom:10px}
.fgroup{margin-top:16px}.fgroup b{display:block;font-size:13px;margin-bottom:4px}
.chk{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--ink);margin:4px 0}
.chk input{width:auto;margin:0}
input[type=range]{padding:0;border:0;accent-color:var(--brand)}
.sortbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.sortsel{display:flex;align-items:center;gap:8px}.sortsel select{width:auto;margin:0}
.result{position:relative}
.tag{position:absolute;top:-9px;left:16px;background:var(--brand);color:#fff;font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px}
.steps{display:flex;gap:6px;margin:6px 0 14px;flex-wrap:wrap}
.steps span{padding:6px 12px;border-radius:999px;background:#e9ece9;font-size:13px;font-weight:600;color:var(--muted)}
.steps .on{background:var(--brand);color:#fff}.steps .done{background:var(--accent-soft);color:#7a5414}
.picked{display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid var(--accent);margin-bottom:16px}
.loading{text-align:center;padding:40px;color:var(--muted);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.5}}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{background:var(--card);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;min-width:170px}
.chip span{font-size:13px;color:var(--muted)}
.member{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--accent-soft);box-shadow:none;border:1px solid #ecd6ad}
.dests{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.dest{border:0;border-radius:var(--radius);min-height:150px;padding:14px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;font:inherit;transition:transform .15s}
.dest:hover{transform:translateY(-2px)}
.dname{font-family:Fraunces,serif;font-size:21px;font-weight:700}.dsub{font-size:13px;opacity:.85}.dcta{font-size:12px;font-weight:600;margin-top:8px;color:var(--accent)}
.d0{background:linear-gradient(150deg,#1b6f8a,#0f4c3a)}.d1{background:linear-gradient(150deg,#e07b39,#a2421f)}.d2{background:linear-gradient(150deg,#6a3d8f,#2b1846)}
.d3{background:linear-gradient(150deg,#1aa3a0,#0b5a6b)}.d4{background:linear-gradient(150deg,#4b6b8c,#1f3346)}.d5{background:linear-gradient(150deg,#c99a3c,#7a4c12)}
.redeem{display:flex;gap:14px;align-items:center}.redeem input{flex:1}
.btn.small{padding:7px 12px;font-size:13px}
.sticky{position:sticky;top:76px}
.line{padding:10px 0;border-bottom:1px solid var(--line)}
.tot{padding:6px 0}
.check{width:56px;height:56px;border-radius:50%;background:var(--brand);color:var(--accent);font-size:28px;display:grid;place-items:center;margin:0 auto 10px}
.pnr{font-size:24px;letter-spacing:.12em;font-family:Fraunces,serif}
.trip{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:10px}
.st{font-weight:600}.st.confirmed{color:var(--brand-2)}.st.cancelled{color:var(--muted)}.st.needs_agent{color:#a26a12}
.bar{height:8px;background:#e9ece9;border-radius:99px;overflow:hidden;margin:6px 0}.bar span{display:block;height:100%;background:var(--accent)}
.scroll{overflow-x:auto}
tr.muted td{color:var(--muted)}
@media (max-width:860px){.rlayout{grid-template-columns:1fr}.filters{position:static}.member{flex-direction:column;align-items:flex-start}.trip{grid-template-columns:1fr}}
#navUser{display:flex;gap:18px;align-items:center}

/* ---- v3: fares, hotel page, trip page ---- */
.fares{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;border-top:1px solid var(--line);padding-top:12px}
.fare{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}
.fare:hover{border-color:var(--brand-2)}
.fname{font-weight:600}.fprice{font-family:Fraunces,serif;font-size:22px;font-weight:700}
.fare ul{margin:0;padding-left:18px;font-size:13px;color:var(--muted)}
.fare .btn{margin-top:auto}
.hhead{display:grid;grid-template-columns:340px 1fr;gap:22px;margin-top:12px}
.himg{border-radius:var(--radius);min-height:220px;display:flex;align-items:flex-end;padding:16px;color:#fff;font-family:Fraunces,serif;font-size:22px}
.h0{background:linear-gradient(150deg,#1b6f8a,#0f4c3a)}.h1{background:linear-gradient(150deg,#6a3d8f,#2b1846)}.h2{background:linear-gradient(150deg,#c99a3c,#7a4c12)}
.h3{background:linear-gradient(150deg,#1aa3a0,#0b5a6b)}.h4{background:linear-gradient(150deg,#4b6b8c,#1f3346)}.h5{background:linear-gradient(150deg,#e07b39,#a2421f)}
.amen{display:flex;flex-wrap:wrap;gap:6px}.amen span{background:#eef2ef;border-radius:999px;padding:4px 10px;font-size:13px}
.room{display:grid;grid-template-columns:220px 1fr;gap:16px;margin-bottom:12px}
.rates{display:grid;gap:10px}
.rate{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}
.upsell{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--accent-soft);border:1px solid #ecd6ad;box-shadow:none;margin:14px 0}
.pnrbox{text-align:right}
.tlink{color:var(--ink);text-decoration:none}.tlink:hover{text-decoration:underline}
@media (max-width:760px){.hhead,.room{grid-template-columns:1fr}.himg{min-height:140px}.upsell{flex-direction:column;align-items:flex-start}.pnrbox{text-align:left}}
.err{word-break:break-word;overflow-wrap:anywhere}

/* ---- hotel photos ---- */
.hotelrow{grid-template-columns:200px 1fr auto;align-items:stretch}
.hphoto{width:200px;height:150px;border-radius:12px;overflow:hidden;margin:-4px 0}
.hphoto:not(.ph-fallback){background:#e9ece9}
.hphoto img,.himg img{width:100%;height:100%;object-fit:cover;display:block}
.ph-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.ph-fallback span{font-family:Fraunces,serif;font-size:34px;font-weight:700;letter-spacing:.04em}
.ph-fallback small{opacity:.8;font-size:12px;margin-top:2px}
.himg{height:260px;padding:0;overflow:hidden;align-items:stretch}
.himg.ph-fallback{display:flex}
.thumbs{display:flex;gap:6px;margin-top:8px;overflow-x:auto}
.thumbs img{width:64px;height:48px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.6;border:2px solid transparent}
.thumbs img.on,.thumbs img:hover{opacity:1;border-color:var(--accent)}
@media (max-width:760px){.hotelrow{grid-template-columns:1fr}.hphoto{width:100%;height:180px}}
.himg.ph-fallback,.hphoto.ph-fallback{align-items:center;justify-content:center;text-align:center}
.himg.ph-fallback span{font-size:56px}
.pill-s{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.pos-bg{background:#e2f1ea;color:var(--brand-2)}.neg-bg{background:#f6e3df;color:var(--danger)}
.alogo{width:28px;height:28px;border-radius:6px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);flex:none}
.alogo img{width:100%;height:100%;object-fit:contain}.alogo b{font-size:11px}
.alogo-sp{width:28px;display:inline-block}
.aname{font-weight:600;min-width:84px}
.carimg{width:120px;height:72px;object-fit:contain}
.result .seg>strong{min-width:72px}

/* =================== PRO THEME (overrides) =================== */
:root{
  --ink:#0E2A24;--muted:#5B6B66;--line:#DCE3E0;--bg:#F2F5F4;--card:#FFFFFF;
  --brand:#14684F;--brand-2:#0F5440;--accent:#B8862B;--accent-soft:#F6EEDC;--danger:#B3412E;
  --radius:12px;--shadow:none;
}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
h1,h2,h3{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(28px,4vw,42px);line-height:1.1}h2{font-size:26px;line-height:1.2}h3{font-size:17px;font-weight:700;letter-spacing:-.01em}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* header */
.top{background:var(--ink);padding:12px 32px;border-bottom:1px solid #0a201b}
.brand{font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:19px;letter-spacing:-.02em}
.brand em{color:#9FD3BF;font-weight:600}
.mark{background:#fff;color:var(--ink);border-radius:7px;width:28px;height:28px;font-size:15px}
.top nav a{font-size:14px;color:#C9D8D2}.top nav a:hover{color:#fff}
.pill{background:#fff;color:var(--ink)!important;font-weight:700;padding:7px 14px}

/* hero + search */
main{max-width:1160px;padding:0 24px 72px}
.hero{background:var(--ink);text-align:left;margin:0 -24px;padding:56px 48px 116px;border-radius:0}
.hero h1{color:#fff;max-width:14ch;font-size:clamp(34px,5vw,56px)}
.hero p{color:#B9CCC5;margin:14px 0 0;max-width:52ch;font-size:16px}
.searchbox{border:1px solid var(--line);box-shadow:0 12px 32px -18px rgba(14,42,36,.35);border-radius:14px;margin:-72px 0 40px;max-width:none;padding:20px 22px}
.tab{font-size:14px;padding:8px 14px;border-radius:8px}
.tab.on{background:var(--ink)}
label{font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:600}
input,select,textarea{border-radius:8px;border-color:var(--line);padding:11px 12px;font-family:inherit}
.btn{border-radius:8px;font-family:inherit;font-weight:700;letter-spacing:-.005em;padding:11px 18px;background:var(--brand)}
.btn:hover{background:var(--brand-2)}
.btn.gold{background:var(--ink);color:#fff}.btn.gold:hover{background:#000}
.btn.ghost{border-color:var(--line);background:#fff;color:var(--ink)}
.btn.small{padding:8px 14px}

/* generic surfaces: borders instead of shadows */
.card{border:1px solid var(--line);box-shadow:none;border-radius:var(--radius)}
.banner{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px}
.member{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent)}
.earn{background:var(--accent-soft);color:#7A5A16;font-weight:700;border-radius:6px;padding:3px 8px}
.tag{background:var(--ink);border-radius:6px;font-size:11px;letter-spacing:.01em;top:-10px}
.stars{color:var(--accent);letter-spacing:1px}
.dest{border-radius:12px;min-height:160px}
.dname{font-family:Inter,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}

/* ---- results: ticket-stub rows (signature) ---- */
.rlayout{grid-template-columns:260px 1fr;gap:24px}
.filters{border-radius:12px;padding:20px}
.filters h3{font-size:15px}
.fgroup b{font-size:13px;color:var(--ink)}
.sortbar{padding:0 2px}
.result{display:grid;grid-template-columns:1fr 200px;gap:0;padding:0;overflow:visible;margin-bottom:14px;border-radius:12px}
.result>div:not(.price):not(.hphoto):not(.fares){padding:20px 22px}
.result>.price{position:relative;padding:20px 22px;border-left:2px dashed var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;background:#FBFCFC;border-radius:0 12px 12px 0}
.result>.price::before,.result>.price::after{content:"";position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.result>.price::before{top:-9px;clip-path:inset(50% 0 0 0)}.result>.price::after{bottom:-9px;clip-path:inset(0 0 50% 0)}
.price b{font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--ink)}
.result .price .btn{margin-top:6px;width:100%}
.hotelrow{grid-template-columns:220px 1fr 200px}
.hotelrow>.hphoto{width:220px;height:100%;min-height:170px;margin:0;border-radius:12px 0 0 12px}
.result .fares{grid-column:1/-1;margin:0;padding:16px 22px 20px;border-top:1px solid var(--line)}
.fare{border-radius:10px}
.fare .fprice{font-family:Inter,system-ui,sans-serif;font-weight:800}
.seg code{background:#EEF2F1;font-family:inherit;font-weight:600;font-size:13px}
.result h3{font-size:18px}

/* hotel page + rooms */
.himg{border-radius:12px}
.room{border-radius:12px;grid-template-columns:240px 1fr;padding:22px}
.rate{border-radius:10px;border-color:var(--line);padding:14px 16px}
.rate .price b{font-size:22px}
.amen span{background:#EEF2F1;border-radius:6px;font-weight:500}
.steps span{border-radius:8px}.steps .on{background:var(--ink)}
.picked{border:1px solid var(--brand);border-left:4px solid var(--brand)}

/* checkout / account */
.stat{font-family:Inter,system-ui,sans-serif;font-weight:800;letter-spacing:-.03em}
.tier{background:var(--ink);color:#fff;border-radius:6px}
.pnr{font-family:Inter,system-ui,sans-serif;font-weight:800;letter-spacing:.14em}
.check{background:var(--brand);color:#fff}
th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:700}
.foot{background:#fff}

@media (max-width:860px){
  .top{padding:12px 16px}.hero{padding:40px 20px 100px;margin:0 -16px}main{padding:0 16px 60px}
  .result,.hotelrow{grid-template-columns:1fr}
  .hotelrow>.hphoto{width:100%;height:180px;border-radius:12px 12px 0 0}
  .result>.price{border-left:0;border-top:2px dashed var(--line);align-items:flex-start;border-radius:0 0 12px 12px}
  .result>.price::before,.result>.price::after{display:none}
  .room{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* full-bleed hero */
.hero{margin:0;box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);padding:56px 0 116px}
/* destinations: quiet cards, not rainbow gradients */
.dest{background:#fff!important;border:1px solid var(--line);color:var(--ink);min-height:132px;justify-content:space-between}
.dest:hover{border-color:var(--brand);transform:none}
.dname{font-size:19px;color:var(--ink)}.dsub{color:var(--muted);opacity:1}.dcta{color:var(--brand);font-weight:700;margin-top:10px}
/* hotel placeholder tiles: one calm brand tone */
.ph-fallback{background:linear-gradient(160deg,#1B4A3E,#0E2A24)!important}
.ph-fallback span{font-family:Inter,system-ui,sans-serif;font-weight:800;color:#fff}
.ph-fallback small{color:#9FD3BF}
input[type=checkbox],input[type=radio]{accent-color:var(--brand)}
.searchbox{position:relative;z-index:1}
@media (max-width:860px){
  .rlayout{grid-template-columns:1fr;gap:14px}
  .filters{position:static;padding:16px}
  .result,.hotelrow{grid-template-columns:1fr}
  .hotelrow>.hphoto{width:100%;height:180px;min-height:0;border-radius:12px 12px 0 0}
  .result>.price{border-left:0;border-top:2px dashed var(--line);align-items:stretch;border-radius:0 0 12px 12px;text-align:left}
  .result>.price::before,.result>.price::after{display:none}
  .sortbar{flex-wrap:wrap}
  .hero h1{font-size:34px}
}
.fwrap>summary{list-style:none;cursor:pointer}.fwrap>summary::-webkit-details-marker{display:none}
.fwrap>summary h3{display:inline}
@media (max-width:860px){.fwrap>summary h3::after{content:" ▾";color:var(--muted);font-weight:500}.fwrap[open]>summary h3::after{content:" ▴"}}
@media (min-width:861px){.fwrap>summary{pointer-events:none}}
.fwrap>summary{margin-bottom:12px}

/* ---- filter bar with dropdown chips ---- */
.fbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:6px 0 10px;position:sticky;top:61px;z-index:4}
.fchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dd{position:relative}
.chip-dd{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:14px;background:#fff;color:var(--ink);user-select:none}
.chip-dd::-webkit-details-marker{display:none}
.chip-dd:hover{border-color:#b9c6c1}
.chip-dd.act{background:#E4F1EC;border-color:var(--brand);color:var(--brand-2)}
.dd[open]>.chip-dd{border-color:var(--ink)}
.car{font-size:10px;opacity:.7}
.ddp{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 16px 40px -16px rgba(14,42,36,.35);z-index:20}
.ddh{font-size:13px;color:var(--muted);margin-bottom:8px}
.ddh a{font-weight:600}
.ddscroll{max-height:260px;overflow:auto;margin:0 -4px;padding:0 4px}
.opt{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;font-size:14px;font-weight:500;color:var(--ink);text-transform:none;letter-spacing:0;cursor:pointer}
.opt:hover{background:#F2F5F4}
.opt input{width:auto;margin:0}
.opt .alogo{width:22px;height:22px}
.ddp input[type=range]{width:100%}
.hsearch{margin:0}.hsearch input{margin:0;width:220px;padding:8px 12px;border-radius:999px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sortsel{display:flex;align-items:center;gap:8px;margin:0}.sortsel select{width:auto;margin:0;padding:8px 10px;border-radius:999px;font-weight:600}
.linkbtn{background:none;border:0;color:var(--brand);font:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:8px 4px}
.sortbar{margin:4px 2px 10px}
@media (max-width:860px){
  .fbar{position:static;padding:10px}
  .fchips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px}
  .ddp{position:fixed;left:16px;right:16px;top:auto;bottom:16px;min-width:0}
  .hsearch input{width:180px}
}
.page.narrow{max-width:820px}
.loyrow{display:grid;grid-template-columns:100px 1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.ltype{font-size:12px;font-weight:700;color:var(--muted)}
.loyrow code,.loylist code{background:#EEF2F1;border-radius:6px;padding:2px 8px;font-family:inherit;font-weight:600}
.addloy{display:grid;grid-template-columns:140px 1fr 1fr auto;gap:8px;margin-top:14px}
.addloy select,.addloy input{margin:0}
.loylist{list-style:none;padding:0;margin:6px 0}.loylist li{padding:6px 0}
@media (max-width:760px){.addloy{grid-template-columns:1fr 1fr}.loyrow{grid-template-columns:1fr auto}}
.seg>strong .ldate{display:block;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:0}
.result .seg>strong{min-width:96px}
.result .seg{margin-bottom:6px}
/* flight legs grid */
.legs{display:grid;gap:14px}
.leg{display:grid;grid-template-columns:110px minmax(150px,1.2fr) auto minmax(110px,1fr) auto;gap:14px;align-items:center}
.lwhen{display:flex;flex-direction:column;line-height:1.25}.lwhen b{font-size:14px}.lwhen span{font-size:12px;color:var(--muted);font-weight:600}
.lair{display:flex;align-items:center;gap:10px;line-height:1.2}.lair>span{display:flex;flex-direction:column}.lair b{font-size:14px}
.lno{font-size:12px;color:var(--muted);font-weight:600}
.ltime{display:flex;flex-direction:column;line-height:1.2}.ltime b{font-size:17px;font-weight:800;white-space:nowrap}.ltime span{font-size:12px;color:var(--muted);font-weight:700}
.larrow{display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--muted);text-align:center;line-height:1.3}
.larrow i{display:block;width:100%;height:1px;background:var(--line);position:relative;margin:4px 0}
.larrow i::after{content:"";position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left-color:#9aa8a3;border-right:0}
@media (max-width:980px){
  .leg{grid-template-columns:1fr auto 1fr auto;grid-template-areas:"when when air air" "dep arr arr arrv";row-gap:8px}
  .lwhen{grid-area:when;flex-direction:row;gap:8px;align-items:baseline}.lair{grid-area:air;justify-content:flex-end}
  .leg>.ltime:nth-of-type(3){grid-area:dep}.larrow{grid-area:arr}.leg>.ltime:last-child{grid-area:arrv;text-align:right}
}
@media (max-width:520px){.lair{justify-content:flex-start}.leg{grid-template-areas:"when when when when" "air air air air" "dep arr arr arrv"}}

/* =================== EXPEDIA-STYLE LAYOUT LAYER =================== */
:root{--radius:16px}
body{background:#F3F4F6}
.card,.result,.room,.filters{border-radius:16px;border-color:#E3E5E8;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.btn{border-radius:999px;padding:11px 22px}
.btn.small{padding:8px 16px}
/* search box: text tabs with underline, boxed fields with label inside */
.searchbox{border-radius:16px;padding:0 0 18px;overflow:visible}
.searchbox .tabs{gap:0;border-bottom:1px solid #E3E5E8;padding:0 16px;margin-bottom:18px}
.searchbox .tab{border-radius:0;background:none!important;color:#3b3f45;padding:16px 18px 13px;border-bottom:3px solid transparent;font-weight:600}
.searchbox .tab.on{color:var(--brand);border-bottom-color:var(--brand)}
.searchbox .fields{padding:0 18px;gap:10px}
.searchbox label{border:1px solid #9AA0A6;border-radius:10px;padding:8px 12px 6px;font-size:12px;font-weight:600;color:#5f6368;background:#fff;display:block;min-height:58px}
.searchbox label:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.searchbox label input,.searchbox label select{border:0;padding:2px 0 0;margin:0;font-size:16px;font-weight:600;color:var(--ink);background:transparent;outline:none;box-shadow:none}
.searchbox .btn{height:58px;border-radius:999px;font-size:16px}
#serr{padding:0 18px}
/* results: no ticket notches; Expedia-like price column */
.result>.price{border-left:0;background:none;align-items:flex-end;text-align:right}
.result>.price::before,.result>.price::after{display:none}
.result{grid-template-columns:1fr 220px}
.hotelrow{grid-template-columns:260px 1fr 220px}
.hotelrow>.hphoto{width:260px;border-radius:16px 0 0 16px}
.price b{font-size:28px}
.xsmall{font-size:11px}
.refund{color:#227950;font-weight:700;font-size:14px;margin-top:6px}
.result .price .btn{width:auto;min-width:140px}
/* flight legs */
.leg.ex{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:2px 0}
.leg.ex+.leg.ex{border-top:1px solid #EEF0F2;padding-top:14px}
.lwhen2{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:2px}
.ltimes{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.lsub{font-size:14px;color:#3b3f45;font-weight:600}
.lcarrier{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:#3b3f45}
.lcarrier .alogo{width:22px;height:22px}
.ldur{text-align:right;font-size:14px;color:#3b3f45;padding-top:18px}.ldur b{font-weight:700}
.tag{background:var(--brand);border-radius:999px;padding:3px 10px}
.fbar{border-radius:16px}
@media (max-width:860px){
  .result,.hotelrow{grid-template-columns:1fr}
  .hotelrow>.hphoto{width:100%;border-radius:16px 16px 0 0}
  .result>.price{align-items:flex-start;text-align:left;border-top:1px solid #EEF0F2}
  .result .price .btn{width:100%}
  .searchbox .tab{padding:14px 12px 11px}
}
/* Inter: calmer weights, no heavy 800s */
body{font-size:15px;letter-spacing:-.003em}
h1,h2,h3,.price b,.ltimes,.stat,.ltime b,.fprice,.dname{font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(28px,4vw,40px)}.hero h1{font-size:clamp(32px,4.5vw,48px)}
.price b{font-size:26px}.ltimes{font-size:19px}
.btn,.chip-dd,.tab{font-weight:600}
.vlogo{width:48px;height:48px;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#fff;flex:none;overflow:hidden}
.vlogo img{width:32px;height:32px;object-fit:contain}.vlogo b{font-size:14px;color:var(--ink)}
.carrow{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center}
.carpic{width:200px;height:110px;border-radius:12px;background:#F3F6F5;display:flex;align-items:center;justify-content:center;padding:10px}
.carpic svg,.carpic img{width:100%;height:100%;object-fit:contain}
@media (max-width:620px){.carrow{grid-template-columns:1fr}.carpic{width:100%}}
.carpic{background:#fff;border:1px solid #EEF0F2}
.carpic img{width:100%;height:100%;object-fit:contain}
.biglogo .vlogo{width:84px;height:84px;border:0;border-radius:16px}
.biglogo .vlogo img{width:64px;height:64px}.biglogo .vlogo b{font-size:22px}

/* =================== CLEAN NAVY + BLUE THEME (final override) =================== */
:root{
  --ink:#0B1F3A;--muted:#5A6B82;--line:#E2E8F0;--bg:#F5F7FA;--card:#FFFFFF;
  --brand:#1D5BD8;--brand-2:#1748AE;--accent:#C99A2E;--accent-soft:#FBF4E2;--danger:#C2410C;
}
body{background:var(--bg);color:var(--ink)}
a{color:var(--brand)}
/* header: white, navy wordmark */
.top{background:#fff;border-bottom:1px solid var(--line)}
.brand{color:var(--ink)}.brand em{color:var(--brand)}
.mark{background:var(--ink);color:#fff}
.top nav a{color:#334155}.top nav a:hover{color:var(--ink)}
.pill{background:var(--brand);color:#fff!important}
/* hero: deep navy band */
.hero{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink)}
.hero p{color:#B8C4D6}
/* buttons + states */
.btn{background:var(--brand)}.btn:hover{background:var(--brand-2)}
.btn.gold{background:var(--ink)}.btn.gold:hover{background:#06132A}
.searchbox .tab.on{color:var(--brand);border-bottom-color:var(--brand)}
.searchbox label:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.chip-dd.act{background:#EAF1FE;border-color:var(--brand);color:var(--brand-2)}
.tag{background:var(--ink)}
.steps .on,.tier,.tab.on{background:var(--ink)}
.searchbox .tab.on{background:none!important}
.pos,.refund,.pill-s.pos-bg{color:#15803D}.pos-bg{background:#DCFCE7}
.earn{background:var(--accent-soft);color:#7C5A10}
.banner,.member{border-left-color:var(--brand)}
.check{background:var(--brand)}
.ph-fallback{background:linear-gradient(160deg,#1E3A64,#0B1F3A)!important}.ph-fallback small{color:#9DB7E8}
.dest:hover{border-color:var(--brand)}.dcta{color:var(--brand)}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--brand)}
:focus-visible{outline-color:var(--brand)}
.foot{border-top:1px solid var(--line)}
.vgs{display:grid;gap:10px;margin-top:8px}
.vgsf{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;margin-top:4px;background:#fff;display:flex;align-items:center}
.vgsf iframe{width:100%;height:40px}.vgsf input{border:0;padding:0;margin:0;width:100%}

/* ---- home header refresh ---- */
.hero.hero2{position:relative;overflow:hidden;text-align:left;padding:72px 48px 132px;
  background:radial-gradient(900px 420px at 85% 10%,rgba(126,166,255,.45),transparent 60%),radial-gradient(700px 360px at 10% 110%,rgba(29,78,216,.55),transparent 60%),linear-gradient(135deg,#071427 0%,#0B1F3A 45%,#163a7a 100%)}
.hero.hero2::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000 30%,transparent 90%);pointer-events:none}
.hero.hero2::before{content:"✈";position:absolute;right:8%;top:22%;font-size:120px;color:rgba(255,255,255,.07);transform:rotate(-18deg);pointer-events:none}
.hero2 .hero-in{position:relative;z-index:1;max-width:1120px;margin:0 auto}
.hero2 .eyebrow{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#a9c1ff;border:1px solid rgba(169,193,255,.35);border-radius:999px;padding:6px 12px;margin-bottom:18px}
.hero2 h1{color:#fff;font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.02em;max-width:none;margin:0}
.hero2 h1 em{font-style:normal;background:linear-gradient(90deg,#7ea6ff,#c7d7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero2 p{color:#c9d6f0;font-size:18px;margin:16px 0 0}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.perks div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.perks span{grid-row:1/3;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eef3ff;color:#1d4ed8;font-weight:800;font-size:18px}
.perks b{font-size:15px}.perks small{color:#64748b}
@media (max-width:760px){.hero.hero2{padding:48px 20px 112px}.hero.hero2::before{font-size:72px;top:12%}.perks{grid-template-columns:1fr}}

.hero.hero2{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
.searchbox .tab{font-size:15px}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 18px 2px;font-size:13px;color:#475569}
.trust span{white-space:nowrap}.trust span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1d4ed8;margin-right:7px;vertical-align:middle}
.member .btn{text-decoration:none}
.dest .dsub{font-size:14px}
.dest:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.dest{transition:transform .15s,box-shadow .15s}
@media (max-width:760px){.searchbox .tabs{overflow-x:auto;flex-wrap:nowrap}.searchbox .tab{white-space:nowrap}.trust{font-size:12px}}
.searchbox a.tab{text-decoration:none}

.brand .mark-img{width:34px;height:34px;border-radius:9px;display:inline-block;vertical-align:middle;margin-right:8px}

.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand .mark-img{width:36px;height:36px;border-radius:50%;margin:0}
.brand .wm{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:21px;color:#2C231C;letter-spacing:-.01em;white-space:nowrap}
.brand .wm i{font-style:italic}
@media (max-width:640px){.brand .wm{font-size:17px}}

/* supplier logos */
.alogo{width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid #e7e2da;box-shadow:0 1px 2px rgba(44,35,28,.06);padding:3px}
.alogo img{border-radius:6px}.alogo b{font-size:12px;font-weight:800;color:#2C231C}
.opt .alogo,.lcarrier .alogo{width:24px;height:24px;padding:2px;border-radius:6px}
.vlogo{width:56px;height:56px;border-radius:14px;border:1px solid #e7e2da;box-shadow:0 2px 6px rgba(44,35,28,.08);padding:8px}
.vlogo img{width:100%;height:100%;object-fit:contain}
.biglogo .vlogo{width:92px;height:92px;border-radius:20px;padding:14px}
.biglogo .vlogo img{width:100%;height:100%}
.card.result:not(.hotelrow) .heart{right:auto;left:auto;inset-inline-end:212px;top:12px}@media (max-width:760px){.card.result:not(.hotelrow) .heart{inset-inline-end:10px}}
.lcarrier{display:flex;align-items:center;gap:10px}
.lcarrier .alogo{width:48px;height:48px;padding:4px;border-radius:12px}
.lcarrier .alogo b{font-size:15px}
.opt .alogo{width:30px;height:30px;padding:3px;border-radius:8px}
@media (max-width:640px){.lcarrier .alogo{width:40px;height:40px}}
[hidden]{display:none !important}

/* cleaner car rows */
.carrow{display:flex;gap:16px;align-items:center}
.carrow .seg{display:flex;gap:14px;align-items:center}
.carrow .vlogo{width:64px;height:64px;padding:10px;border-radius:16px}
.carrow h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:18px}
@media (max-width:760px){
  .card.result:not(.hotelrow)>div:not(.price){padding:16px 16px 8px}
  .card.result:not(.hotelrow)>.price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:12px 16px 16px;border-top:1px solid #eef0f4;background:#fff}
  .card.result:not(.hotelrow)>.price>*{margin:0}
  .card.result:not(.hotelrow)>.price b{font-size:24px}
  .card.result:not(.hotelrow)>.price>div:last-child{grid-column:2;grid-row:1 / span 3;margin:0}
  .card.result:not(.hotelrow)>.price .btn{padding:12px 22px}
  .carrow .vlogo{width:52px;height:52px;padding:8px}
}
@media (max-width:760px){.card.result:not(.hotelrow)>.price .earn{justify-self:start}
  .top .pill{white-space:nowrap;font-size:14px;padding:8px 12px}.brand .mark-img{width:30px;height:30px}.brand .wm{font-size:15px}}
.withmap .card.result:not(.hotelrow) .heart{inset-inline-end:12px}

/* installed app: respect iPhone notch / home bar */
@media (display-mode: standalone){.top{padding-top:max(12px,env(safe-area-inset-top))}.foot{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
.pickup{font-size:13px;color:#475569;margin-top:6px;line-height:1.45}.pickup b{color:#0B1F3A}
.promo-row{order:99}.promo-row summary{cursor:pointer;color:#475569}
@media (max-width:760px){.hero2 .eyebrow{display:none}.hero.hero2{padding-top:32px}}

/* ================= REFINE BRAND: espresso brown + gold (matches refinetravelandevents.com) ================= */
:root{--ink:#2C231C;--muted:#6b5f55;--line:#e7e0d6;--bg:#f7f4ef;--brand:#2C231C;--brand-2:#4a3a2e;--accent:#C9A063;--accent-soft:#f3ebdd;--gold:#C9A063;--gold-d:#a8803f}
body{background:var(--bg);color:var(--ink)}
a{color:#8a6a33}
h1,h2,.hero2 h1,.rw-card .bal{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.01em}
.top{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.top nav a{color:var(--ink)}
.btn,.pill,.top .pill{background:var(--brand)!important;color:#fff!important}
.btn:hover{background:#4a3a2e!important}
.btn.gold{background:var(--gold)!important;color:#2C231C!important}
.btn.ghost,.maptoggle{background:#fff!important;color:var(--ink)!important;border:1px solid #d9cfc1!important}
.maptoggle.on{background:var(--brand)!important;color:#fff!important}
.tab.on,.searchbox .tab.on{color:var(--brand);background:transparent;box-shadow:inset 0 -3px 0 var(--gold)}
.hero.hero2{background:radial-gradient(900px 420px at 85% 10%,rgba(201,160,99,.28),transparent 60%),radial-gradient(700px 360px at 10% 110%,rgba(201,160,99,.18),transparent 60%),linear-gradient(135deg,#1c1510 0%,#2C231C 50%,#4a3a2e 100%)}
.hero2 .eyebrow{color:#e6cc9c;border-color:rgba(201,160,99,.4)}
.hero2 h1 em{background:linear-gradient(90deg,#C9A063,#efd9ae);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero2 p{color:#e9dfd1}
.earn,.pill-s.pos-bg{background:#f3ebdd;color:#7a5a22}
.tag{background:var(--brand)}
.trust span::before{background:var(--gold)}
.perks span{background:#f3ebdd;color:#8a6a33}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.pricepin{border-color:var(--brand);color:var(--brand)}.pricepin:hover,.pricepin.hot{background:var(--brand);color:#fff}
.flex a.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.ad-tabs button.on{background:var(--brand);border-color:var(--brand)}
.tabbar a.on{color:var(--gold-d)}
.rw-card{background:linear-gradient(135deg,#1c1510,#2C231C 55%,#4a3a2e)}
.g-hero{background:linear-gradient(135deg,#1c1510,#4a3a2e)}
.grate .score{background:var(--brand)}
/* streamlined checkout + cards */
details.cx{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:14px;background:#fff}
details.cx>summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.cx>summary::after{content:"+";font-weight:400;color:#8a6a33;font-size:18px}details.cx[open]>summary::after{content:"–"}
details.cx>summary::-webkit-details-marker{display:none}
.result .tag{display:none}.result:first-of-type .tag{display:inline-block}
.result .earn{background:none;padding:0;color:#8a6a33;font-size:12px}
.nexttrip{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;padding:16px 18px;margin:0 0 22px}
.nexttrip .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8a6a33;font-weight:700}
.nexttrip b{font-family:"Playfair Display",Georgia,serif;font-size:20px}.nexttrip .pnr{font-weight:800;letter-spacing:2px}
@media (max-width:640px){.nexttrip{grid-template-columns:1fr}}
details.cx>summary .muted{margin-left:8px;margin-right:auto;font-weight:400}
.perks{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.perkjoin{display:flex;flex-direction:column;justify-content:center;background:#2C231C;color:#f5efe6;border-radius:14px;padding:16px;text-decoration:none}
.perkjoin b{color:#C9A063;font-size:15px}.perkjoin small{color:#e9dfd1}
/* photo placeholders in brand tones */
.ph-fallback.h0,.ph-fallback.h1,.ph-fallback.h2,.ph-fallback.h3,.ph-fallback.h4,.ph-fallback.h5,.hphoto.ph-fallback,.himg.ph-fallback{background:linear-gradient(150deg,#4a3a2e,#2C231C)!important}
.ph-fallback small{color:#C9A063!important}
/* Hotel RFPs */
.rfp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.rfp-facts div{background:#f7f2ea;border:1px solid #e8dcc8;border-radius:10px;padding:10px 12px}
.rfp-facts span{display:block;font-size:12px;color:#7a6a58}.rfp-facts b{color:#2C231C}
.rfp-pat{border-collapse:collapse;margin:8px 0;font-size:13px;display:block;overflow-x:auto}
.rfp-pat th,.rfp-pat td{border:1px solid #e8dcc8;padding:6px 10px;text-align:center;white-space:nowrap}
.rfp-pat th{background:#2C231C;color:#fff;font-weight:600}.rfp-pat input{width:56px;padding:4px;border:1px solid #d9cfc1;border-radius:6px;text-align:center}
.rfp-cmp td,.rfp-cmp th{vertical-align:top;padding:8px}.rfp-win{background:#fbf5e9}.rfp-win td:first-child{border-left:3px solid #C9A063}
/* Contracts */
.ct-doc{font-size:14px;line-height:1.55;color:#2C231C}.ct-doc h1{font-family:"Playfair Display",Georgia,serif;font-size:24px;margin:4px 0}
.ct-doc h2{font-size:15px;margin:22px 0 6px;padding-bottom:4px;border-bottom:2px solid #C9A063;color:#2C231C}
.ct-ev{color:#C9A063;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.ct-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}@media(max-width:640px){.ct-2{grid-template-columns:1fr}}
.ct-kv td{padding:2px 12px 2px 0;vertical-align:top}.ct-kv td:first-child{color:#7a6a58;white-space:nowrap}
.ct-blk{border-collapse:collapse;width:100%}.ct-blk th,.ct-blk td{border:1px solid #e8dcc8;padding:6px 8px;text-align:center}.ct-blk th{background:#2C231C;color:#fff}.ct-tot td{font-weight:700;background:#f7f2ea}
.ct-terms{white-space:pre-wrap;font-size:13px}.ct-sigimg{height:70px;display:flex;align-items:flex-end}.ct-sigimg img{max-height:70px}
.ct-line{border-top:1px solid #2C231C;padding-top:4px;margin-bottom:4px;font-size:12px;color:#7a6a58}
.ct-pad{width:100%;max-width:560px;height:150px;border:1px dashed #C9A063;border-radius:10px;background:#fffdf9;touch-action:none;display:block;margin-bottom:6px}
@media print{header,nav,.tabbar,.no-print,footer,.install-banner{display:none!important}.ct-pg .card{box-shadow:none;border:0;padding:0}body{background:#fff}}

.result>.tag{z-index:3}.hotelrow>.tag{top:12px;left:auto;right:14px}
/* Corporate travel policy */
.pol{position:absolute;top:12px;right:14px;z-index:3;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.pol.in{background:#e7f6ec;color:#15803d}.pol.out{background:#fff1e6;color:#b45309}
.result>.tag~.pol{top:40px}
.polbox{border:1px solid #f1d3b3;background:#fff8f1;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:14px}.polbox ul{margin:6px 0 8px 18px;padding:0;color:#b45309}
.polbox.ok{border-color:#cdebd6;background:#f2fbf5;color:#15803d}
.pk-bar{height:6px;background:#efe7da;border-radius:6px;overflow:hidden;width:110px;margin-bottom:4px}.pk-bar span{display:block;height:100%;background:#C9A063}
/* Mobile: compact price bar on every result card */
@media (max-width:760px){
  .card.result>.price{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:2px 8px;padding:12px 16px 14px!important;text-align:left;border-left:0!important;border-top:1px dashed var(--line)!important;border-radius:0 0 14px 14px!important;background:#fff}
  .card.result>.price>*{margin:0!important}
  .card.result>.price b{font-size:24px}
  .card.result>.price .btn{flex:1 0 100%;width:100%;margin-top:8px!important;padding:13px 18px;font-size:16px}
  .card.result>.price .earn{flex-basis:100%}
  .hotelrow>.hphoto{height:190px!important}
  .card.result>div:not(.price):not(.hphoto):not(.fares){padding:14px 16px 10px!important}
}
@media (max-width:760px){.card.result>.price>div:last-child{flex:1 0 100%}.card.result>.price>div:last-child .btn{width:100%}
  input,select,textarea{font-size:16px}}
/* Mobile: agent desk */
@media (max-width:760px){
  .ad-tabs{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:8px -16px 14px!important;padding:0 16px 4px}
  .ad-tabs::-webkit-scrollbar{display:none}.ad-tabs button{flex:none;white-space:nowrap;padding:8px 14px!important;font-size:14px}
  .ad-stats{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.ad-stats .card{padding:10px 12px!important}.ad-stats .stat{font-size:20px!important}
  .ad-stats .card .muted{font-size:11px}
  .ad-tbl,.comp{font-size:13px}
}
/* ---------- Tournament booking site (client) ---------- */
.ev-ed .hrow-more{grid-column:1/-1;background:#faf6ef;border-radius:8px;padding:6px 10px}.ev-ed .hrow-more summary{cursor:pointer;font-size:13px;color:#7a6a58}
.evb-hero{background:linear-gradient(135deg,#1f1813,#3d2f24);color:#fff;padding:38px 20px 70px;display:flex;gap:22px;align-items:center;justify-content:center;text-align:left}
.evb-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(24px,4vw,38px);margin:0 0 6px;color:#fff}.evb-dates{color:#e3cfa9;font-weight:600}
.evb-logo{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}
.evb-wrap{max-width:1180px;margin:-44px auto 0;padding:0 16px 40px;position:relative}
.evb-bar{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(44,35,28,.12);padding:14px;display:grid;grid-template-columns:1.3fr 1.6fr 1fr 1fr .6fr auto;gap:10px;align-items:end}
.evb-bar label{font-size:12px;color:#7a6a58;margin:0}.evb-bar select,.evb-bar input{margin-top:4px}.evb-bar .btn{height:46px}
.evb-combo{position:relative}.evb-list{position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid #e8dcc8;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12);max-height:320px;overflow:auto;margin-top:4px}
.evb-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:10px 14px 10px 26px;font:inherit;font-size:14px;cursor:pointer;color:#2C231C}.evb-list button:hover{background:#f7f2ea}
.evb-club{padding:9px 14px 4px;font-weight:700;font-size:13px;color:#2C231C;background:#faf6ef}
.evb-grid{display:grid;grid-template-columns:1fr 360px;gap:20px;margin-top:20px;align-items:start}.evb-grid aside{position:sticky;top:80px}
.evb-sort{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}.evb-sort select{width:auto;display:inline-block;padding:6px 10px}
.evb-h{padding:18px}.evb-h.off{opacity:.6}.evb-warn{background:#fff4e5;color:#b45309;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:12px}
.evb-hm{display:grid;grid-template-columns:140px 1fr auto;gap:16px;align-items:start}
.evb-ph{width:140px;height:110px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#4a3a2c,#2C231C);display:grid;place-items:center;color:#C9A063;font:700 34px "Playfair Display",serif}.evb-ph img{width:100%;height:100%;object-fit:cover}
.evb-hn{font-size:20px;font-weight:700;color:#2C231C;text-decoration:none}.evb-hn:hover{color:#8a6a3a}.evb-stars{color:#C9A063;font-weight:700;font-size:14px;margin:2px 0}
.evb-price{border:1px solid #e8dcc8;border-radius:10px;padding:8px 12px;text-align:right}.evb-price span{display:block;font-size:11px;color:#7a6a58}.evb-price b{font-size:22px;color:#2e7d32}
.evb-av{border-top:1px solid #efe7da;margin-top:14px;padding-top:10px}.evb-nights{display:flex;gap:0;overflow-x:auto;margin-top:6px}
.evb-nights div{padding:6px 18px;border-left:1px solid #e8dcc8;text-align:center;white-space:nowrap}.evb-nights div:last-child{border-right:1px solid #e8dcc8}
.evb-nights b{display:block;font-size:13px}.evb-nights span{font-size:12px;color:#7a6a58}.evb-nights .none b{color:#b45309}
.evb-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
.evb-sum h3{font-size:18px}.evb-empty{text-align:center;color:#C9A063;padding:14px 6px}.evb-empty b{display:block;color:#2C231C;margin-top:10px}
.evb-ci{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #efe7da}.evb-ci>div:last-child{text-align:right;white-space:nowrap}
.linkbtn{display:block;border:0;background:none;color:#9b2c2c;font-size:12px;cursor:pointer;padding:2px 0;margin-left:auto}
.evb-tot{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.evb-tot b{font-size:20px}
.evb-d h2{font-size:24px;margin:8px 0 2px}.evb-dh{display:flex;justify-content:space-between;gap:12px}.evb-big{width:100%;max-height:380px;object-fit:cover;border-radius:12px;margin:14px 0}
.evb-d h3{margin:22px 0 8px;color:#2C231C}.evb-d h4{margin:12px 0 2px;font-size:14px}.evb-d p{margin:2px 0 8px}
.evb-rt-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.evb-rt-h h3{margin:16px 0}
.evb-rt{margin-bottom:14px}.evb-rn{border:1px solid #e8dcc8;border-radius:10px;margin-top:6px;overflow:hidden}
.evb-rn>div{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 14px}.evb-rn>div:nth-child(even){background:#faf6ef}
.evb-rn em{font-style:normal;font-size:12px}.evb-rn em.ok{color:#2e7d32}.evb-rn em.no{color:#b45309}.evb-rate{font-weight:700;color:#2e7d32}
.evb-rn input{width:64px;display:inline-block;margin-left:6px;padding:6px}.evb-am{columns:2;padding-left:18px;margin:4px 0}
.evb-help{text-align:center;margin:40px 0 0;padding:28px 0;border-top:1px solid #e8dcc8}.evb-help h3{margin:0 0 16px}
.evb-help-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.evb-help-g b{display:block}.evb-help-g span,.evb-help-g a{color:#5a4a3a}
@media (max-width:900px){.evb-bar{grid-template-columns:1fr 1fr}.evb-team{grid-column:1/-1}.evb-bar .btn{grid-column:1/-1}.evb-grid{grid-template-columns:1fr}.evb-grid aside{position:static}
  .evb-hero{flex-direction:column;text-align:center;padding:26px 16px 64px}.evb-logo{width:80px;height:80px}.evb-hm{grid-template-columns:96px 1fr}.evb-ph{width:96px;height:80px}.evb-price{grid-column:1/-1;text-align:left;display:flex;gap:8px;align-items:baseline}
  .evb-rn>div{grid-template-columns:1fr auto}.evb-rn>div>span:first-child{grid-column:1/-1}.evb-help-g{grid-template-columns:1fr}.evb-foot .btn{flex:1}}
/* ---------- Tournament inventory (admin) ---------- */
.inv-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.inv-stats{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid #e8dcc8;border-radius:14px;padding:16px 0}
.inv-s{text-align:center;padding:4px 8px;border-right:1px solid #efe7da}.inv-s:last-child{border-right:0}.inv-s b{display:block;font-size:24px;color:#2C231C}.inv-s span{font-size:12px;color:#7a6a58}
.inv-hd{display:flex;gap:14px;align-items:center;margin:16px 0 10px}.inv-hd input{max-width:320px}
.inv-h{display:grid;grid-template-columns:120px minmax(220px,1.4fr) auto 2fr 40px;gap:16px;align-items:center;padding:14px}
.inv-ph{width:120px;height:92px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#4a3a2c,#2C231C);display:grid;place-items:center;color:#C9A063;font:700 28px "Playfair Display",serif}.inv-ph img{width:100%;height:100%;object-fit:cover}
.inv-name{font-weight:700;font-size:17px;color:#2C231C;text-decoration:none}.inv-tag{display:inline-block;font-size:11px;font-weight:700;color:#7a6a58;background:#f3ebdd;border-radius:6px;padding:1px 6px;margin:3px 0}
.inv-info .small{line-height:1.5}.inv-st{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.inv-live{width:auto;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;border:0;color:#fff;background:#2e7d32}.inv-live.paused{background:#b45309}.inv-live.closed{background:#6b7280}
.inv-nums{display:grid;grid-template-columns:repeat(4,1fr)}.inv-nums .inv-s b{font-size:20px}
.inv-more{position:relative}.inv-more summary{list-style:none;cursor:pointer;border:1px solid #e8dcc8;border-radius:6px;padding:2px 8px;font-size:12px;color:#7a6a58}.inv-more summary::-webkit-details-marker{display:none}
.inv-more>div{position:absolute;right:0;top:28px;z-index:10;background:#fff;border:1px solid #e8dcc8;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.1);min-width:210px;padding:6px}
.inv-more button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;font:inherit;font-size:14px;cursor:pointer;border-radius:6px}.inv-more button:hover{background:#f7f2ea}
.ev-li{display:grid;grid-template-columns:1fr auto auto auto;gap:18px;align-items:center;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}
.ev-li-n{text-align:center}.ev-li-n b{display:block;font-size:18px}.ev-li-n span{font-size:11px;color:#7a6a58}
@media (max-width:1000px){.inv-h{grid-template-columns:90px 1fr 40px}.inv-ph{width:90px;height:70px}.inv-st{grid-column:2}.inv-nums{grid-column:1/-1}.inv-stats{grid-template-columns:repeat(3,1fr);row-gap:12px}.inv-s:nth-child(3){border-right:0}
  .ev-li{grid-template-columns:1fr auto}.ev-li-n{display:none}}
.evb-h{margin-bottom:14px}.inv-h{margin-bottom:10px}
@media (max-width:900px){.evb-bar>label:first-child{grid-column:1/-1}}
/* Hotel finder in tournament editor */
.hf{border:1px solid #e8dcc8;border-radius:12px;padding:14px;margin:16px 0;background:#fffdf9}
.hf-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.hf-q{display:flex;gap:6px;flex:1;max-width:620px}.hf-q input{flex:1}.hf-q select{width:80px}
.hf-g{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.hf-map{height:460px;border-radius:10px;border:1px solid #e8dcc8}
.hf-l{max-height:460px;overflow:auto;border:1px solid #e8dcc8;border-radius:10px;background:#fff}
.hf-act{position:sticky;top:0;z-index:2;background:#fff;display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid #efe7da}.hf-act .btn{padding:6px 12px;font-size:13px}
.hf-i{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid #f3ece0;cursor:pointer;margin:0;font-size:14px;color:#2C231C}.hf-i.on{background:#f2fbf5}.hf-i a{color:#8a6a3a}
@media (max-width:900px){.hf-g{grid-template-columns:1fr}.hf-map{height:280px}.hf-q{max-width:none;flex-wrap:wrap}}
.hf-pin{width:16px;height:16px;border-radius:50%;border:3px solid #2C231C;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
.hf-venue{background:#C9A063;color:#2C231C;font:700 12px system-ui;padding:4px 9px;border-radius:999px;border:2px solid #2C231C;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.hf-vi{font-size:14px;margin:0 0 10px;padding:8px 12px;background:#f7f2ea;border-radius:8px}.hf-q select{width:90px}
/* Brand filter grouped by parent company */
.bq{margin:4px 0 6px;padding:8px 10px;font-size:14px}
.bg-p{display:flex;align-items:center;justify-content:space-between}.bg-p .opt{flex:1}
.bg-x{border:0;background:none;cursor:pointer;font-size:14px;color:#7a6a58;padding:4px 8px}
.bg-k{padding-left:22px;border-left:2px solid #efe7da;margin:0 0 4px 8px}.bg-k .opt{font-size:14px}
/* Disney vacations */
.dis-hero{background:radial-gradient(circle at 80% 20%,rgba(201,160,99,.35),transparent 50%),linear-gradient(135deg,#1f1813,#3d2f24);color:#fff;padding:56px 20px 70px}
.dis-hero>div{max-width:820px;margin:0 auto;text-align:center}.dis-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,5vw,44px);margin:8px 0 12px;color:#fff}
.dis-hero p{color:#e8dcc8;font-size:17px;line-height:1.55}.dis-k{color:#C9A063;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.dis-wrap{max-width:1000px;margin:-36px auto 0;padding:0 16px 40px;position:relative}.dis-wrap>h2{color:#fff;margin:0 0 12px;font-size:18px}
.dis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.dis-d{display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;font:inherit;color:#2C231C;border:2px solid transparent;padding:16px}.dis-d b{font-size:16px}
.dis-d.on{border-color:#C9A063;background:#fffaf1}.dis-d:hover{border-color:#e8dcc8}
.dis-x{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.dis-chip input{display:none}
.dis-chip span{display:inline-block;padding:7px 12px;border:1px solid #e8dcc8;border-radius:999px;font-size:13px;cursor:pointer;background:#fff}.dis-chip input:checked+span{background:#2C231C;color:#fff;border-color:#2C231C}
.dis-why{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.dis-why div{background:#fff;border:1px solid #efe7da;border-radius:12px;padding:14px}.dis-why b{display:block;margin-bottom:4px}.dis-why span{font-size:13px;color:#7a6a58}
@media (max-width:800px){.dis-grid{grid-template-columns:1fr 1fr}.dis-why{grid-template-columns:1fr 1fr}}@media (max-width:520px){.dis-grid{grid-template-columns:1fr}}
