.card{position:relative;border:var(--border);border-radius:var(--radius-small);background:linear-gradient(180deg,rgba(17,19,17,.96),rgba(9,10,12,.96));overflow:hidden;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}.card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.72);box-shadow:var(--shadow-card-hover)}.icon-badge{width:200px;height:200px;border:1px solid rgba(255, 255, 255, .55);border-radius:50%;display:grid;place-items:center;color:var(--accent-light);margin-bottom:18px}.icon-badge svg{width:26px;height:26px}.feature-card{padding:34px;min-height:208px}.feature-card h3{font-size:30px;margin-bottom:14px}.micro-list{display:flex;flex-wrap:wrap;gap:18px 34px}.micro-item{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:14px}.micro-item .dot{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-accent-subtle);display:grid;place-items:center;color:var(--accent-light);flex:0 0 auto}.event-card{min-height:318px}.event-card img{width:100%;height:154px;object-fit:cover;filter:saturate(.9) brightness(.78)}.event-card-body{padding:20px}.event-card h3{font-family:var(--serif);font-size:28px;line-height:1.05;margin-bottom:10px}.tag{display:inline-flex;border:var(--border-accent);border-radius:var(--radius-pill);padding:8px 16px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;background:rgba(5,6,8,.44)}.tag.is-active{background:var(--accent-primary);border-color:rgba(255,255,255,.72);color:#090806}.rating-stars{display:flex;gap:5px;color:var(--accent-light);font-size:36px;line-height:1}.quote-card{padding:28px}.quote-card blockquote{font-family:var(--serif);font-size:25px;line-height:1.18;color:var(--off-white);margin-bottom:22px}.quote-card cite{font-style:normal;color:var(--accent-light);font-size:13px}.logo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:center}.logo-box{min-height:112px;border:var(--border);border-radius:var(--radius-small);display:grid;place-items:center;color:var(--accent-light);font-weight:800;letter-spacing:.05em;background:rgba(17,19,17,.62);text-align:center;padding:20px;text-transform:uppercase}.logo-box[data-placeholder=true]::after{content:"Autorisation à confirmer";display:block;margin-top:8px;color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.08em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1 / -1}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:800}.required{color:var(--accent-light)}.field input,.field select,.field textarea{width:100%;border:var(--border);background:#08090a;color:var(--off-white);padding:14px 16px;border-radius:4px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.field textarea{min-height:132px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(200,74,85,.15);background:#0c0d0e;outline:none}.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:var(--error);box-shadow:0 0 0 3px rgba(200,109,99,.1)}.field-error{min-height:17px;color:var(--error);font-size:12px}.form-status{margin-top:16px;min-height:28px;font-weight:700}.form-status.is-success{color:var(--success)}.form-status.is-error{color:var(--error)}.accordion{display:grid;gap:10px}.faq-item{border:var(--border);border-radius:var(--radius-small);background:rgba(17,19,17,.78);overflow:hidden}.faq-trigger{width:100%;min-height:56px;background:transparent;color:var(--off-white);border:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;text-align:left;font-weight:800}.faq-trigger::after{content:"+";color:var(--accent-light);font-size:24px}.faq-trigger[aria-expanded=true]::after{content:"−"}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease)}.faq-trigger[aria-expanded=true]+.faq-panel{grid-template-rows:1fr}.faq-panel-inner{overflow:hidden}.faq-panel p{padding:0 22px 20px}.age-gate{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:rgba(5,6,8,.78);backdrop-filter:blur(100px);padding:24px}.age-gate[hidden]{display:none}.age-dialog{width:min(640px,100%);border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(8,9,10,.98));padding:36px;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.55)}.age-dialog .icon-badge{margin-inline:auto}.age-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.age-denied{color:var(--error);font-weight:700;margin-top:14px}.scroll-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;border:var(--border-active);background:rgba(5,6,8,.8);color:var(--accent-light);z-index:900;opacity:0;pointer-events:none;transition:.25s var(--ease)}.scroll-top.is-visible{opacity:1;pointer-events:auto}.asset-status{position:absolute;top:10px;left:10px;z-index:2;padding:5px 8px;border-radius:var(--radius-pill);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#090806;background:var(--accent-light);font-weight:900}
@media (max-width:900px){.logo-strip{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.age-actions{grid-template-columns:1fr}.feature-card{padding:24px}.micro-list{display:grid;gap:12px}.rating-stars{font-size:28px}}

/* V3 production-form prep: honeypot anti-spam, invisible for users but submitted for bots. */
.hp-field {
  position: fixed;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  clip-path: inset(50%);
  overflow: hidden;
  pointer-events: none;
}

.contact-form .small a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-panel[aria-hidden="true"] {
  visibility: hidden;
}

.faq-panel[aria-hidden="false"],
.faq-panel:not([aria-hidden]) {
  visibility: visible;
}

/* V5 — les statuts placeholders restent disponibles mais ne polluent plus la recette visuelle. */
.asset-status,
.placeholder-note[data-debug-only="true"],
.logo-box[data-placeholder="true"]::after {
  display: none;
}

body[data-debug="true"] .asset-status,
body[data-debug="true"] .placeholder-note[data-debug-only="true"] {
  display: inline-flex;
}

body[data-debug="true"] .logo-box[data-placeholder="true"]::after {
  display: block;
}

/* Mini-lot 1B — stabilité technique de l’age gate, sans changement éditorial. */
.age-gate {
  position: fixed;
  inset: 0;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  z-index: 2147483000;
  overflow-y: auto;
  overscroll-behavior: contain;
  isolation: isolate;
}

.age-gate .age-dialog {
  position: relative;
  z-index: 1;
  margin: auto;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body.is-locked > .skip-link,
body.is-locked > .site-header,
body.is-locked > main,
body.is-locked > footer,
body.is-locked > .scroll-top,
body.is-locked > .sds-ingredient-root {
  visibility: hidden !important;
  pointer-events: none !important;
}
