/* Black and white luxury theme */
:root { --bg:#050505; --card:#0e0e0e; --tx:#f5f5f5; --muted:#9b9b9b; --gold:#f5f5f5; --line:#262626; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--tx); font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased; }
::selection { background:#fff; color:#000; }
a { color:#fff; }
h1, h2, h3, .logo, .price, .rc-brand, .fbx-name { font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif; font-weight:400; }
h1, h2 { letter-spacing:.06em; }
.muted, small { color:var(--muted); }
[class*="eyebrow"] { color:#a8a8a8 !important; letter-spacing:.34em !important; }

/* header and footer */
.site-header { position:sticky; top:0; z-index:30; padding:20px 5%; background:rgba(5,5,5,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.logo { color:#fff; font-size:22px; letter-spacing:.32em; }
.site-header nav a { color:#bdbdbd; font-size:11px; letter-spacing:.26em; margin-left:28px; padding-bottom:4px; border-bottom:1px solid transparent; transition:color .25s, border-color .25s; }
.site-header nav a:hover, .site-header nav a.active { color:#fff; border-bottom-color:#fff; }
.site-footer { background:#000; border-top:1px solid var(--line); letter-spacing:.04em; }
.ft b { color:#fff !important; letter-spacing:.26em !important; }
.video-banner { border-bottom:1px solid var(--line); }

/* buttons */
.btn, button.btn { display:inline-block; text-align:center; background:#fff; color:#000; border:1px solid #fff; border-radius:0; padding:14px 30px; font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background .25s, color .25s; }
.btn:hover, button.btn:hover { background:transparent; color:#fff; }
.btn.outline, button.btn.outline { background:transparent; color:#fff; border:1px solid #fff; }
.btn.outline:hover, button.btn.outline:hover { background:#fff; color:#000; }

/* cards and boxes: square, hairline borders */
.card, .feat, .ct-card, .hw-card, .tk-card, .tk-box, .fbx, .fbx-card, .dnd-box, .rc, .vf-table, .fb-wrap, .feed-card { background:var(--card); border:1px solid var(--line); }
body :is(.card, .feat, .ct-card, .hw-card, .tk-card, .tk-box, .fbx, .fbx-card, .dnd-box, .rc, .vf-table, .fb-wrap, .feed-card, .pic, .g-main, .notice, .hw-faq details, .tk-faq details, .tk-preview, .tk-recent, .fbx-empty) { border-radius:0 !important; }
.card:hover, .feat:hover, .ct-card:hover, .hw-card:hover, .tk-card:hover, .fbx-card:hover { border-color:#fff; }
.car .pic { background:linear-gradient(135deg, #1a1a1a, #0a0a0a); }
.price { font-size:26px; letter-spacing:.02em; }

/* tags and badges */
body :is(.tags span, .static-chips span, .hw-tags span, .chips a, .feat-tags span, .badge, .fbx-avatar, .ct-icon, .tk-num, .hw-num, .icon) { border-radius:0 !important; }
span[style*="border-radius"] { border-radius:0 !important; }
.chips a.on { background:#fff; color:#000; border-color:#fff; }
.badge { padding:3px 12px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; border:1px solid #666; background:transparent !important; color:#ddd; }
.badge.confirmed { background:#fff !important; color:#000; border-color:#fff; }
.badge.completed { border-color:#fff; color:#fff; }
.badge.cancelled { color:#8a8a8a; border-color:#444; text-decoration:line-through; }
.notice { background:rgba(255,255,255,.05); border:1px solid #fff; }
.notice.ok { border-color:#fff; }
.notice.bad { border-color:#666; }

/* forms */
input[type=text], input[type=email], input[type=date], input[type=password], textarea, select { background:#0a0a0a; border:1px solid #333; border-radius:0; color:#fff; }
input:focus, textarea:focus, select:focus { outline:none; border-color:#fff; box-shadow:none; }
.field label { letter-spacing:.2em; }

/* date calendar */
.flatpickr-calendar { background:#0e0e0e !important; border:1px solid #333 !important; box-shadow:0 18px 40px rgba(0,0,0,.6) !important; border-radius:0 !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background:#fff !important; border-color:#fff !important; color:#000 !important; }
.flatpickr-day.today { border-color:#fff !important; }
.flatpickr-day:hover { background:#262626 !important; border-color:#262626 !important; }

@media (max-width:700px) {
  .site-header { padding:14px 5%; }
  .logo { font-size:18px; letter-spacing:.2em; }
  .site-header nav a { margin-left:14px; letter-spacing:.16em; }
}

/* price caption: small and tidy */
.price small { font-family:"Inter", system-ui, sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }

/* car cards: keep price and button aligned across the row */
.card.car { display:flex; flex-direction:column; }
.card.car .price { margin-top:auto; padding-top:14px; font-size:28px; line-height:1.2; }
.card.car .price small { display:block; margin-top:2px; }
.card.car .btn { align-self:flex-start; margin-top:4px; }

/* gallery: show the whole photo, fill the sides with a soft dark blur */
.g-slide { overflow:hidden; background:#050505; }
.g-slide::before { content:""; position:absolute; inset:-40px; background:var(--bg) center/cover no-repeat; filter:blur(30px) brightness(.38); }
.g-slide img { position:relative; width:100%; height:100%; object-fit:contain !important; }
.g-slide .g-cap { z-index:2; }
.g-thumbs img { object-fit:contain; background:#0a0a0a; }

/* mobile nav: wrapped links line up with the first one */
@media (max-width:700px) {
  .site-header nav { display:flex; flex-wrap:wrap; gap:10px 18px; width:100%; }
  .site-header nav a { margin-left:0; }
}

/* visible checkbox on every device */
input[type=checkbox] { -webkit-appearance:none; appearance:none; width:22px; height:22px; flex:none; border:1.5px solid #bdbdbd; background:transparent; border-radius:3px; display:inline-grid; place-content:center; cursor:pointer; vertical-align:middle; }
input[type=checkbox]::before { content:""; width:12px; height:7px; border-left:3px solid #000; border-bottom:3px solid #000; transform:rotate(-45deg) translate(1px,-1px); opacity:0; }
input[type=checkbox]:checked { background:#fff; border-color:#fff; }
input[type=checkbox]:checked::before { opacity:1; }
input[type=checkbox]:focus-visible { outline:2px solid #fff; outline-offset:2px; }

/* phones: keep all five menu links on one row */
@media (max-width:700px) {
  .site-header nav { flex-wrap:nowrap; justify-content:space-between; gap:0 8px; }
  .site-header nav a { font-size:10px; letter-spacing:.06em; white-space:nowrap; padding-bottom:3px; }
}
@media (max-width:360px) {
  .site-header nav a { font-size:9px; letter-spacing:.03em; }
}
