/* =====================================================================
   Refonte Couleurs et Tendances 2026 — cet-base.css (Agent B)
   Chargé APRÈS theme.css / custom.css / posthemeoptions_s_1.css (priorité 950),
   uniquement en aperçu (cookie cet_preview=1) ou quand CET_LIVE=1.
   ---------------------------------------------------------------------
   JETONS (:root) — à utiliser partout via var(--…)
     Couleurs  --cet-wine / -wine-dark / -wine-soft, --cet-ink (titres), --cet-text (texte),
               --cet-muted (secondaire, AA sur paper/white), --cet-paper (fond page),
               --cet-cream (fonds de section), --cet-white (cartes), --cet-line (filets),
               --cet-gold (sur-titres, filets déco), --cet-ok, --cet-danger
     Typo      --cet-serif (Fraunces, titres), --cet-sans (Manrope, texte)
     Divers    --cet-radius 2px, --cet-shadow, --cet-container 1240px, --cet-gutter
               --cet-header-h (hauteur de l'en-tête collant, mis à jour en JS)
   CLASSES UTILITAIRES
     .cet-wrap            conteneur centré (max --cet-container + gouttières)
     .cet-section         section verticale (padding clamp), .cet-section--cream fond crème
     .cet-head            en-tête de section centré (sur-titre + h2 + .cet-head__sub)
     .cet-eyebrow         sur-titre : Manrope 600 12px capitales .18em, or
     .cet-h2 / .cet-h1    titres Fraunces aux tailles du brief
     .cet-rule            petit filet double centré « étiquette » (bloc)
     .cet-label           cadre « étiquette » : filet double + intérieur (pour encarts)
     .cet-btns            rangée de boutons (wrap, gap)
     .cet-grid            grille auto (min 240px) ; .cet-grid--products = 2 col mobile, 4 col ≥992px
     .cet-split           2 colonnes média/texte (empilé en mobile), --reverse
     .cet-card            carte lien image + corps (kakémonos…)
     .cet-link-arrow      lien texte avec flèche
     .cet-center          texte centré + marge haute
     .cet-visually-hidden texte pour lecteurs d'écran
   KIT D'ORNEMENTS (phase 2, Agent D — code en fin de fichier ; exemples HTML dans JOURNAL-D.md)
     PALETTE 2026 : --cet-navy / -navy-deep / -navy-ink, --cet-sand, --cet-gold (or TEXTE AA), --cet-gold-deco (filets),
                      --cet-gold-bright / -gold-sheen (or sur bleu), --cet-gilt (dégradé dorure) ; --cet-wine* = bleu nuit
     Jetons en plus : --cet-cave #051620 (fond nuit), --cet-cave-2, --cet-gold-light #D9BE7C
                      (or lisible sur fonds sombres), --cet-cream-ink #F3EEDF (texte/boutons sur sombre)
     .cet-grain           texture papier (background-image ; version claire auto dans les bandes sombres)
     .cet-band--cream     section crème ; .cet-band--wine bleu nuit plein ; .cet-band--cave bleu presque noir
                          (titres, sur-titres, liens, filets, .btn-primary/.btn-secondary adaptés)
     .cet-halo            halo chaud radial derrière un média (lampe allumée) — utilise ::before
     .cet-frame           cadre d'étiquette double filet + étoiles aux coins (::before/::after pris ;
                          pas d'overflow:hidden sur le parent direct). --light (or clair) / --ink
     .cet-seal            sceau C&T (img/seal.svg en masque, couleur = color) ; --wax pastille
                          bleu nuit à anneaux or ; --sm 44px / --lg 150px / var --cet-seal-size ; --spin rotation lente
     .cet-vine            sarment de vigne (img/vine.svg) : <span class="cet-vine" aria-hidden="true">
                          dans un parent .cet-vine-host (ou une .cet-band--*) ; --right (miroir), --bottom
     .cet-fleuron         séparateur double filet + ornement : <span class="cet-fleuron" aria-hidden="true"></span>
                          --sm, --left, --light
     .cet-italic          mot en italique accentué dans un titre (or ; or clair sur fond sombre)
     .cet-display         très grand titre éditorial ; .cet-lettrine (lettrine sur un <p>)
     .cet-mention         petites capitales « d'étiquette » (or) ; .cet-roman chiffre romain italique
     .cet-reveal          apparition au défilement (JS cet-base.js) ; --fade, --zoom ; délais --d1..--d4
                          ou style="--cet-delay:.2s" ; prefers-reduced-motion respecté ; sans JS = visible
     .cet-marquee         bandeau défilant : .cet-marquee > .cet-marquee__track (contenu dupliqué,
                          2e copie aria-hidden) ; --cet-marquee-d durée
   BOUTONS du thème réalignés : .btn-primary (bleu nuit, survol or), .btn-secondary / .btn-outline (contour encre)
   CARTE PRODUIT : article.product-miniature (gabarit thème grid4) stylée ici de façon
     neutre ; l'agent C peut l'affiner dans cet-pages.css (listes catégorie).
   ===================================================================== */

:root {
  /* PALETTE 2026 (logo médaillon) : bleu nuit + beige + or. Les anciens noms « wine » pointent vers le bleu nuit. */
  --cet-navy:#0C3043; --cet-navy-deep:#07273A; --cet-navy-ink:#0F2832;
  --cet-wine:var(--cet-navy); --cet-wine-dark:#061D2B; --cet-wine-soft:#E3EAEE;
  --cet-ink:#0F2832; --cet-text:#2F3A3F; --cet-muted:#535F63;
  --cet-paper:#F5F2EA; --cet-cream:#E9E4D6; --cet-sand:#E3E0D3; --cet-white:#FCFBF7; --cet-line:#D6CFBD;
  --cet-gold:#7A5D22; /* or « texte » : AA sur paper (5,5:1) et cream (4,8:1) */
  --cet-gold-deco:#B8954A; /* or des filets et ornements sur fond clair (décor, jamais pour du petit texte) */
  --cet-gold-bright:#CDAF66; --cet-gold-sheen:#F3DEA5; /* or du logo : filets et textes sur bleu nuit */
  --cet-gilt:linear-gradient(90deg,#B8954A 0%,#F3DEA5 50%,#B8954A 100%);
  --cet-ok:#3F6B3A; --cet-danger:#A3242B;
  --cet-serif:"Fraunces", Georgia, "Times New Roman", serif;
  --cet-sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cet-radius:2px; --cet-shadow:0 1px 2px rgba(7,39,58,.06),0 8px 24px rgba(7,39,58,.07);
  --cet-container:1240px; --cet-gutter:clamp(16px,4vw,40px);
  --cet-header-h:72px;
  /* variables du thème Posthemes neutralisées (orange #F69020 -> vin) */
  --hovercolor: var(--cet-wine);
  --bg_dark: var(--cet-paper);
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--cet-header-h) + 16px); }
body, body#index, body.layout_wide {
  font-family:var(--cet-sans); font-size:16px; line-height:1.6; color:var(--cet-text);
  background:var(--cet-paper); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.has-quickmenu { padding-bottom:0 !important; }
main { background:transparent; }
p { margin:0 0 1em; color:inherit; font-size:inherit; line-height:inherit; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.pos_title h2 {
  font-family:var(--cet-serif); font-weight:450; color:var(--cet-ink); letter-spacing:-.005em; line-height:1.18;
  text-transform:none; font-variation-settings:"opsz" 72;
}
h1,.h1 { font-size:clamp(2rem,4.5vw,3.4rem); }
h2,.h2 { font-size:clamp(1.6rem,3vw,2.4rem); }
h3,.h3 { font-size:1.35rem; }
h4,.h4 { font-size:1.15rem; }
a { color:var(--cet-wine); text-decoration:none; transition:color .15s; }
a:hover, a:focus { color:var(--cet-wine-dark); }
/* liens de texte courant : soulignement fin décalé (classe .cet-prose pour un bloc de texte libre) */
p a:not(.btn):not(.cet-link-arrow), dd a, address a, .cet-prose a, .rte a, .cms-content a, #cms #content a:not(.btn) { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.22em; }
p a:not(.btn):hover, dd a:hover, .cet-prose a:hover, .rte a:hover { text-decoration-thickness:2px; }
strong, b { font-weight:700; }
img { max-width:100%; height:auto; }
::selection { background:var(--cet-gold-sheen); color:var(--cet-navy-deep); }
:focus-visible { outline:2px solid var(--cet-wine); outline-offset:3px; }
a:focus, button:focus, input:focus { outline:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:2px solid var(--cet-wine); outline-offset:3px; }
hr { border:0; border-top:1px solid var(--cet-line); }

/* Conteneur */
.container, .cet-wrap {
  width:100%; max-width:calc(var(--cet-container) + 2 * var(--cet-gutter));
  padding-left:var(--cet-gutter); padding-right:var(--cet-gutter); margin-left:auto; margin-right:auto;
}
@media (min-width:1200px) { .container { width:100%; } }

/* ---------- Boutons ---------- */
.btn, .btn-primary, .btn-secondary, .btn-outline, .btn-default {
  font-family:var(--cet-sans); font-weight:600; font-size:14px; letter-spacing:.08em; text-transform:uppercase;
  border-radius:var(--cet-radius); min-height:48px; padding:12px 26px; line-height:1.4;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none;
  box-shadow:none; transition:background-color .15s, color .15s, border-color .15s; white-space:normal; text-align:center;
}
.btn-primary, .btn-primary:not(:disabled):not(.disabled), button.btn-primary, input.btn-primary {
  background:var(--cet-wine); border:1px solid var(--cet-wine); color:var(--cet-white);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
  background:var(--cet-gold-bright) !important; border-color:var(--cet-gold-bright) !important; color:var(--cet-navy-deep) !important;
}
.btn-secondary, .btn-outline, .btn-default, .btn-tertiary {
  background:transparent; border:1px solid var(--cet-ink); color:var(--cet-ink);
}
.btn-secondary:hover, .btn-secondary:focus, .btn-outline:hover, .btn-default:hover, .btn-tertiary:hover {
  background:var(--cet-ink) !important; border-color:var(--cet-ink) !important; color:var(--cet-white) !important;
}
.btn:disabled, .btn.disabled { opacity:.5; }

/* ---------- Formulaires ---------- */
input[type=text], input[type=email], input[type=search], input[type=password], input[type=tel], input[type=number],
select, textarea, .form-control {
  font-family:var(--cet-sans); font-size:16px; color:var(--cet-ink);
  background:var(--cet-white); border:1px solid var(--cet-line); border-radius:var(--cet-radius);
  min-height:48px; padding:10px 14px; box-shadow:none;
}
input:focus, select:focus, textarea:focus, .form-control:focus { border-color:var(--cet-ink); background:#fff; }
::placeholder { color:var(--cet-muted); opacity:1; }
label, .form-control-label { color:var(--cet-ink); font-weight:600; font-size:14px; }

/* ---------- Utilitaires ---------- */
.cet-visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cet-eyebrow { font-family:var(--cet-sans); font-weight:600; font-size:12px; line-height:1.4; letter-spacing:.18em; text-transform:uppercase; color:var(--cet-gold); margin:0 0 .9rem; }
.cet-h1 { font-size:clamp(2rem,4.5vw,3.4rem); }
.cet-h2 { font-size:clamp(1.6rem,3vw,2.4rem); margin:0 0 .6em; }
.cet-rule { display:block; width:64px; height:4px; border-top:1px solid var(--cet-gold-deco); border-bottom:1px solid var(--cet-gold-deco); margin:1.1rem 0 1.3rem; }
.cet-head .cet-rule, .cet-center .cet-rule { margin-left:auto; margin-right:auto; }
.cet-label { border:1px solid var(--cet-line); outline:1px solid var(--cet-line); outline-offset:-6px; padding:clamp(20px,4vw,40px); background:var(--cet-white); }
.cet-section { padding:clamp(56px,8vw,112px) 0; }
.cet-section--cream { background:var(--cet-cream); }
.cet-head { text-align:center; max-width:720px; margin:0 auto clamp(32px,4vw,52px); }
.cet-head .cet-h2 { margin-bottom:0; }
.cet-head::after { content:""; display:block; width:64px; height:4px; margin:1.2rem auto 0; border-top:1px solid var(--cet-gold-deco); border-bottom:1px solid var(--cet-gold-deco); }
.cet-head__sub { margin:1.2rem auto 0; color:var(--cet-muted); max-width:560px; }
.cet-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:1.6rem; }
.cet-center { text-align:center; margin-top:clamp(28px,4vw,44px); }
.cet-grid { display:grid; gap:clamp(16px,2.5vw,32px); grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.cet-grid--products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
@media (min-width:768px) { .cet-grid--products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; } }
@media (min-width:1100px) { .cet-grid--products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cet-link-arrow { font-weight:600; font-size:14px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--cet-wine); display:inline-flex; align-items:center; gap:.5em; min-height:44px; }
.cet-link-arrow::after { content:"→"; transition:transform .15s; }
.cet-link-arrow:hover::after { transform:translateX(3px); }
.cet-split { display:grid; gap:clamp(28px,5vw,72px); align-items:center; }
@media (min-width:900px) {
  .cet-split { grid-template-columns:minmax(0,5fr) minmax(0,6fr); }
  .cet-split--reverse { grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
  .cet-split--reverse .cet-split__media { order:2; }
}
.cet-split__media img { display:block; width:100%; height:auto; border-radius:var(--cet-radius); }
.cet-split__text > :last-child { margin-bottom:0; }
.cet-card { display:flex; flex-direction:column; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none; color:var(--cet-text); transition:border-color .2s, box-shadow .2s; }
.cet-card:hover { border-color:var(--cet-ink); box-shadow:var(--cet-shadow); color:var(--cet-text); }
.cet-card__img { display:block; aspect-ratio:1/1; overflow:hidden; background:var(--cet-cream); }
.cet-card__img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cet-card:hover .cet-card__img img { transform:scale(1.03); }
.cet-card__body { display:flex; flex-direction:column; gap:.4rem; padding:20px 22px 24px; }
.cet-card__title { font-family:var(--cet-serif); font-size:1.35rem; color:var(--cet-ink); line-height:1.2; }
.cet-card__txt { color:var(--cet-muted); font-size:15px; }
.cet-card__meta { font-weight:600; color:var(--cet-wine); letter-spacing:.02em; margin-top:.3rem; }
.cet-skip { position:absolute; left:-9999px; top:0; z-index:1000; background:var(--cet-ink); color:#fff; padding:12px 16px; }
.cet-skip:focus { left:8px; top:8px; color:#fff; }

/* ---------- Neutralisation Posthemes ---------- */
.page-title-wrapper { background:var(--cet-paper) !important; background-image:none !important; }
.product-flag li, .product-flag .new, .product-flag .on-sale, .product-flag .discount, .product-flag .out_of_stock, .product-flags li {
  background:var(--cet-ink) !important; color:var(--cet-white) !important; border-radius:var(--cet-radius) !important;
  font-family:var(--cet-sans) !important; font-size:11px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
}
.back-top { display:none !important; }
.quickmenu-mobile { display:none !important; }
#poscookielaw {
  position:fixed !important; left:16px !important; right:16px !important; bottom:16px !important; top:auto !important;
  width:auto !important; max-width:560px; margin:0 !important; z-index:1500;
  background:var(--cet-white) !important; color:var(--cet-text) !important; border:1px solid var(--cet-line);
  box-shadow:var(--cet-shadow); border-radius:var(--cet-radius); padding:14px 16px !important;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap; font-size:14px; line-height:1.5;
}
#poscookielaw p { margin:0 !important; color:var(--cet-text) !important; font-size:14px !important; flex:1 1 220px; }
#poscookielaw p:empty, #poscookielaw p:has(> br:only-child), #poscookielaw p + p { display:none; }
#poscookielaw .btn { min-height:44px; padding:8px 18px; font-size:12px; margin:0 !important; flex:0 0 auto; }
@media (max-width:599px) { #poscookielaw { left:10px !important; right:10px !important; bottom:10px !important; padding:10px 12px !important; gap:10px; flex-wrap:nowrap; } #poscookielaw p { font-size:13px !important; flex:1 1 auto; } #poscookielaw .btn { padding:8px 12px; font-size:11px; letter-spacing:.05em; } }
#poscookielaw.unvisible { display:none !important; }

/* ---------- Carte produit (miniature du thème) ---------- */
.product-miniature, .js-product-miniature { border:0 !important; padding:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; text-align:left; position:relative; }
.product-miniature .img_block { position:relative; background:var(--cet-white); border:1px solid var(--cet-line); overflow:hidden; aspect-ratio:1/1; margin:0; }
.product-miniature .img_block > a, .product-miniature .product-thumbnail { display:block; height:100%; }
.product-miniature .img_block img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease, opacity .3s; }
.product-miniature:hover .img_block img.first-image { transform:scale(1.03); }
.product-miniature .add-to-links, .product-miniature .availability, .product-miniature .product-desc,
.product-miniature .manufacturer, .product-miniature .hook-reviews, .product-miniature .variant-links:empty { display:none !important; }
.product-miniature .product-flag { position:absolute; top:10px; left:10px; margin:0; padding:0; list-style:none; z-index:2; }
.product-miniature .product-flag li { padding:4px 8px !important; line-height:1.3; }
.product-miniature .product_desc { padding:14px 2px 0 !important; text-align:left !important; background:transparent !important; }
.product-miniature .product_desc h3 { margin:0 0 .35rem; font-size:inherit; line-height:1.25; }
.product-miniature .product_desc .product_name, .js-product-miniature .product_desc .product_name {
  font-family:var(--cet-serif) !important; font-size:clamp(15px,1.4vw,17px) !important; font-weight:450; color:var(--cet-ink) !important;
  text-decoration:none; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; display:block; height:auto !important;
}
.product-miniature .product_desc .product_name:hover { color:var(--cet-wine) !important; }
.product-miniature .product_name::after { content:""; position:absolute; inset:0; z-index:1; } /* carte entière cliquable */
.product-miniature .product-price-and-shipping { margin:0; text-align:left; }
.product-miniature .product-price-and-shipping .price { font-family:var(--cet-sans) !important; font-weight:600; font-size:15px !important; color:var(--cet-wine) !important; }
.product-miniature .regular-price { color:var(--cet-muted); font-size:13px; }

/* =====================================================================
   EN-TÊTE  (.cet-header dans #header) — refait par l'Agent D (24/09) : médaillon, filet doré, méga-menu
   ===================================================================== */
#header, #index #header { position:sticky !important; top:0; z-index:900; background:var(--cet-paper); border:0; width:auto; box-shadow:none; }
#header.cet-stuck .cet-bar { box-shadow:0 8px 22px rgba(7,39,58,.08); }
.cet-announce { background:var(--cet-navy-deep); color:#E6ECEF; font-size:12.5px; letter-spacing:.06em; text-align:center; }
.cet-announce p { margin:0; padding:8px 0; line-height:1.45; }
.cet-announce__star { color:var(--cet-gold-bright); font-size:10px; padding:0 .6em; position:relative; top:-1px; }
@media (max-width:599px) { .cet-announce__long { display:none; } }
.cet-bar { position:relative; background-color:var(--cet-paper); background-image:var(--cet-grain-img); }
.cet-bar::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--cet-gilt); opacity:.9; }
.cet-bar__in { display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas:"burger logo actions"; align-items:center; gap:8px; min-height:58px; }
.cet-burger { grid-area:burger; justify-self:start; }
.cet-actions { grid-area:actions; display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.cet-nav { display:none; }

/* médaillon (logo) : déborde sous la barre comme un sceau accroché, se réduit quand l'en-tête colle */
.cet-logo { grid-area:logo; justify-self:center; align-self:start; position:relative; z-index:5; display:block; line-height:0; border-radius:50%;
  width:64px; margin:4px 0 -18px; transition:width .25s ease, margin .25s ease; }
.cet-logo picture, .cet-logo__img { display:block; width:100%; height:auto; }
.cet-logo__img { border-radius:50%; filter:drop-shadow(0 4px 10px rgba(7,39,58,.28)); }
.cet-logo:focus-visible { outline-offset:4px; }
#header.cet-stuck .cet-logo { width:46px; margin:6px 0 6px; }

.cet-iconbtn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:0 6px; border:0; background:transparent; color:var(--cet-ink); cursor:pointer; text-decoration:none; position:relative; border-radius:var(--cet-radius); }
.cet-iconbtn:hover { color:var(--cet-gold); }
.cet-account { display:none; }
.cet-cart { position:relative; }
.cet-cart .cart-products-count {
  position:absolute; top:5px; right:1px; min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  background:var(--cet-navy); color:var(--cet-gold-sheen); font-size:11px; font-weight:700; line-height:18px; text-align:center; box-shadow:0 0 0 1.5px var(--cet-paper);
}
.cet-cart[data-cartitems="0"] .cart-products-count { display:none; }
.cet-actions__back { font-size:14px; font-weight:600; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.cet-actions__tel { display:none; }

/* navigation (≥ 992 px) : deux listes de part et d'autre du médaillon */
.cet-nav__list { list-style:none; margin:0; padding:0; display:flex; gap:clamp(16px,2vw,32px); height:100%; }
.cet-nav__list > li { display:flex; align-items:center; height:100%; }
.cet-nav__list > li > a { font-family:var(--cet-sans); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-ink); text-decoration:none; padding:12px 0; display:inline-block; position:relative; }
.cet-nav__list > li > a::after { content:""; position:absolute; left:0; right:0; bottom:6px; height:1px; background:var(--cet-gilt); transform:scaleX(0); transition:transform .25s ease; }
.cet-nav__list > li > a:hover, .cet-nav__list > li > a[aria-current] { color:var(--cet-navy); }
.cet-nav__list > li > a:hover::after, .cet-nav__list > li > a[aria-current]::after { transform:none; }
.cet-nav__toggle { border:0; background:transparent; color:var(--cet-ink); width:26px; height:44px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.cet-nav__toggle svg { transition:transform .2s; }
.cet-nav__toggle[aria-expanded="true"] svg, .cet-nav__has:hover .cet-nav__toggle svg { transform:rotate(180deg); }

/* méga-menu Boutique */
.cet-mega { display:none; position:absolute; left:0; right:0; top:100%; z-index:4; background-color:var(--cet-white); background-image:var(--cet-grain-img);
  border-bottom:1px solid var(--cet-line); box-shadow:0 24px 40px rgba(7,39,58,.12); padding:58px 0 34px; }
.cet-mega::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--cet-gilt); }
.cet-nav__has:hover .cet-mega, .cet-nav__has.is-open .cet-mega, .cet-nav__has:focus-within .cet-mega { display:block; animation:cet-mega-in .22s ease; }
@keyframes cet-mega-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
#header.cet-stuck .cet-mega { padding-top:30px; }
.cet-mega__in { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1.15fr); gap:clamp(24px,3vw,48px); align-items:start; }
.cet-mega__title { font-family:var(--cet-sans); font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cet-gold); margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--cet-line); }
.cet-mega__title a { color:inherit; }
.cet-mega ul { list-style:none; margin:0; padding:0; }
.cet-mega__sizes { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cet-mega__sizes a { display:flex; flex-direction:column; gap:3px; text-decoration:none; color:var(--cet-text); }
.cet-mega__thumb { display:block; aspect-ratio:1/1; background:var(--cet-white); border:1px solid var(--cet-line); overflow:hidden; margin-bottom:8px; }
.cet-mega__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cet-mega a:hover .cet-mega__thumb img { transform:scale(1.05); }
.cet-mega__name { display:block; font-family:var(--cet-serif); font-size:19px; color:var(--cet-ink); line-height:1.2; }
.cet-mega__meta { display:block; font-size:13px; color:var(--cet-muted); }
.cet-mega a:hover .cet-mega__name { color:var(--cet-navy); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.cet-mega__extras li + li { margin-top:12px; }
.cet-mega__extras a { display:grid; grid-template-columns:76px 1fr; gap:14px; align-items:center; text-decoration:none; }
.cet-mega__thumb--sm { margin:0; }
.cet-mega__all { margin:18px 0 0; }
.cet-mega__promo { position:relative; display:block; overflow:hidden; background:var(--cet-navy); color:#fff; text-decoration:none; min-height:100%; }
.cet-mega__promo img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; opacity:.78; transition:transform .6s ease, opacity .3s; }
.cet-mega__promo:hover img { transform:scale(1.04); opacity:.9; }
.cet-mega__promo-txt { position:absolute; left:0; right:0; bottom:0; padding:48px 20px 18px; background:linear-gradient(transparent, rgba(5,22,32,.88)); display:flex; flex-direction:column; gap:2px; }
.cet-mega__kicker { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cet-gold-bright); }
.cet-mega__promo-t { font-family:var(--cet-serif); font-size:22px; color:#fff; line-height:1.2; }
.cet-mega__promo .cet-mega__meta { color:#D5DDE1; }

/* panneau de recherche */
.cet-search { background:var(--cet-white); border-bottom:1px solid var(--cet-line); padding:16px 0; }
.cet-search[hidden] { display:none; }
.cet-search__form { display:flex; gap:8px; align-items:center; max-width:760px; margin:0 auto; }
.cet-search__input { flex:1 1 auto; min-width:0; }
.cet-search__form .btn { flex:0 0 auto; }
@media (max-width:599px) { .cet-search__form .btn { display:none; } }
.cet-header:not(.cet-header--checkout) .cet-search { padding-top:30px; }

@media (min-width:992px) {
  .cet-bar__in { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); grid-template-areas:"navl logo navr"; min-height:78px; gap:0; }
  .cet-burger { display:none; }
  .cet-nav { display:flex; align-self:stretch; }
  .cet-nav--l { grid-area:navl; justify-content:flex-end; padding-right:clamp(22px,2.6vw,40px); }
  .cet-nav--r { grid-area:navr; justify-content:flex-start; padding-left:clamp(22px,2.6vw,40px); padding-right:150px; }
  .cet-nav__has { position:static; }
  .cet-bar__in { position:static; }
  .cet-actions { position:absolute; right:max(var(--cet-gutter), calc((100% - var(--cet-container)) / 2)); top:0; bottom:0; }
  .cet-account { display:inline-flex; }
  .cet-logo { width:108px; margin:8px 0 -46px; }
  #header.cet-stuck .cet-logo { width:52px; margin:6px 0; }
  #header.cet-stuck .cet-bar__in { min-height:64px; }
  .cet-actions__tel { display:inline-flex; align-items:center; min-height:44px; margin-left:16px; font-weight:600; text-decoration:none; }
  .cet-header:not(.cet-header--checkout) .cet-search { padding-top:52px; }
  #header.cet-stuck .cet-header:not(.cet-header--checkout) .cet-search { padding-top:16px; }
}
@media (min-width:992px) and (max-width:1199px) {
  .cet-nav__list > li > a { font-size:11.5px; letter-spacing:.1em; }
  .cet-nav--r { padding-right:140px; }
}
/* tunnel : médaillon à gauche, sans débord */
.cet-header--checkout .cet-bar__in { grid-template-columns:auto 1fr; grid-template-areas:"logo actions"; min-height:72px; }
.cet-header--checkout .cet-logo { justify-self:start; width:56px; margin:8px 0; }
.cet-header--checkout .cet-actions { position:static; }

/* tiroir mobile */
.cet-drawer { position:fixed; inset:0; z-index:2000; }
.cet-drawer[hidden] { display:none; }
.cet-drawer__backdrop { position:absolute; inset:0; background:rgba(5,22,32,.55); opacity:0; transition:opacity .25s; }
.cet-drawer__panel { position:absolute; top:0; bottom:0; left:0; width:min(90vw,390px); background-color:var(--cet-paper); background-image:var(--cet-grain-img); overflow-y:auto; overscroll-behavior:contain; transform:translateX(-100%); transition:transform .3s ease; display:flex; flex-direction:column; }
.cet-drawer.is-open .cet-drawer__backdrop { opacity:1; }
.cet-drawer.is-open .cet-drawer__panel { transform:none; }
.cet-drawer__head { display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center; padding:12px 8px 12px 18px; position:relative; }
.cet-drawer__head::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--cet-gilt); }
.cet-drawer__logo { width:56px; height:56px; border-radius:50%; filter:drop-shadow(0 3px 8px rgba(7,39,58,.25)); }
.cet-drawer__brand { display:flex; flex-direction:column; line-height:1.2; }
.cet-drawer__name { font-family:var(--cet-serif); font-size:19px; color:var(--cet-ink); }
.cet-drawer__sub-t { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--cet-gold); margin-top:3px; }
.cet-drawer__search { display:flex; gap:4px; padding:16px 18px 4px; }
.cet-drawer__search input { flex:1; min-width:0; }
.cet-drawer__nav { list-style:none; margin:0; padding:6px 18px 14px; }
.cet-drawer__nav > li { border-bottom:1px solid var(--cet-line); }
.cet-drawer__nav a { display:flex; align-items:center; min-height:52px; text-decoration:none; color:var(--cet-ink); font-family:var(--cet-serif); font-size:20px; }
.cet-drawer__sizes { list-style:none; margin:0 0 8px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.cet-drawer__sizes a { display:flex; flex-direction:column; align-items:flex-start; min-height:0; font-family:var(--cet-sans); font-size:14px; gap:2px; }
.cet-drawer__thumb { display:block; width:100%; aspect-ratio:1/1; background:var(--cet-white); border:1px solid var(--cet-line); overflow:hidden; margin-bottom:4px; }
.cet-drawer__thumb img { width:100%; height:100%; object-fit:cover; }
.cet-drawer__cm { font-family:var(--cet-serif); font-size:17px; color:var(--cet-ink); line-height:1.2; }
.cet-drawer__price { font-size:12.5px; color:var(--cet-muted); }
.cet-drawer__sub { list-style:none; margin:0 0 12px; padding:0 0 0 14px; border-left:1px solid var(--cet-gold-deco); }
.cet-drawer__sub a { font-family:var(--cet-sans); font-size:15px; min-height:44px; color:var(--cet-text); }
.cet-drawer__foot { margin-top:auto; padding:22px 20px 26px; background-color:var(--cet-navy); background-image:var(--cet-grain-img-light); color:#DCE3E7; font-size:14px; position:relative; }
.cet-drawer__foot::before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--cet-gilt); }
.cet-drawer__foot p { margin:0 0 .6em; }
.cet-drawer__kicker { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cet-gold-bright); }
.cet-drawer__addr { font-family:var(--cet-serif); font-size:17px; color:#fff; line-height:1.35; }
.cet-drawer__hours span { color:#AEBCC3; }
.cet-drawer__links { display:flex; gap:20px; flex-wrap:wrap; margin:0 !important; }
.cet-drawer__links a { color:var(--cet-gold-sheen); font-weight:600; min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }
html.cet-noscroll, html.cet-noscroll body { overflow:hidden; }
html.cet-noscroll #header { z-index:2100 !important; }

/* =====================================================================
   PIED DE PAGE — refait par l'Agent D (24/09) : bande bleu nuit, médaillon, vigne, étiquette horaires
   ===================================================================== */
#footer { background:transparent; padding:0; margin:0; }
.cet-footer { background:transparent; color:#D3DCE0; font-size:15px; margin-top:0; padding-top:72px; }
.cet-footer--checkout { padding-top:0; }
.cet-footer a { color:#EEF2F3; text-decoration:none; }
.cet-footer a:hover { color:var(--cet-gold-sheen); text-decoration:underline; text-underline-offset:.2em; }
.cet-footer__top { position:relative; isolation:isolate; background-color:var(--cet-navy); background-image:var(--cet-grain-img-light); padding:0 0 clamp(36px,5vw,56px); }
.cet-footer__top::before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--cet-gilt); }
.cet-footer__top .cet-vine { color:var(--cet-gold-bright); opacity:.13; top:90px; }
.cet-footer__top .cet-vine--bottom { top:auto; bottom:30px; }
.cet-footer__crest { text-align:center; padding:0 var(--cet-gutter); }
.cet-footer__medal { display:inline-block; width:132px; margin-top:-66px; border-radius:50%; line-height:0; }
.cet-footer__medal img { width:100%; height:auto; border-radius:50%; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35)); }
.cet-footer__medal:hover { text-decoration:none !important; }
.cet-footer__pitch { max-width:560px; margin:18px auto 0; color:#C7D2D8; font-family:var(--cet-serif); font-size:17px; line-height:1.55; font-style:italic; }
.cet-footer__news { margin:clamp(32px,4vw,48px) auto 0; max-width:980px; display:grid; gap:18px 40px; align-items:center; background:rgba(5,22,32,.35); }
@media (min-width:860px) { .cet-footer__news { grid-template-columns:1fr 1.1fr; } }
.cet-footer__news .cet-eyebrow { color:var(--cet-gold-bright); margin-bottom:.5rem; }
.cet-footer__news-t { font-family:var(--cet-serif); font-size:clamp(1.45rem,2.4vw,1.9rem); color:#fff; margin:0 0 .4rem; font-weight:420; }
.cet-footer__news-t .cet-italic { color:var(--cet-gold-bright); }
.cet-footer__news-txt p:last-child { margin:0; color:#C7D2D8; }
.cet-news { display:flex; flex-wrap:wrap; gap:10px; }
#footer .cet-news input[type=email] { flex:1 1 220px; width:auto; min-width:0; min-height:50px; padding:10px 14px; background:rgba(255,255,255,.06); border:1px solid rgba(205,175,102,.55); border-radius:var(--cet-radius); color:#fff; font-size:16px; }
.cet-news input[type=email]::placeholder { color:#9FB0B8; }
#footer .cet-news input[type=email]:focus { border-color:var(--cet-gold-sheen); background:rgba(255,255,255,.1); }
#footer .cet-news .btn-primary { flex:0 0 auto; min-height:50px; background:var(--cet-gilt) !important; background-color:var(--cet-gold-bright) !important; border:0 !important; color:var(--cet-navy-deep) !important; }
#footer .cet-news .btn-primary:hover { background:var(--cet-gold-sheen) !important; color:var(--cet-navy-deep) !important; }
@media (max-width:480px) { #footer .cet-news .btn-primary { flex:1 1 100%; } }
.cet-news__legal { flex-basis:100%; font-size:12.5px; color:#AEBCC3; }
.cet-news__legal label, .cet-news__legal p { color:#AEBCC3; font-weight:400; font-size:12.5px; }
.cet-footer .block_newsletter_alert { flex-basis:100%; order:9; font-size:14px; padding:10px 12px; margin:6px 0 0; border-radius:var(--cet-radius); }
.cet-footer__grid { display:grid; gap:34px 24px; grid-template-columns:1fr 1fr; margin-top:clamp(40px,5vw,60px); }
.cet-footer__store, .cet-footer__hours { grid-column:1 / -1; }
@media (min-width:640px) { .cet-footer__store, .cet-footer__hours { grid-column:auto; } }
@media (min-width:1100px) { .cet-footer__grid { grid-template-columns:1fr 1fr 1.1fr 1.2fr; } }
.cet-footer__title { font-family:var(--cet-sans) !important; font-size:11.5px !important; font-weight:700 !important; letter-spacing:.2em; text-transform:uppercase !important; color:var(--cet-gold-bright) !important; margin:0 0 14px; }
.cet-footer__col ul { list-style:none; margin:0; padding:0; }
.cet-footer__col li a { display:inline-flex; align-items:center; min-height:36px; }
.cet-footer address { font-style:normal; margin:0; }
.cet-footer address p { margin:0 0 .8em; }
.cet-footer address a { display:inline-block; padding:4px 0; }
.cet-footer__addr { font-family:var(--cet-serif); font-size:18px; color:#fff; line-height:1.4; }
.cet-footer .cet-link-arrow { color:var(--cet-gold-sheen); }
.cet-footer__links-inline { display:flex; flex-wrap:wrap; gap:4px 24px; align-items:center; margin:0; }
.cet-footer__social { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
/* étiquette « horaires » : petite étiquette crème encadrée, posée sur le bleu */
.cet-hours-label { position:relative; background-color:var(--cet-paper); background-image:var(--cet-grain-img); color:var(--cet-text); text-align:center; padding:22px 20px 18px; border:1px solid var(--cet-gold-deco); outline:1px solid var(--cet-gold-deco); outline-offset:-6px; box-shadow:0 10px 24px rgba(0,0,0,.25); max-width:340px; }
@media (min-width:1100px) { .cet-hours-label { transform:rotate(-1.2deg); } }
.cet-hours-label__k { font-family:var(--cet-serif); font-variant-caps:all-small-caps; letter-spacing:.14em; font-size:19px; color:var(--cet-ink); margin:0; }
.cet-hours-label .cet-fleuron { margin:8px auto 10px; }
.cet-hours-label dl { margin:0; }
.cet-hours-label dl > div { padding:5px 0; }
.cet-hours-label dl > div + div { border-top:1px dotted var(--cet-line); }
.cet-hours-label dt { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cet-gold); }
.cet-hours-label dd { margin:2px 0 0; font-family:var(--cet-serif); font-size:17px; color:var(--cet-ink); }
.cet-footer__bottom { border-top:1px solid rgba(205,175,102,.28); font-size:13px; color:#AEBCC3; background:var(--cet-navy-deep); }
.cet-footer__bottom-in { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 24px; padding-top:18px; padding-bottom:18px; }
.cet-footer__bottom p { margin:0; }
.cet-footer__bottom a { color:#C7D2D8; display:inline-flex; min-height:32px; align-items:center; }
.cet-footer__links { display:flex; flex-wrap:wrap; gap:4px 18px; }
.cet-footer--checkout { margin-top:48px; }

/* =====================================================================
   ACCUEIL
   ===================================================================== */
#index #wrapper { padding-top:0; background:transparent; }
#index #wrapper > .container:empty, #index .page-home:empty { display:none; }
#index #content-wrapper, #index #wrapper > .container > .row-wrapper { min-height:0; }
.cet-home { overflow:hidden; }

/* hero */
.cet-hero { display:grid; background:var(--cet-paper); }
.cet-hero__media { position:relative; background:var(--cet-cream); }
.cet-hero__media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.cet-hero__text { padding:32px var(--cet-gutter) 48px; }
.cet-hero__title { font-size:clamp(2rem,4.5vw,3.4rem); font-weight:420; margin:0; line-height:1.08; letter-spacing:-.015em; max-width:16ch; text-wrap:balance; }
.cet-hero__lead { font-size:17px; max-width:34rem; margin:0; }
.cet-hero__note { margin:1.4rem 0 0; font-size:14px; color:var(--cet-muted); }
.cet-hero .cet-btns .btn { flex:1 1 220px; }
@media (min-width:600px) { .cet-hero .cet-btns .btn { flex:0 0 auto; } }
@media (min-width:992px) {
  .cet-hero { grid-template-columns:minmax(0,5fr) minmax(0,7fr); min-height:min(680px, calc(100vh - 150px)); }
  .cet-hero__media { order:2; }
  .cet-hero__media picture, .cet-hero__media img { height:100%; }
  .cet-hero__media img { aspect-ratio:auto; min-height:520px; object-position:50% 60%; }
  .cet-hero__text { display:flex; flex-direction:column; justify-content:center; padding:64px clamp(32px,4vw,72px) 64px max(var(--cet-gutter), calc((100vw - var(--cet-container)) / 2)); }
  .cet-hero__lead { font-size:18px; }
}

/* appellations */
.cet-appellations { background:var(--cet-white); border-top:1px solid var(--cet-line); border-bottom:1px solid var(--cet-line); padding:clamp(48px,6vw,80px) 0; }
.cet-appellations__list { list-style:none; margin:0 auto; padding:0; max-width:1040px; display:flex; flex-wrap:wrap; justify-content:center; gap:4px clamp(20px,3vw,44px); text-align:center; }
.cet-appellations__list li { display:flex; align-items:center; }
.cet-appellations__list a { font-family:var(--cet-serif); font-size:clamp(18px,2vw,24px); font-weight:400; color:var(--cet-ink); text-decoration:none; padding:8px 0; line-height:1.3; font-variant-caps:small-caps; letter-spacing:.03em; border-bottom:1px solid transparent; }
.cet-appellations__list a:hover { color:var(--cet-wine); border-bottom-color:var(--cet-wine); }

/* tailles */
.cet-sizes { background:var(--cet-cream); }
.cet-sizes__list { list-style:none; margin:0; padding:0; display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:768px) { .cet-sizes__list { grid-template-columns:repeat(3,1fr); gap:24px; } }
.cet-size a { display:grid; grid-template-columns:88px 1fr; grid-template-rows:auto auto auto; column-gap:18px; align-items:end; height:100%; background:var(--cet-white); border:1px solid var(--cet-line); padding:20px; text-decoration:none; color:var(--cet-text); transition:border-color .2s, box-shadow .2s; }
.cet-size a:hover { border-color:var(--cet-ink); box-shadow:var(--cet-shadow); }
.cet-size__stage { grid-row:1 / span 3; height:120px; display:flex; align-items:flex-end; justify-content:center; border-bottom:1px solid var(--cet-ink); }
.cet-size__lamp { display:block; background:linear-gradient(90deg,#F4EEE2,#FFFDF9 45%,#EFE6D6); border:1px solid var(--cet-line); border-bottom:0; position:relative; box-shadow:0 0 18px rgba(168,130,60,.25); }
.cet-size__label { position:absolute; left:18%; right:18%; top:34%; height:26%; border:1px solid var(--cet-gold); outline:1px solid var(--cet-gold); outline-offset:-3px; }
.cet-size--29 .cet-size__lamp { width:34px; height:44px; }
.cet-size--39 .cet-size__lamp { width:40px; height:59px; }
.cet-size--80 .cet-size__lamp { width:54px; height:116px; }
.cet-size__cm { font-family:var(--cet-serif); font-size:clamp(28px,3vw,36px); color:var(--cet-ink); line-height:1; }
.cet-size__txt { font-size:14.5px; color:var(--cet-muted); margin-top:6px; line-height:1.5; }
.cet-size__meta { font-weight:600; color:var(--cet-wine); margin-top:8px; font-size:14px; letter-spacing:.02em; }
@media (min-width:768px) {
  .cet-size a { grid-template-columns:1fr; grid-template-rows:auto auto 1fr auto; align-items:start; text-align:center; padding:28px 24px 26px; }
  .cet-size__stage { grid-row:auto; height:190px; margin-bottom:22px; }
  .cet-size--29 .cet-size__lamp { width:48px; height:65px; }
  .cet-size--39 .cet-size__lamp { width:56px; height:87px; }
  .cet-size--80 .cet-size__lamp { width:78px; height:178px; }
}

/* personnaliser */
.cet-perso .cet-split__media img { aspect-ratio:4/5; object-fit:cover; max-height:640px; }
@media (max-width:899px) { .cet-perso .cet-split__media img { aspect-ratio:4/3; object-position:50% 70%; } }
.cet-steps { list-style:none; margin:1.4rem 0 0; padding:0; counter-reset:none; }
.cet-steps li { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:16px 0; border-top:1px solid var(--cet-line); }
.cet-steps li:last-child { border-bottom:1px solid var(--cet-line); }
.cet-steps strong { font-family:var(--cet-serif); font-weight:500; font-size:18px; color:var(--cet-ink); }
.cet-steps__n { width:40px; height:40px; border:1px solid var(--cet-gold); outline:1px solid var(--cet-gold); outline-offset:-4px; display:flex; align-items:center; justify-content:center; font-family:var(--cet-serif); font-size:18px; color:var(--cet-wine); }

/* kakémonos / horloge */
.cet-extras { background:var(--cet-cream); }
.cet-extras__grid { display:grid; gap:20px; grid-template-columns:1fr; max-width:900px; margin:0 auto; }
@media (min-width:640px) { .cet-extras__grid { grid-template-columns:1fr 1fr; gap:28px; } }

/* magasin */
.cet-store__info { margin:1.4rem 0 0; }
.cet-store__info > div { display:grid; grid-template-columns:130px 1fr; gap:12px; padding:10px 0; border-top:1px solid var(--cet-line); }
.cet-store__info > div:last-child { border-bottom:1px solid var(--cet-line); }
.cet-store__info dt { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-muted); padding-top:3px; }
.cet-store__info dd { margin:0; color:var(--cet-ink); }
@media (max-width:420px) { .cet-store__info > div { grid-template-columns:1fr; gap:2px; } }

/* réassurance */
.cet-reassure { border-top:1px solid var(--cet-line); background:var(--cet-paper); }
.cet-reassure__list { list-style:none; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:0; padding-top:8px; padding-bottom:8px; }
.cet-reassure__list li { padding:22px 12px; text-align:center; display:flex; flex-direction:column; gap:4px; }
.cet-reassure__list strong { font-family:var(--cet-serif); font-weight:500; font-size:17px; color:var(--cet-ink); line-height:1.25; }
.cet-reassure__list span { font-size:13.5px; color:var(--cet-muted); line-height:1.45; }
@media (min-width:900px) {
  .cet-reassure__list { grid-template-columns:repeat(4,1fr); }
  .cet-reassure__list li + li { border-left:1px solid var(--cet-line); }
}
@media (max-width:899px) { .cet-reassure__list li:nth-child(n+3) { border-top:1px solid var(--cet-line); } .cet-reassure__list li:nth-child(even) { border-left:1px solid var(--cet-line); } }

@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }

/* ---------- Modale « produit ajouté » (posshoppingcart) ---------- */
#blockcart-modal .modal-content { border-radius:var(--cet-radius); border:1px solid var(--cet-line); background:var(--cet-white); }
#blockcart-modal .modal-header { background:var(--cet-wine) !important; border:0; }
#blockcart-modal .modal-header .modal-title, #blockcart-modal .modal-header .close, #blockcart-modal .modal-header i { color:var(--cet-white) !important; font-family:var(--cet-serif); font-weight:400; }
#blockcart-modal .product-name { font-family:var(--cet-serif); color:var(--cet-ink); }
#blockcart-modal .cart-products-count { font-family:var(--cet-serif); color:var(--cet-ink); }

/* ---------- Bandeau titre de page (layout) : typo seulement, la mise en page est à C ---------- */
.page-title-wrapper .page-header h1, .page-title-wrapper h1 { font-family:var(--cet-serif) !important; font-weight:450 !important; color:var(--cet-ink) !important; text-transform:none !important; }
.breadcrumb, .breadcrumb ol { font-family:var(--cet-sans); font-size:13px; }
.breadcrumb a, .breadcrumb li a span { color:var(--cet-muted) !important; text-decoration:none; }
.breadcrumb a:hover span, .breadcrumb a:hover { color:var(--cet-wine) !important; }
.breadcrumb li:last-child, .breadcrumb li:last-child span, .breadcrumb li:last-child a { color:var(--cet-ink) !important; }
@media (max-width:991px) {
  .cet-header--checkout .cet-logo { align-items:flex-start; }
  .cet-header--checkout .cet-logo__sur { margin-left:0; }
  .cet-header--checkout .cet-logo__sur::before { display:none; }
}
/* le style global des .btn (48 px) ne doit pas gonfler les flèches de quantité (TouchSpin) */
.bootstrap-touchspin .btn, .input-group-btn-vertical .btn { min-height:0 !important; padding:0 10px !important; letter-spacing:0; }

/* =====================================================================
   KIT D'ORNEMENTS — PHASE 2 (Agent D, 24/09/2026) — mode d'emploi en tête de fichier
   ===================================================================== */
:root {
  --cet-cave:#051620; --cet-cave-2:#0A2433; --cet-gold-light:#D9BE7C; --cet-cream-ink:#F3EEDF;
  --cet-grain-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .19 0 0 0 0 .12 1.4 0 0 0 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
  --cet-grain-img-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .85 1.4 0 0 0 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
  --cet-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0 L12 8 L20 10 L12 12 L10 20 L8 12 L0 10 L8 8Z'/%3E%3C/svg%3E");
  --cet-fleuron-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 66 22'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M27 11 C20 11 16 4 10.5 6.5 C6.5 8.5 8.5 14 12.5 13 C14.5 12.5 14.5 10 12.5 10'/%3E%3Cpath d='M39 11 C46 11 50 4 55.5 6.5 C59.5 8.5 57.5 14 53.5 13 C51.5 12.5 51.5 10 53.5 10'/%3E%3Cpath d='M27 11 C21 11 18 17 14 17 M39 11 C45 11 48 17 52 17'/%3E%3C/g%3E%3Cpath d='M33 4 L37.5 11 L33 18 L28.5 11Z'/%3E%3Ccircle cx='3.5' cy='11' r='1.5'/%3E%3Ccircle cx='62.5' cy='11' r='1.5'/%3E%3C/svg%3E");
}

/* --- Texture papier (background-image : ne pas combiner avec une autre image de fond) --- */
.cet-grain { background-image:var(--cet-grain-img); background-repeat:repeat; }
.cet-band--wine.cet-grain, .cet-band--cave.cet-grain { background-image:var(--cet-grain-img-light); }

/* --- Bandes de couleur --- */
.cet-band--cream, .cet-band--wine, .cet-band--cave { position:relative; isolation:isolate; }
.cet-band--cream { background-color:var(--cet-cream); color:var(--cet-text); }
.cet-band--wine { background-color:var(--cet-navy); color:#E3E9EC; }
.cet-band--cave { background-color:var(--cet-cave); color:#D3DADD; }
.cet-band--wine :is(h1,h2,h3,h4,.h1,.h2,.h3,.cet-h1,.cet-h2), .cet-band--cave :is(h1,h2,h3,h4,.h1,.h2,.h3,.cet-h1,.cet-h2) { color:#FBF6EE; }
.cet-band--wine .cet-eyebrow, .cet-band--cave .cet-eyebrow { color:var(--cet-gold-light); }
.cet-band--wine .cet-head__sub, .cet-band--wine .cet-muted { color:#BFCCD3; }
.cet-band--cave .cet-head__sub, .cet-band--cave .cet-muted { color:#A5B3BA; }
.cet-band--wine a:not(.btn), .cet-band--cave a:not(.btn) { color:var(--cet-gold-sheen); }
.cet-band--wine a:not(.btn):hover, .cet-band--cave a:not(.btn):hover { color:#fff; }
.cet-band--wine .cet-rule, .cet-band--cave .cet-rule, .cet-band--wine .cet-head::after, .cet-band--cave .cet-head::after { border-color:var(--cet-gold-light); }
.cet-band--wine .btn-primary, .cet-band--cave .btn-primary { background:var(--cet-cream-ink) !important; border-color:var(--cet-cream-ink) !important; color:var(--cet-wine-dark) !important; }
.cet-band--wine .btn-primary:hover, .cet-band--cave .btn-primary:hover { background:#fff !important; border-color:#fff !important; color:var(--cet-wine-dark) !important; }
.cet-band--wine .btn-secondary, .cet-band--cave .btn-secondary { border-color:rgba(243,234,220,.8); color:var(--cet-cream-ink); background:transparent; }
.cet-band--wine .btn-secondary:hover, .cet-band--cave .btn-secondary:hover { background:var(--cet-cream-ink) !important; border-color:var(--cet-cream-ink) !important; color:var(--cet-ink) !important; }
.cet-band--cave .cet-link-arrow, .cet-band--wine .cet-link-arrow { color:var(--cet-gold-light); }

/* --- Halo chaud derrière une lampe (surtout sur fond cave) --- */
.cet-halo { position:relative; isolation:isolate; }
.cet-halo::before { content:""; position:absolute; inset:-12% -18%; z-index:-1; pointer-events:none; background:radial-gradient(closest-side, rgba(255,196,120,.34), rgba(255,170,90,.12) 55%, transparent 100%); }

/* --- Cadre d'étiquette : double filet + étoiles aux coins (utilise ::before/::after) --- */
.cet-frame { --cet-frame-c:var(--cet-gold-deco); position:relative; border:1px solid var(--cet-frame-c); padding:clamp(22px,4vw,44px); }
.cet-frame::before { content:""; position:absolute; inset:5px; border:1px solid var(--cet-frame-c); opacity:.7; pointer-events:none; }
.cet-frame::after { content:""; position:absolute; inset:-7px; pointer-events:none; background:var(--cet-frame-c);
  -webkit-mask:var(--cet-star) left top/14px no-repeat, var(--cet-star) right top/14px no-repeat, var(--cet-star) left bottom/14px no-repeat, var(--cet-star) right bottom/14px no-repeat;
          mask:var(--cet-star) left top/14px no-repeat, var(--cet-star) right top/14px no-repeat, var(--cet-star) left bottom/14px no-repeat, var(--cet-star) right bottom/14px no-repeat; }
.cet-frame--light { --cet-frame-c:var(--cet-gold-light); }
.cet-frame--ink { --cet-frame-c:var(--cet-ink); }

/* --- Sceau monogramme C&T (views/img/seal.svg en masque ; couleur = color) --- */
.cet-seal { --cet-seal-size:96px; display:inline-block; position:relative; width:var(--cet-seal-size); height:var(--cet-seal-size); flex:0 0 auto; color:var(--cet-gold-deco); vertical-align:middle; }
.cet-seal::before { content:""; position:absolute; inset:0; background:currentColor;
  -webkit-mask:url("/modules/cetrefonte/views/img/seal.svg") center/contain no-repeat; mask:url("/modules/cetrefonte/views/img/seal.svg") center/contain no-repeat; }
.cet-seal--wax { border-radius:50%; color:var(--cet-gold-bright); background:radial-gradient(circle at 34% 28%, #1E4A62 0, #0C3043 40%, #051A26 80%); box-shadow:inset 0 0 0 2px #B8954A, inset 0 0 0 4px #0C3043, inset 0 0 0 5px #CDAF66, 0 6px 18px rgba(7,39,58,.3); }
.cet-seal--wax::before { inset:9%; }
.cet-seal--sm { --cet-seal-size:44px; }
.cet-seal--lg { --cet-seal-size:150px; }
.cet-seal--spin::before { animation:cet-spin 80s linear infinite; }
@keyframes cet-spin { to { transform:rotate(360deg); } }

/* --- Décor sarment de vigne (views/img/vine.svg) : élément vide aria-hidden dans un parent relatif --- */
.cet-vine { position:absolute; z-index:-1; pointer-events:none; top:6%; left:0; width:clamp(110px,16vw,240px); aspect-ratio:300/520; color:var(--cet-gold-deco); opacity:.3;
  background:currentColor; -webkit-mask:url("/modules/cetrefonte/views/img/vine.svg") center/contain no-repeat; mask:url("/modules/cetrefonte/views/img/vine.svg") center/contain no-repeat; }
.cet-vine--right { left:auto; right:0; transform:scaleX(-1); }
.cet-vine--bottom { top:auto; bottom:4%; }
.cet-band--wine .cet-vine, .cet-band--cave .cet-vine { color:var(--cet-gold-light); opacity:.2; }
.cet-vine-host { position:relative; isolation:isolate; overflow:hidden; }
@media (max-width:599px) { .cet-vine { width:92px; opacity:.18; } }

/* --- Fleuron séparateur : double filet + ornement central (élément vide, aria-hidden) --- */
.cet-fleuron { display:block; width:100%; max-width:340px; height:22px; margin:1.4rem auto; color:var(--cet-gold-deco); background:currentColor;
  -webkit-mask:var(--cet-fleuron-img) center/66px 22px no-repeat, linear-gradient(#000 0 0) left 0 top 8px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) left 0 top 12px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) right 0 top 8px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) right 0 top 12px/calc(50% - 40px) 1px no-repeat;
          mask:var(--cet-fleuron-img) center/66px 22px no-repeat, linear-gradient(#000 0 0) left 0 top 8px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) left 0 top 12px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) right 0 top 8px/calc(50% - 40px) 1px no-repeat, linear-gradient(#000 0 0) right 0 top 12px/calc(50% - 40px) 1px no-repeat; }
.cet-fleuron--sm { max-width:180px; }
.cet-fleuron--left { margin-left:0; }
.cet-band--wine .cet-fleuron, .cet-band--cave .cet-fleuron, .cet-fleuron--light { color:var(--cet-gold-light); }

/* --- Typo éditoriale --- */
.cet-italic { font-style:italic; font-weight:380; color:var(--cet-gold); font-variation-settings:"opsz" 144; letter-spacing:-.01em; }
.cet-band--wine .cet-italic, .cet-band--cave .cet-italic { color:var(--cet-gold-light); }
.cet-display { font-size:clamp(2.3rem,6vw,4.6rem); line-height:1.02; letter-spacing:-.02em; font-weight:380; }
.cet-lettrine::first-letter { float:left; font-family:var(--cet-serif); font-size:3.4em; line-height:.86; padding:.06em .1em 0 0; color:var(--cet-gold); font-weight:400; }
.cet-band--wine .cet-lettrine::first-letter, .cet-band--cave .cet-lettrine::first-letter { color:var(--cet-gold-light); }
.cet-roman { font-family:var(--cet-serif); font-style:italic; color:var(--cet-gold); letter-spacing:.04em; }
.cet-mention { display:inline-block; font-family:var(--cet-serif); font-variant-caps:all-small-caps; letter-spacing:.14em; font-size:15px; color:var(--cet-gold); }

/* --- Apparition au défilement (JS cet-base.js ajoute html.cet-rv puis .is-in) --- */
html.cet-rv .cet-reveal { opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); transition-delay:var(--cet-delay,0s); }
html.cet-rv .cet-reveal.is-in { opacity:1; transform:none; }
html.cet-rv .cet-reveal--fade { transform:none; }
html.cet-rv .cet-reveal--zoom { transform:scale(.96); }
.cet-reveal--d1 { --cet-delay:.12s; } .cet-reveal--d2 { --cet-delay:.24s; } .cet-reveal--d3 { --cet-delay:.36s; } .cet-reveal--d4 { --cet-delay:.48s; }
@media (prefers-reduced-motion:reduce) { html.cet-rv .cet-reveal { opacity:1 !important; transform:none !important; } .cet-seal--spin::before { animation:none; } }

/* --- Bandeau défilant (marquee) : <div class="cet-marquee"><div class="cet-marquee__track">…contenu ×2…</div></div> --- */
.cet-marquee { overflow:hidden; white-space:nowrap; -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.cet-marquee__track { display:inline-flex; align-items:center; gap:0; animation:cet-marquee var(--cet-marquee-d,60s) linear infinite; will-change:transform; }
.cet-marquee:hover .cet-marquee__track, .cet-marquee:focus-within .cet-marquee__track { animation-play-state:paused; }
@keyframes cet-marquee { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .cet-marquee { white-space:normal; -webkit-mask:none; mask:none; } .cet-marquee__track { animation:none; flex-wrap:wrap; justify-content:center; } .cet-marquee__track [aria-hidden="true"] { display:none; } }

/* pied : consentement RGPD lisible sur bleu nuit + bouton désactivé (avant consentement) lisible */
#footer .cet-news__legal label, #footer .cet-news__legal label span { color:#C7D2D8 !important; font-size:12.5px; font-weight:400; line-height:1.5; }
#footer .cet-news__legal .custom-checkbox input[type=checkbox] + span { border-color:var(--cet-gold-bright); background:transparent; }
#footer .cet-news__legal .psgdpr_consent_icon { color:var(--cet-gold-sheen) !important; }
#footer .cet-news .btn-primary:disabled { opacity:1; background:transparent !important; border:1px solid rgba(205,175,102,.6) !important; color:var(--cet-gold-sheen) !important; cursor:not-allowed; }

/* =====================================================================
   ACCUEIL PHASE 2 (Agent D, 24/09) — les anciennes règles .cet-hero/.cet-sizes/… plus haut ne servent plus
   ===================================================================== */
.cet-home { overflow:clip; }

/* hero nocturne : photo plein cadre + cartouche d'étiquette encadrée */
.cet-hero2 { position:relative; display:grid; overflow:hidden; }
.cet-hero2__media { position:relative; }
.cet-hero2__media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:50% 55%; }
.cet-hero2__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,22,32,0) 55%, var(--cet-cave) 100%); }
.cet-hero2__in { position:relative; z-index:2; margin-top:-64px; padding-bottom:44px; }
.cet-hero2__card { background:rgba(5,22,32,.9); text-align:center; padding:74px 22px 30px; }
.cet-hero2__medal { position:absolute; left:50%; top:0; width:112px; height:112px; transform:translate(-50%,-55%); border-radius:50%; filter:drop-shadow(0 8px 20px rgba(0,0,0,.45)); }
.cet-hero2__title { font-size:clamp(2.05rem,5.2vw,3.7rem); line-height:1.06; letter-spacing:-.015em; font-weight:400; margin:0; color:#FBF7EE; text-wrap:balance; }
.cet-hero2__lead { color:#D3DADD; font-size:16.5px; max-width:34rem; margin:0 auto; }
.cet-hero2 .cet-fleuron { margin:18px auto; }
.cet-hero2 .cet-btns { justify-content:center; }
.cet-hero2 .cet-btns .btn { flex:1 1 230px; }
@media (min-width:600px) { .cet-hero2 .cet-btns .btn { flex:0 0 auto; } }
@media (min-width:992px) {
  .cet-hero2 { min-height:min(760px, calc(100vh - 110px)); align-items:center; }
  .cet-hero2__media { position:absolute; inset:0; }
  .cet-hero2__media picture, .cet-hero2__media img { height:100%; aspect-ratio:auto; }
  .cet-hero2__media img { object-position:50% 58%; }
  .cet-hero2__media::after { background:linear-gradient(90deg, rgba(5,22,32,.92) 0%, rgba(5,22,32,.72) 34%, rgba(5,22,32,.08) 66%, rgba(5,22,32,0) 100%), linear-gradient(0deg, rgba(5,22,32,.5), transparent 30%); }
  .cet-hero2__in { margin:0 auto; padding-top:90px; padding-bottom:70px; width:100%; }
  .cet-hero2__card { max-width:560px; background:rgba(5,22,32,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); padding:92px 48px 40px; }
  .cet-hero2__medal { width:140px; height:140px; }
  .cet-hero2__lead { font-size:17.5px; }
}

/* bandeau défilant des appellations */
.cet-ticker { background:var(--cet-navy-deep); color:var(--cet-gold-bright); border-top:1px solid rgba(205,175,102,.35); border-bottom:1px solid rgba(205,175,102,.35); padding:14px 0; --cet-marquee-d:70s; }
.cet-ticker__set { display:inline-flex; align-items:center; }
.cet-ticker__i { font-family:var(--cet-serif); font-size:clamp(17px,1.8vw,22px); font-style:italic; color:#F1ECE0; padding:0 22px; white-space:nowrap; }
.cet-ticker__s { font-size:11px; color:var(--cet-gold-bright); }

/* chiffres */
.cet-figures { background-color:var(--cet-paper); border-bottom:1px solid var(--cet-line); }
.cet-figures__list { list-style:none; margin:0 auto; padding-top:clamp(28px,4vw,48px); padding-bottom:clamp(28px,4vw,48px); display:grid; grid-template-columns:1fr 1fr; gap:26px 10px; }
.cet-figures__list li { text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 8px; }
.cet-figures__n { font-family:var(--cet-serif); font-size:clamp(2.4rem,5vw,3.6rem); line-height:1; color:var(--cet-navy); font-weight:350; font-variation-settings:"opsz" 144; }
.cet-figures__n::after { content:""; display:block; width:36px; height:1px; margin:12px auto 0; background:var(--cet-gilt); }
.cet-figures__t { font-size:14px; color:var(--cet-muted); line-height:1.45; max-width:200px; }
@media (min-width:900px) { .cet-figures__list { grid-template-columns:repeat(4,1fr); } .cet-figures__list li + li { border-left:1px solid var(--cet-line); } }

/* histoire : composition décalée */
.cet-story__in { display:grid; gap:clamp(36px,5vw,80px); align-items:center; }
.cet-story__media { position:relative; padding:0 18% 22% 0; }
.cet-story__big img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; box-shadow:var(--cet-shadow); }
.cet-story__small { position:absolute; right:0; bottom:0; width:44%; border:6px solid var(--cet-paper); outline:1px solid var(--cet-gold-deco); box-shadow:0 18px 40px rgba(7,39,58,.2); }
.cet-story__small img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.cet-story__title { font-size:clamp(1.9rem,3.6vw,2.9rem); line-height:1.1; }
.cet-story__text p { font-size:16.5px; }
.cet-story__sign { margin-top:1.4rem; }
@media (min-width:992px) { .cet-story__in { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); } }

/* sélection : cartes produit sur crème */
.cet-selection .product-miniature .img_block { transition:box-shadow .35s ease, border-color .35s ease; }
.cet-selection .product-miniature:hover .img_block { border-color:var(--cet-gold-deco); box-shadow:0 14px 34px rgba(7,39,58,.14), 0 0 0 4px rgba(243,222,165,.35); }

/* appellations situées (bande bleu nuit) */
.cet-app2__cols { display:grid; gap:36px 64px; max-width:1060px; margin:0 auto; }
@media (min-width:900px) { .cet-app2__cols { grid-template-columns:1fr 1fr; } }
.cet-app2__cote { font-family:var(--cet-serif); font-size:clamp(1.3rem,2vw,1.6rem); color:#FBF6EE; margin:0 0 10px; padding-bottom:12px; border-bottom:1px solid rgba(205,175,102,.45); font-weight:400; }
.cet-app2__cote .cet-roman { color:var(--cet-gold-bright); margin-right:.2em; }
.cet-app2__list { list-style:none; margin:0; padding:0; }
.cet-app2__list a { display:flex; align-items:baseline; gap:10px; min-height:48px; padding:10px 0; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.08); }
.cet-app2__name { font-family:var(--cet-serif); font-size:19px; color:#F4EFE3; line-height:1.25; transition:color .2s; }
.cet-app2__dots { flex:1 1 20px; min-width:20px; border-bottom:1px dotted rgba(205,175,102,.5); transform:translateY(-4px); }
.cet-app2__meta { font-size:12.5px; letter-spacing:.06em; color:#B9C6CC; text-align:right; }
.cet-band--wine .cet-app2__list a:hover .cet-app2__name { color:var(--cet-gold-sheen); }
.cet-app2__note { text-align:center; margin:28px 0 0; font-size:12.5px; color:#9FB0B8; }
@media (max-width:420px) { .cet-app2__list a { flex-wrap:wrap; gap:0 10px; } .cet-app2__dots { display:none; } .cet-app2__meta { flex-basis:100%; text-align:left; } }

/* comment choisir */
.cet-choose__list { list-style:none; margin:0; padding:0; display:grid; gap:20px; }
@media (min-width:768px) { .cet-choose__list { grid-template-columns:repeat(3,1fr); gap:26px; } }
.cet-choose__card { display:flex; flex-direction:column; height:100%; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none; color:var(--cet-text); transition:border-color .25s, box-shadow .25s, transform .25s; }
.cet-choose__card:hover { border-color:var(--cet-gold-deco); box-shadow:0 16px 36px rgba(7,39,58,.12); transform:translateY(-3px); color:var(--cet-text); }
.cet-choose__img { position:relative; display:block; aspect-ratio:1/1; overflow:hidden; background:var(--cet-cream); }
.cet-choose__img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.cet-choose__card:hover .cet-choose__img img { transform:scale(1.04); }
.cet-choose__cm { position:absolute; left:14px; bottom:14px; width:76px; height:76px; border-radius:50%; background:var(--cet-navy); color:var(--cet-gold-sheen); display:flex; align-items:center; justify-content:center; font-family:var(--cet-serif); font-size:28px; box-shadow:inset 0 0 0 3px var(--cet-navy), inset 0 0 0 4px var(--cet-gold-bright), 0 6px 16px rgba(7,39,58,.3); }
.cet-choose__cm small { font-size:13px; margin-left:1px; }
.cet-choose__body { display:flex; flex-direction:column; gap:6px; padding:20px 22px 24px; flex:1; }
.cet-choose__t { font-family:var(--cet-serif); font-size:1.4rem; color:var(--cet-ink); line-height:1.2; }
.cet-choose__use { color:var(--cet-text); font-size:15px; }
.cet-choose__spec { font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--cet-gold); font-weight:600; margin-top:4px; }
.cet-choose__price { margin-top:auto; padding-top:10px; font-weight:600; color:var(--cet-navy); border-top:1px solid var(--cet-line); }
.cet-choose__notes { max-width:820px; margin:clamp(28px,4vw,44px) auto 0; display:grid; gap:10px 32px; font-size:15px; color:var(--cet-text); border-top:1px solid var(--cet-line); padding-top:22px; }
.cet-choose__notes p { margin:0; }
@media (min-width:768px) { .cet-choose__notes { grid-template-columns:1fr 1fr; } }

/* personnaliser (cave) */
.cet-perso2__in { display:grid; gap:clamp(36px,5vw,80px); align-items:center; }
.cet-perso2__media { max-width:440px; margin:0 auto; width:100%; }
.cet-perso2__media img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border:1px solid rgba(205,175,102,.5); outline:1px solid rgba(205,175,102,.35); outline-offset:8px; }
@media (min-width:992px) { .cet-perso2__in { grid-template-columns:minmax(0,5fr) minmax(0,6fr); } }
.cet-steps2 { list-style:none; margin:1.6rem 0 0; padding:0; }
.cet-steps2 li { display:grid; grid-template-columns:52px 1fr; gap:16px; padding:18px 0; border-top:1px solid rgba(205,175,102,.28); }
.cet-steps2 li:last-child { border-bottom:1px solid rgba(205,175,102,.28); }
.cet-steps2__n { width:46px; height:46px; border-radius:50%; border:1px solid var(--cet-gold-bright); box-shadow:inset 0 0 0 3px var(--cet-cave), inset 0 0 0 4px rgba(205,175,102,.55); display:flex; align-items:center; justify-content:center; font-family:var(--cet-serif); font-style:italic; font-size:17px; color:var(--cet-gold-sheen); }
.cet-steps2 h3 { font-size:1.2rem; margin:4px 0 4px; color:#FBF6EE; }
.cet-steps2 p { margin:0; font-size:15px; color:#C9D2D6; }

/* idée cadeau */
.cet-gift__in { display:grid; gap:clamp(32px,5vw,64px); align-items:center; }
@media (min-width:992px) { .cet-gift__in { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); } }
.cet-gift__ideas { list-style:none; margin:1.4rem 0 0; padding:0; }
.cet-gift__ideas li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--cet-line); }
.cet-gift__ideas li:last-child { border-bottom:1px solid var(--cet-line); }
.cet-gift__k { font-family:var(--cet-serif); font-size:18px; color:var(--cet-ink); }
.cet-gift__v { font-weight:600; color:var(--cet-navy); white-space:nowrap; }
.cet-gift__cards { display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:560px) { .cet-gift__cards { grid-template-columns:1fr 1fr; } }
.cet-card:hover { border-color:var(--cet-gold-deco); }

/* magasin : mosaïque */
.cet-mosaic { display:grid; gap:12px; grid-template-columns:1fr 1fr; }
.cet-mosaic figure { margin:0; position:relative; overflow:hidden; background:var(--cet-cream); }
.cet-mosaic img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.cet-mosaic figure:hover img { transform:scale(1.04); }
.cet-mosaic figcaption { position:absolute; left:10px; bottom:10px; background:rgba(5,22,32,.82); color:#F4EFE3; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; padding:6px 10px; }
.cet-mosaic__a, .cet-mosaic__b, .cet-mosaic__e { grid-column:1 / -1; }
.cet-mosaic__a { aspect-ratio:4/3; } .cet-mosaic__b { aspect-ratio:4/3; } .cet-mosaic__c, .cet-mosaic__d { aspect-ratio:1/1; }
.cet-mosaic__e { display:flex; justify-content:center; padding:18px 0 6px; }
.cet-hours-label--store { width:100%; max-width:360px; }
.cet-hours-label__addr { margin:12px 0 0; padding-top:10px; border-top:1px solid var(--cet-line); font-size:14.5px; color:var(--cet-text); }
@media (min-width:900px) {
  .cet-mosaic { grid-template-columns:1.25fr 1fr .9fr; grid-template-rows:260px 260px; gap:14px; }
  .cet-mosaic__a { grid-column:1; grid-row:1 / span 2; aspect-ratio:auto; }
  .cet-mosaic__b { grid-column:2; grid-row:1; aspect-ratio:auto; }
  .cet-mosaic__c { grid-column:2; grid-row:2; aspect-ratio:auto; }
  .cet-mosaic__d { grid-column:3; grid-row:1; aspect-ratio:auto; }
  .cet-mosaic__e { grid-column:3; grid-row:2; padding:0; align-items:center; }
  .cet-hours-label--store { transform:rotate(1.2deg); padding:18px 16px 14px; }
}
.cet-store2__btns { justify-content:center; margin-top:clamp(28px,4vw,44px); }

/* FAQ */
.cet-faq__in { display:grid; gap:28px 64px; }
@media (min-width:992px) { .cet-faq__in { grid-template-columns:minmax(0,4fr) minmax(0,7fr); align-items:start; } .cet-faq__head { position:sticky; top:calc(var(--cet-header-h) + 32px); } }
.cet-faq__head .cet-fleuron { margin:14px 0; }
.cet-faq__list details { border-top:1px solid var(--cet-line); }
.cet-faq__list details:last-child { border-bottom:1px solid var(--cet-line); }
.cet-faq__list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:14px 0; }
.cet-faq__list summary::-webkit-details-marker { display:none; }
.cet-faq__list summary h3 { font-size:clamp(1.05rem,1.6vw,1.22rem); margin:0; color:var(--cet-ink); font-weight:450; }
.cet-faq__list summary::after { content:""; flex:0 0 30px; height:30px; border-radius:50%; border:1px solid var(--cet-gold-deco); background:
  linear-gradient(var(--cet-navy),var(--cet-navy)) center/11px 1.5px no-repeat, linear-gradient(var(--cet-navy),var(--cet-navy)) center/1.5px 11px no-repeat; transition:transform .25s, background-color .25s; }
.cet-faq__list details[open] summary::after { transform:rotate(45deg); background-color:var(--cet-gold-sheen); }
.cet-faq__list summary:hover h3 { color:var(--cet-navy); }
.cet-faq__list details > div { padding:0 44px 18px 0; color:var(--cet-text); }
.cet-faq__list details > div p { margin:0; }
.cet-faq__list details[open] > div { animation:cet-mega-in .3s ease; }

/* réassurance : pictos de filet or */
.cet-reassure { background:var(--cet-paper); }
.cet-reassure__list strong::before { content:"✦"; display:block; font-size:11px; color:var(--cet-gold-deco); margin-bottom:6px; }

/* ajustements accueil après captures */
.cet-hero2__card { padding-top:34px; }
@media (min-width:992px) { .cet-hero2__card { padding:44px 44px 38px; } .cet-hero2__title { font-size:clamp(2.4rem,3.9vw,3.3rem); } .cet-hero2__in { padding-top:56px; padding-bottom:56px; } .cet-hero2 { min-height:min(700px, calc(100vh - 112px)); } }
.cet-story__medal { position:absolute; z-index:2; left:-14px; top:-40px; width:clamp(96px,11vw,150px); height:auto; border-radius:50%; filter:drop-shadow(0 10px 22px rgba(7,39,58,.35)); }
@media (max-width:599px) { .cet-story__medal { left:auto; right:6px; top:-34px; } }
.cet-app2__fig { display:none; margin:34px 0 0; }
@media (min-width:900px) { .cet-app2__fig { display:block; max-width:300px; } .cet-app2__fig img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:50% 70%; border:1px solid rgba(205,175,102,.55); outline:1px solid rgba(205,175,102,.3); outline-offset:6px; } }
