/*
Theme Name: Chauffeur Luxe
Theme URI: http://localhost/chauffeur/
Author: Chauffeur
Description: A refined, conversion-focused chauffeur and executive travel theme.
Version: 1.0.0
Text Domain: chauffeur-luxe
*/

:root { --ink:#101313; --charcoal:#191d1d; --cream:#f5f1ea; --paper:#fffdf9; --gold:#b9904d; --muted:#777873; --line:rgba(16,19,19,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Manrope",Arial,sans-serif; font-size:15px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1180px,calc(100% - 48px)); margin:auto; }
.eyebrow { margin:0 0 12px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.display { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(42px,5vw,72px); font-weight:500; letter-spacing:-.045em; line-height:.94; }
.section-title { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(37px,4vw,58px); font-weight:500; letter-spacing:-.04em; line-height:1; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 23px; border:1px solid transparent; border-radius:999px; background:var(--gold); color:white; font-size:12px; font-weight:800; letter-spacing:.03em; transition:.25s ease; }
.button:hover { transform:translateY(-2px); background:#967239; }
.button--light { background:white; color:var(--ink); }
.button--outline { background:transparent; border-color:rgba(255,255,255,.45); color:white; }
.site-header { position:absolute; z-index:3; top:0; width:100%; color:white; }
.nav { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:88px; border-bottom:1px solid rgba(255,255,255,.2); }
.brand { display:inline-flex; align-items:center; }
.brand-logo { display:block; width:108px; height:auto; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:12px; font-weight:700; }
.nav-links a:not(.button) { opacity:.9; }
.nav-links a:not(.button):hover { color:#e9c984; }
.menu-toggle { display:none; width:44px; height:44px; padding:11px; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:transparent; cursor:pointer; }
.menu-toggle span:not(.screen-reader-text) { display:block; width:20px; height:1px; margin:4px auto; background:white; transition:transform .2s ease,opacity .2s ease; }
.menu-toggle.is-open span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity:0; }
.menu-toggle.is-open span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
.hero { position:relative; min-height:760px; padding:180px 0 88px; color:white; background:linear-gradient(90deg,rgba(6,10,10,.9),rgba(6,10,10,.36)),url('assets/images/s-class-real.jpg') center 65%/cover; }
.hero-content { max-width:660px; }
.hero .eyebrow { color:#e8c27a; }
.hero-copy { max-width:500px; margin:22px 0 32px; color:rgba(255,255,255,.78); font-size:16px; }
.booking { position:relative; z-index:2; margin-top:-58px; padding:29px 31px; border-radius:6px; background:var(--paper); box-shadow:0 22px 50px rgba(0,0,0,.16); }
.booking-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:21px; }
.booking-head strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:25px; font-weight:600; }
.booking-head span { color:var(--muted); font-size:12px; }
.booking-grid { display:grid; grid-template-columns:1.5fr 1.5fr 1fr 1fr auto; gap:12px; }
.field { padding:10px 13px; border:1px solid var(--line); border-radius:3px; background:white; }
.field label { display:block; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.field input { width:100%; padding:2px 0 0; border:0; outline:0; background:transparent; color:var(--ink); font:600 13px "Manrope",sans-serif; }
.booking .button { min-height:auto; }
.intro { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:50px; padding:150px 0 70px; }
.intro p:last-child { margin:0; color:#565a56; max-width:410px; }
.fleet { padding:24px 0 140px; }
.fleet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
.car-card { overflow:hidden; background:#eeece7; }
.car-photo { height:252px; background-position:center; background-size:cover; transition:transform .5s ease; }
.car-card:hover .car-photo { transform:scale(1.045); }
.car-info { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px; background:var(--paper); }
.car-info h3 { margin:0 0 5px; font-family:"Cormorant Garamond",Georgia,serif; font-size:25px; font-weight:600; line-height:1; }
.car-info p { margin:0; color:var(--muted); font-size:11px; }
.car-price { color:var(--gold); font-size:12px; font-weight:800; white-space:nowrap; }
.dark-panel { padding:120px 0; background:var(--ink); color:white; }
.services-title { max-width:570px; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:45px; background:rgba(255,255,255,.13); }
.service { min-height:250px; padding:30px 26px; background:var(--charcoal); }
.service-icon { display:grid; width:40px; height:40px; place-items:center; margin-bottom:47px; border:1px solid rgba(185,144,77,.65); border-radius:50%; color:#e3bd76; font-size:18px; }
.service h3 { margin:0 0 10px; font-family:"Cormorant Garamond",Georgia,serif; font-size:26px; font-weight:500; line-height:1; }
.service p { margin:0; color:rgba(255,255,255,.65); font-size:12px; }
.experience { display:grid; grid-template-columns:1fr 1fr; min-height:580px; }
.experience-copy { display:flex; flex-direction:column; justify-content:center; padding:90px max(24px,calc((100vw - 1180px)/2)); padding-right:80px; background:#eae3d5; }
.experience-copy p:not(.eyebrow) { max-width:430px; color:#555; }
.experience-image { min-height:400px; background:url('https://images.unsplash.com/photo-1549924231-f129b911e442?auto=format&fit=crop&w=1300&q=85') center/cover; }
.quote { padding:125px 0; color:white; text-align:center; background:linear-gradient(rgba(4,7,7,.66),rgba(4,7,7,.78)),url('https://images.unsplash.com/photo-1502877338535-766e1452684a?auto=format&fit=crop&w=2000&q=85') center/cover; }
.quote .section-title { max-width:720px; margin:0 auto 22px; }
.quote p:not(.eyebrow) { max-width:610px; margin:0 auto 30px; color:rgba(255,255,255,.75); }
.contact-page { background:var(--paper); }
.contact-hero { padding:180px 0 88px; color:white; background:linear-gradient(90deg,rgba(6,10,10,.92),rgba(6,10,10,.46)),url('assets/images/s-class-real.jpg') center 64%/cover; }
.contact-hero p:not(.eyebrow) { max-width:520px; margin:22px 0 0; color:rgba(255,255,255,.78); font-size:16px; }
.contact-content { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding:110px 0 130px; }
.contact-details { padding-top:8px; }
.contact-details h2 { margin:0 0 24px; font-family:"Cormorant Garamond",Georgia,serif; font-size:36px; font-weight:500; line-height:1; }
.contact-details p { max-width:350px; color:#555; }
.contact-detail-list { margin:32px 0 0; padding:0; list-style:none; }
.contact-detail-list li { padding:17px 0; border-top:1px solid var(--line); }
.contact-detail-list span { display:block; margin-bottom:3px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.contact-detail-list a,.contact-detail-list strong { font-size:14px; font-weight:700; }
.contact-form { padding:38px; background:#eee8dd; }
.contact-form h2 { margin:0 0 7px; font-family:"Cormorant Garamond",Georgia,serif; font-size:40px; font-weight:500; line-height:1; }
.contact-form > p { margin:0 0 27px; color:#666; font-size:13px; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-form .field { background:var(--paper); }
.contact-form .field--full { grid-column:1/-1; }
.contact-form textarea { width:100%; min-height:104px; padding:3px 0 0; border:0; outline:0; resize:vertical; background:transparent; color:var(--ink); font:600 13px "Manrope",sans-serif; }
.contact-form-note { margin:16px 0 0; color:#777; font-size:11px; }
.contact-notice { margin:0 0 24px; padding:13px 15px; border-left:3px solid var(--gold); background:rgba(185,144,77,.12); color:#47433b; font-size:13px; }
.contact-notice--error { border-color:#a44; background:rgba(164,68,68,.1); color:#6d3030; }
.contact-honeypot { position:absolute; left:-9999px; overflow:hidden; width:1px; height:1px; }
.site-footer { padding:67px 0 25px; background:#0d1010; color:white; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-bottom:37px; border-bottom:1px solid rgba(255,255,255,.15); }
.footer-top h2 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:37px; font-weight:500; }
.footer-grid { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:30px; padding:47px 0; }
.footer-grid h3 { margin:0 0 14px; color:#d2ad69; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.footer-grid p,.footer-grid a { display:block; margin:0 0 7px; color:rgba(255,255,255,.65); font-size:12px; }
.footer-grid a:hover { color:white; }
.copyright { padding-top:20px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.42); font-size:11px; }
.photo-credit { margin:10px 0 0; color:rgba(255,255,255,.42); font-size:10px; }
.photo-credit a { text-decoration:underline; text-underline-offset:2px; }
@media (max-width:850px) { .menu-toggle { display:block; } .nav-links { display:none; position:absolute; top:calc(100% + 12px); left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:12px 20px; border:1px solid rgba(255,255,255,.18); background:#111515; box-shadow:0 18px 35px rgba(0,0,0,.24); } .nav-links.is-open { display:flex; } .nav-links a:not(.button) { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); } .nav-links .button { width:100%; margin-top:13px; } .hero { min-height:680px; } .booking-grid { grid-template-columns:1fr 1fr; } .booking .button { min-height:48px; } .fleet-grid { grid-template-columns:1fr 1fr; } .services-grid { grid-template-columns:1fr 1fr; } .experience-copy { padding:65px 42px; } .contact-content { gap:45px; } }
@media (max-width:560px) { .wrap { width:min(100% - 32px,1180px); } .nav { min-height:72px; } .brand-logo { width:88px; } .hero { min-height:620px; padding-top:145px; } .display { font-size:48px; } .booking { margin-top:-28px; padding:22px 17px; } .booking-head { display:block; } .booking-head span { display:block; margin-top:4px; } .booking-grid,.fleet-grid,.services-grid,.experience,.intro,.footer-grid,.contact-content,.contact-form-grid { grid-template-columns:1fr; } .intro { gap:20px; padding:90px 0 45px; } .fleet { padding-bottom:85px; } .car-photo { height:230px; } .dark-panel { padding:85px 0; } .experience-copy { padding:70px 24px; } .contact-content { padding:75px 0; } .contact-form { padding:28px 20px; } .contact-form .field--full { grid-column:auto; } .footer-top { align-items:flex-start; flex-direction:column; } }
