/* La Démesure — parcours sur mesure, direction Signature 2026 */
:root {
  --ink: #121313;
  --cream: #f6f1e8;
  --cream-strong: #fffcf7;
  --coral: #ad302b;
  --acid: #b9955a;
  --blue: #263f50;
  --cyan: #285e68;
  --green: #496354;
  --muted: #b8afa5;
  --line: rgba(255, 252, 247, .24);
}

::selection { background: var(--coral); color: var(--cream-strong); }
.experience-shell { background: var(--ink); }
.experience-image { filter: saturate(.82) contrast(1.05); transform: scale(1.01); }
.experience-veil {
  background:
    radial-gradient(circle at 82% 24%, rgba(185,149,90,.16), transparent 28%),
    linear-gradient(90deg, rgba(18,19,19,.98) 0%, rgba(18,19,19,.9) 38%, rgba(18,19,19,.48) 72%, rgba(18,19,19,.34));
}
.experience-grain { opacity: .2; mix-blend-mode: soft-light; }
.experience-shell::before {
  content: "3615 • PARIS • HOSPITALITÉ • SUR MESURE";
  position: fixed;
  right: -92px;
  top: 48%;
  z-index: 1;
  color: rgba(246,241,232,.52);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: .22em;
  transform: rotate(90deg);
  pointer-events: none;
}
.experience-shell::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 32vw;
  height: 32vw;
  border: 1px solid rgba(185,149,90,.12);
  border-radius: 50% 0 0 0;
  pointer-events: none;
}
.site-header { border-bottom: 1px solid var(--line); background: rgba(18,19,19,.7); backdrop-filter: blur(12px); }
.brand-logo, .inline-brand-mark { filter: invert(1); }
.brand-kicker, .eyebrow, .step-kicker { color: var(--acid); font-weight: 500; }
.brand-name, h1, .request-stage h2, .success-panel h2 { color: var(--cream-strong); text-shadow: none; letter-spacing: -.04em; }
h1 em, .request-stage h2 em, .success-panel h2 em { color: var(--cream); }
.places-line, .brand-rule { background: var(--coral) !important; }

.intent-card,
.restaurant-option,
.option-card,
.date-box,
.review-card,
.request-card,
.venue-tour-card,
.venue-video-frame,
.contact-grid input,
.contact-grid select,
.contact-grid textarea {
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none;
}
.intent-card { min-height: 160px; transition: transform .35s cubic-bezier(.22,.8,.22,1), background .35s ease, border-color .35s ease; }
.intent-card--cream { background: var(--cream); color: var(--ink); }
.intent-card--dark { border-color: rgba(255,252,247,.42) !important; background: rgba(38,63,80,.72); color: var(--cream-strong); backdrop-filter: blur(12px); }
.intent-card:hover { border-color: var(--acid) !important; transform: translateY(-5px); }
.intent-index, .restaurant-index { color: var(--coral); font-weight: 500; }
.intent-card--dark .intent-index { color: var(--acid); }
.intent-arrow, .venue-select-button, .continue-button, .reserve-button, .privatisez-button {
  border: 1px solid var(--cream-strong) !important;
  border-radius: 0 !important;
  background: var(--coral) !important;
  color: var(--cream-strong) !important;
  box-shadow: none;
  font-weight: 500;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.continue-button:hover, .reserve-button:hover, .privatisez-button:hover, .venue-select-button:hover {
  border-color: var(--cream-strong) !important;
  background: var(--cream-strong) !important;
  color: var(--ink) !important;
  transform: translateY(-2px);
}
.back-button, .site-return, .start-over { color: var(--cream-strong) !important; font-weight: 500; text-decoration-color: var(--acid); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.request-progress { color: var(--cream-strong); }
.request-progress::after { background: var(--coral) !important; }
.option-card, .restaurant-option, .request-card, .date-box, .review-card {
  background: rgba(38,63,80,.56) !important;
  color: var(--cream-strong);
  backdrop-filter: blur(12px);
}
.option-card:nth-child(even), .restaurant-option:nth-child(even) { background: rgba(73,99,84,.54) !important; }
.option-card:hover, .option-card.is-selected, .restaurant-option:hover, .restaurant-option.is-selected {
  border-color: var(--acid) !important;
  background: var(--cream) !important;
  color: var(--ink) !important;
}
.option-card:hover small, .option-card.is-selected small, .restaurant-option:hover .restaurant-mood, .restaurant-option.is-selected .restaurant-mood { color: rgba(18,19,19,.68) !important; }
.option-letter, .select-mark { border: 1px solid var(--ink); border-radius: 50%; background: var(--cream-strong); color: var(--ink); }
.is-selected .select-mark { background: var(--coral); color: var(--cream-strong); }
.date-header { border-bottom: 1px solid rgba(18,19,19,.2) !important; background: var(--cream) !important; color: var(--ink) !important; }
.calendar-navigation button, .quick-guests button, .budget-grid button {
  border: 1px solid rgba(18,19,19,.28) !important;
  border-radius: 0 !important;
  background: var(--cream-strong) !important;
  color: var(--ink) !important;
  box-shadow: none;
}
.calendar-navigation button:hover, .quick-guests button:hover, .budget-grid button:hover, .budget-grid button.is-selected { border-color: var(--coral) !important; background: var(--coral) !important; color: var(--cream-strong) !important; }
.contact-grid input, .contact-grid select, .contact-grid textarea { background: rgba(255,252,247,.98) !important; color: var(--ink) !important; }
.contact-grid input::placeholder, .contact-grid textarea::placeholder { color: rgba(18,19,19,.52) !important; }
.contact-grid input:focus, .contact-grid select:focus, .contact-grid textarea:focus { border-color: var(--coral) !important; background: var(--cream-strong) !important; outline: 2px solid #86b6ff; outline-offset: 2px; }
.privacy-line a, .field-required { color: var(--acid) !important; }
.review-card { border: 0 !important; box-shadow: none; gap: 4px; background: transparent !important; }
.review-card > div { border: 1px solid rgba(18,19,19,.18) !important; border-radius: 0; background: var(--cream-strong); color: var(--ink); box-shadow: none; }
.review-card span { color: var(--coral) !important; font-weight: 500; }
.review-card strong, .review-card small { color: var(--ink) !important; }
.success-stamp { border: 1px solid var(--cream-strong); border-radius: 50%; background: var(--coral); color: var(--cream-strong); box-shadow: none; }
.booking-note, .request-note, .venue-step-hint, .step-lead, .intro-copy { color: rgba(246,241,232,.78); }

@media (max-width: 760px) {
  .experience-shell::before, .experience-shell::after { display: none; }
  .experience-veil { background: linear-gradient(180deg, rgba(18,19,19,.48), rgba(18,19,19,.93)); }
  .site-header { min-height: 68px; }
  .intent-card, .restaurant-option, .option-card, .date-box, .request-card, .venue-tour-card, .venue-video-frame { box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
  .intent-card { transform: none !important; }
}
