/* ═══════════════════════════════════════════════════════════
   Daytona Carrosserie — feuille de style unique du site
   Design d'origine : v0.app (tools/v0-source/app/globals.css).
   Les règles « Site » ci-dessous en sont la copie exacte, une règle
   par ligne ; seuls les chemins des photos ont changé (JPEG).
   ═══════════════════════════════════════════════════════════ */

/* ─── Base : remise à zéro de Tailwind (preflight) ───
   Le site v0 était compilé avec Tailwind ; ces règles reproduisent sa
   remise à zéro, dans une couche (@layer) pour que les règles du site
   l'emportent toujours sur elles, exactement comme dans l'original. */
@layer base {
  *, ::before, ::after, ::backdrop { box-sizing:border-box; border:0 solid; margin:0; padding:0; }
  html { -webkit-text-size-adjust:100%; tab-size:4; line-height:1.5; font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -webkit-tap-highlight-color:transparent; }
  h1, h2, h3, h4, h5, h6 { font-size:inherit; font-weight:inherit; }
  a { color:inherit; text-decoration:inherit; }
  img, svg { vertical-align:middle; display:block; }
  img { max-width:100%; height:auto; }
  button, input, textarea { font:inherit; font-feature-settings:inherit; font-variation-settings:inherit; letter-spacing:inherit; color:inherit; opacity:1; background-color:transparent; border-radius:0; }
  ::placeholder { opacity:1; }
  textarea { resize:vertical; }
  button, input:where([type=submit]) { appearance:button; }
  :-moz-focusring:where(:not(iframe)) { outline:auto; }
  :-moz-ui-invalid { box-shadow:none; }
  [hidden]:where(:not([hidden=until-found])) { display:none !important; }
  .antialiased { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
}

/* ─── Site ─── */
:root { --ink:#121212; --muted:#77736f; --line:#d8d5d0; --paper:#efede9; --red:#d4312d; --dark:#191919; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-shell { overflow:hidden; }
.site-header { height:88px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; background:var(--paper); position:relative; z-index:10; }
.brand, .footer-brand { display:flex; align-items:center; letter-spacing:.04em; overflow:hidden; background:#000; flex:none; }
.brand { width:250px; height:78px; }
.brand img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 56%; background:#000; }
.footer-brand { width:250px; height:78px; }
.footer-brand img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 56%; background:#000; }
.nav { display:flex; gap:31px; margin-left:auto; margin-right:44px; }
.nav a { font-size:11px; text-transform:uppercase; letter-spacing:.13em; color:#68645f; transition:color .2s; }
.nav a:hover, .nav a.active { color:var(--red); }
.nav a.active:after { content:''; display:block; width:4px; height:4px; background:var(--red); border-radius:50%; margin:7px auto 0; }
.header-phone { display:flex; align-items:center; gap:16px; font-size:12px; letter-spacing:.07em; }
.header-phone i, .button span, .text-link span, .contact-phone span { color:var(--red); font-style:normal; font-size:19px; }
.menu-toggle { display:none; background:none; border:0; font-size:25px; }
.hero { position:relative; min-height:calc(100vh - 88px); display:flex; align-items:center; color:#fff; background:#252525; }
.hero-image { position:absolute; inset:0; background:url('images/daytona-hero.jpg') center/cover no-repeat; filter:saturate(.75); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,12,12,.89) 0%,rgba(12,12,12,.55) 50%,rgba(12,12,12,.2) 100%); }
.hero-content { position:relative; z-index:1; max-width:620px; margin-left:11vw; padding:80px 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:10px; color:#c4c0bb; display:flex; align-items:center; gap:12px; margin:0 0 28px; }
.eyebrow span { display:inline-block; width:24px; height:1px; background:var(--red); }
.eyebrow.dark { color:#807b75; }
.hero h1, .statement h2, .contact h2 { margin:0; font:400 clamp(48px,6vw,86px)/.95 Georgia, 'Times New Roman', serif; letter-spacing:-.045em; }
.hero h1 em, .statement em, .contact h2 em, .atelier h2 em { color:var(--red); font-style:italic; }
.hero-copy { max-width:405px; color:#bbb8b2; font-size:14px; line-height:1.75; margin:34px 0 31px; }
.hero-actions { display:flex; gap:28px; align-items:center; }
.button { display:inline-flex; align-items:center; gap:30px; border:0; padding:17px 21px; text-transform:uppercase; letter-spacing:.14em; font-size:10px; cursor:pointer; }
.button-red { background:var(--red); color:#fff; }
.button-dark { background:var(--ink); color:#fff; }
.text-link { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.text-link span { margin-left:11px; }
.hero-meta { position:absolute; right:5.5vw; bottom:38px; display:flex; gap:45px; color:#a6a29d; font-size:9px; text-transform:uppercase; letter-spacing:.16em; z-index:1; }
.hero-scroll { position:absolute; bottom:35px; left:5.5vw; z-index:1; font-size:9px; text-transform:uppercase; letter-spacing:.18em; color:#b3afa9; writing-mode:vertical-rl; display:flex; gap:10px; align-items:center; }
.section-pad { padding:130px 11vw; }
.services { background:var(--paper); display:flex; gap:9vw; }
.section-intro { min-width:260px; }
.section-intro h2, .atelier h2 { margin:0; font:400 clamp(40px,4vw,60px)/1.03 Georgia,serif; letter-spacing:-.04em; }
.service-grid { flex:1; display:grid; grid-template-columns:repeat(2,1fr); gap:55px 70px; }
.service-card { border-top:1px solid var(--line); padding-top:18px; }
.service-top { display:flex; justify-content:space-between; color:#9b968e; font-size:11px; }
.service-icon { color:var(--red); font-size:25px; }
.service-card h3 { margin:28px 0 12px; font:400 29px Georgia,serif; }
.service-card p { color:var(--muted); line-height:1.65; font-size:13px; max-width:240px; min-height:43px; }
.service-card a { display:inline-block; margin-top:20px; text-transform:uppercase; font-size:9px; letter-spacing:.15em; color:var(--red); }
.service-card a span { font-size:16px; margin-left:9px; }
.statement { background:var(--dark); color:#f1efec; padding:120px 18vw; display:flex; justify-content:space-between; align-items:end; gap:80px; }
.statement h2 { font-size:clamp(44px,5vw,72px); }
.statement > p { max-width:310px; color:#a8a39e; font:17px/1.6 Georgia,serif; margin:0; }
.atelier { display:grid; grid-template-columns:1fr 1fr; background:#dfdcd7; }
.atelier-photo { min-height:540px; background:url('images/daytona-workshop.jpg') center/cover; }
.atelier-copy { padding:100px 12%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.atelier-copy > p:not(.eyebrow) { color:var(--muted); line-height:1.7; font-size:14px; max-width:390px; margin:30px 0; }
.atelier h2 { font-size:clamp(38px,4vw,58px); }
.contact { background:var(--red); color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.contact .eyebrow { color:#f6c0bd; }
.contact h2 { font-size:clamp(42px,4.7vw,68px); }
.contact-phone { display:inline-block; margin-top:44px; font-size:22px; letter-spacing:.02em; }
.contact-phone span { color:#fff; margin-left:12px; }
.contact-form { border-top:1px solid rgba(255,255,255,.35); padding-top:10px; }
.contact-form label { display:block; color:#f2b1ae; font-size:10px; text-transform:uppercase; letter-spacing:.15em; padding:20px 0 0; }
.contact-form input, .contact-form textarea { display:block; width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.45); background:transparent; padding:12px 0 14px; color:#fff; outline:0; font:16px Georgia,serif; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:#f8d1ce; }
.submit { margin-top:28px; }
.success { padding:45px 0; }
.success span { display:grid; place-items:center; width:40px; height:40px; border:1px solid white; border-radius:50%; }
.success h3 { font:28px Georgia,serif; margin:24px 0 8px; }
.success p { color:#f8d1ce; }
.success button { border:0; background:none; color:#fff; text-decoration:underline; margin-top:22px; padding:0; cursor:pointer; }
.footer { background:#111; color:#d0ccc6; padding:48px 5.5vw; display:grid; grid-template-columns:2fr 1fr 1fr 2fr; gap:30px; align-items:start; font-size:11px; line-height:1.7; }
.footer-brand { color:#fff; }
.footer p { margin:0; }
.footer a:hover { color:var(--red); }
.copyright { text-align:right; color:#66615c; }
@media (max-width:800px) {
  .site-header { height:72px; padding:0 6vw; }
  .menu-toggle { display:block; order:3; color:var(--ink); }
  .header-phone { margin-left:auto; margin-right:18px; }
  .header-phone span { display:none; }
  .nav { display:none; position:absolute; top:72px; left:0; right:0; margin:0; padding:24px 6vw; background:var(--paper); flex-direction:column; gap:20px; box-shadow:0 12px 20px #0001; }
  .nav.open { display:flex; }
  .nav a.active:after { display:none; }
  .hero { min-height:calc(100vh - 72px); }
  .hero-content { margin:0 8vw; padding:50px 0 100px; }
  .hero h1 { font-size:54px; }
  .hero-meta { display:none; }
  .hero-scroll { left:auto; right:6vw; }
  .section-pad { padding:82px 8vw; }
  .services, .contact { display:block; }
  .section-intro { margin-bottom:55px; }
  .service-grid { gap:38px 20px; }
  .service-card h3 { font-size:24px; }
  .service-card p { font-size:12px; }
  .statement { padding:85px 8vw; display:block; }
  .statement > p { margin-top:42px; }
  .atelier { grid-template-columns:1fr; }
  .atelier-photo { min-height:330px; }
  .atelier-copy { padding:70px 8vw; }
  .contact-heading { margin-bottom:62px; }
  .footer { grid-template-columns:1fr 1fr; padding:42px 8vw; }
  .copyright { text-align:left; grid-column:1/-1; margin-top:10px!important; }
}
@media (max-width:420px) {
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card p { min-height:0; }
  .footer { grid-template-columns:1fr; }
}


/* ─── Ajouts pour l'envoi réel du formulaire (absents du site v0) ─── */
.hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.submit:disabled { cursor:progress; opacity:.75; }
.form-error { margin-top:20px; max-width:440px; color:#fff; font:15px/1.55 Georgia,serif; }
.form-error a { text-decoration:underline; }
