/* DreamCar / daylight showroom. Shared public theme; admin remains independent. */
:root {
  --navy:#f7f9fc; --surface:#fff; --surface-2:#edf1f6; --border:#dce2ea;
  --cream:#182433; --muted:#596574; --emerald:#175ce5; --emerald-bright:#124dbd;
  --gold:var(--emerald); --gold-bright:var(--emerald-bright); --platinum:#46576a;
  --amber:#915713; --danger:#b82c32; --radius:12px; --radius-lg:22px;
  --shadow:0 18px 55px rgba(28,51,85,.08);
}
body { background:var(--navy); }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
:focus-visible { outline:3px solid #175ce5; outline-offset:4px; }
[hidden] { display:none !important; }
.container { max-width:1400px; padding-inline:40px; }
.site-header { background:rgba(255,255,255,.94); }
.site-header .container { min-height:84px; height:auto; padding-block:20px; gap:24px; }
.logo { letter-spacing:-.055em; gap:3px; font-size:1.35rem; }
.main-nav { gap:24px; }
.main-nav a { color:var(--muted); font-size:.875rem; }
.main-nav a.active { color:var(--emerald); }
.main-nav a:last-child { padding:10px 18px; border:1px solid var(--border); border-radius:8px; }
.ticker-bar { background:#edf3ff; padding:9px 24px; }
.trust-ribbon { font-size:.875rem; gap:12px 28px; }
.trust-ribbon>span:last-child { display:none; }
.trust-ribbon .dot { display:none; }
.btn-gold,.btn-primary { background:var(--emerald); color:#fff; box-shadow:0 6px 16px #175ce51c; }
.btn-gold:hover,.btn-primary:hover { background:#104bbf; box-shadow:0 8px 24px #175ce533; transform:translateY(-2px); }
.btn-outline { background:#fff; }
.btn-outline:hover { background:#edf3ff; border-color:var(--emerald); }
.hero { background:linear-gradient(155deg,#fff 20%,#edf3fb 100%); border:0; padding:56px 0 0; }
.hero-heading { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:60px; padding-bottom:36px; }
.hero-eyebrow { border:0; padding:0; background:none; border-radius:0; font-size:.875rem; letter-spacing:.12em; margin-bottom:20px; }
.hero h1 { font-size:clamp(3.5rem,7.5vw,7rem); line-height:1.02; letter-spacing:-.075em; font-weight:600; margin:0; }
.hero h1 em { color:var(--emerald); }
.hero-intro { padding-bottom:4px; max-width:490px; justify-self:end; }
.hero-sub { color:#536276; font-size:1.125rem; max-width:440px; }
.hero-actions { gap:24px; align-items:center; margin-top:24px; }
.hero-how { font-size:.9375rem; text-decoration:underline; text-underline-offset:5px; }
.hero-note { font-size:.875rem; margin:18px 0 0; }
.hero-stage { position:relative; }
.hero-prize { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 30px; background:#fff; border:1px solid var(--border); border-top:0; border-radius:0 0 22px 22px; }
.hero-prize strong { display:block; font-family:var(--font-display); font-size:1.25rem; line-height:1.35; }
.editorial-label { display:block; font-size:.875rem; letter-spacing:.12em; font-weight:600; color:var(--emerald-bright); margin-bottom:10px; }
.hero-ticket { flex-shrink:0; border-left:1px solid var(--border); padding-left:30px; }
.hero-ticket small { display:block; font-size:.875rem; color:var(--muted); }
.hero-ticket strong { color:var(--emerald); font-size:1.6rem; }
.hero-stats { margin:0; padding:28px 0 34px; border-top:0; align-items:center; gap:50px; }
.hero-stat .num { font-size:1.5rem; }
.hero-stat .label { font-size:.875rem; }
.hero-browse { margin-left:auto; font-size:.9375rem; color:var(--emerald-bright); }
.hero-grid { gap:36px; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.hero-grid>div,.footer-grid>div { min-width:0; }
.section { padding:76px 0; }
.section-tight { padding:40px 0; }
.section-head h2 { letter-spacing:-.04em; font-size:clamp(1.8rem,3vw,2.8rem); }
.verify-strip { border-radius:0; background:none; border:0; gap:0; border-block:1px solid var(--border); }
.verify-item { background:transparent; padding:24px 16px; }
.verify-item+.verify-item { border-left:1px solid var(--border); }
.verify-item .v-icon { display:none; }
.verify-item .v-sub,.verify-item .v-title { font-size:.875rem; }
.featured-strip { border:0; box-shadow:var(--shadow); grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.featured-media { min-width:0; min-height:360px; }
.featured-content { padding:44px; }
.featured-content h2 { font-size:clamp(1.7rem,2.5vw,2.5rem); letter-spacing:-.045em; }
.featured-media .car-gallery { height:100%; display:flex; flex-direction:column; }
.featured-media .gallery-stage { flex:1; min-height:330px; border-radius:0; }
.gallery-slide.is-active { animation:showroom-reveal .65s ease-out; }
@keyframes showroom-reveal { from { opacity:.45; } to { opacity:1; } }
.featured-media .gallery-slide img { position:static; }
.featured-media .gallery-thumbs { padding:10px; }
.featured-media .gallery-thumbs img { position:static; width:100%; height:62px; }
.comp-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); }
.comp-card:only-child { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
.comp-card:only-child .comp-media { aspect-ratio:16/9; height:100%; min-height:280px; }
.comp-card:only-child .comp-body { padding:32px; }
.comp-card:only-child h3 { font-size:1.75rem; }
.comp-card { box-shadow:0 4px 18px #23364d05; transition:transform .3s,box-shadow .3s; }
.comp-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.comp-media { overflow:hidden; }
.comp-media img { transition:transform .7s; }
.comp-card:hover .comp-media img { transform:scale(1.035); }
.badge { font-size:.875rem; }
.badge-live { background:#e5f4eb; color:#216044; }
.badge-ending { background:#fff0d9; color:#875012; }
.comp-category,.progress-meta,.comp-price small { font-size:.875rem; }
.comp-price { font-size:1.35rem; }
.progress-track { background:#e6ebf2; }
.trust-card { border-radius:14px; }
.trust-icon { background:#edf3ff; border-color:#d6e3ff; }
label { color:var(--cream); font-size:.9375rem; }
.alert-error { color:#a62c25; background:#fff0ed; }
.alert-info { background:#eef4fc; color:#3d5269; border-color:#d6e2f0; }
.site-footer { background:#eaf0f7; padding-top:55px; }
.footer-grid { grid-template-columns:1.2fr .8fr .8fr 1.3fr; gap:30px; }
.footer-grid h4,.footer-bottom { font-size:.875rem; }
.footer-grid form input { min-width:0; }
.footer-grid .logo { color:var(--cream); font-size:1.25rem; }
.table th,.copy-btn { font-size:.875rem; }
/* Shared progressive-enhancement gallery */
.gallery-stage { position:relative; aspect-ratio:16/11; overflow:hidden; background:#e6eaf0; border-radius:18px; isolation:isolate; touch-action:pan-y; }
.gallery-slide { display:block; position:absolute; inset:0; }
.gallery-slide img { width:100%; height:100%; object-fit:cover; }
.gallery-cinematic .gallery-stage { aspect-ratio:16/9; border-radius:22px 22px 0 0; }
.gallery-cinematic .gallery-slide.is-active img { animation:showroom-pan 18s ease-in-out infinite alternate; }
@keyframes showroom-pan { from { transform:scale(1); } to { transform:scale(1.065); } }
.car-gallery.is-paused img { animation-play-state:paused !important; }
.gallery-controls { position:absolute; bottom:18px; left:18px; right:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; z-index:2; pointer-events:none; }
.gallery-controls>* { pointer-events:auto; }
.gallery-controls button,.gallery-navigation { color:#182433; background:rgba(255,255,255,.96); border:0; border-radius:8px; font-size:.875rem; }
.gallery-controls button { padding:10px 14px; cursor:pointer; min-height:44px; }
.gallery-controls button:hover { background:#e1ebff; }
.gallery-navigation { display:flex; align-items:center; gap:4px; padding:2px; box-shadow:0 2px 14px #18243314; }
.gallery-navigation span { padding:0 12px; font-variant-numeric:tabular-nums; }
.gallery-thumbs { display:flex; gap:10px; overflow-x:auto; padding:12px 0 6px; scrollbar-width:thin; }
.gallery-thumbs a { flex:0 0 94px; border:2px solid transparent; padding:3px; border-radius:10px; }
.gallery-thumbs a[aria-current=true] { border-color:var(--emerald); }
.gallery-thumbs img { width:100%; height:62px; object-fit:cover; border-radius:5px; }
.gallery-cinematic .gallery-thumbs { background:#fff; padding-inline:14px; }
.gallery-empty { display:grid; place-items:center; min-height:280px; background:var(--surface-2); border-radius:18px; color:var(--muted); }
.photo-dialog { width:min(1400px,96vw); max-width:96vw; height:92dvh; max-height:92dvh; border:1px solid var(--border); padding:0; border-radius:18px; background:#f7f9fc; color:var(--cream); }
.photo-dialog::backdrop { background:rgba(22,32,46,.78); backdrop-filter:blur(10px); }
.photo-dialog-inner { height:100%; display:flex; flex-direction:column; }
.photo-dialog-header,.photo-dialog-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 20px; }
.photo-dialog-header p { margin:0; color:var(--cream); font-size:1rem; }
.photo-dialog button,.photo-dialog a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 14px; border:1px solid var(--border); background:white; color:var(--cream); border-radius:8px; cursor:pointer; font-size:.875rem; }
.photo-dialog-image { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:auto; touch-action:pan-y; }
.photo-dialog-image img { width:100%; height:100%; object-fit:contain; }
.photo-dialog-footer>div { display:flex; align-items:center; gap:16px; }
html.photo-open { overflow:hidden; }
@media(min-width:861px) and (max-width:1120px) { .main-nav { gap:14px; } .container { padding-inline:24px; } .logo { font-size:1.1rem; } }
@media(max-width:1000px) { .hero-heading { gap:30px; } .hero-actions { gap:16px; } .hero-actions .btn { padding-inline:22px; } .hero-grid { grid-template-columns:1fr; } .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:860px) {
  .container { padding-inline:22px; }
  .site-header .container { min-height:74px; padding-block:16px; }
  .main-nav { inset:74px 0 auto; height:calc(100dvh - 74px); overflow:auto; background:#fff; transform:none; display:none; border-top:1px solid var(--border); }
  .main-nav.open { display:flex; }
  .main-nav a { font-size:1.125rem; }
  .hero { padding-top:32px; }
  .hero-heading { grid-template-columns:1fr; gap:24px; }
  .hero-intro { justify-self:start; max-width:none; }
  .hero-sub { max-width:600px; }
  .hero h1 { font-size:clamp(3.8rem,11vw,6rem); }
  .gallery-cinematic .gallery-stage { aspect-ratio:16/10; }
  .hero-stats { gap:26px; }
  .hero-browse { display:none; }
  .featured-strip { grid-template-columns:1fr; }
  .featured-media .gallery-stage { min-height:0; aspect-ratio:16/10; }
  .featured-content { padding:28px; }
  .verify-item:nth-child(3) { border-left:0; }
  .comp-card:only-child { display:flex; }
  .comp-card:only-child .comp-media { min-height:0; }
  .section { padding:48px 0; }
}
@media(max-width:540px) {
  .container { padding-inline:16px; }
  .logo { font-size:1.125rem; }
  .ticker-bar { padding-inline:16px; }
  .trust-ribbon { justify-content:center; }
  .trust-ribbon>span:nth-child(2) { display:none; }
  .hero-eyebrow { font-size:.8125rem; letter-spacing:.07em; }
  .hero h1 { font-size:clamp(3rem,13vw,4.6rem); }
  .hero-sub { font-size:1rem; }
  .hero-heading { padding-bottom:24px; }
  .hero-prize { align-items:start; padding:20px; gap:16px; flex-direction:column; }
  .hero-prize strong { font-size:1.125rem; }
  .hero-ticket { padding:12px 0 0; border-left:0; border-top:1px solid var(--border); width:100%; display:flex; justify-content:space-between; align-items:center; }
  .hero-ticket strong { font-size:1.3rem; }
  .hero-stats { justify-content:space-between; gap:12px; }
  .hero-stat .num { font-size:1.35rem; }
  .hero-stat .label { font-size:.8125rem; }
  .gallery-controls { bottom:10px; left:10px; right:10px; gap:6px; flex-wrap:wrap; }
  .gallery-controls button { padding-inline:10px; }
  .gallery-navigation span { padding-inline:6px; }
  .gallery-stage { aspect-ratio:4/3; }
  .gallery-thumbs a { flex-basis:76px; }
  .gallery-thumbs img,.featured-media .gallery-thumbs img { height:50px; }
  .footer-grid { grid-template-columns:1fr; }
  .section-tight { padding:28px 0; }
  .comp-card:only-child .comp-body,.panel { padding:22px; }
  .photo-dialog-header,.photo-dialog-footer { padding:10px; }
  .photo-dialog-footer>div { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
