/* =====================================================================
   Refonte Couleurs et Tendances 2026 — cet-pages.css (Agent C)
   Pages : catégorie / recherche, fiche produit, panier, tunnel, compte, CMS, contact, magasins, 404.
   Chargé après cet-base.css (priorité 960), uniquement en aperçu (cookie cet_preview) ou CET_LIVE=1.
   Jetons : voir l'en-tête de cet-base.css.
   ===================================================================== */

/* ---------- Bandeau titre de page (toutes pages sauf accueil) ---------- */
.page-title-wrapper { padding:clamp(28px,4vw,48px) 0 clamp(20px,3vw,32px) !important; margin:0 !important; border:0; min-height:0 !important; text-align:center; }
.page-title-wrapper .container { display:flex; flex-direction:column-reverse; align-items:center; gap:10px; }
.page-title-wrapper .page-header { margin:0; }
.page-title-wrapper .page-header h1 { font-size:clamp(2rem,4.5vw,3.2rem) !important; line-height:1.1 !important; margin:0 !important; letter-spacing:-.01em; text-wrap:balance; }
.page-title-wrapper .page-header h1:empty { display:none; }
.page-title-wrapper .page-header:has(h1:not(:empty))::after { content:""; display:block; width:64px; height:4px; margin:18px auto 0; border-top:1px solid var(--cet-gold); border-bottom:1px solid var(--cet-gold); }
.page-title-wrapper .breadcrumb { background:transparent !important; padding:0 !important; margin:0 !important; }
.breadcrumb ol { margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:2px 0; }
.breadcrumb li { display:inline-flex; align-items:center; }
.breadcrumb li::after { color:var(--cet-line) !important; margin:0 .5em !important; }
.breadcrumb li a { display:inline-flex; align-items:center; min-height:32px; }
@media (max-width:599px) {
  .breadcrumb, .breadcrumb ol { font-size:12.5px; }
}

/* =====================================================================
   LISTES DE PRODUITS (catégorie, recherche, nouveautés, promotions, meilleures ventes)
   ===================================================================== */
/* colonne gauche (arbre + facettes Prix/Couleur inutiles pour 28 produits) retirée : navigation par puces */
#category #left-column, #search #left-column, #new-products #left-column, #prices-drop #left-column, #best-sales #left-column, #manufacturer #left-column { display:none !important; }
#category #content-wrapper, #search #content-wrapper, #new-products #content-wrapper, #prices-drop #content-wrapper, #best-sales #content-wrapper, #manufacturer #content-wrapper {
  width:100% !important; max-width:100% !important; flex:0 0 100% !important; float:none; padding-left:0; padding-right:0;
}
#category #wrapper .row-wrapper, #search #wrapper .row-wrapper, #new-products #wrapper .row-wrapper, #prices-drop #wrapper .row-wrapper, #best-sales #wrapper .row-wrapper { margin-left:0; margin-right:0; }
#products-list, #main { background:transparent; }

/* intro de catégorie */
.cet-cat-intro, .block-category.cet-cat-intro { background:transparent !important; border:0 !important; padding:0 !important; margin:0 auto 22px !important; max-width:66ch; text-align:center; box-shadow:none !important; min-height:0 !important; }
.cet-cat-intro #category-description, .cet-cat-intro #category-description p { color:var(--cet-text) !important; font-size:16px; line-height:1.65; }
.cet-cat-intro #category-description p:last-child { margin-bottom:0; }
@media (max-width:599px) { .cet-cat-intro, .block-category.cet-cat-intro { text-align:left; font-size:15px; } }
#subcategories { display:none !important; } /* remplacé par les puces */

/* puces sous-catégories */
.cet-catnav { margin:0 0 clamp(20px,3vw,32px); }
.cet-catnav__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.cet-chip { display:inline-flex; align-items:center; min-height:44px; padding:8px 18px; border:1px solid var(--cet-line); border-radius:999px; background:var(--cet-white);
  font-family:var(--cet-sans); font-size:14px; font-weight:600; letter-spacing:.02em; color:var(--cet-ink) !important; text-decoration:none !important; transition:border-color .15s, background-color .15s, color .15s; }
.cet-chip:hover, .cet-chip:focus-visible { border-color:var(--cet-ink); color:var(--cet-ink) !important; }
.cet-chip.is-current { background:var(--cet-ink); border-color:var(--cet-ink); color:var(--cet-white) !important; }
@media (max-width:599px) {
  .cet-catnav { margin-left:calc(-1 * var(--cet-gutter)); margin-right:calc(-1 * var(--cet-gutter)); }
  .cet-catnav__list { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:2px var(--cet-gutter) 6px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .cet-catnav__list::-webkit-scrollbar { display:none; }
  .cet-chip { white-space:nowrap; padding:8px 16px; }
}

/* barre compteur + tri */
#js-product-list-top.products-selection { background:transparent !important; border:0; border-top:1px solid var(--cet-line); border-bottom:1px solid var(--cet-line); padding:6px 0 !important; margin:0 0 clamp(20px,3vw,32px) !important; box-shadow:none !important; }
#js-product-list-top > .row { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; margin:0; gap:12px; }
#js-product-list-top > .row > [class*="col-"] { width:auto !important; max-width:none; flex:0 1 auto; padding:0; float:none; }
#js-product-list-top .display, #js-product-list-top .filter-button, #search_filter_toggler, #pos_search_filter_toggler { display:none !important; }
#js-product-list-top .total-products { display:flex; align-items:center; }
#js-product-list-top .cet-count { display:block !important; margin:0; font-size:14px; color:var(--cet-muted); padding:0; }
#js-product-list-top .sort-by-row { display:flex; align-items:center; justify-content:flex-end; margin:0; flex-wrap:nowrap; gap:10px; }
#js-product-list-top .sort-by { width:auto !important; max-width:none; flex:0 0 auto; padding:0 !important; font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--cet-muted); white-space:nowrap; }
#js-product-list-top .products-sort-order { width:auto !important; max-width:none; flex:0 0 auto; padding:0 !important; position:relative; }
.products-sort-order .select-title { display:inline-flex !important; align-items:center; justify-content:space-between; gap:10px; min-height:44px; min-width:200px; padding:8px 12px 8px 14px !important;
  background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; border-radius:var(--cet-radius) !important; font-family:var(--cet-sans); font-size:15px !important; color:var(--cet-ink) !important; text-transform:none; box-shadow:none !important; width:100%; }
.products-sort-order .select-title:hover, .products-sort-order .select-title:focus-visible { border-color:var(--cet-ink) !important; }
.products-sort-order .select-title .material-icons { margin:0; font-size:20px; color:var(--cet-muted); }
.products-sort-order .dropdown-menu { right:0; left:auto; min-width:100%; margin-top:4px; padding:6px 0; background:var(--cet-white); border:1px solid var(--cet-line); border-radius:var(--cet-radius); box-shadow:var(--cet-shadow); z-index:30; }
.products-sort-order .dropdown-menu .select-list { display:flex; align-items:center; min-height:44px; padding:6px 16px; font-size:15px; color:var(--cet-text); text-decoration:none; }
.products-sort-order .dropdown-menu .select-list:hover, .products-sort-order .dropdown-menu .select-list.current { background:var(--cet-wine-soft); color:var(--cet-ink); }
@media (max-width:599px) {
  #js-product-list-top .sort-by { display:none !important; }
  .products-sort-order .select-title { min-width:0; font-size:14px !important; }
  #js-product-list-top .cet-count { font-size:13px; }
}
#js-active-search-filters, .active_filters { display:none !important; }

/* grille */
#js-product-list .product_content, .product_content.grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; margin:0 !important; }
@media (min-width:768px) { #js-product-list .product_content, .product_content.grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 24px; } }
@media (min-width:1100px) { #js-product-list .product_content, .product_content.grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:48px 28px; } }
#js-product-list .product_content::before, #js-product-list .product_content::after { display:none !important; }
#js-product-list .item-product { width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; margin:0 !important; float:none !important; background:transparent !important; }
#js-product-list .product_content.list .product-miniature { display:block; } /* la vue liste n'est plus proposée */
.product-miniature .product_desc { background:transparent !important; }
.product-miniature .product-flag li.out_of_stock { background:var(--cet-white) !important; color:var(--cet-ink) !important; border:1px solid var(--cet-ink); }
#js-product-list .pagination { margin:40px 0 0; justify-content:center; display:flex; }
.pagination .page-list { display:flex; gap:6px; justify-content:center; padding:0; margin:0; list-style:none; }
.pagination .page-list li a, .pagination .page-list li span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 12px; border:1px solid var(--cet-line); color:var(--cet-ink); text-decoration:none; background:var(--cet-white); }
.pagination .page-list li.current a { background:var(--cet-ink); border-color:var(--cet-ink); color:var(--cet-white); }
.pagination .page-list li a.disabled { opacity:.4; pointer-events:none; }
.pagination > div:first-child { display:none; }

/* aucun produit / page introuvable dans une liste */
#js-product-list #content.page-not-found, #products #content.page-not-found { background:var(--cet-white); border:1px solid var(--cet-line); padding:clamp(24px,4vw,48px); text-align:center; max-width:720px; margin:0 auto; }

/* carte produit dans les listes : le JS du thème (grille/liste) retire la classe .product-miniature de l'article
   → on reprend ici les règles de cet-base sur .js-product-miniature */
#js-product-list .js-product-miniature { border:0 !important; padding:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; text-align:left !important; position:relative; height:100%; display:flex; flex-direction:column; }
#js-product-list .js-product-miniature .img_block { position:relative; background:var(--cet-white); border:1px solid var(--cet-line); overflow:hidden; aspect-ratio:1/1; margin:0; padding:0; }
#js-product-list .js-product-miniature .img_block > a, #js-product-list .js-product-miniature .product-thumbnail { display:block; height:100%; }
#js-product-list .js-product-miniature .img_block img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease, opacity .3s; }
#js-product-list .js-product-miniature:hover .img_block img.first-image { transform:scale(1.03); }
#js-product-list .js-product-miniature .add-to-links, #js-product-list .js-product-miniature .availability, #js-product-list .js-product-miniature .product-desc,
#js-product-list .js-product-miniature .manufacturer, #js-product-list .js-product-miniature .hook-reviews, #js-product-list .js-product-miniature .variant-links { display:none !important; }
#js-product-list .js-product-miniature .product-flag { position:absolute; top:10px; left:10px; margin:0; padding:0; list-style:none; z-index:2; }
#js-product-list .js-product-miniature .product-flag li { padding:4px 8px !important; line-height:1.3; margin:0 0 4px; }
#js-product-list .js-product-miniature .product-flag li.out_of_stock { background:var(--cet-white) !important; color:var(--cet-ink) !important; border:1px solid var(--cet-ink); }
#js-product-list .js-product-miniature .product_desc { padding:14px 2px 0 !important; text-align:left !important; background:transparent !important; border:0 !important; }
#js-product-list .js-product-miniature .product_desc h3 { margin:0 0 .35rem; font-size:inherit; line-height:1.25; }
#js-product-list .js-product-miniature .product_name::after { content:""; position:absolute; inset:0; z-index:1; }
#js-product-list .js-product-miniature .product-price-and-shipping { margin:0; text-align:left; justify-content:flex-start; }
#js-product-list .js-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; }
#js-product-list .js-product-miniature .regular-price { color:var(--cet-muted); font-size:13px; }
.cet-sort-lbl { display:none; }
@media (max-width:599px) { .cet-sort-lbl { display:inline; color:var(--cet-muted); margin-right:-4px; } }
.breadcrumb li > span, .breadcrumb li:last-child { min-height:32px; display:inline-flex; align-items:center; }

/* nom de produit en deux temps « étiquette » : type (petites capitales) + appellation (sérif) — listes ET accueil */
.cet-pn-kind { display:block; font-family:var(--cet-sans); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-muted); line-height:1.4; margin:0 0 4px; }
.cet-pn-app { display:block; font-family:var(--cet-serif); font-size:clamp(16px,1.5vw,19px); color:var(--cet-ink); line-height:1.22; }
.product_name:hover .cet-pn-app { color:var(--cet-wine); }

/* =====================================================================
   FICHE PRODUIT (catalog/product_layouts/cet-product.tpl)
   ===================================================================== */
#product #wrapper .page-title-wrapper { padding:18px 0 10px !important; text-align:left; }
#product .page-title-wrapper .container { align-items:flex-start; }
#product .page-title-wrapper .breadcrumb ol { justify-content:flex-start; }
#product #content-wrapper { width:100%; max-width:100%; flex:0 0 100%; }
.cet-product { margin:0 0 clamp(40px,6vw,88px); display:flex; flex-wrap:wrap; }
.cet-product > [class*="col-"] { float:none; }
@media (min-width:992px) {
  .cet-product { flex-wrap:nowrap; gap:clamp(32px,4vw,72px); margin-left:0; margin-right:0; }
  .cet-product__media { flex:0 0 54%; max-width:54%; padding:0; }
  .cet-product__info { flex:1 1 auto; max-width:none; padding:0; }
  .cet-product__media .images-container { position:sticky; top:calc(var(--cet-header-h) + 20px); }
}
@media (max-width:991px) { .cet-product__media, .cet-product__info { flex:0 0 100%; max-width:100%; } .cet-product__info { padding-top:24px; } }

/* galerie */
.cet-product .images-container { margin:0; }
.cet-product .product-cover-container { position:relative; background:var(--cet-white); border:1px solid var(--cet-line); }
.cet-product .product-cover { margin:0 !important; }
.cet-product .product-cover .cover-item img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:var(--cet-white); display:block; }
.cet-product .product-cover .slick-arrow { width:44px; height:44px; border-radius:50%; background:rgba(255,253,249,.92) !important; border:1px solid var(--cet-line) !important; color:var(--cet-ink) !important; box-shadow:none; opacity:1; }
.cet-product .product-cover .slick-arrow:hover { border-color:var(--cet-ink) !important; }
.cet-product .product-images { margin:12px 0 0 !important; padding:0; }
.cet-product .product-images .image-item { padding:0 6px 0 0; }
.cet-product .product-images .thumb { border:1px solid var(--cet-line) !important; background:var(--cet-white); aspect-ratio:1/1; object-fit:cover; width:100% !important; opacity:.75; transition:opacity .15s, border-color .15s; cursor:pointer; }
.cet-product .product-images .thumb.selected, .cet-product .product-images .thumb:hover { opacity:1; border-color:var(--cet-ink) !important; }
.cet-product .product-flag { position:absolute; top:12px; left:12px; z-index:3; margin:0; padding:0; list-style:none; }
.cet-product .product-flag li { padding:4px 8px !important; }
.cet-product .product-flag li.out_of_stock { background:var(--cet-white) !important; color:var(--cet-ink) !important; border:1px solid var(--cet-ink); }

/* titre + prix */
.cet-product__title { margin:0 0 14px !important; font-size:clamp(1.9rem,3.4vw,2.8rem) !important; line-height:1.08 !important; text-transform:none !important; }
.cet-product__title .cet-pn-kind { font-size:12px; letter-spacing:.18em; color:var(--cet-gold); margin-bottom:10px; }
.cet-product__title .cet-pn-app { font-size:inherit; line-height:1.08; }
.cet-product .product-prices { margin:0 0 18px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.cet-product .product-prices .product-price, .cet-product .current-price { margin:0; }
.cet-product .current-price-value { font-family:var(--cet-serif); font-size:clamp(1.6rem,2.4vw,2rem); font-weight:450; color:var(--cet-wine); }
.cet-product .tax-shipping-delivery-label { font-size:13px; color:var(--cet-muted); letter-spacing:.04em; margin:0; }
.cet-product .product-discount .regular-price { color:var(--cet-muted); }
.cet-product__lead, .cet-product__lead p { font-size:16px; line-height:1.65; color:var(--cet-text); }
.cet-product__lead { margin:0 0 22px; padding:0 0 22px; border-bottom:1px solid var(--cet-line); }
.cet-product__lead a { text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }

/* déclinaisons */
.cet-product .product-variants { margin:0 0 18px; }
.cet-product .product-variants-item { margin:0; }
.cet-product .product-variants .control-label { display:block; font-family:var(--cet-sans); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-muted); margin:0 0 8px; }
.cet-product .product-variants .control-label > span { display:none; }
.cet-product .product-variants select.form-control-select { width:100%; max-width:100%; height:auto; min-height:52px; font-size:16px; padding:12px 44px 12px 14px; background-color:var(--cet-white); text-overflow:ellipsis; }

/* quantité + panier */
.cet-product .product-add-to-cart { margin:0; }
.cet-product .product-add-to-cart > .control-label { display:none; }
.cet-product .product-quantity { display:flex !important; flex-wrap:wrap; align-items:stretch; gap:10px; margin:0 0 12px; }
.cet-product .product-quantity .qty { flex:0 0 auto; margin:0; }
.cet-product .product-quantity .qty .bootstrap-touchspin { height:52px; width:120px; display:flex; border:1px solid var(--cet-line); background:var(--cet-white); }
.cet-product .product-quantity #quantity_wanted { height:50px; min-height:0; border:0; text-align:center; font-size:16px; width:100%; padding:0 4px; background:transparent; }
.cet-product .product-quantity .add { flex:1 1 200px; margin:0; }
.cet-product .product-quantity .add .add-to-cart { width:100%; min-height:52px; height:auto; font-size:14px; }
.cet-product .product-quantity .add .add-to-cart .material-icons { display:none; }
.cet-product .add-to-cart:disabled, .cet-product .add-to-cart.disabled { background:var(--cet-cream) !important; border-color:var(--cet-line) !important; color:var(--cet-muted) !important; opacity:1; cursor:not-allowed; }
.cet-product .product-quantity .buy, .cet-product .product-quantity .cart_button, .cet-product #wishlist_button { display:none !important; }
.cet-product .product-quantity > div[style*="padding"] { flex:1 1 100%; padding:0 !important; }

/* disponibilité */
.cet-avail { display:flex !important; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--cet-ok); margin:6px 0 14px; line-height:1.4; }
.cet-avail .material-icons { font-size:18px; color:inherit !important; }
.cet-avail--last_remaining_items { color:var(--cet-gold); }
.cet-avail--unavailable { color:var(--cet-danger); }
.cet-avail:empty { display:none !important; }
.cet-product .product-minimal-quantity:empty { display:none; }

/* infos additionnelles : alerte stock + partage */
.cet-product .product-additional-info { margin:6px 0 0; display:flex; flex-direction:column; gap:14px; }
.cet-product .product-additional-info .tabs { margin:0 !important; padding:0 !important; border:0; box-shadow:none; background:transparent; order:-1; }
.cet-product .js-mailalert { text-align:left !important; display:flex; flex-wrap:wrap; gap:8px; background:var(--cet-white); border:1px solid var(--cet-line); padding:16px; }
.cet-product .js-mailalert::before { content:"Être prévenu(e) du retour en stock"; flex:1 1 100%; font-family:var(--cet-serif); font-size:17px; color:var(--cet-ink); }
.cet-product .js-mailalert input[type=email] { flex:1 1 200px; min-width:0; margin:0; }
.cet-product .js-mailalert .btn { flex:0 0 auto; margin:0 !important; min-height:48px; }
.cet-product .js-mailalert-alerts { flex:1 1 100%; font-size:14px; }
.cet-product .js-mailalert-alerts:empty { display:none; }
.cet-product .social-sharing { display:flex; align-items:center; gap:6px; margin:0; font-size:13px; color:var(--cet-muted); }
.cet-product .social-sharing > span { font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:12px; margin-right:4px; }
.cet-product .social-sharing ul { display:flex; gap:4px; margin:0; padding:0; list-style:none; }
.cet-product .social-sharing li { margin:0 !important; width:auto; height:auto; background:none !important; box-shadow:none; }
.cet-product .social-sharing li a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--cet-line); border-radius:50%; color:var(--cet-ink) !important; font-size:15px; }
.cet-product .social-sharing li a:hover { border-color:var(--cet-ink); }

/* réassurance */
.cet-product .blockreassurance_product, .cet-product .payment-detail { display:none !important; }
.cet-reassure-mini { list-style:none; margin:24px 0 0; padding:0; border-top:1px solid var(--cet-line); }
.cet-reassure-mini li { display:grid; grid-template-columns:22px 1fr; column-gap:12px; padding:14px 0; border-bottom:1px solid var(--cet-line); font-size:14.5px; line-height:1.45; }
.cet-reassure-mini li::before { content:""; grid-row:1 / span 2; width:12px; height:12px; margin:5px 0 0 3px; border:1px solid var(--cet-gold); outline:1px solid var(--cet-gold); outline-offset:-4px; transform:rotate(45deg); }
.cet-reassure-mini strong { font-family:var(--cet-serif); font-weight:500; font-size:16.5px; color:var(--cet-ink); }
.cet-reassure-mini span { color:var(--cet-muted); }

/* accordéons */
.cet-acc { margin:28px 0 0; border-top:1px solid var(--cet-ink); }
.cet-acc__item { border-bottom:1px solid var(--cet-line); }
.cet-acc__item > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:12px 0; font-family:var(--cet-serif); font-size:19px; color:var(--cet-ink); }
.cet-acc__item > summary::-webkit-details-marker { display:none; }
.cet-acc__item > summary::after { content:""; width:10px; height:10px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-3px); transition:transform .2s; flex:0 0 auto; margin-right:6px; }
.cet-acc__item[open] > summary::after { transform:rotate(-135deg) translateY(-2px); }
.cet-acc__item > summary:hover { color:var(--cet-wine); }
.cet-acc__body { padding:2px 0 22px; font-size:15.5px; line-height:1.65; color:var(--cet-text); }
.cet-acc__body ul { padding-left:1.1em; margin:0 0 1em; list-style:disc; }
.cet-acc__body li { margin:0 0 .45em; }
.cet-acc__body li::marker { color:var(--cet-gold); }
.cet-acc__body p:last-child { margin-bottom:0; }
.cet-acc__body a { text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }
.cet-acc #product-details, .cet-acc .tab-pane { display:block !important; opacity:1 !important; padding:0; }
.cet-acc .product-quantities, .cet-acc .product-out-of-stock:empty { display:none !important; }
.cet-acc .product-reference, .cet-acc .product-condition, .cet-acc .product-features { margin:0 0 8px; }
.cet-acc label.label { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--cet-muted); margin-right:8px; display:inline; }
.cet-acc .data-sheet { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0; }
.cet-acc .data-sheet dt, .cet-acc .data-sheet dd { background:none !important; padding:0 !important; margin:0; font-weight:400; }
.cet-acc .data-sheet dt { color:var(--cet-muted); }
.cet-acc .product-features > p.h6 { display:none; }
/* fiche : ajustements après captures */
.cet-acc .product-description { padding:0 !important; margin:0 !important; border:0 !important; }
.cet-acc .product-description ul, .cet-product__lead ul { padding-left:1.1em; }
.cet-acc .product-description li, .cet-acc .product-description p { line-height:1.6 !important; font-size:15.5px; color:var(--cet-text); margin:0 0 .4em; }
.cet-product .social-sharing li a { font-size:0 !important; text-indent:0 !important; overflow:hidden; background:none !important; }
.cet-product .social-sharing li a::before { font-family:var(--cet-serif) !important; font-size:16px !important; line-height:1; color:var(--cet-ink); }
.cet-product .social-sharing li.facebook a::before { content:"f" !important; }
.cet-product .social-sharing li.twitter a::before { content:"X" !important; font-family:var(--cet-sans) !important; font-size:14px !important; font-weight:600; }
.cet-product .social-sharing li.pinterest a::before { content:"P" !important; }
.cet-product .product-actions { margin:0; }
.cet-product .product-add-to-cart .product-quantity + .cet-avail, .cet-product #product-availability { margin-top:4px; }
@media (max-width:599px) {
  #product .breadcrumb li:last-child { display:none; }
  #product .breadcrumb li:nth-last-child(2)::after { display:none; }
  .cet-product__media { padding:0; }
  .cet-product .product-images .thumb { max-width:84px; }
}
/* barre d'achat collante (mobile) — créée par cet-pages.js */
.cet-buybar { position:fixed; left:0; right:0; bottom:0; z-index:950; background:var(--cet-white); border-top:1px solid var(--cet-line); box-shadow:0 -6px 20px rgba(7,39,58,.08);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:12px; transform:translateY(110%); transition:transform .25s ease; }
.cet-buybar.is-visible { transform:none; }
.cet-buybar__txt { flex:1 1 auto; min-width:0; line-height:1.25; }
.cet-buybar__name { display:block; font-family:var(--cet-serif); font-size:15px; color:var(--cet-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cet-buybar__price { display:block; font-weight:600; color:var(--cet-wine); font-size:14px; }
.cet-buybar .btn { flex:0 0 auto; min-height:48px; padding:10px 18px; font-size:13px; }
.cet-buybar .btn[disabled] { background:var(--cet-cream) !important; border-color:var(--cet-line) !important; color:var(--cet-muted) !important; opacity:1; }
@media (min-width:992px) { .cet-buybar { display:none; } }
body.cet-has-buybar #footer { padding-bottom:72px; }
@media (min-width:992px) { body.cet-has-buybar #footer { padding-bottom:0; } }
.cet-acc .product-description ul { list-style:disc outside !important; padding-left:1.2em !important; margin:0 0 1em !important; }
.cet-acc .product-description li { list-style:inherit !important; padding:0 !important; background:none !important; }
.cet-acc .product-description li::before { display:none !important; }
.cet-acc .product-description p, .cet-product__lead p { color:var(--cet-text) !important; }
.cet-acc .product-description a, .cet-product__lead a { color:var(--cet-wine) !important; }

/* =====================================================================
   PANIER (checkout/cart.tpl) + récapitulatif du TUNNEL (checkout.tpl)
   On stylise AUTOUR des blocs de paiement (PayPal / ps_checkout) : jamais dedans.
   ===================================================================== */
#cart .page-title-wrapper, #checkout .page-title-wrapper { padding-bottom:12px !important; }
#cart #content-wrapper, #checkout #content-wrapper { width:100%; max-width:100%; flex:0 0 100%; }
#cart .cart-grid { margin:0 0 clamp(40px,6vw,80px); display:flex; flex-wrap:wrap; }
#cart .cart-grid > [class*="col-"], #checkout #content > .row > [class*="col-"] { float:none; }
@media (min-width:992px) {
  #cart .cart-grid, #checkout #content > .row { flex-wrap:nowrap; gap:40px; margin-left:0; margin-right:0; display:flex; }
  #cart .cart-grid-body, #checkout #content .cart-grid-body { flex:1 1 auto; max-width:none; padding:0; }
  #cart .cart-grid-right, #checkout #content .cart-grid-right { flex:0 0 380px; max-width:380px; padding:0; }
  #cart .cart-grid-right > .card, #checkout #js-checkout-summary { position:sticky; top:calc(var(--cet-header-h) + 20px); }
}
@media (max-width:991px) { #cart .cart-grid-body, #cart .cart-grid-right { flex:0 0 100%; max-width:100%; } }
#cart .card, #checkout .card { background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; border-radius:var(--cet-radius) !important; box-shadow:none !important; }
#cart .cart-container { padding:4px clamp(16px,2.5vw,28px) !important; margin:0 0 18px; }
#cart .cart-items { margin:0; padding:0; list-style:none; }
#cart .cart-items-title { display:none; }
#cart .cart-item { padding:20px 0 !important; border-bottom:1px solid var(--cet-line) !important; margin:0 !important; }
#cart .cart-item:last-child { border-bottom:0 !important; }
/* ligne produit : grille image | nom+prix | quantité | total | supprimer */
#cart .product-line-grid { display:grid !important; grid-template-columns:96px 1fr auto; grid-template-areas:"img info del" "img acts acts"; gap:6px 16px; margin:0; align-items:start; }
#cart .product-line-grid::before, #cart .product-line-grid::after, #cart .product-line-grid .clearfix { display:none !important; }
#cart .product-line-grid > [class*="col-"], #cart .product-line-grid .row > [class*="col-"] { width:auto; max-width:none; flex:none; padding:0; float:none; }
#cart .product-line-grid .row { margin:0; }
#cart .product-line-grid-left { display:contents; }
#cart .product-line-grid-left > .row { display:contents; }
#cart .product-line-grid .product-image { grid-area:img; }
#cart .product-line-grid .product-image img { width:96px; height:96px; object-fit:cover; border:1px solid var(--cet-line); background:#fff; display:block; }
#cart .product-line-grid-body { grid-area:info; }
#cart .product-line-info { margin:0 0 4px; font-size:14px; color:var(--cet-muted); }
#cart .product-line-info .product_name { font-family:var(--cet-serif); font-size:18px; line-height:1.25; color:var(--cet-ink) !important; text-decoration:none; }
#cart .product-line-info .product_name:hover { color:var(--cet-wine) !important; }
#cart .product-line-grid-right { grid-area:acts; }
#cart .product-line-grid-right > .row { display:flex !important; align-items:center; gap:10px 18px; flex-wrap:wrap; }
#cart .product-line-grid-right .product-price { font-size:14px; color:var(--cet-muted); margin:0; font-family:var(--cet-sans); }
#cart .product-line-grid-right .product-price .price { font-weight:500; }
#cart .product-line-grid-right .price { margin-left:auto; }
#cart .product-line-grid-right .price .product-price strong { font-family:var(--cet-sans); font-size:16px; font-weight:700; color:var(--cet-ink); }
#cart .product-line-grid-right .text-xs-right { position:absolute; }
#cart .cart-line-product-actions { position:static; }
#cart .cart-item { position:relative; }
#cart .remove-from-cart { position:absolute; top:12px; right:-10px; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; color:var(--cet-muted) !important; font-size:18px; }
#cart .remove-from-cart:hover { color:var(--cet-danger) !important; }
#cart .product-line-grid-body { padding-right:34px !important; }
#cart .bootstrap-touchspin { display:inline-flex; width:auto; border:1px solid var(--cet-line); background:var(--cet-white); }
#cart .js-cart-line-product-quantity { width:52px; min-height:44px; height:44px; border:0; text-align:center; padding:0; font-size:15px; }
#cart .bootstrap-touchspin .input-group-btn-vertical { display:flex; flex-direction:column; border-left:1px solid var(--cet-line); }
#cart .bootstrap-touchspin .input-group-btn-vertical .btn { height:22px; min-height:0; width:32px; border:0; background:transparent; color:var(--cet-ink); }
#cart .no-items { display:block; padding:28px 0; font-family:var(--cet-serif); font-size:20px; color:var(--cet-ink); }
/* continuer mes achats = lien secondaire */
#cart .cart-grid-body > a.btn-primary, #cart .cart-grid-body > .btn-primary { background:transparent !important; border:1px solid var(--cet-ink) !important; color:var(--cet-ink) !important; display:inline-flex; min-height:48px; padding:12px 22px; align-items:center; font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
#cart .cart-grid-body > a.btn-primary:hover { background:var(--cet-ink) !important; color:var(--cet-white) !important; }
#cart .cart-grid-body > a.btn-primary::before { content:"←"; margin-right:10px; }
/* récapitulatif */
#cart .cart-summary, #checkout #js-checkout-summary { padding:0 !important; outline:1px solid var(--cet-line); outline-offset:-6px; }
#cart .cart-summary > *, #checkout #js-checkout-summary > * { position:relative; }
#cart .cart-summary .block-promo, #checkout #js-checkout-summary .block-promo { padding:18px 22px 0; }
.cart-voucher h5 { font-family:var(--cet-sans) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-muted) !important; margin:0 0 10px !important; padding:0 !important; background:none !important; border:0 !important; }
.cart-voucher .promo-code { padding:0 !important; }
.cart-voucher .promo-code form { display:flex; gap:8px; }
.cart-voucher .promo-input { flex:1 1 auto; min-width:0; min-height:48px !important; height:48px; border:1px solid var(--cet-line) !important; margin:0 !important; width:auto !important; }
.cart-voucher .promo-code .btn { flex:0 0 auto; min-height:48px; padding:10px 16px; margin:0 !important; background:transparent !important; border:1px solid var(--cet-ink) !important; color:var(--cet-ink) !important; }
.cart-voucher .promo-code .btn:hover { background:var(--cet-ink) !important; color:var(--cet-white) !important; }
.cart-voucher .js-error { margin:8px 0 0; }
.cart-voucher .promo-name { padding:0 !important; margin:0 0 10px; }
.cart-detailed-subtotals, #js-checkout-summary .cart-summary-subtotals-container, #js-checkout-summary .card-block { padding:14px 22px !important; }
.cart-summary-line { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:0 0 8px !important; font-size:15px; color:var(--cet-text); }
.cart-summary-line::after { display:none !important; }
.cart-summary-line .label, .cart-summary-line .value { float:none !important; font-weight:400; color:inherit; padding:0; }
.cart-summary-line .value { font-weight:600; color:var(--cet-ink); white-space:nowrap; }
.cart-summary-totals, #cart .cart-summary .cart-summary-totals { padding:14px 22px 6px !important; border-top:1px solid var(--cet-line); background:transparent !important; }
.cart-summary-totals .cart-total { padding:0 !important; background:transparent !important; margin:0 !important; }
.cart-summary-totals .cart-total .label, .cart-summary-totals .cart-total .value { font-family:var(--cet-serif) !important; font-size:22px !important; font-weight:450 !important; color:var(--cet-ink) !important; }
.cart-summary-totals .cart-summary-line:not(.cart-total) { font-size:13px; color:var(--cet-muted); }
#cart .cart-detailed-actions { padding:10px 22px 22px !important; }
#cart .cart-detailed-actions .btn-primary { display:flex; width:100%; min-height:54px; font-size:15px; }
#cart .cart-detailed-actions .text-sm-center > *:not(.btn) { margin-top:12px; }
#cart .cart-grid-right .blockreassurance_product, #checkout .cart-grid-right .blockreassurance_product,
#cart .cart-grid-right .payment-detail, #checkout .cart-grid-right .payment-detail { display:none !important; }
#cart hr.separator, #checkout hr.separator { display:none; }
/* réassurance tunnel (ajoutée dans cart.tpl / checkout.tpl) */
.cet-cart-reassure { list-style:none; margin:16px 0 0; padding:0; font-size:14px; color:var(--cet-muted); }
.cet-cart-reassure li { padding:10px 0 10px 24px; border-bottom:1px solid var(--cet-line); position:relative; line-height:1.45; }
.cet-cart-reassure li::before { content:""; position:absolute; left:3px; top:15px; width:9px; height:9px; border:1px solid var(--cet-gold); transform:rotate(45deg); }
.cet-cart-reassure strong { color:var(--cet-ink); font-weight:600; }
/* récap du tunnel : liste des produits */
#js-checkout-summary .cart-summary-products p { margin:0 0 8px; font-size:14px; }
#js-checkout-summary .cart-summary-products a { font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--cet-wine); }
#js-checkout-summary .media-list { margin:10px 0 0; padding:0; list-style:none; }
#js-checkout-summary .media { display:flex; gap:12px; align-items:flex-start; margin:0 0 12px; }
#js-checkout-summary .media-left img { width:64px; height:64px; object-fit:cover; border:1px solid var(--cet-line); }
#js-checkout-summary .media-body { font-size:14px; line-height:1.4; }
#js-checkout-summary .product-name { font-family:var(--cet-serif); font-size:15.5px; color:var(--cet-ink); }
#js-checkout-summary .product-quantity, #js-checkout-summary .product-price { color:var(--cet-muted); }
/* panier : corrections après captures */
#cart .product-line-grid-right .text-xs-right { position:absolute; top:10px; right:-8px; width:auto; }
#cart .remove-from-cart { position:static; }
@media (max-width:599px) { #cart .product-line-grid { grid-template-columns:80px 1fr; } #cart .product-line-grid .product-image img { width:80px; height:80px; } }
.cart-summary-line { flex-wrap:wrap; }
.cart-summary-line > div { flex:0 0 100%; }
.cart-summary-line > div:empty, .cart-summary-line > div:has(small:empty) { display:none; }
.cart-summary-line .label { flex:1 1 auto; }

/* =====================================================================
   TUNNEL : étapes + formulaires (on ne touche pas aux iframes / boutons de paiement)
   ===================================================================== */
#checkout .checkout-step { background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; box-shadow:none !important; padding:0 clamp(16px,2.5vw,28px) !important; margin:0 0 12px !important; border-radius:var(--cet-radius); }
#checkout .checkout-step .step-title { display:flex; align-items:center; gap:14px; margin:0 !important; padding:18px 0 !important; font-family:var(--cet-serif) !important; font-size:clamp(19px,2vw,22px) !important; font-weight:450 !important; text-transform:none !important; color:var(--cet-muted) !important; border:0 !important; }
#checkout .checkout-step.-current .step-title, #checkout .checkout-step.-complete .step-title { color:var(--cet-ink) !important; }
#checkout .checkout-step.-current .step-title { border-bottom:1px solid var(--cet-line) !important; margin-bottom:22px !important; }
#checkout .checkout-step.-current .content { padding:0 0 26px !important; }
#checkout .step-title .step-edit { margin-left:auto; font-family:var(--cet-sans); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--cet-wine) !important; align-items:center; gap:4px; min-height:44px; }
#checkout .step-title .step-edit .material-icons { font-size:16px; }
#checkout .step-title .done { color:var(--cet-ok) !important; }
/* onglets invité / connexion */
#checkout .nav-inline { display:flex; flex-wrap:nowrap; gap:0; border:1px solid var(--cet-line); margin:0 0 24px !important; padding:0; list-style:none; }
#checkout .nav-inline .nav-item { flex:1 1 50%; margin:0 !important; }
#checkout .nav-inline .nav-item:has(.nav-separator) { display:none; }
#checkout .nav-inline .nav-link { display:flex !important; align-items:center; justify-content:center; min-height:48px; padding:8px 12px !important; font-family:var(--cet-sans) !important; font-size:14px !important; font-weight:600 !important; color:var(--cet-muted) !important; text-decoration:none !important; background:transparent; text-align:center; border:0 !important; }
#checkout .nav-inline .nav-link.active { background:var(--cet-ink) !important; color:var(--cet-white) !important; }
/* champs : libellé au-dessus, pleine largeur (tunnel + pages compte) */
#checkout .form-group.row, #authentication .form-group.row, #registration .form-group.row, #identity .form-group.row, #address .form-group.row, #password .form-group.row { display:flex; flex-wrap:wrap; margin:0 0 16px; }
#checkout .form-group.row > [class*="col-"], #authentication .form-group.row > [class*="col-"], #registration .form-group.row > [class*="col-"], #identity .form-group.row > [class*="col-"], #address .form-group.row > [class*="col-"], #password .form-group.row > [class*="col-"] { flex:0 0 100%; max-width:100%; width:100%; padding:0; float:none; text-align:left !important; }
#checkout .form-control-label, #authentication .form-control-label, #registration .form-control-label, #identity .form-control-label, #address .form-control-label, #password .form-control-label { padding:0 0 6px !important; margin:0; font-size:14px; font-weight:600; color:var(--cet-ink); text-align:left !important; }
.form-group.row > .form-control-label { flex:0 0 auto !important; width:auto !important; }
.form-group.row > .form-control-comment { order:0; flex:1 1 auto !important; width:auto !important; margin-left:8px; padding:1px 0 6px !important; font-size:12.5px; color:var(--cet-muted); }
.form-group.row > .js-input-column, .form-group.row > .col-md-6 { order:1; }
.form-group.row > .form-control-comment:empty { display:none; }
.form-group small.form-text, .form-group .help-block, .js-input-column small { display:block; font-size:12.5px; line-height:1.45; color:var(--cet-muted); margin-top:6px; }
.input-group-btn > .btn[data-action="show-password"] { min-height:48px; height:48px; padding:0 16px; font-size:12px; background:transparent !important; color:var(--cet-ink) !important; border:1px solid var(--cet-line) !important; border-left:0 !important; }
.input-group-btn > .btn[data-action="show-password"]:hover { background:var(--cet-cream) !important; }
.custom-checkbox label, .form-check-label, .radio-inline { font-weight:400 !important; font-size:14.5px; line-height:1.5; color:var(--cet-text); }
.custom-checkbox label em, .custom-checkbox label p { font-style:normal; font-weight:400; font-size:13.5px; color:var(--cet-muted); display:block; margin:2px 0 0; }
.custom-checkbox { display:flex !important; align-items:flex-start; gap:10px; }
.radio-inline { display:inline-flex !important; align-items:center; gap:8px; min-height:44px; margin-right:18px; }
#checkout .form-footer, #checkout .form-footer.clearfix { display:flex; justify-content:flex-end; margin-top:8px; }
#checkout .form-footer .continue, #checkout .continue.btn { min-width:220px; min-height:52px; float:none !important; }
@media (max-width:599px) { #checkout .form-footer .continue, #checkout .continue.btn { width:100%; } }
#checkout .forgot-password { text-align:left; margin:0 0 16px; font-size:14px; }
/* adresses */
#checkout .address-item { background:var(--cet-white); border:1px solid var(--cet-line) !important; border-radius:var(--cet-radius); padding:0 !important; }
#checkout .address-item.selected { border-color:var(--cet-ink) !important; outline:1px solid var(--cet-ink); }
#checkout .address-item header { padding:16px 18px 6px; }
#checkout .address-item .address-alias { font-family:var(--cet-serif); font-size:18px; font-weight:450; }
#checkout .address-item .address { font-size:14.5px; color:var(--cet-text); margin-top:6px; line-height:1.55; }
#checkout .address-item .address-footer { border-top:1px solid var(--cet-line); padding:8px 18px; display:flex; gap:16px; }
#checkout .address-item .address-footer a { font-size:13px; font-weight:600; min-height:44px; display:inline-flex; align-items:center; gap:4px; }
#checkout .add-address a, #checkout a[data-link-action="different-invoice-address"] { font-weight:600; min-height:44px; display:inline-flex; align-items:center; gap:6px; }
/* transporteurs */
#checkout .delivery-options { display:flex; flex-direction:column; gap:10px; margin:0 0 20px; }
#checkout .delivery-option { display:flex !important; align-items:center; gap:12px; margin:0 !important; padding:14px 16px !important; background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; border-radius:var(--cet-radius); cursor:pointer; transition:border-color .15s; }
#checkout .delivery-option:hover { border-color:var(--cet-ink) !important; }
#checkout .delivery-option:has(input:checked) { border-color:var(--cet-ink) !important; outline:1px solid var(--cet-ink); }
#checkout .delivery-option > .col-sm-1 { flex:0 0 auto; width:auto; padding:0; }
#checkout .delivery-option > label { flex:1 1 auto; width:auto; max-width:none; padding:0; margin:0; cursor:pointer; font-weight:400; }
#checkout .delivery-option > label > .row { display:grid !important; grid-template-columns:1fr auto; grid-template-areas:"name price" "delay price"; gap:2px 16px; margin:0; align-items:center; }
#checkout .delivery-option > label > .row > div { width:auto; max-width:none; padding:0; float:none; }
#checkout .delivery-option > label > .row > div:nth-child(1) { grid-area:name; }
#checkout .delivery-option > label > .row > div:nth-child(2) { grid-area:delay; }
#checkout .delivery-option > label > .row > div:nth-child(3) { grid-area:price; text-align:right; }
#checkout .delivery-option .carrier { margin:0; display:flex; align-items:center; gap:10px; }
#checkout .delivery-option .carrier > div { width:auto; max-width:none; padding:0; }
#checkout .delivery-option .carrier-logo img { max-width:56px; max-height:36px; width:auto; height:auto; }
#checkout .delivery-option .carrier-name { font-family:var(--cet-serif); font-size:17px; font-weight:450; color:var(--cet-ink); margin:0; text-transform:none; }
#checkout .delivery-option .carrier-delay { font-size:13.5px; color:var(--cet-muted); }
#checkout .delivery-option .carrier-price { font-weight:700; color:var(--cet-ink); white-space:nowrap; }
#checkout .carrier-extra-content { margin:0 !important; }
#checkout #delivery label { font-weight:400; font-size:14px; color:var(--cet-muted); margin:6px 0 8px; }
#checkout #delivery textarea { width:100%; min-height:88px; }
/* paiement : présentation autour des options (le contenu des modules reste intact) */
#checkout .payment-options { display:flex; flex-direction:column; gap:10px; margin:0 0 20px; }
#checkout .payment-options > div[id*="-container"] { background:var(--cet-white); border:1px solid var(--cet-line); border-radius:var(--cet-radius); padding:14px 16px; margin:0 !important; }
#checkout .payment-options > div[id*="-container"]:has(input:checked) { border-color:var(--cet-ink); outline:1px solid var(--cet-ink); }
#checkout .payment-options > div[id*="-container"] label { margin:0; font-weight:600; font-size:15px; color:var(--cet-ink); cursor:pointer; }
#checkout .payment-options > div[id*="-container"] label img { max-height:28px; width:auto; }
#checkout .payment-options .additional-information, #checkout .payment-options .js-payment-option-form { margin:0 0 6px; font-size:14px; }
#checkout #conditions-to-approve { margin:10px 0 16px; }
#checkout #conditions-to-approve ul { list-style:none; padding:0; margin:0; }
#checkout #conditions-to-approve label { font-weight:400; font-size:14.5px; }
#checkout .alert { border-radius:var(--cet-radius); font-size:14.5px; }

/* =====================================================================
   PAGES CMS (cms/page.tpl + cet-pages.js : sections par h2, sommaire, page de vente n°6)
   ===================================================================== */
#cms #content-wrapper { width:100%; max-width:100%; flex:0 0 100%; }
.cet-cms { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 auto clamp(56px,8vw,112px) !important; max-width:1120px; font-size:16.5px; line-height:1.7; color:var(--cet-text); }
.cet-cms__body { max-width:70ch; margin:0 auto; }
.cet-cms p.lead { font-family:var(--cet-serif); font-size:clamp(19px,2vw,23px); line-height:1.5; color:var(--cet-ink); font-weight:400; margin:0 0 1.4em; }
.cet-cms__sec { padding:clamp(28px,4vw,44px) 0 0; margin:clamp(20px,3vw,32px) 0 0; border-top:1px solid var(--cet-line); scroll-margin-top:calc(var(--cet-header-h) + 20px); }
.cet-cms__sec:first-child { border-top:0; margin-top:0; padding-top:0; }
.cet-cms h2 { font-size:clamp(1.55rem,2.6vw,2.1rem); margin:0 0 .8em; scroll-margin-top:calc(var(--cet-header-h) + 20px); }
.cet-cms h3 { font-size:1.25rem; margin:1.4em 0 .5em; }
.cet-cms ul, .cet-cms ol { padding-left:1.25em; margin:0 0 1.2em; }
.cet-cms li { margin:0 0 .6em; }
.cet-cms ul li::marker { color:var(--cet-gold); }
.cet-cms ol li::marker { color:var(--cet-wine); font-family:var(--cet-serif); }
.cet-cms strong { color:var(--cet-ink); font-weight:600; }
.cet-cms a:not(.btn) { color:var(--cet-wine); }
.cet-cms table { width:100%; border-collapse:collapse; margin:0 0 1.2em; font-size:15px; }
.cet-cms td, .cet-cms th { border:1px solid var(--cet-line); padding:8px 10px; }
/* sommaire (pages longues : CGU, mentions, livraison) */
@media (min-width:992px) {
  .cet-cms--toc { display:grid; grid-template-columns:240px minmax(0,70ch); gap:64px; justify-content:center; align-items:start; }
  .cet-cms--toc .cet-cms__body { margin:0; }
  .cet-cms__toc { position:sticky; top:calc(var(--cet-header-h) + 24px); }
}
.cet-cms__toc { border:1px solid var(--cet-line); outline:1px solid var(--cet-line); outline-offset:-6px; background:var(--cet-white); padding:22px 24px; margin:0 0 32px; }
.cet-cms__toc .cet-eyebrow { margin-bottom:10px; }
.cet-cms__toc ol { list-style:none; padding:0; margin:0; counter-reset:toc; }
.cet-cms__toc li { counter-increment:toc; margin:0; border-top:1px solid var(--cet-line); }
.cet-cms__toc li:first-child { border-top:0; }
.cet-cms__toc a { display:flex; gap:10px; align-items:baseline; min-height:44px; padding:10px 0; font-size:14.5px; line-height:1.35; color:var(--cet-ink) !important; text-decoration:none !important; }
.cet-cms__toc a::before { content:counter(toc, upper-roman); font-family:var(--cet-serif); color:var(--cet-gold); min-width:22px; }
.cet-cms__toc a:hover { color:var(--cet-wine) !important; }
@media (max-width:991px) { .cet-cms__toc { padding:16px 18px; } }

/* page de vente n°6 */
.cet-cms--sale { max-width:none; }
.cet-cms6-hero { display:grid; gap:clamp(24px,5vw,72px); align-items:center; margin:0 0 clamp(48px,7vw,96px); }
@media (min-width:900px) { .cet-cms6-hero { grid-template-columns:minmax(0,5fr) minmax(0,6fr); } }
.cet-cms6-hero__media { position:relative; }
.cet-cms6-hero__media::after { content:""; position:absolute; inset:14px; border:1px solid rgba(255,253,249,.75); outline:1px solid rgba(255,253,249,.75); outline-offset:-6px; pointer-events:none; }
.cet-cms6-hero__media img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
@media (max-width:899px) { .cet-cms6-hero__media img { aspect-ratio:4/3; object-position:50% 60%; } .cet-cms6-hero__media { margin:0 calc(-1 * var(--cet-gutter)); } .cet-cms6-hero__media::after { inset:10px; } }
.cet-cms6-hero__title { font-family:var(--cet-serif); font-size:clamp(2rem,4vw,3.2rem); line-height:1.08; color:var(--cet-ink); margin:0 0 .5em; letter-spacing:-.015em; text-wrap:balance; }
.cet-cms6-hero__lead p.lead { font-family:var(--cet-sans); font-size:clamp(16.5px,1.5vw,18px); color:var(--cet-text); line-height:1.65; margin:0; }
.cet-cms6-hero .cet-btns { margin-top:1.8rem; }
@media (max-width:599px) { .cet-cms6-hero .cet-btns .btn { flex:1 1 100%; } }
.cet-cms--sale .cet-cms__body { max-width:none; }
.cet-cms--sale .cet-cms__sec { border:0; margin:0; padding:0; }
.cet-cms--sale .cet-cms__sec h2 { text-align:center; margin-bottom:1.1em; }
.cet-cms--sale .cet-cms__sec h2::after { content:""; display:block; width:64px; height:4px; margin:18px auto 0; border-top:1px solid var(--cet-gold); border-bottom:1px solid var(--cet-gold); }
.cet-cms--sale .cet-cms__sec:first-child { background:var(--cet-cream); margin:0 calc(50% - 50vw); padding:clamp(48px,7vw,96px) max(var(--cet-gutter), calc(50vw - 560px)); }
.cet-cms-steps { list-style:none; padding:0 !important; margin:0 !important; display:grid; gap:16px; counter-reset:step; }
@media (min-width:900px) { .cet-cms-steps { grid-template-columns:repeat(3,1fr); gap:24px; } }
.cet-cms-steps > li { counter-increment:step; background:var(--cet-white); border:1px solid var(--cet-line); padding:28px 26px 26px; margin:0 !important; position:relative; }
.cet-cms-steps > li::before { content:counter(step, upper-roman); display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 0 18px; border:1px solid var(--cet-gold); outline:1px solid var(--cet-gold); outline-offset:-5px; font-family:var(--cet-serif); font-size:20px; color:var(--cet-wine); }
.cet-cms-steps h3 { margin:0 0 .5em !important; font-size:1.3rem; }
.cet-cms-steps p { margin:0; font-size:15.5px; line-height:1.6; }
.cet-cms--sale .cet-cms__sec + .cet-cms__sec { text-align:center; max-width:62ch; margin:clamp(48px,7vw,96px) auto 0; }
.cet-cms--sale .cet-cms__sec + .cet-cms__sec .btn { margin-top:.4rem; }
.cet-cms6-contact { max-width:860px; margin:clamp(48px,7vw,96px) auto 0; text-align:center; }
.cet-cms6-contact__title { font-family:var(--cet-serif); font-size:clamp(1.5rem,2.6vw,2rem); color:var(--cet-ink); line-height:1.2; margin:0 0 .6em; }
.cet-cms6-contact p:not(.cet-eyebrow):not(.cet-cms6-contact__title) { max-width:56ch; margin:0 auto; }
.cet-cms6-contact .cet-btns { justify-content:center; }
@media (max-width:599px) { .cet-cms6-contact .cet-btns .btn { flex:1 1 100%; } }
.cet-cms__toc--num a::before { display:none; }
.cet-cms__toc summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; min-height:32px; margin:0; }
.cet-cms__toc summary::-webkit-details-marker { display:none; }
.cet-cms__toc summary::after { content:""; width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
.cet-cms__toc details[open] summary { margin-bottom:8px; }
.cet-cms__toc details[open] summary::after { transform:rotate(-135deg); }
.cet-cms .cet-cms__body li, .cet-cms .cet-cms__body p { color:var(--cet-text) !important; font-size:16.5px !important; line-height:1.7 !important; }
.cet-cms .cet-cms__body ul, .cet-cms .cet-cms__body ol:not(.cet-cms-steps) { padding-left:1.2em !important; list-style-position:outside; }
.cet-cms .cet-cms__body ul { list-style-type:disc; }
.cet-cms .cet-cms__body li { padding-left:.2em !important; }
.cet-cms .cet-cms-steps li, .cet-cms .cet-cms-steps p { font-size:15.5px !important; line-height:1.6 !important; }
.cet-cms .cet-cms__toc li { margin:0 !important; }

/* =====================================================================
   CATÉGORIE : en-tête « étiquette » pleine largeur (bandeau + intro + sélecteur de hauteur)
   ===================================================================== */
#category .page-title-wrapper { background:var(--cet-cream) !important; padding-top:clamp(32px,5vw,64px) !important; padding-bottom:18px !important; }
#category .cet-cat-head { background:var(--cet-cream); margin:0 calc(50% - 50vw) clamp(28px,4vw,48px); padding:0 max(var(--cet-gutter), calc(50vw - 620px)) clamp(32px,5vw,56px); border-bottom:1px solid var(--cet-line); position:relative; }
#category .cet-cat-head::after { content:""; position:absolute; left:50%; bottom:-3px; transform:translateX(-50%); width:120px; height:5px; background:var(--cet-paper); border-top:1px solid var(--cet-gold); border-bottom:1px solid var(--cet-gold); }
#category #wrapper > .container { overflow:visible; }
#category .cet-cat-intro #category-description p { font-size:clamp(15.5px,1.3vw,17px); }
#category .cet-catnav { margin-bottom:0; }
#category .cet-chip { background:transparent; border-color:rgba(7,39,58,.25); }
#category .cet-chip.is-current { background:var(--cet-ink); }
/* sélecteur de hauteur */
.cet-sizenav { margin:clamp(20px,3vw,32px) auto 0; max-width:880px; }
.cet-sizenav__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.cet-sizenav__list a { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; min-height:44px; padding:16px 8px 14px; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none !important; color:var(--cet-ink) !important; text-align:center; transition:border-color .15s, box-shadow .15s, transform .15s; }
.cet-sizenav__list a:hover { border-color:var(--cet-ink); box-shadow:var(--cet-shadow); }
.cet-sizenav__list a.is-current { border-color:var(--cet-ink); outline:1px solid var(--cet-ink); outline-offset:-4px; }
.cet-sizenav .cet-size__stage { height:96px; width:100%; display:flex; align-items:flex-end; justify-content:center; gap:6px; border-bottom:1px solid var(--cet-ink); margin:0 0 10px; }
.cet-sizenav .cet-size__lamp { display:block; background:linear-gradient(90deg,#EEEBE0,#FFFDF9 45%,#E6E1D2); border:1px solid var(--cet-line); border-bottom:0; position:relative; box-shadow:0 0 16px rgba(205,175,102,.3); }
.cet-sizenav .cet-size--29 .cet-size__lamp, .cet-sizenav .l29 { width:26px; height:34px; }
.cet-sizenav .cet-size--39 .cet-size__lamp, .cet-sizenav .l39 { width:30px; height:46px; }
.cet-sizenav .cet-size--80 .cet-size__lamp, .cet-sizenav .l80 { width:40px; height:88px; }
.cet-sizenav .cet-sizenav__trio .cet-size__lamp { box-shadow:none; }
.cet-sizenav .cet-sizenav__trio .l29 { width:16px; height:21px; } .cet-sizenav .cet-sizenav__trio .l39 { width:19px; height:29px; } .cet-sizenav .cet-sizenav__trio .l80 { width:25px; height:55px; }
.cet-sizenav__cm { font-family:var(--cet-serif); font-size:clamp(19px,2vw,24px); line-height:1.1; }
.cet-sizenav__meta { font-size:12.5px; font-weight:600; color:var(--cet-wine); margin-top:3px; letter-spacing:.02em; }
.cet-sizenav__all .cet-sizenav__meta { color:var(--cet-muted); }
@media (max-width:599px) {
  .cet-sizenav__list { gap:6px; }
  .cet-sizenav__list a { padding:10px 4px 10px; }
  .cet-sizenav .cet-size__stage { height:64px; gap:3px; }
  .cet-sizenav .cet-size--29 .cet-size__lamp { width:18px; height:24px; } .cet-sizenav .cet-size--39 .cet-size__lamp { width:21px; height:32px; } .cet-sizenav .cet-size--80 .cet-size__lamp { width:27px; height:58px; }
  .cet-sizenav .cet-sizenav__trio .l29 { width:10px; height:13px; } .cet-sizenav .cet-sizenav__trio .l39 { width:12px; height:18px; } .cet-sizenav .cet-sizenav__trio .l80 { width:16px; height:36px; }
  .cet-sizenav__cm { font-size:17px; }
  .cet-sizenav__meta { font-size:11px; }
}

/* =====================================================================
   CONTACT (contact.tpl) — carte boutique + formulaire
   ===================================================================== */
#contact #content-wrapper, #stores #content-wrapper, #pagenotfound #content-wrapper, #sitemap #content-wrapper { width:100%; max-width:100%; flex:0 0 100%; }
#contact #left-column, #contact #right-column { display:none; }
.cet-contact { display:grid; gap:clamp(24px,4vw,64px); margin:0 0 clamp(56px,8vw,112px); align-items:start; }
@media (min-width:992px) { .cet-contact { grid-template-columns:minmax(0,4fr) minmax(0,7fr); } .cet-contact__card { position:sticky; top:calc(var(--cet-header-h) + 24px); } }
.cet-contact__title, .cet-store__name { font-family:var(--cet-serif); font-size:clamp(1.6rem,2.6vw,2.1rem); color:var(--cet-ink); line-height:1.15; margin:0 0 18px; font-weight:450; }
.cet-contact__info { margin:0 0 18px; }
.cet-contact__info > div { display:grid; grid-template-columns:96px 1fr; gap:10px; padding:12px 0; border-top:1px solid var(--cet-line); }
.cet-contact__info > div:last-child { border-bottom:1px solid var(--cet-line); }
.cet-contact__info dt { font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-muted); padding-top:3px; }
.cet-contact__info dd { margin:0; color:var(--cet-ink); font-size:15.5px; line-height:1.5; word-break:break-word; }
.cet-contact__muted { color:var(--cet-muted); font-size:14px; }
.cet-contact__note { font-size:14.5px; color:var(--cet-muted); margin:0 0 8px; }
@media (max-width:420px) { .cet-contact__info > div { grid-template-columns:1fr; gap:2px; } }
.cet-contact__h2 { font-size:clamp(1.5rem,2.6vw,2.1rem); margin:0 0 24px; }
.cet-contact .contact-form { background:transparent; padding:0; border:0; box-shadow:none; }
.cet-contact .contact-form .form-fields > .form-group.row:first-child { display:none; } /* h3 « Contactez-nous » en doublon */
.cet-contact .form-group.row { display:flex; flex-wrap:wrap; margin:0 0 18px; }
.cet-contact .form-group.row > [class*="col-"] { flex:0 0 100%; max-width:100%; width:100%; padding:0; margin-left:0; float:none; text-align:left; }
.cet-contact .form-group.row > .form-control-label { flex:0 0 auto; width:auto; padding:0 0 6px; }
.cet-contact .form-group.row > .form-control-comment { flex:1 1 auto; width:auto; margin-left:8px; order:0; padding:1px 0 6px; }
.cet-contact .form-group.row > .col-md-6, .cet-contact .form-group.row > .col-md-9 { order:1; }
.cet-contact .offset-md-3 { margin-left:0; }
.cet-contact textarea { min-height:180px; resize:vertical; }
.cet-contact .bootstrap-filestyle { display:flex; width:100%; }
.cet-contact .bootstrap-filestyle input.form-control { flex:1 1 auto; min-width:0; }
.cet-contact .bootstrap-filestyle .btn, .cet-contact .group-span-filestyle .btn { min-height:48px; border-radius:0 var(--cet-radius) var(--cet-radius) 0; background:var(--cet-ink) !important; color:var(--cet-white) !important; border-color:var(--cet-ink) !important; }
.cet-contact .form-footer { text-align:left !important; margin-top:8px; }
.cet-contact .form-footer .btn { min-width:220px; min-height:52px; }
@media (max-width:599px) { .cet-contact .form-footer .btn { width:100%; } }
.cet-contact .alert { margin:0 0 18px; float:none; width:100%; }

/* =====================================================================
   MAGASIN (cms/stores.tpl)
   ===================================================================== */
.cet-store { display:grid; gap:0; margin:0 0 clamp(56px,8vw,112px); align-items:center; }
@media (min-width:992px) { .cet-store { grid-template-columns:minmax(0,7fr) minmax(0,5fr); } .cet-store__card { margin-left:-80px; position:relative; z-index:1; } }
.cet-store__media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
@media (max-width:991px) { .cet-store__media { margin:0 calc(-1 * var(--cet-gutter)); } .cet-store__card { margin:-40px 0 0; position:relative; } }
.cet-store__addr { font-style:normal; font-size:16px; line-height:1.55; color:var(--cet-ink); margin:0 0 20px; }
.cet-store__hours { width:100%; border-collapse:collapse; margin:0 0 20px; font-size:15px; }
.cet-store__hours caption { caption-side:top; text-align:left; padding:0 0 8px; }
.cet-store__hours th, .cet-store__hours td { padding:8px 0; border-top:1px solid var(--cet-line); font-weight:400; }
.cet-store__hours th { color:var(--cet-ink); text-transform:capitalize; width:40%; }
.cet-store__hours td { text-align:right; color:var(--cet-text); font-variant-numeric:tabular-nums; }
.cet-store__hours tr.is-closed th, .cet-store__hours tr.is-closed td { color:var(--cet-muted); }
.cet-store__hours tr.is-today th, .cet-store__hours tr.is-today td { color:var(--cet-wine); font-weight:600; }
.cet-store__contact { font-size:15.5px; margin:0 0 4px; line-height:1.8; }
.cet-store__note { font-size:14px; color:var(--cet-muted); margin:18px 0 0; }
@media (max-width:599px) { .cet-store .cet-btns .btn { flex:1 1 100%; } }

/* =====================================================================
   404
   ===================================================================== */
.cet-404 { max-width:760px; margin:0 auto clamp(56px,8vw,112px) !important; text-align:center; background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.cet-404__code { font-family:var(--cet-serif); font-size:clamp(5rem,14vw,9rem); line-height:1; color:var(--cet-wine); margin:0 0 12px; font-weight:350; letter-spacing:-.02em; }
.cet-404__txt { font-size:17px; max-width:56ch; margin:0 auto 28px; color:var(--cet-text); }
.cet-404__search { display:flex; gap:8px; max-width:560px; margin:0 auto 36px; }
.cet-404__search input[type=search] { flex:1 1 auto; min-width:0; }
.cet-404__search .btn { flex:0 0 auto; }
.cet-404__links { list-style:none; padding:0; margin:0 0 20px; display:grid; gap:12px; grid-template-columns:1fr; text-align:left; }
@media (min-width:700px) { .cet-404__links { grid-template-columns:repeat(3,1fr); } }
.cet-404__links a { display:flex; flex-direction:column; gap:4px; padding:20px 22px; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none !important; transition:border-color .15s, box-shadow .15s; min-height:44px; }
.cet-404__links a:hover { border-color:var(--cet-ink); box-shadow:var(--cet-shadow); }
.cet-404__k { font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cet-gold); }
.cet-404__t { font-family:var(--cet-serif); font-size:20px; color:var(--cet-ink); }
@media (max-width:599px) { .cet-404__search { flex-direction:column; } }

/* =====================================================================
   PLAN DU SITE
   ===================================================================== */
#sitemap #content, #sitemap .sitemap { background:transparent !important; }
#sitemap #content { max-width:1000px; margin:0 auto clamp(56px,8vw,112px); }
#sitemap .sitemap, #sitemap #content > .container, #sitemap #content .row { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin:0; }
#sitemap #content .row::before, #sitemap #content .row::after { display:none; }
#sitemap #content [class*="col-"] { width:auto; max-width:none; padding:0; float:none; }
#sitemap h2 { font-family:var(--cet-sans) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.16em; text-transform:uppercase !important; color:var(--cet-gold) !important; border:0 !important; padding:0 0 10px !important; margin:0 0 6px !important; border-bottom:1px solid var(--cet-line) !important; }
#sitemap h2::after { display:none !important; }
#sitemap ul { list-style:none; padding:0; margin:0; }
#sitemap ul ul { padding-left:14px; border-left:1px solid var(--cet-line); margin:2px 0 6px; }
#sitemap li a { display:inline-flex; align-items:center; min-height:40px; color:var(--cet-ink) !important; font-size:15px; text-decoration:none; }
#sitemap li a:hover { color:var(--cet-wine) !important; }

/* =====================================================================
   COMPTE CLIENT (connexion, inscription, mot de passe, mon compte, adresses, commandes)
   ===================================================================== */
#authentication #content, #registration #content, #password #content, #identity #content, #address #content, #addresses #content, #history #content, #order-detail #content, #my-account #content, #discount #content, #order-slip #content, #guest-tracking #content {
  max-width:760px; margin:0 auto; background:transparent !important; box-shadow:none !important; border:0 !important; padding:0 !important;
}
#authentication #content, #password #content { max-width:520px; }
#authentication .login-form, #registration .register-form, #password .forgotten-password, #identity .js-customer-form, #address .address-form { background:var(--cet-white); border:1px solid var(--cet-line); outline:1px solid var(--cet-line); outline-offset:-6px; padding:clamp(22px,4vw,40px) !important; margin:0 0 20px; }
#authentication .forgot-password { text-align:right !important; margin:-4px 0 18px; font-size:14px; }
#authentication .forgot-password a { text-decoration:underline; text-underline-offset:.22em; }
#authentication .form-footer, #registration .form-footer, #password .form-footer, #identity .form-footer, #address .form-footer { text-align:left !important; margin:8px 0 0; }
#authentication .form-footer .btn, #registration .form-footer .btn, #password .form-footer .btn, #identity .form-footer .btn, #address .form-footer .btn { width:100%; min-height:52px; }
#authentication .no-account { text-align:center; margin:22px 0 0; padding:22px 0 0; border-top:1px solid var(--cet-line); font-size:15px; }
#authentication .no-account a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 26px; border:1px solid var(--cet-ink); color:var(--cet-ink) !important; font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
#authentication .no-account a:hover { background:var(--cet-ink); color:var(--cet-white) !important; }
#authentication hr { display:none; }
#registration .register-form > p, #password .forgotten-password > p, #password .send-renew-password-link { font-size:15px; color:var(--cet-muted); }
#password .form-fields .form-group { display:flex; flex-direction:column; gap:8px; }
#password .form-fields .form-group > * { width:100% !important; max-width:100%; padding:0; float:none; }
#password .form-fields .email { width:100%; }
#password .form-fields button { width:100%; min-height:52px; margin:8px 0 0; }
#password .page-footer a, #authentication .page-footer a, .page-customer-account .page-footer a { font-weight:600; min-height:44px; display:inline-flex; align-items:center; gap:6px; }
/* mon compte : tuiles */
#my-account .links { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; margin:0; }
#my-account .links > a { display:block !important; width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important; float:none !important; text-decoration:none !important; }
#my-account .links .link-item { display:flex !important; flex-direction:column; align-items:flex-start; gap:10px; height:100%; padding:22px 22px 20px !important; background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; box-shadow:none !important; font-family:var(--cet-serif); font-size:18px !important; font-weight:450; text-transform:none !important; color:var(--cet-ink) !important; text-align:left !important; transition:border-color .15s, box-shadow .15s; }
#my-account .links a:hover .link-item { border-color:var(--cet-ink) !important; box-shadow:var(--cet-shadow) !important; color:var(--cet-wine) !important; }
#my-account .links .link-item i, #my-account .links .link-item .material-icons { font-size:26px !important; color:var(--cet-gold) !important; margin:0 !important; padding:0 !important; width:auto !important; }
.page-customer-account .page-footer .text-sm-center, #my-account .page-footer { text-align:center; margin-top:24px; }
/* adresses / commandes */
#addresses .address { background:var(--cet-white); border:1px solid var(--cet-line); box-shadow:none; }
#addresses .address .address-body { padding:18px; }
#addresses .address .address-body h4 { font-family:var(--cet-serif); font-size:18px; }
#addresses .address .address-footer { border-top:1px solid var(--cet-line); padding:8px 18px; }
#addresses .address .address-footer a { min-height:44px; display:inline-flex; align-items:center; gap:4px; margin-right:14px; font-weight:600; font-size:13px; }
#addresses .addresses-footer a, .page-addresses .addresses-footer a { display:inline-flex; align-items:center; gap:6px; min-height:48px; padding:10px 20px; border:1px solid var(--cet-ink); color:var(--cet-ink) !important; font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
#history .table, #order-detail .table { background:var(--cet-white); border:1px solid var(--cet-line); font-size:14.5px; }
#history .table thead th, #order-detail .table thead th { background:var(--cet-cream) !important; color:var(--cet-ink); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; border-color:var(--cet-line); }
#history .orders .order { background:var(--cet-white); border:1px solid var(--cet-line); padding:14px 16px; margin:0 0 10px; }
#order-detail .box { background:var(--cet-white); border:1px solid var(--cet-line); padding:18px; margin:0 0 14px; box-shadow:none; }
.cet-contact .bootstrap-filestyle { display:flex !important; flex-wrap:nowrap; width:100%; align-items:stretch; }
.cet-contact .bootstrap-filestyle > input.form-control { flex:1 1 auto; min-width:0; height:48px !important; min-height:48px; width:auto !important; }
.cet-contact .bootstrap-filestyle .group-span-filestyle { display:flex; flex:0 0 auto; width:auto; }
.cet-contact .bootstrap-filestyle label.btn { display:inline-flex !important; align-items:center; min-height:48px; height:48px; padding:0 16px !important; margin:0 !important; white-space:nowrap; font-size:12px; letter-spacing:.06em; background:var(--cet-ink) !important; color:var(--cet-white) !important; border:1px solid var(--cet-ink) !important; border-radius:0 var(--cet-radius) var(--cet-radius) 0; }
.cet-contact .bootstrap-filestyle label.btn .buttonText { white-space:nowrap; }
.cet-contact .bootstrap-filestyle .badge { display:none; }
@media (max-width:991px) { .cet-contact, .cet-store { grid-template-columns:minmax(0,1fr); } }

/* fiche : scène crème pleine largeur derrière galerie + infos, suggestions en dessous */
#product .page-title-wrapper { background:var(--cet-cream) !important; }
.cet-product { background:var(--cet-cream); box-shadow:0 0 0 100vmax var(--cet-cream); clip-path:inset(0 -100vmax); padding:8px 0 clamp(40px,6vw,80px); margin-bottom:0 !important; }
.cet-product .product-cover-container { border-color:transparent; box-shadow:var(--cet-shadow); }
.cet-product .product-images .thumb { border-color:transparent !important; }
.cet-product .js-mailalert, .cet-reassure-mini li { border-color:rgba(7,39,58,.14); }
.cet-product .product-variants select.form-control-select, .cet-product .product-quantity .qty .bootstrap-touchspin { border-color:rgba(7,39,58,.22); }
.cet-related { margin:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px) !important; padding:0 !important; }
.cet-related .pos_title { text-align:center; margin:0 0 clamp(24px,3vw,40px) !important; border:0 !important; padding:0 !important; }
.cet-related .pos_title h2 { font-size:clamp(1.6rem,3vw,2.4rem) !important; margin:0 !important; padding:0 !important; border:0 !important; text-transform:none !important; }
.cet-related .pos_title h2::before { display:none !important; }
.cet-related .pos_title h2::after { content:"" !important; display:block !important; position:static !important; width:64px !important; height:4px !important; margin:18px auto 0 !important; background:none !important; border-top:1px solid var(--cet-gold); border-bottom:1px solid var(--cet-gold); }
.cet-related .slick-slide > div { padding:0 10px; }
.cet-related .product_desc { padding:14px 2px 0 !important; text-align:left !important; background:transparent !important; }
.cet-product .product-flag li.out_of_stock { font-size:0 !important; }
.cet-product .product-flag li.out_of_stock::after { content:"Épuisé"; font-size:11px; letter-spacing:.1em; }
/* produit non commandable : on masque les raccourcis PayPal (achat impossible) */
.cet-product .product-quantity:has(.add-to-cart:disabled) > :not(.qty):not(.add) { display:none !important; }

/* =====================================================================
   MODALE « AJOUTÉ AU PANIER » (posshoppingcart) → tiroir latéral
   ===================================================================== */
#blockcart-modal .modal-dialog { position:fixed; top:0; right:0; bottom:0; left:auto; margin:0 !important; width:min(440px,100vw); max-width:none; transform:translateX(24px); transition:transform .3s ease; }
#blockcart-modal.in .modal-dialog, #blockcart-modal.show .modal-dialog { transform:none; }
#blockcart-modal .modal-content { height:100%; border:0 !important; border-radius:0 !important; background:var(--cet-paper) !important; display:flex; flex-direction:column; overflow-y:auto; box-shadow:-12px 0 40px rgba(7,39,58,.18); }
#blockcart-modal .modal-header { background:var(--cet-paper) !important; border-bottom:1px solid var(--cet-line) !important; padding:18px 20px 18px 24px !important; display:flex; align-items:center; flex-direction:row-reverse; justify-content:space-between; }
#blockcart-modal .modal-header .modal-title { color:var(--cet-ink) !important; font-family:var(--cet-serif) !important; font-size:20px !important; font-weight:450 !important; text-align:left !important; margin:0; display:flex; align-items:center; gap:12px; line-height:1.25; }
#blockcart-modal .modal-header .modal-title i { display:none !important; }
#blockcart-modal .modal-header .modal-title::before { content:"✓"; flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--cet-ok); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:var(--cet-sans); font-size:15px; }
#blockcart-modal .modal-header .close { color:var(--cet-ink) !important; opacity:1; width:44px; height:44px; margin:-8px -8px -8px 0; font-size:28px; font-weight:300; text-shadow:none; display:inline-flex; align-items:center; justify-content:center; }
#blockcart-modal .modal-body { padding:24px !important; flex:1 1 auto; }
#blockcart-modal .modal-body > .row { display:flex; flex-direction:column; gap:22px; margin:0; }
#blockcart-modal .modal-body > .row > [class*="col-"] { width:100% !important; max-width:100%; flex:none; padding:0; float:none; border:0 !important; }
#blockcart-modal .divide-right > .row { display:grid !important; grid-template-columns:96px 1fr; gap:16px; margin:0; align-items:start; }
#blockcart-modal .divide-right > .row > [class*="col-"] { width:auto !important; max-width:none; padding:0; float:none; }
#blockcart-modal .divide-right .product-image { width:96px; height:96px; object-fit:cover; border:1px solid var(--cet-line); background:#fff; }
#blockcart-modal .product-name { font-family:var(--cet-serif) !important; font-size:18px !important; font-weight:450 !important; color:var(--cet-ink) !important; line-height:1.25; margin:0 0 6px; text-transform:none !important; }
#blockcart-modal .divide-right p { margin:0 0 4px; font-size:14.5px; color:var(--cet-text); }
#blockcart-modal .divide-right strong { font-weight:600; }
#blockcart-modal .cart-content { background:var(--cet-white); border:1px solid var(--cet-line); padding:18px 18px 20px; }
#blockcart-modal .cart-content .cart-products-count { font-family:var(--cet-serif) !important; font-size:17px !important; margin:0 0 12px; color:var(--cet-ink); }
#blockcart-modal .cart-content p { display:flex; justify-content:space-between; gap:12px; margin:0 0 6px; font-size:14.5px; }
#blockcart-modal .cart-content p.product-total, #blockcart-modal .cart-content p:has(+ .cart-content-btn), #blockcart-modal .cart-content .product-total { border-top:1px solid var(--cet-line); padding-top:10px; margin-top:8px; font-family:var(--cet-serif); font-size:19px; color:var(--cet-ink); }
#blockcart-modal .cart-content-btn { display:flex !important; flex-direction:column-reverse; gap:10px; margin-top:18px; }
#blockcart-modal .cart-content-btn .btn { width:100%; min-height:52px; margin:0 !important; }
#blockcart-modal .cart-content-btn .btn i { display:none; }
.modal-backdrop.in, .modal-backdrop.show { background:var(--cet-ink); opacity:.45; }
.page-title-wrapper .sitemap-title, .page-title-wrapper h1 span { text-transform:none !important; }
.page-not-found:not(.cet-404) { background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; outline:1px solid var(--cet-line); outline-offset:-6px; box-shadow:none !important; padding:clamp(28px,5vw,56px) !important; text-align:center; max-width:760px; margin:0 auto clamp(56px,8vw,112px) !important; }
.page-not-found h4 { font-family:var(--cet-serif) !important; font-weight:450 !important; font-size:clamp(1.5rem,2.6vw,2rem) !important; color:var(--cet-ink) !important; line-height:1.2; margin:0 0 .6em !important; text-transform:none !important; }
.page-not-found p { color:var(--cet-muted); }
.page-not-found .cet-404__search { margin:24px auto 8px; }
.page-not-found .cet-center { margin-top:8px; }

/* confirmation de commande (non visible sans commander : style générique prudent) */
#order-confirmation #content-wrapper { width:100%; max-width:100%; flex:0 0 100%; }
#order-confirmation .card, #order-confirmation #content-hook_order_confirmation, #order-confirmation #content, #order-confirmation #content-hook_payment_return { background:var(--cet-white) !important; border:1px solid var(--cet-line) !important; box-shadow:none !important; border-radius:var(--cet-radius); margin:0 auto 18px; max-width:960px; }
#order-confirmation #content-hook_order_confirmation .card-title, #order-confirmation h3.card-title { font-family:var(--cet-serif) !important; font-weight:450 !important; font-size:clamp(1.5rem,3vw,2.2rem) !important; color:var(--cet-ink) !important; text-transform:none !important; }
#order-confirmation #content-hook_order_confirmation .card-title i { color:var(--cet-ok) !important; }
#order-confirmation #order-items table, #order-confirmation .order-confirmation-table { font-size:15px; }
#order-confirmation .order-line { padding:10px 0; border-bottom:1px solid var(--cet-line); }
#order-confirmation #order-details ul { list-style:none; padding:0; }

/* fil de progression panier / tunnel */
.cet-progress { list-style:none; margin:0 auto clamp(24px,3.5vw,40px); padding:0; display:flex; max-width:820px; counter-reset:prog; }
.cet-progress li { flex:1 1 0; position:relative; text-align:center; counter-increment:prog; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cet-muted); padding-top:40px; }
.cet-progress li::before { content:counter(prog, upper-roman); position:absolute; top:0; left:50%; transform:translateX(-50%); width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:1px solid var(--cet-line); background:var(--cet-paper); font-family:var(--cet-serif); font-size:13px; letter-spacing:0; color:var(--cet-muted); z-index:1; }
.cet-progress li + li::after { content:""; position:absolute; top:15px; right:calc(50% + 15px); width:calc(100% - 30px); height:1px; background:var(--cet-line); }
.cet-progress li.is-done { color:var(--cet-ink); }
.cet-progress li.is-done::before { content:"✓"; font-family:var(--cet-sans); background:var(--cet-ink); border-color:var(--cet-ink); color:var(--cet-white); }
.cet-progress li.is-current { color:var(--cet-wine); }
.cet-progress li.is-current::before { background:var(--cet-wine); border-color:var(--cet-wine); color:var(--cet-white); outline:1px solid var(--cet-wine); outline-offset:2px; }
.cet-progress li.is-done + li::after, .cet-progress li.is-current::after { background:var(--cet-ink); }
@media (max-width:599px) { .cet-progress li { font-size:10px; letter-spacing:.04em; padding-top:36px; } .cet-progress li span { display:block; max-width:70px; margin:0 auto; } }
.cart-summary-line .label { text-align:left !important; }
.cart-summary-line .value { text-align:right; }
#cart .product-line-grid-right, #cart .product-line-grid-right > .row, #cart .product-line-grid-right .row > [class*="col-"] { position:static !important; }
#cart .product-line-grid-right .text-xs-right { top:14px; right:-6px; }
@media (max-width:599px) {
  .cet-progress li { font-size:10px; }
  .cet-progress li:not(.is-current) span { visibility:hidden; }
  .cet-progress li.is-current span { white-space:nowrap; max-width:none; }
}

/* =====================================================================
   PHASE 2 — AGENT E (24/09/2026) : « plus riche » — charte bleu nuit / beige / or
   Utilise le kit de D (cet-base.css). Supprimer cette section = retour à l'état C.
   ===================================================================== */
#category #wrapper, #product #wrapper, #cms #wrapper, #stores #wrapper, #contact #wrapper, #pagenotfound #wrapper { overflow-x:clip; }

/* ---------- CATÉGORIE : bandeau « cave » photo ---------- */
body#category .page-title-wrapper {
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--cet-cave) !important;
  padding:clamp(48px,8vw,104px) 0 clamp(96px,11vw,150px) !important;
}
body#category .page-title-wrapper::before { content:""; position:absolute; inset:0; z-index:-2; background:url(/modules/cetrefonte/views/img/hero-lampes-1920.webp) center 58%/cover no-repeat; }
body#category.category-id-83 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/lampes-mur-1600.webp); }
body#category.category-id-17 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/magasin-interieur-1200.webp); }
@media (max-width:767px) {
  body#category .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/hero-lampes-800.webp); }
  body#category.category-id-83 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/lampes-mur-800.webp); }
  body#category.category-id-17 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/magasin-interieur-700.webp); }
}
body#category .page-title-wrapper::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse 55% 65% at 50% 42%, rgba(5,22,32,.62), rgba(5,22,32,.35) 70%), linear-gradient(180deg, rgba(5,22,32,.35) 0%, rgba(5,22,32,.55) 65%, rgba(5,22,32,.92) 100%); }
body#category .page-title-wrapper .page-header h1 { color:#FBF6EE !important; font-size:clamp(2.4rem,6vw,4.4rem) !important; text-shadow:0 2px 24px rgba(0,0,0,.5); }
body#category .page-title-wrapper .page-header:has(h1:not(:empty))::after { border-color:var(--cet-gold-bright); width:96px; }
body#category .page-title-wrapper .breadcrumb, body#category .page-title-wrapper .breadcrumb span { color:#EDE7DA !important; }
body#category .page-title-wrapper .breadcrumb a, body#category .page-title-wrapper .breadcrumb a span { color:var(--cet-gold-light) !important; }
body#category .page-title-wrapper .breadcrumb li::after { color:rgba(217,190,124,.7) !important; }

/* en-tête sous le bandeau : cartouche qui chevauche la photo + sélecteur */
#category .cet-cat-head { background:transparent; border-bottom:0; padding-top:0; margin-bottom:clamp(20px,3vw,36px); }
#category .cet-cat-head::after { display:none; }
.cet-cat-card { position:relative; z-index:2; max-width:880px; margin:calc(-1 * clamp(64px,8vw,104px)) auto 0; background:var(--cet-white) var(--cet-grain-img); box-shadow:0 24px 60px -24px rgba(5,22,32,.45); text-align:center; }
.cet-cat-card .cet-eyebrow { margin-bottom:10px; }
.cet-cat-lead { font-family:var(--cet-serif); font-size:clamp(1.45rem,2.6vw,2.05rem); line-height:1.2; color:var(--cet-ink); font-weight:400; margin:0 auto 14px; max-width:28ch; text-wrap:balance; }
.cet-cat-card p:not(.cet-eyebrow):not(.cet-cat-lead) { max-width:64ch; margin:0 auto 18px; font-size:clamp(15px,1.25vw,16.5px); }
.cet-cat-facts { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; }
.cet-cat-facts li { position:relative; font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cet-ink); padding-left:16px; }
.cet-cat-facts li::before { content:""; position:absolute; left:0; top:50%; width:7px; height:7px; margin-top:-4px; background:var(--cet-gold-deco); transform:rotate(45deg); }
@media (max-width:599px) {
  .cet-cat-card { text-align:left; margin-left:0; margin-right:0; padding:26px 20px 24px; }
  .cet-cat-lead { margin-left:0; }
  .cet-cat-facts { justify-content:flex-start; gap:6px 16px; }
  .cet-cat-facts li { font-size:11.5px; letter-spacing:.06em; }
}

/* sélecteur de hauteur en photos */
.cet-sizenav--photo { max-width:1000px; margin-top:clamp(28px,4vw,44px); }
.cet-sizenav--photo .cet-sizenav__list { gap:clamp(8px,1.6vw,20px); }
.cet-sizenav--photo .cet-sizenav__list a { padding:0 0 14px; justify-content:flex-start; background:var(--cet-white); overflow:hidden; }
.cet-sizenav--photo .cet-sizenav__list a:hover { transform:translateY(-3px); box-shadow:0 16px 36px -18px rgba(5,22,32,.5); border-color:var(--cet-gold-deco); }
.cet-sizenav--photo .cet-sizenav__list a.is-current { border-color:var(--cet-navy); outline:1px solid var(--cet-gold-deco); outline-offset:-6px; }
.cet-sizenav__ph { position:relative; display:block; width:100%; aspect-ratio:4/5; overflow:hidden; background:var(--cet-cave); margin-bottom:12px; }
.cet-sizenav__ph img, .cet-sizenav__ph picture { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.cet-sizenav__list a:hover .cet-sizenav__ph img { transform:scale(1.05); }
.cet-sizenav--photo .is-current .cet-sizenav__ph::after { content:"Vous êtes ici"; position:absolute; left:0; right:0; bottom:0; padding:6px 4px; background:rgba(5,22,32,.82); color:var(--cet-gold-light); font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.cet-sizenav__ruler { position:absolute; top:8%; bottom:8%; right:8px; width:12px; display:flex; align-items:flex-end; }
.cet-sizenav__ruler i { display:block; width:100%; border:1.5px solid var(--cet-gold-bright); border-right:0; background:repeating-linear-gradient(180deg, var(--cet-gold-bright) 0 1px, transparent 1px 12px) left top / 6px 100% no-repeat; filter:drop-shadow(0 0 4px rgba(5,22,32,.8)); }
.cet-sizenav--photo .cet-sizenav__cm { font-size:clamp(20px,2.2vw,28px); }
.cet-sizenav__dim { display:block; font-size:12px; color:var(--cet-muted); margin-top:2px; }
.cet-sizenav--photo .cet-sizenav__meta { color:var(--cet-navy); font-size:13px; }
@media (max-width:599px) {
  .cet-sizenav--photo .cet-sizenav__list { gap:6px; }
  .cet-sizenav--photo .cet-sizenav__list a { padding-bottom:10px; }
  .cet-sizenav__ph { aspect-ratio:3/4; margin-bottom:8px; }
  .cet-sizenav__dim { display:none; }
  .cet-sizenav--photo .cet-sizenav__cm { font-size:17px; }
  .cet-sizenav--photo .cet-sizenav__meta { font-size:11px; }
  .cet-sizenav__ruler { right:4px; width:8px; }
  .cet-sizenav--photo .is-current .cet-sizenav__ph::after { content:"Ici"; font-size:9.5px; }
}

/* cartes produit : plus de présence */
#js-product-list .js-product-miniature .img_block { outline:1px solid transparent; outline-offset:-9px; transition:outline-color .3s, box-shadow .35s, border-color .3s; }
#js-product-list .js-product-miniature:hover .img_block { outline-color:var(--cet-gold-deco); border-color:var(--cet-gold-deco); box-shadow:0 22px 44px -22px rgba(5,22,32,.45), 0 0 0 4px rgba(205,175,102,.12); }
#js-product-list .js-product-miniature:hover .img_block img.first-image { transform:scale(1.05); }
#js-product-list .cet-pn-kind { color:var(--cet-gold); display:flex; align-items:center; gap:8px; }
#js-product-list .cet-pn-kind::after { content:""; flex:0 1 28px; height:1px; background:var(--cet-gold-deco); }
#js-product-list .cet-pn-app { font-size:clamp(17px,1.6vw,21px); }
@media (max-width:599px) { #js-product-list .cet-pn-kind::after { display:none; } #js-product-list .cet-pn-kind { letter-spacing:.08em; } }

/* bandeau « Personnalisez » dans la grille */
#js-product-list .product_content > .cet-gridband { grid-column:1 / -1 !important; }
.cet-gridband { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:clamp(24px,4vw,56px); padding:clamp(28px,4vw,52px); margin:clamp(8px,2vw,20px) 0; overflow:hidden; border:1px solid rgba(205,175,102,.35); }
.cet-gridband__media { max-width:360px; justify-self:center; width:100%; }
.cet-gridband__media img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border:1px solid rgba(205,175,102,.5); }
.cet-gridband__txt .cet-h2 { margin:6px 0 14px; }
.cet-gridband__txt p { max-width:56ch; }
.cet-gridband__steps { list-style:none; display:flex; flex-wrap:wrap; gap:8px 26px; margin:0 0 22px; padding:0; color:#E6E0D2; font-size:14px; }
.cet-gridband__steps .cet-roman { color:var(--cet-gold-light); margin-right:4px; }
@media (max-width:767px) {
  .cet-gridband { grid-template-columns:1fr; padding:22px 18px 26px; }
  .cet-gridband__media { max-width:none; }
  .cet-gridband__media img { aspect-ratio:16/10; }
  .cet-gridband .cet-btns .btn { flex:1 1 100%; }
}

/* ---------- CATÉGORIE : contenu utile sous la grille ---------- */
.cet-catx { margin-top:clamp(36px,5vw,64px); }
.cet-catx > .cet-section { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; }
.cet-picto-list { list-style:none; margin:0 0 clamp(40px,6vw,72px); padding:clamp(22px,3vw,32px) 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border-top:1px solid var(--cet-line); border-bottom:1px solid var(--cet-line); }
.cet-picto-list li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; padding:0 8px; }
.cet-picto-list li + li { border-left:1px solid var(--cet-line); }
.cet-picto-list svg { width:46px; height:46px; fill:none; stroke:var(--cet-navy); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:6px; }
.cet-picto-list svg circle[stroke-dasharray] { stroke:var(--cet-gold-deco); }
.cet-picto-list strong { font-family:var(--cet-serif); font-weight:450; font-size:18px; color:var(--cet-ink); }
.cet-picto-list span { font-size:13.5px; color:var(--cet-muted); line-height:1.45; max-width:24ch; }
@media (max-width:767px) {
  .cet-picto-list { grid-template-columns:1fr 1fr; gap:22px 10px; }
  .cet-picto-list li + li { border-left:0; }
  .cet-picto-list svg { width:40px; height:40px; }
  .cet-picto-list strong { font-size:16px; }
  .cet-picto-list span { font-size:12.5px; }
}
/* guide des hauteurs */
.cet-sizeguide { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(24px,5vw,72px); align-items:center; }
.cet-sizeguide__fig { margin:0; background:var(--cet-cave) radial-gradient(ellipse at 60% 70%, rgba(205,175,102,.18), transparent 70%); border:1px solid var(--cet-gold-deco); box-shadow:0 24px 50px -28px rgba(5,22,32,.6); padding:clamp(16px,3vw,32px); }
.cet-sizeguide__svg { display:block; width:100%; height:auto; overflow:visible; }
.cet-sizeguide__svg .rule path { stroke:var(--cet-gold-bright); stroke-width:1; fill:none; }
.cet-sizeguide__svg .lbl text { font:10px var(--cet-sans); fill:#A5B3BA; }
.cet-sizeguide__svg .floor { stroke:var(--cet-gold-bright); stroke-width:1; }
.cet-sizeguide__svg .lamp rect { fill:#FFF3D6; stroke:#F3DEA5; stroke-width:1; filter:drop-shadow(0 0 14px rgba(255,200,120,.7)); }
.cet-sizeguide__svg .lamp rect.tag { fill:none; stroke:var(--cet-gold-deco); filter:none; }
.cet-sizeguide__svg .cap text { font:italic 14px var(--cet-serif); fill:var(--cet-gold-sheen); }
.cet-sizeguide__list { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.cet-sizeguide__list li { padding:18px 0 14px 18px; border-top:1px solid var(--cet-line); border-left:2px solid transparent; }
.cet-sizeguide__list li:last-child { border-bottom:1px solid var(--cet-line); }
.cet-sizeguide__list li.is-current { border-left-color:var(--cet-gold-deco); background:rgba(252,251,247,.6); }
.cet-sizeguide__cm { font-family:var(--cet-serif); font-size:clamp(1.3rem,2vw,1.6rem); color:var(--cet-ink); margin:0 0 6px; }
.cet-sizeguide__cm em { font-style:normal; font-family:var(--cet-sans); font-size:14px; font-weight:600; color:var(--cet-navy); margin-left:10px; }
.cet-sizeguide__list p:not(.cet-sizeguide__cm) { margin:0 0 4px; font-size:15px; }
.cet-sizeguide__list strong { color:var(--cet-ink); font-weight:600; }
.cet-sizeguide__note { text-align:center; font-size:14px; color:var(--cet-muted); margin:clamp(20px,3vw,32px) 0 0; }
@media (max-width:767px) { .cet-sizeguide { grid-template-columns:1fr; } .cet-sizeguide__fig { max-width:420px; width:100%; margin:0 auto; } .cet-sizeguide__list li { padding-left:12px; } }
/* liens croisés */
.cet-cross { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:clamp(12px,2vw,24px); }
.cet-cross a { display:flex; flex-direction:column; height:100%; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none !important; color:var(--cet-ink) !important; padding-bottom:16px; transition:transform .25s, box-shadow .3s, border-color .3s; }
.cet-cross a:hover { transform:translateY(-4px); border-color:var(--cet-gold-deco); box-shadow:0 22px 44px -24px rgba(5,22,32,.45); }
.cet-cross__ph { display:block; aspect-ratio:1/1; overflow:hidden; margin-bottom:14px; }
.cet-cross__ph img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.cet-cross a:hover .cet-cross__ph img { transform:scale(1.05); }
.cet-cross .cet-mention { padding:0 16px; font-size:13px; }
.cet-cross__t { padding:0 16px; font-family:var(--cet-serif); font-size:clamp(19px,1.8vw,23px); line-height:1.2; }
.cet-cross__m { padding:4px 16px 0; font-size:13.5px; color:var(--cet-navy); font-weight:600; }
@media (max-width:599px) { .cet-cross { grid-template-columns:1fr 1fr; gap:10px; } .cet-cross .cet-mention, .cet-cross__t, .cet-cross__m { padding-left:10px; padding-right:10px; } .cet-cross__t { font-size:17px; } .cet-cross__m { font-size:12px; } .cet-cross .cet-mention { font-size:12px; letter-spacing:.08em; } }
/* mini-FAQ */
.cet-faq__list { max-width:860px; margin:0 auto; border-top:1px solid var(--cet-line); }
.cet-faq__item { border-bottom:1px solid var(--cet-line); }
.cet-faq__item summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:14px 4px; font-family:var(--cet-serif); font-size:clamp(17px,1.6vw,20px); color:var(--cet-ink); }
.cet-faq__item summary::-webkit-details-marker { display:none; }
.cet-faq__item summary::after { content:""; flex:0 0 10px; width:10px; height:10px; border-right:1.5px solid var(--cet-gold-deco); border-bottom:1.5px solid var(--cet-gold-deco); transform:rotate(45deg) translateY(-3px); transition:transform .25s; }
.cet-faq__item[open] summary::after { transform:rotate(-135deg) translateY(-3px); }
.cet-faq__item summary:hover { color:var(--cet-navy); }
.cet-faq__item summary:focus-visible { outline:2px solid var(--cet-navy); outline-offset:2px; }
.cet-faq__item > div { padding:0 4px 18px; max-width:72ch; }
.cet-faq__item > div p { margin:0; }
/* boutique de Beaune (bande cave) */
.cet-shopblock { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center; }
.cet-shopblock__media img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border:1px solid rgba(205,175,102,.45); box-shadow:0 30px 60px -30px rgba(0,0,0,.7); }
.cet-shopblock__txt .cet-h2 { margin:6px 0 16px; }
.cet-hours-tag { margin:22px 0 24px; padding:22px 24px !important; max-width:440px; background:rgba(5,22,32,.4); }
.cet-hours-tag .cet-mention { color:var(--cet-gold-light); margin:0 0 8px; }
.cet-hours-tag dl { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; margin:0 0 12px; font-size:15px; }
.cet-hours-tag dt { font-weight:600; color:#FBF6EE; } .cet-hours-tag dd { margin:0; color:#D3DADD; }
.cet-hours-tag address { margin:0; font-style:normal; font-size:14.5px; color:#D3DADD; }
@media (max-width:767px) { .cet-shopblock { grid-template-columns:1fr; } .cet-shopblock__media img { aspect-ratio:4/3; } .cet-hours-tag dl { grid-template-columns:1fr; gap:0; } .cet-hours-tag dd { margin-bottom:6px; } }
/* texte SEO replié */
.cet-catx__seo { padding:clamp(36px,5vw,56px) 0 clamp(8px,2vw,16px); }
.cet-seo { max-width:860px; margin:0 auto; border:1px solid var(--cet-line); background:var(--cet-white); }
.cet-seo summary { list-style:none; cursor:pointer; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:18px 56px 18px 22px; min-height:56px; position:relative; }
.cet-seo summary::-webkit-details-marker { display:none; }
.cet-seo summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font:300 28px/1 var(--cet-serif); color:var(--cet-gold); }
.cet-seo[open] summary::after { content:"–"; }
.cet-seo__t { font-family:var(--cet-serif); font-size:clamp(18px,1.8vw,22px); color:var(--cet-ink); }
.cet-seo__body { padding:0 22px 22px; font-size:15px; color:var(--cet-text) !important; }
.cet-seo__body h2, .cet-seo__body h3 { font-size:clamp(1.15rem,1.8vw,1.4rem) !important; margin:1.2em 0 .5em; }

/* ---------- FICHE PRODUIT (phase 2) ---------- */
@media (min-width:992px) { body#product #wrapper { padding-top:44px; } }
/* galerie : halo « lampe allumée » + cadre d'étiquette */
.cet-product .product-cover-container { box-shadow:0 30px 60px -30px rgba(5,22,32,.45); outline:1px solid var(--cet-gold-deco); outline-offset:8px; }
@media (max-width:599px) { .cet-product .product-cover-container { outline-offset:5px; } }
.cet-product__media .images-container { isolation:isolate; }
.cet-product__media .images-container::before { content:""; position:absolute; inset:-6% -8% 20%; z-index:-1; pointer-events:none; background:radial-gradient(closest-side, rgba(255,214,150,.45), rgba(205,175,102,.12) 60%, transparent); }
/* titre + prix en cartouche */
.cet-product__title { position:relative; padding-bottom:18px; margin-bottom:18px !important; }
.cet-product__title::after { content:""; position:absolute; left:0; bottom:0; width:88px; height:5px; border-top:1px solid var(--cet-gold-deco); border-bottom:1px solid var(--cet-gold-deco); }
.cet-product__title .cet-pn-app { font-size:clamp(2.3rem,4.4vw,3.6rem); }
.cet-product .current-price-value { color:var(--cet-navy); }
/* réassurance à pictos */
.cet-reassure-picto { display:grid; grid-template-columns:1fr; gap:8px; list-style:none; padding:0; margin:22px 0; }
.cet-reassure-picto li { display:grid !important; grid-template-columns:34px 1fr; column-gap:14px; align-items:center; padding:12px 14px !important; background:var(--cet-white); border:1px solid var(--cet-line) !important; }
.cet-reassure-picto li::before { display:none !important; }
.cet-reassure-picto svg { grid-row:1 / span 2; width:34px; height:34px; fill:none; stroke:var(--cet-navy); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.cet-reassure-picto svg circle[stroke-dasharray] { stroke:var(--cet-gold-deco); }
.cet-reassure-picto strong { font-size:15px !important; line-height:1.25; }
.cet-reassure-picto span { font-size:12.5px !important; line-height:1.45; }

/* sections sous la fiche */
.cet-pextra > .cet-section { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; }
.cet-appblock { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,6vw,96px); align-items:center; }
.cet-appblock__media { max-width:440px; width:100%; justify-self:center; }
.cet-appblock__media img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border:1px solid rgba(205,175,102,.5); box-shadow:0 34px 70px -30px rgba(0,0,0,.8); }
.cet-appblock__name { font-size:clamp(2.2rem,5vw,3.8rem) !important; font-style:italic; font-weight:380 !important; color:var(--cet-gold-sheen) !important; margin:4px 0 14px !important; }
.cet-appblock .cet-fleuron { margin:0 0 20px; }
.cet-appblock__body p { font-size:clamp(16px,1.35vw,18px); line-height:1.7; color:#DCE3E6; max-width:58ch; }
.cet-appblock__body p:first-child::first-letter { float:left; font-family:var(--cet-serif); font-size:3.4em; line-height:.85; padding:4px 6px 0 0; color:var(--cet-gold-bright); }
@media (max-width:767px) { .cet-appblock { grid-template-columns:1fr; } .cet-appblock__media { max-width:320px; } }

.cet-dims { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(24px,5vw,72px); align-items:start; }
.cet-dims__spec { background:var(--cet-white); }
.cet-dims__spec ul { list-style:none; margin:10px 0 0; padding:0; }
.cet-dims__spec li { padding:11px 0 11px 22px; border-bottom:1px solid var(--cet-line); position:relative; font-size:15.5px; color:var(--cet-ink); }
.cet-dims__spec li:last-child { border-bottom:0; }
.cet-dims__spec li::before { content:""; position:absolute; left:2px; top:19px; width:7px; height:7px; background:var(--cet-gold-deco); transform:rotate(45deg); }
.cet-dims__fig { margin:18px 0 0; padding:14px; background:var(--cet-cave) radial-gradient(ellipse at 35% 75%, rgba(205,175,102,.2), transparent 70%); border:1px solid var(--cet-gold-deco); }
.cet-dims__svg { display:block; width:100%; max-width:360px; height:auto; margin:0 auto; overflow:visible; }
.cet-dims__svg .floor { stroke:var(--cet-gold-bright); stroke-width:1; }
.cet-dims__svg .lamp rect { fill:#FFF3D6; stroke:#F3DEA5; filter:drop-shadow(0 0 12px rgba(255,200,120,.7)); }
.cet-dims__svg .lamp rect.tag { fill:none; stroke:var(--cet-gold-deco); filter:none; }
.cet-dims__svg .bottle path { fill:#2A4A58; stroke:#A5B3BA; stroke-width:1; }
.cet-dims__svg .cap text { font:italic 13px var(--cet-serif); fill:var(--cet-gold-sheen); }
.cet-dims__h { font-family:var(--cet-serif); font-weight:400; font-size:clamp(1.4rem,2.2vw,1.8rem); color:var(--cet-ink); margin:0 0 14px; }
.cet-dims__body p { font-size:16px; line-height:1.7; }
@media (max-width:767px) { .cet-dims { grid-template-columns:1fr; } }

.cet-duo { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(16px,3vw,32px); align-items:stretch; }
.cet-duo__card { background:var(--cet-white); border:1px solid var(--cet-line); position:relative; }
.cet-duo__gift { padding:clamp(26px,4vw,48px); outline:1px solid var(--cet-gold-deco); outline-offset:-8px; }
.cet-duo__ico { width:52px; height:52px; fill:none; stroke:var(--cet-gold-deco); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:10px; }
.cet-duo .cet-h2 { font-size:clamp(1.6rem,2.6vw,2.1rem); margin:6px 0 14px; }
.cet-duo__shop { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); overflow:hidden; }
.cet-duo__ph img { display:block; width:100%; height:100%; object-fit:cover; min-height:240px; }
.cet-duo__body { padding:clamp(22px,3vw,36px); }
.cet-duo__body > p { font-size:15px; }
.cet-duo__hours { display:grid; grid-template-columns:auto 1fr; gap:2px 14px; font-size:14px; margin:0 0 6px; }
.cet-duo__hours dt { font-weight:600; color:var(--cet-ink); } .cet-duo__hours dd { margin:0; }
.cet-duo__links { display:flex; flex-wrap:wrap; gap:0 22px; margin:0; }
@media (max-width:991px) { .cet-duo { grid-template-columns:1fr; } }
@media (max-width:599px) { .cet-duo__shop { grid-template-columns:1fr; } .cet-duo__ph img { aspect-ratio:16/10; min-height:0; } .cet-duo__hours { grid-template-columns:1fr; } .cet-duo .cet-btns .btn { flex:1 1 100%; } }

/* « Vous aimerez aussi » en bande crème */
#product .product-accessories, #product section.featured-products, #product .categoryproducts, #product .product-categoryproducts { position:relative; }

/* ---------- CMS (phase 2) ---------- */
/* bandeau titre : photo de cave pour les pages Conseils (7-10) */
body#cms.cms-id-7 .page-title-wrapper, body#cms.cms-id-8 .page-title-wrapper, body#cms.cms-id-9 .page-title-wrapper, body#cms.cms-id-10 .page-title-wrapper {
  position:relative; isolation:isolate; overflow:hidden; background:var(--cet-cave) !important; padding:clamp(64px,9vw,120px) 0 clamp(48px,6vw,80px) !important;
}
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper::before { content:""; position:absolute; inset:0; z-index:-2; background:center 55%/cover no-repeat; }
body#cms.cms-id-7 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/lampes-mur-1600.webp); }
body#cms.cms-id-8 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/hero-lampes-1920.webp); }
body#cms.cms-id-9 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/e/vitrine-nuit-1200.webp); background-position:center 40%; }
body#cms.cms-id-10 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/boutique-beaune-1200.webp); }
@media (max-width:767px) {
  body#cms.cms-id-7 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/lampes-mur-800.webp); }
  body#cms.cms-id-8 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/hero-lampes-800.webp); }
  body#cms.cms-id-9 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/e/vitrine-nuit-700.webp); }
  body#cms.cms-id-10 .page-title-wrapper::before { background-image:url(/modules/cetrefonte/views/img/boutique-beaune-700.webp); }
}
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse 60% 70% at 50% 50%, rgba(5,22,32,.7), rgba(5,22,32,.4) 75%), linear-gradient(180deg, rgba(5,22,32,.3), rgba(5,22,32,.85)); }
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .page-header h1 { color:#FBF6EE !important; text-shadow:0 2px 24px rgba(0,0,0,.5); max-width:22ch; margin-left:auto !important; margin-right:auto !important; }
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .page-header::before { content:"Conseils"; display:block; margin:0 0 12px; font:600 12px/1 var(--cet-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--cet-gold-light); }
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .page-header::after { border-color:var(--cet-gold-bright) !important; }
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .breadcrumb, body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .breadcrumb span { color:#EDE7DA !important; }
body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .breadcrumb a, body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .page-title-wrapper .breadcrumb a span { color:var(--cet-gold-light) !important; }
/* bandeau titre orné (pages légales, personnalisation) : grain + médaillon + fleuron */
body#cms:is(.cms-id-1,.cms-id-2,.cms-id-3,.cms-id-6) .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; border-bottom:1px solid var(--cet-line); padding-top:clamp(64px,8vw,104px) !important; }
body#cms:is(.cms-id-1,.cms-id-2,.cms-id-3) .page-title-wrapper .page-header::before { content:""; display:block; width:64px; height:64px; margin:0 auto 14px; background:url(/modules/cetrefonte/views/img/logo/logo-160.webp) center/contain no-repeat; opacity:.9; }
body#cms:is(.cms-id-1,.cms-id-2,.cms-id-3,.cms-id-6) .page-title-wrapper .page-header::after { width:180px !important; height:22px !important; border:0 !important; background:var(--cet-gold-deco); -webkit-mask:var(--cet-fleuron-img) center/66px 22px no-repeat, linear-gradient(#000,#000) left center/52px 1px no-repeat, linear-gradient(#000,#000) right center/52px 1px no-repeat; mask:var(--cet-fleuron-img) center/66px 22px no-repeat, linear-gradient(#000,#000) left center/52px 1px no-repeat, linear-gradient(#000,#000) right center/52px 1px no-repeat; }
body#cms:is(.cms-id-1,.cms-id-2,.cms-id-3,.cms-id-6,.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) #wrapper { padding-top:0; }
body#cms #content-wrapper { padding-top:clamp(36px,5vw,64px); }

/* pages Conseils : chapô, intertitres, listes, citations */
.cet-cms .cet-cms__body > p.lead:first-child, .cet-cms .cet-cms__body p.lead { font-family:var(--cet-serif) !important; font-size:clamp(19px,1.9vw,23px) !important; line-height:1.55 !important; color:var(--cet-ink) !important; font-weight:350; margin-bottom:1.4em; }
.cet-cms .cet-cms__body p.lead::first-letter { float:left; font-size:3.3em; line-height:.82; padding:6px 10px 0 0; color:var(--cet-gold-deco); font-family:var(--cet-serif); }
.cet-cms--toc .cet-cms__sec h2, body#cms:is(.cms-id-7,.cms-id-8,.cms-id-9,.cms-id-10) .cet-cms__sec h2 { font-size:clamp(1.6rem,2.8vw,2.2rem) !important; }
.cet-cms .cet-cms__body h3:not(.cet-cms-steps h3):not(.cet-style h3) { font-family:var(--cet-serif) !important; font-weight:450 !important; font-size:clamp(1.15rem,1.7vw,1.35rem) !important; color:var(--cet-ink) !important; margin:1.6em 0 .45em !important; padding-left:18px; position:relative; }
.cet-cms .cet-cms__body h3:not(.cet-cms-steps h3):not(.cet-style h3)::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; background:var(--cet-gold-deco); transform:rotate(45deg); }
.cet-cms .cet-cms__body ul { list-style:none !important; padding-left:0 !important; }
.cet-cms .cet-cms__body ul > li { position:relative; padding-left:1.4em !important; margin-bottom:.45em; }
.cet-cms .cet-cms__body ul > li::before { content:"✦"; position:absolute; left:0; top:.05em; color:var(--cet-gold-deco); font-size:.8em; }
.cet-cms .cet-cms__body a.btn { margin-top:.6rem; }

/* bandes pleine largeur */
.cet-cms .cet-cms-x.cet-section, .cet-cms6-hero, .cet-cms6-contact { margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
.cet-more { margin:clamp(56px,8vw,104px) 0 0; }
.cet-more .cet-cross__t { padding-bottom:4px; }
.cet-cms-shop { margin-top:clamp(56px,8vw,104px) !important; margin-bottom:calc(-1 * clamp(56px,8vw,112px)) !important; overflow:hidden; }

/* CMS 6 : hero en bande de nuit */
.cet-cms6-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--cet-cave) var(--cet-grain-img-light); color:#D3DADD; padding:clamp(40px,6vw,88px) max(var(--cet-gutter), calc(50vw - 600px)); margin-top:calc(-1 * clamp(36px,5vw,64px)) !important; }
.cet-cms6-hero::after { content:""; position:absolute; right:-80px; bottom:-60px; width:360px; height:620px; z-index:-1; background:currentColor; color:var(--cet-gold-bright); opacity:.12; -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; transform:scaleX(-1); pointer-events:none; }
.cet-cms6-hero__media { isolation:isolate; }
.cet-cms6-hero__media::before { content:""; position:absolute; inset:-10% -14%; z-index:-1; background:radial-gradient(closest-side, rgba(255,196,120,.38), rgba(255,170,90,.1) 60%, transparent); }
.cet-cms6-hero__media::after { border-color:rgba(243,222,165,.7) !important; outline-color:rgba(243,222,165,.7) !important; }
.cet-cms6-hero__media img { box-shadow:0 40px 80px -30px rgba(0,0,0,.8); }
.cet-cms6-hero .cet-eyebrow { color:var(--cet-gold-light); }
.cet-cms6-hero__title { color:#FBF6EE !important; font-size:clamp(2.4rem,5.2vw,4.4rem) !important; }
.cet-cms6-hero__title .cet-italic { color:var(--cet-gold-sheen); }
.cet-cms6-hero__lead p.lead { color:#DCE3E6 !important; }
.cet-cms6-hero .btn-primary { background:var(--cet-gold-bright) !important; border-color:var(--cet-gold-bright) !important; color:var(--cet-cave) !important; }
.cet-cms6-hero .btn-primary:hover { background:var(--cet-gold-sheen) !important; border-color:var(--cet-gold-sheen) !important; }
.cet-cms6-hero .btn-secondary { background:transparent !important; border-color:rgba(243,238,223,.7) !important; color:#F3EEDF !important; }
.cet-cms6-hero .btn-secondary:hover { border-color:#fff !important; color:#fff !important; }
.cet-cms6-hero__seal { position:absolute; top:clamp(16px,3vw,32px); right:clamp(16px,3vw,40px); width:clamp(64px,8vw,96px); height:auto; opacity:.95; filter:drop-shadow(0 6px 18px rgba(0,0,0,.5)); }
@media (max-width:899px) { .cet-cms6-hero__media { margin:0 !important; } .cet-cms6-hero__seal { display:none; } }
/* étapes illustrées */
.cet-cms--sale .cet-cms__sec:first-child { background:var(--cet-cream) var(--cet-grain-img) !important; }
.cet-cms-steps > li { transition:transform .3s, box-shadow .3s; }
.cet-cms-steps > li:hover { transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(5,22,32,.5); }
.cet-cms-steps > li::before { color:var(--cet-navy) !important; border-color:var(--cet-gold-deco) !important; outline-color:var(--cet-gold-deco) !important; }
.cet-step-ill { display:block; width:100%; height:120px; margin:-6px 0 16px; background:var(--cet-cave) radial-gradient(ellipse at 50% 80%, rgba(205,175,102,.25), transparent 70%); border:1px solid var(--cet-gold-deco); }
.cet-step-ill svg { display:block; width:100%; height:100%; }
.cet-step-ill .glow { fill:#FFF3D6; stroke:#F3DEA5; filter:drop-shadow(0 0 8px rgba(255,200,120,.75)); }
.cet-step-ill .line { fill:none; stroke:var(--cet-gold-bright); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.cet-step-ill .tag { fill:none; stroke:var(--cet-gold-deco); stroke-width:1; }
.cet-step-ill text { font:italic 11px var(--cet-serif); fill:var(--cet-gold-sheen); }
/* deux styles */
.cet-cms6-styles { max-width:1040px; margin:clamp(56px,8vw,104px) auto 0; }
.cet-styles { display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,36px); }
.cet-style { background:var(--cet-white); text-align:center; }
.cet-style__svg { width:150px; height:175px; stroke-width:1.6; margin:0 auto 10px; display:block; fill:#FFF8E6; stroke:var(--cet-navy); stroke-width:1.3; filter:drop-shadow(0 0 14px rgba(205,175,102,.45)); }
.cet-style__svg .tag { fill:none; stroke:var(--cet-gold-deco); }
.cet-style h3 { font-size:clamp(1.4rem,2.2vw,1.8rem) !important; margin:4px 0 10px !important; }
.cet-style p:not(.cet-mention) { max-width:40ch; margin:0 auto 10px; font-size:15.5px; }
.cet-styles__note { text-align:center; margin:22px auto 0; max-width:60ch; }
@media (max-width:767px) { .cet-styles { grid-template-columns:1fr; } }
/* mosaïque photo */
.cet-mosaic { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:auto auto; gap:clamp(8px,1.4vw,16px); max-width:1120px; margin:clamp(56px,8vw,104px) auto 0; }
.cet-mosaic figure { margin:0; overflow:hidden; position:relative; }
.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__a { grid-row:1 / span 2; aspect-ratio:4/3.2; }
.cet-mosaic__b, .cet-mosaic__c { min-height:0; }
.cet-mosaic__cap { grid-column:1 / -1; text-align:center; font-family:var(--cet-serif); font-style:italic; color:var(--cet-muted); font-size:15px; padding-top:6px; }
.cet-mosaic__cap .cet-mention { font-style:normal; margin-right:8px; }
@media (max-width:599px) { .cet-mosaic { grid-template-columns:1fr 1fr; } .cet-mosaic__a { grid-column:1 / -1; grid-row:auto; aspect-ratio:4/3; } .cet-mosaic__b, .cet-mosaic__c { aspect-ratio:1/1; } }
/* encart contact final en bande bleu nuit */
.cet-cms6-contact { max-width:none !important; background:var(--cet-navy) var(--cet-grain-img-light) !important; border:0 !important; padding:clamp(48px,7vw,96px) max(var(--cet-gutter), calc(50vw - 430px)) !important; margin-bottom:calc(-1 * clamp(56px,8vw,112px)) !important; color:#DCE3E6; outline:0 !important; box-shadow:none !important; }
.cet-cms6-contact::before, .cet-cms6-contact::after { display:none !important; }
.cet-cms6-contact .cet-eyebrow { color:var(--cet-gold-light); }
.cet-cms6-contact__title { color:#FBF6EE !important; font-size:clamp(1.8rem,3.4vw,2.8rem) !important; }
.cet-cms6-contact p:not(.cet-eyebrow):not(.cet-cms6-contact__title) { color:#DCE3E6 !important; }
.cet-cms6-contact .btn-primary { background:var(--cet-gold-bright) !important; border-color:var(--cet-gold-bright) !important; color:var(--cet-cave) !important; }
.cet-cms6-contact .btn-secondary { background:transparent !important; border-color:rgba(243,238,223,.7) !important; color:#F3EEDF !important; }
.cet-cms6-contact .btn-secondary:hover { border-color:#fff !important; color:#fff !important; }
.cet-cms--toc > .cet-cms-x { grid-column:1 / -1; }
.cet-cms--toc > .cet-more { width:100%; max-width:1120px; justify-self:center; }
.cet-cms6-hero { margin-bottom:0 !important; }
.cet-cms--sale .cet-cms__sec:first-child { margin-top:0 !important; }
.cet-style__svg .tag { stroke-width:1.6; }
.cet-cms .cet-cross, .cet-cms .cet-cross li { list-style:none !important; padding-left:0 !important; margin-left:0; }
.cet-cms .cet-cross li::before, .cet-cms .cet-cross li::marker { content:none !important; display:none !important; }
/* page catégorie CMS « Conseils » : cartes illustrées */
.cet-cmscat { max-width:1120px; margin:0 auto clamp(56px,8vw,104px); }
.cet-cmscat__intro { max-width:62ch; margin:0 auto clamp(28px,4vw,48px); text-align:center; font-family:var(--cet-serif); font-size:clamp(18px,1.8vw,21px); color:var(--cet-ink); }
.cet-cmscat__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(16px,2.4vw,28px); }
.cet-cmscat__list a { display:flex; flex-direction:column; height:100%; background:var(--cet-white); border:1px solid var(--cet-line); text-decoration:none !important; color:var(--cet-text) !important; transition:transform .25s, box-shadow .3s, border-color .3s; }
.cet-cmscat__list a:hover { transform:translateY(-4px); border-color:var(--cet-gold-deco); box-shadow:0 22px 44px -24px rgba(5,22,32,.45); }
.cet-cmscat__ph { display:block; aspect-ratio:3/2; overflow:hidden; background:var(--cet-cave); }
.cet-cmscat__ph img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.cet-cmscat__list a:hover .cet-cmscat__ph img { transform:scale(1.05); }
.cet-cmscat__body { display:flex; flex-direction:column; gap:6px; padding:20px 22px 12px; flex:1; }
.cet-cmscat__t { font-family:var(--cet-serif); font-size:clamp(1.25rem,1.9vw,1.5rem); line-height:1.2; color:var(--cet-ink); }
.cet-cmscat__d { font-size:14.5px; line-height:1.55; color:var(--cet-muted); flex:1; }
.cet-cmscat .cet-link-arrow { align-self:flex-start; }
#content.page-content:has(.cet-cmscat) { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.cet-cmscat__list { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.cet-mosaic img { position:absolute; inset:0; }
.cet-mosaic__cap { position:static !important; margin:0; }
@media (max-width:599px) { .cet-mosaic__b { grid-column:1 !important; grid-row:2 !important; } .cet-mosaic__c { grid-column:2 !important; grid-row:2 !important; } }

/* ---------- 404 en « cave » (phase 2) ---------- */
.cet-404.cet-404--cave { max-width:none !important; margin:0 calc(50% - 50vw) !important; padding:clamp(40px,6vw,88px) max(var(--cet-gutter), calc(50vw - 600px)) !important; background-color:var(--cet-cave) !important; overflow:hidden; text-align:left; }
body#pagenotfound #wrapper, body#pagenotfound #content-wrapper { padding-bottom:0 !important; }
body#pagenotfound .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; padding-top:clamp(64px,8vw,104px) !important; }
.cet-404__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,5vw,72px); align-items:center; }
.cet-404__media img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border:1px solid rgba(205,175,102,.45); box-shadow:0 34px 70px -30px rgba(0,0,0,.8); }
.cet-404__label { display:inline-flex; flex-direction:column; align-items:center; gap:2px; padding:18px 36px 16px !important; margin:0 0 22px; text-align:center; background:rgba(5,22,32,.5); }
.cet-404__label .cet-mention { color:var(--cet-gold-light); font-size:13px; }
.cet-404--cave .cet-404__code { color:var(--cet-gold-sheen) !important; font-style:italic; font-size:clamp(4.5rem,11vw,7.5rem) !important; margin:0 !important; line-height:1; text-shadow:0 0 40px rgba(255,200,120,.35); }
.cet-404--cave .cet-404__txt { color:#DCE3E6 !important; margin:0 0 24px; max-width:52ch; }
.cet-404--cave .cet-404__txt strong { display:block; font-family:var(--cet-serif); font-weight:400; font-size:clamp(1.5rem,2.6vw,2rem); color:#FBF6EE; margin-bottom:8px; }
.cet-404--cave .cet-404__search { margin:0 0 20px; max-width:none; }
.cet-404--cave .cet-404__links a { background:rgba(252,251,247,.06); border-color:rgba(205,175,102,.4); }
.cet-404--cave .cet-404__links a:hover { border-color:var(--cet-gold-bright); background:rgba(252,251,247,.1); }
.cet-404--cave .cet-404__k { color:var(--cet-gold-light); }
.cet-404--cave .cet-404__t { color:#FBF6EE; font-size:18px; }
.cet-404__home { margin:0; }
@media (max-width:767px) { .cet-404__grid { grid-template-columns:1fr; } .cet-404__media { max-width:360px; } .cet-404__media img { aspect-ratio:4/3; } }

/* ---------- Magasin (phase 2) ---------- */
body#stores .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; padding-top:clamp(64px,8vw,104px) !important; }
.cet-store__media { position:relative; isolation:isolate; }
.cet-store__media img { box-shadow:0 34px 70px -34px rgba(5,22,32,.6); }
.cet-store__card { box-shadow:0 30px 60px -30px rgba(5,22,32,.45); }
.cet-storex { max-width:1180px; margin:0 auto clamp(56px,8vw,104px); }
.cet-storegal { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:clamp(8px,1.4vw,16px); }
.cet-storegal figure { margin:0; position:relative; overflow:hidden; min-height:180px; }
.cet-storegal img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.cet-storegal figure:hover img { transform:scale(1.04); }
.cet-storegal figcaption { position:absolute; left:12px; bottom:12px; padding:5px 10px; background:rgba(5,22,32,.78); color:var(--cet-gold-sheen); font:italic 14px var(--cet-serif); }
.cet-storegal__a { grid-row:1 / span 2; aspect-ratio:1/1; }
.cet-storegal__b { grid-row:auto; }
@media (max-width:767px) { .cet-storegal { grid-template-columns:1fr 1fr; grid-template-rows:auto; } .cet-storegal__a { grid-column:1 / -1; grid-row:auto; aspect-ratio:4/3; } .cet-storegal__b { grid-row:auto; aspect-ratio:3/4; } .cet-storegal__c, .cet-storegal__d, .cet-storegal__e { aspect-ratio:1/1; min-height:0; } .cet-storegal__e { grid-column:1 / -1; aspect-ratio:16/9; } }
.cet-storefind { list-style:none; margin:clamp(28px,4vw,48px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,2vw,24px); }
.cet-storefind li { display:flex; flex-direction:column; gap:4px; padding:20px 18px; border-top:1px solid var(--cet-gold-deco); }
.cet-storefind .cet-roman { font-size:20px; }
.cet-storefind strong { font-family:var(--cet-serif); font-weight:450; font-size:19px; color:var(--cet-ink); }
.cet-storefind li > span:last-child { font-size:14.5px; color:var(--cet-muted); }
@media (max-width:767px) { .cet-storefind { grid-template-columns:1fr 1fr; } }
.cet-storenight { margin:0 calc(50% - 50vw) calc(-1 * clamp(56px,8vw,112px)); overflow:hidden; }
body#stores #wrapper { overflow-x:clip; }

/* ---------- Contact (phase 2) ---------- */
body#contact .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; padding-top:clamp(64px,8vw,104px) !important; }
.cet-contact__card { overflow:hidden; }
.cet-contact__card::after { content:""; display:block; height:170px; margin:22px calc(-1 * clamp(22px,3vw,32px)) calc(-1 * clamp(22px,3vw,32px)); background:url(/modules/cetrefonte/views/img/boutique-beaune-700.webp) center 55%/cover no-repeat; border-top:1px solid var(--cet-gold-deco); }
.cet-contact__form { background:var(--cet-white) var(--cet-grain-img); border:1px solid var(--cet-line); padding:clamp(22px,3.5vw,40px) !important; outline:1px solid var(--cet-gold-deco); outline-offset:-8px; }

/* ---------- Connexion / inscription : visuel latéral (phase 2) ---------- */
@media (min-width:992px) {
  body#authentication #content, body#registration #content, body#password #content { position:relative; }
  body#authentication #main, body#registration #main { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(32px,4vw,64px); align-items:start; max-width:1120px; margin:0 auto; }
  body#authentication #main::before, body#registration #main::before { content:""; grid-row:1 / span 3; align-self:stretch; min-height:520px; background:linear-gradient(180deg, rgba(5,22,32,.05) 40%, rgba(5,22,32,.75)), url(/modules/cetrefonte/views/img/lampes-etiquettes-900.webp) center/cover no-repeat; border:1px solid var(--cet-gold-deco); outline:1px solid var(--cet-gold-deco); outline-offset:-10px; box-shadow:0 30px 60px -30px rgba(5,22,32,.5); }
  body#authentication #main > *, body#registration #main > * { grid-column:2; min-width:0; }
  body#authentication #main .page-header, body#registration #main .page-header { display:none; }
}
body#authentication .page-title-wrapper, body#registration .page-title-wrapper, body#password .page-title-wrapper, body#my-account .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; padding-top:clamp(64px,8vw,104px) !important; }

/* ---------- Panier & tunnel (phase 2 : plus chaleureux, toujours sobre ; rien dans les iframes/boutons de paiement) ---------- */
#cart .cart-summary, #checkout #js-checkout-summary, #checkout .cart-summary { background-image:var(--cet-grain-img) !important; outline:1px solid var(--cet-gold-deco); outline-offset:-7px; }
#cart .cart-grid-body .card.cart-container { background-image:var(--cet-grain-img) !important; }
.cet-cart-reassure--picto { list-style:none; padding:0 !important; }
.cet-cart-reassure--picto li { display:grid !important; grid-template-columns:28px 1fr; gap:12px; align-items:start; padding:10px 0 !important; }
.cet-cart-reassure--picto li::before { display:none !important; content:none !important; }
.cet-cart-reassure--picto svg { width:28px; height:28px; fill:none; stroke:var(--cet-navy); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.cet-cart-note { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); margin:clamp(24px,3vw,36px) 0 0; background:var(--cet-cave) var(--cet-grain-img-light); color:#DCE3E6; border:1px solid var(--cet-gold-deco); overflow:hidden; }
.cet-cart-note__ph img { display:block; width:100%; height:100%; object-fit:cover; min-height:200px; }
.cet-cart-note__txt { padding:clamp(20px,3vw,32px); }
.cet-cart-note .cet-eyebrow { color:var(--cet-gold-light); margin-bottom:6px; }
.cet-cart-note__t { font-family:var(--cet-serif); font-size:clamp(1.4rem,2.2vw,1.8rem); color:#FBF6EE; line-height:1.2; margin:0 0 10px; }
.cet-cart-note__t .cet-italic { color:var(--cet-gold-sheen); }
.cet-cart-note__txt p { font-size:14.5px; }
.cet-cart-note__q { margin:0; }
.cet-cart-note a { color:var(--cet-gold-sheen) !important; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:599px) { .cet-cart-note { grid-template-columns:1fr; } .cet-cart-note__ph img { aspect-ratio:16/9; min-height:0; } }
body#checkout .page-title-wrapper, body#cart .page-title-wrapper { background:var(--cet-cream) var(--cet-grain-img) !important; }
#cart .cet-cart-note .cet-eyebrow { font-size:12px !important; letter-spacing:.18em !important; line-height:1.4 !important; }
#cart .cet-cart-note .cet-cart-note__t { font-size:clamp(1.4rem,2.2vw,1.8rem) !important; font-family:var(--cet-serif) !important; color:#FBF6EE !important; line-height:1.2 !important; text-transform:none !important; letter-spacing:0 !important; }
#cart .cet-cart-note__txt p:not(.cet-eyebrow):not(.cet-cart-note__t) { color:#DCE3E6 !important; font-size:14.5px !important; }
.cet-cart-note a[href^="tel"], .cet-cart-reassure a[href^="tel"] { white-space:nowrap; }
