/* =========================================================
   rochén — Design v1.0.0
   Couche globale : typographie du logo, composants harmonisés,
   animations douces. Chargée après tous les widgets rochén.
   ========================================================= */

:root {
    --rd-font:       'Arimo', Arial, 'Helvetica Neue', Helvetica, sans-serif;   /* police du logo */
    --rd-creme:      #F3EADC;
    --rd-creme-clair:#FBF7EE;
    --rd-sable:      #EDE4D4;
    --rd-encre:      #1E1B16;
    --rd-encre-2:    #2E2A24;
    --rd-texte:      #4A3D2E;
    --rd-brun:       #6E4A2E;
    --rd-or:         #C99A4A;
    --rd-rouge:      #B5352B;          /* liseré */
    --rd-trait:      rgba(30, 27, 22, .09);
    --rd-ombre:      0 22px 48px -24px rgba(30, 27, 22, .38);
    --rd-rayon:      20px;
    --rd-rayon-s:    12px;
    --rd-ease:       cubic-bezier(.22, .61, .25, 1);
    --rd-ease-out:   cubic-bezier(.16, 1, .3, 1);
}

/* ─────────────────────────────────────────
   1. Base
   ───────────────────────────────────────── */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    background-color: var(--rd-creme);
    color: var(--rd-encre);
    font-family: var(--rd-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
::selection { background: var(--rd-encre); color: var(--rd-creme); }

/* Une seule famille partout (les icônes sont épargnées) */
body :where(h1, h2, h3, h4, h5, h6, p, a, span, li, dt, dd, label, button, input, select, textarea, strong, em, small, blockquote, figcaption, td, th, div):not([class*="icon"]):not([class*="dashicons"]):not([class^="fa"]):not([class*=" fa-"]):not([class*="eicon"]) {
    font-family: var(--rd-font) !important;
}

/* ─────────────────────────────────────────
   2. Titres — fins, serrés, sans serif
   ───────────────────────────────────────── */
.rsw-title, .rcn-title, .rochen-title, .rc-title, .rb-collection-titre,
.rfp-titre, .rh-hero__titre, .rh-equipe__titre, .rh-chiffres__titre, .rh-valeurs__titre,
.rdv-titre, .rc-hero h1, .rc-info-col h2, .rc-form-card h3, .rfp-similaires-titre {
    font-family: var(--rd-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.06 !important;
    color: var(--rd-encre);
    text-wrap: balance;
}
/* Grands titres de section */
.rsw-title, .rcn-title, .rc-title, .rh-equipe__titre, .rh-chiffres__titre, .rh-hero__titre, .rc-hero h1 {
    font-size: clamp(34px, 4.4vw, 60px) !important;
}
.rochen-title { font-size: clamp(32px, 3.8vw, 52px) !important; color: var(--rd-creme) !important; }
.rc-hero h1 { color: var(--rd-creme) !important; }
.rdv-titre, .rc-info-col h2, .rfp-similaires-titre { font-size: clamp(26px, 2.6vw, 36px) !important; }
.rc-form-card h3 { font-size: 22px !important; }

/* Paragraphes d'introduction : plus aérés */
.rsw-section p, .rcn-about p, .rc-section-collection p, .rochen-hero p, .rh-hero p, .rc-hero p {
    line-height: 1.65;
}

/* Sur-titres « —— À PROPOS —— » : petites capitales espacées */
.rsw-section [class*="eyebrow"], .rcn-about [class*="eyebrow"], .rc-section-collection [class*="eyebrow"],
.rochen-hero [class*="eyebrow"], .rh-hero [class*="eyebrow"], .rc-eyebrow, .rh-valeurs [class*="eyebrow"],
.rh-equipe [class*="eyebrow"], .rh-chiffres [class*="eyebrow"], .rh-origines [class*="eyebrow"] {
    font-size: 11.5px !important;
    font-weight: 500 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

/* ─────────────────────────────────────────
   3. Fonds de sections homogènes
   ───────────────────────────────────────── */
.rsw-section, .rcn-about, .rc-section-collection, .rb-wrap, .rfp-wrap,
.rdv-wrap, .rc-contact-section, .rc-map-section,
/* .rh-chiffres reste une carte sombre (voir §12) */
.rh-origines, .rh-valeurs, .rh-equipe {
    background-color: var(--rd-creme) !important;
}

/* ─────────────────────────────────────────
   4. Boutons — une seule famille : pilule encre
   ───────────────────────────────────────── */
.rochen-btn-preorder, .rc-cta, .rdv-btn-submit, .rc-submit-btn, .rh-btn,
.rfp-wrap .rfp-btn-wa, .rfp-popup .rfp-btn-wa, .rfp-wrap .rfp-btn-devis, .rfp-barre-btn, .rdv-btn-wa-boutique {
    border-radius: 999px !important;
    font-family: var(--rd-font) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    transition: background-color .35s var(--rd-ease), color .35s var(--rd-ease), border-color .35s var(--rd-ease),
                transform .35s var(--rd-ease), box-shadow .35s var(--rd-ease) !important;
}
.rochen-btn-preorder, .rc-cta, .rdv-btn-submit, .rc-submit-btn, .rh-btn, .rfp-barre-btn {
    background: var(--rd-encre) !important;
    color: var(--rd-creme) !important;
    border: 1px solid var(--rd-encre) !important;
    padding: 14px 26px !important;
}
.rochen-btn-preorder:hover, .rc-cta:hover, .rdv-btn-submit:hover, .rc-submit-btn:hover, .rh-btn:hover, .rfp-barre-btn:hover,
.rochen-btn-preorder:focus-visible, .rc-cta:focus-visible, .rdv-btn-submit:focus-visible, .rc-submit-btn:focus-visible, .rh-btn:focus-visible {
    background: var(--rd-encre-2) !important;
    color: var(--rd-creme) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -16px rgba(30, 27, 22, .6);
}
/* Sur fond sombre (bannière pré-série) : pilule crème */
.rochen-hero .rochen-btn-preorder { background: var(--rd-creme) !important; color: var(--rd-encre) !important; border-color: var(--rd-creme) !important; }
.rochen-hero .rochen-btn-preorder:hover { background: var(--rd-or) !important; border-color: var(--rd-or) !important; color: var(--rd-encre) !important; }

/* Bouton « Précommander » des cartes collection : pilule dans la carte au lieu d'une barre pleine largeur */
.rc-card-collection .rc-cta { margin: 0 16px 16px !important; width: auto !important; display: flex !important; justify-content: center; }

/* Boutons ronds fléchés : la flèche glisse au survol */
.rsw-cta, .rc-card-collection-link, .rhs-btn-rond, .rhs-rond {
    transition: background-color .35s var(--rd-ease), color .35s var(--rd-ease), transform .45s var(--rd-ease) !important;
}
.rsw-cta svg, .rc-card-collection-link svg, .rhs-btn-rond svg, .rhs-rond svg, .rhs-b-fleche svg {
    transition: transform .45s var(--rd-ease);
}
.rsw-cta:hover svg, .rc-card-collection-link:hover svg, .rhs-btn-rond:hover svg, .rhs-rond:hover svg, .rhs-b-fleche:hover svg {
    transform: translate(2px, -2px);
}

/* Filtres (pastilles) : plus légers */
.rb-chip, .rc-filter, .rc-filters button, [class*="rc-filter"] button {
    font-family: var(--rd-font) !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    transition: background-color .3s var(--rd-ease), color .3s var(--rd-ease), border-color .3s var(--rd-ease) !important;
}

/* ─────────────────────────────────────────
   5. Cartes produit — bord fin, survol aérien
   ───────────────────────────────────────── */
.rsw-card, .rcn-card, .rc-card-collection, .rb-card, .rfp-sim-carte {
    border-radius: var(--rd-rayon) !important;
    border: 1px solid var(--rd-trait) !important;
    background-color: var(--rd-creme-clair) !important;
    box-shadow: none !important;
    overflow: hidden;
    transition: transform .6s var(--rd-ease-out), box-shadow .6s var(--rd-ease-out), border-color .6s var(--rd-ease) !important;
}
@media (hover: hover) {
    .rsw-card:hover, .rc-card-collection:hover, .rb-card:hover, .rfp-sim-carte:hover {
        transform: translateY(-6px) !important;
        box-shadow: var(--rd-ombre) !important;
        border-color: rgba(30, 27, 22, .14) !important;
    }
    .rcn-card:hover { box-shadow: var(--rd-ombre) !important; }
}
/* Zoom lent des images dans les cartes */
.rsw-card img, .rc-card-collection img, .rb-card img, .rfp-sim-carte img, .rcn-about img {
    transition: transform 1.1s var(--rd-ease-out) !important;
}
@media (hover: hover) {
    .rsw-card:hover img, .rc-card-collection:hover img, .rb-card:hover img, .rfp-sim-carte:hover img { transform: scale(1.05) !important; }
}
/* Titres et prix des cartes */
.rsw-card [class*="name"], .rc-card-collection-name, .rb-card h3, .rfp-sim-titre {
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
}

/* ─────────────────────────────────────────
   6. Badges — discrets, un seul message utile
   ───────────────────────────────────────── */
.rc-badge, .rb-badge, .rsw-badge {
    font-family: var(--rd-font) !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: rgba(251, 247, 238, .9) !important;
    color: var(--rd-encre) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(30, 27, 22, .06);
}
.rc-badge-vedette { color: var(--rd-brun) !important; }
.rc-badge-nouveau, .rb-badge-nouveau { background: var(--rd-encre) !important; color: var(--rd-creme) !important; }
/* Tous les produits sont « sur commande » : le badge n'apporte rien */
.rc-badge-commande { display: none !important; }
.rc-badge-wrap { flex-direction: row !important; flex-wrap: wrap; gap: 6px !important; }

/* ─────────────────────────────────────────
   7. Champs de formulaire
   ───────────────────────────────────────── */
.rdv-wrap :is(input, select, textarea), .rc-form-card :is(input, select, textarea),
.rfp-popup :is(.rfp-input, .rfp-textarea) {
    font-family: var(--rd-font) !important;
    border-radius: var(--rd-rayon-s) !important;
    border: 1px solid rgba(30, 27, 22, .14) !important;
    background-color: var(--rd-creme-clair) !important;
    transition: border-color .25s var(--rd-ease), box-shadow .25s var(--rd-ease) !important;
}
.rdv-wrap :is(input, select, textarea):focus, .rc-form-card :is(input, select, textarea):focus,
.rfp-popup :is(.rfp-input, .rfp-textarea):focus {
    outline: none !important;
    border-color: var(--rd-brun) !important;
    box-shadow: 0 0 0 4px rgba(201, 154, 74, .18) !important;
}
.rc-form-card, .rfp-popup { border-radius: 24px !important; }

/* ─────────────────────────────────────────
   8. Fiche produit & hero : police du logo
   ───────────────────────────────────────── */
.rhs { --rhs-font: var(--rd-font); }
.rhs .rhs-titre-leger { font-weight: 400 !important; }
.rhs .rhs-titre-gras  { font-weight: 700 !important; }
.rfp-wrap { --rfp-encre: var(--rd-encre); }
.rfp-titre { font-size: clamp(26px, 2.4vw, 34px) !important; }

/* ─────────────────────────────────────────
   9. En-tête collant en verre dépoli
   ───────────────────────────────────────── */
.elementor-location-header {
    position: sticky !important;
    top: 0;
    z-index: 999;
}
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 0; } }
.rh-header {
    transition: background-color .4s var(--rd-ease), box-shadow .4s var(--rd-ease), padding .4s var(--rd-ease) !important;
}
.rd-defile .rh-header {
    background-color: rgba(251, 247, 238, .82) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
    backdrop-filter: blur(16px) saturate(1.2);
    box-shadow: 0 1px 0 var(--rd-trait), 0 10px 30px -22px rgba(30, 27, 22, .45);
}
.rd-defile .rh-header .rh-inner { padding-top: 10px !important; padding-bottom: 10px !important; transition: padding .4s var(--rd-ease); }
.rh-header .rh-inner { transition: padding .4s var(--rd-ease); }

/* Liens du menu : soulignement qui se dessine */
.rh-header .rh-inner a:not(:has(img)):not(.rh-search-link),
.rf-links a:not(.rf-icon-link) {
    position: relative;
    text-decoration: none !important;
}
.rh-header .rh-inner a:not(:has(img)):not(.rh-search-link)::after,
.rf-links a:not(.rf-icon-link)::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: -4px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .45s var(--rd-ease);
}
.rh-header .rh-inner a:not(:has(img)):not(.rh-search-link):hover::after,
.rf-links a:not(.rf-icon-link):hover::after { transform: scaleX(1); transform-origin: left; }

/* ─────────────────────────────────────────
   10. Animations d'apparition (posées par design.js)
   ───────────────────────────────────────── */
html.rd-js .rd-apparait {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition: opacity 1s var(--rd-ease-out), transform 1.1s var(--rd-ease-out);
    transition-delay: var(--rd-delai, 0s);
    will-change: opacity, transform;
}
html.rd-js .rd-apparait.rd-image { transform: scale(1.04); clip-path: inset(6% 0 0 0 round var(--rd-rayon)); transition-property: opacity, transform, clip-path; }
html.rd-js .rd-apparait.rd-vu { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 0); }
html.rd-js .rd-apparait.rd-fini { will-change: auto; }
/* Jamais d'élément masqué à l'intérieur d'un bloc déjà animé */
html.rd-js .rd-apparait .rd-apparait { opacity: 1 !important; transform: none !important; clip-path: none !important; }

/* Arrivée douce de la page */
@keyframes rd-arrivee { from { opacity: 0; } to { opacity: 1; } }
html.rd-js body { animation: rd-arrivee .6s var(--rd-ease) both; }


/* Éditeur Elementor : jamais d'élément masqué */
body.elementor-editor-active .rd-apparait, body.elementor-editor-preview .rd-apparait { opacity: 1 !important; transform: none !important; clip-path: none !important; }

/* ─────────────────────────────────────────
   11. Focus clavier & accessibilité
   ───────────────────────────────────────── */
:focus-visible { outline: 2px solid var(--rd-or); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    html.rd-js body { animation: none; }
    html.rd-js .rd-apparait, html.rd-js .rd-apparait.rd-image { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
    .rsw-card, .rc-card-collection, .rb-card, .rfp-sim-carte, .rsw-card img, .rc-card-collection img, .rb-card img { transition: none !important; }
}

/* ── Fonds de section unifiés (crème) ── */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section { background-color: var(--rd-creme) !important; }

/* ── Ancien hero (si encore utilisé) : carte arrondie + vignettes en verre fumé ── */
.rochen-hero { margin: 0 20px !important; border-radius: 28px !important; overflow: hidden !important; width: auto !important; }
.rochen-product-thumb {
    border-radius: 16px !important; background: rgba(30,27,22,.42) !important;
    border: 1px solid rgba(243,234,220,.2) !important;
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); overflow: hidden;
    transition: transform .5s var(--rd-ease-out), background-color .4s var(--rd-ease) !important;
}
.rochen-product-thumb img { border-radius: 10px !important; }
@media (hover: hover) { .rochen-product-thumb:hover { transform: translateX(-4px); background: rgba(30,27,22,.6) !important; } }
@media (max-width: 768px) { .rochen-hero { margin: 0 10px !important; border-radius: 22px !important; } }

/* ── Grille des collections : cartes centrées, largeur maîtrisée ── */
.rc-section-collection .rc-grid-collection:not(.rc-cols-4) { grid-template-columns: repeat(auto-fit, minmax(260px, 320px)) !important; justify-content: center !important; }
@media (min-width: 1025px) { .rc-section-collection .rc-grid-collection.rc-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }

/* ─────────────────────────────────────────
   12. Page À propos alignée sur Contact
   Même gouttière (8 %) et même largeur de contenu partout
   ───────────────────────────────────────── */
.rh-hero, .rh-origines, .rh-valeurs, .rh-equipe {
    padding-left: max(20px, 8%) !important; padding-right: max(20px, 8%) !important;
}
.rh-valeurs, .rh-equipe { max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
.rh-origines__grid, .rh-valeurs__grid, .rh-equipe__header, .rh-equipe__grid {
    max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
}
/* En-têtes de page : même couleur de titre et de sur-titre, sur-titre aligné à gauche */
.rh-hero__titre, .rc-hero h1 { color: var(--rd-creme) !important; }
.rh-hero [class*="eyebrow"], .rc-hero .rc-eyebrow { color: var(--rd-or) !important; }
.rc-hero .rc-eyebrow { justify-content: flex-start !important; }

/* « L'atelier en chiffres » : carte sombre arrondie, alignée sur la gouttière */
.rh-chiffres {
    background-color: #2A2217 !important; border-radius: 28px !important;
    margin-left: max(20px, 8%) !important; margin-right: max(20px, 8%) !important;
    width: auto !important; max-width: none !important;
    padding: clamp(40px, 5vw, 72px) clamp(24px, 4.5vw, 64px) !important;
}
.rh-chiffres__titre { color: var(--rd-creme) !important; }
.rh-chiffres__desc { color: rgba(243,234,220,.62) !important; }
.rh-chiffres__stats { gap: 14px !important; }
.rh-chiffres__stat { background: rgba(243,234,220,.05) !important; border: 1px solid rgba(243,234,220,.08) !important; border-radius: 18px !important; }
.rh-chiffres [class*="label"] { color: rgba(243,234,220,.55) !important; }
.rh-chiffres .rh-btn { background: var(--rd-creme) !important; color: var(--rd-encre) !important; border-color: var(--rd-creme) !important; }
.rh-chiffres .rh-btn:hover { background: var(--rd-or) !important; border-color: var(--rd-or) !important; }
@media (max-width: 768px) { .rh-chiffres { border-radius: 22px !important; } }

/* ─────────────────────────────────────────
   13. Équipe — cartes portrait éditoriales
   (s'active dès qu'un membre a une photo)
   ───────────────────────────────────────── */
.rh-equipe__grid { gap: clamp(14px, 1.6vw, 22px) !important; align-items: start !important; counter-reset: rd-membre; }
.rh-equipe__membre:has(img) {
    position: relative; overflow: hidden; isolation: isolate;
    border-radius: 22px; background: #2A2217;
    counter-increment: rd-membre;
    box-shadow: 0 1px 0 rgba(30,27,22,.04), 0 22px 44px -28px rgba(30,27,22,.55);
    transition: box-shadow .7s var(--rd-ease-out);
}
/* Rythme décalé façon magazine (grand écran) */
@media (min-width: 1025px) {
    .rh-equipe__grid > .rh-equipe__membre:nth-child(even):has(img) { margin-top: 48px; }
}
.rh-equipe__membre:has(img) .rh-equipe__avatar { margin: 0 !important; border-radius: 0 !important; aspect-ratio: 3 / 4; }
.rh-equipe__membre:has(img) .rh-equipe__avatar img {
    filter: saturate(.72) sepia(.16) contrast(1.03);
    transform: scale(1.02);
    transition: transform 1.4s var(--rd-ease-out), filter .9s var(--rd-ease) !important;
}
/* Dégradé encre pour la lisibilité du texte */
.rh-equipe__membre:has(img)::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(180deg, rgba(30,27,22,0) 42%, rgba(30,27,22,.5) 68%, rgba(30,27,22,.9) 100%);
}
/* Numéro en pastille de verre */
.rh-equipe__membre:has(img)::before {
    content: counter(rd-membre, decimal-leading-zero);
    position: absolute; top: 16px; left: 16px; z-index: 2;
    font: 500 11px/1 var(--rd-font); letter-spacing: .18em; color: var(--rd-creme);
    padding: 8px 11px; border-radius: 999px;
    background: rgba(30,27,22,.32); border: 1px solid rgba(243,234,220,.22);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.rh-equipe__membre:has(img) .rh-equipe__membre-info {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: clamp(16px, 1.8vw, 24px); text-align: left;
}
.rh-equipe__membre:has(img) .rh-equipe__membre-info::before {
    content: ""; display: block; width: 26px; height: 1px; margin-bottom: 14px;
    background: var(--rd-or); transition: width .7s var(--rd-ease-out);
}
.rh-equipe__membre:has(img) .rh-equipe__nom {
    color: var(--rd-creme) !important; margin: 0 0 6px !important;
    font-size: clamp(16px, 1.45vw, 21px) !important; font-weight: 500 !important; letter-spacing: -.01em;
}
.rh-equipe__membre:has(img) .rh-equipe__role {
    color: var(--rd-or) !important; font-size: 11px !important;
    letter-spacing: .16em; text-transform: uppercase;
}
@media (hover: hover) {
    .rh-equipe__membre:has(img):hover { box-shadow: 0 1px 0 rgba(30,27,22,.04), 0 34px 60px -30px rgba(30,27,22,.7); }
    .rh-equipe__membre:has(img):hover .rh-equipe__avatar img { transform: scale(1.08); filter: none; }
    .rh-equipe__membre:has(img):hover .rh-equipe__membre-info::before { width: 60px; }
}
@media (max-width: 767px) {
    .rh-equipe__membre:has(img) { border-radius: 18px; }
    .rh-equipe__membre:has(img)::before { top: 12px; left: 12px; }
}
/* ─────────────────────────────────────────
   14. À propos — Origines : photo encadrée + texte éditorial
   ───────────────────────────────────────── */
.rh-origines__grid { align-items: center !important; }
.rh-origines__eyebrow + p {
    font-size: clamp(19px, 1.55vw, 23px) !important; line-height: 1.5 !important;
    color: var(--rd-encre) !important; letter-spacing: -.012em;
}
.rh-origines__col-texte p:not(.rh-origines__eyebrow) { line-height: 1.75; }
.rh-origines__btn-outline {
    background: transparent !important; color: var(--rd-encre) !important;
    border: 1px solid rgba(30,27,22,.28) !important; box-shadow: none !important;
}
.rh-origines__btn-outline:hover { background: var(--rd-encre) !important; color: var(--rd-creme) !important; border-color: var(--rd-encre) !important; }
.rh-origines__image {
    position: relative; isolation: isolate; overflow: visible !important;
    background: transparent !important; margin: 0 18px 18px 0;
}
.rh-origines__image img {
    position: relative; z-index: 1; border-radius: 24px !important;
    box-shadow: 0 30px 60px -34px rgba(30,27,22,.6);
}
/* Cadre doré décalé derrière la photo */
.rh-origines__image::before {
    content: ""; position: absolute; z-index: 0; inset: 18px -18px -18px 18px;
    border: 1.5px solid rgba(201,154,74,.85); border-radius: 26px;
    transition: inset .9s var(--rd-ease-out);
}
/* Pastille en verre fumé */
.rh-origines__image::after {
    content: "Fondé à Abidjan · 2021"; position: absolute; z-index: 2; left: 22px; bottom: 22px;
    font: 500 11.5px/1 var(--rd-font); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-creme);
    padding: 12px 16px; border-radius: 999px;
    background: rgba(30,27,22,.42); border: 1px solid rgba(243,234,220,.22);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
@media (hover: hover) { .rh-origines__image:hover::before { inset: 10px -10px -10px 10px; } }
@media (max-width: 767px) {
    .rh-origines__image { margin: 0 12px 12px 0; }
    .rh-origines__image::before { inset: 12px -12px -12px 12px; }
}

/* ─────────────────────────────────────────
   15. À propos — Valeurs : cartes avec photo
   Photo par carte : variable --rd-photo (CSS personnalisé du widget)
   ───────────────────────────────────────── */
.rh-valeurs__grid { gap: clamp(16px, 1.8vw, 24px) !important; }
.rh-valeurs__card {
    position: relative; overflow: hidden; isolation: isolate;
    border-radius: 24px !important; padding: 0 0 30px !important;
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 26px 50px -34px rgba(30,27,22,.5);
    transition: box-shadow .7s var(--rd-ease-out) !important;
}
.rh-valeurs__card::before {
    content: ""; display: block; aspect-ratio: 4 / 3; margin-bottom: 28px;
    background: var(--rd-photo, linear-gradient(135deg, #2A2217, #6E4A2E)) center / cover no-repeat;
    filter: saturate(.78) sepia(.12); transform-origin: 50% 0;
    transition: transform 1.3s var(--rd-ease-out), filter .8s var(--rd-ease);
}
.rh-valeurs__card > :not(.rh-valeurs__num) { margin-left: clamp(22px, 2vw, 30px) !important; margin-right: clamp(22px, 2vw, 30px) !important; }
.rh-valeurs__num {
    position: absolute; top: 16px; left: 16px; z-index: 2; margin: 0 !important;
    font: 500 11px/1 var(--rd-font) !important; letter-spacing: .18em; color: var(--rd-creme) !important;
    padding: 8px 11px; border-radius: 999px;
    background: rgba(30,27,22,.36); border: 1px solid rgba(243,234,220,.24);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.rh-valeurs__titre { font-weight: 500 !important; letter-spacing: -.015em !important; margin-bottom: 10px !important; }
.rh-valeurs__titre::before {
    content: ""; display: block; width: 24px; height: 1px; margin-bottom: 16px;
    background: var(--rd-or); transition: width .7s var(--rd-ease-out);
}
.rh-valeurs__desc { line-height: 1.65 !important; color: rgba(30,27,22,.66) !important; }
@media (hover: hover) {
    .rh-valeurs__card:hover { box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 38px 64px -34px rgba(30,27,22,.62); }
    .rh-valeurs__card:hover::before { transform: scale(1.05); filter: none; }
    .rh-valeurs__card:hover .rh-valeurs__titre::before { width: 52px; }
}

/* ─────────────────────────────────────────
   16. À propos — « L'atelier en chiffres » : photo + verre fumé
   Photo de fond : variable --rd-photo (CSS personnalisé du widget)
   ───────────────────────────────────────── */
.rh-chiffres { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(420px, 38vw, 560px); align-items: center !important; }
.rh-chiffres::before {
    content: ""; position: absolute; inset: 0; z-index: -2;
    background: var(--rd-photo, none) center / cover no-repeat;
    filter: saturate(.75) sepia(.18);
    transform: scale(1.06);
    animation: rd-chiffres-zoom 26s ease-in-out infinite alternate;
}
.rh-chiffres::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background:
        linear-gradient(90deg, rgba(30,27,22,.94) 0%, rgba(30,27,22,.78) 38%, rgba(30,27,22,.38) 72%, rgba(30,27,22,.5) 100%),
        radial-gradient(120% 90% at 85% 110%, rgba(201,154,74,.22), transparent 60%);
}
@keyframes rd-chiffres-zoom { from { transform: scale(1.06); } to { transform: scale(1.14) translateX(-1.5%); } }

.rh-chiffres__titre { text-shadow: 0 2px 30px rgba(0,0,0,.25); }
.rh-chiffres__desc { color: rgba(243,234,220,.78) !important; font-size: 16px !important; line-height: 1.7 !important; max-width: 400px !important; }

.rh-chiffres__stats { gap: 14px !important; }
.rh-chiffres__stat {
    position: relative; overflow: hidden;
    padding: clamp(22px, 2.2vw, 30px) clamp(22px, 2.2vw, 30px) clamp(20px, 2vw, 26px) !important;
    background: rgba(30,27,22,.34) !important;
    border: 1px solid rgba(243,234,220,.16) !important; border-radius: 20px !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
    box-shadow: inset 0 1px 0 rgba(243,234,220,.08), 0 24px 44px -30px rgba(0,0,0,.6);
    transition: background-color .5s var(--rd-ease), border-color .5s var(--rd-ease), transform .6s var(--rd-ease-out) !important;
}
/* Filet doré en haut de chaque carte (remplace le trait au survol) */
.rh-chiffres__stat::after {
    top: 0 !important; bottom: auto !important; left: clamp(22px, 2.2vw, 30px) !important;
    width: 28px !important; height: 2px !important; opacity: 1 !important;
    background: var(--rd-or) !important; border-radius: 0 0 2px 2px !important;
    transition: width .7s var(--rd-ease-out) !important;
}
.rh-chiffres__valeur {
    color: var(--rd-or) !important; font-weight: 500 !important; letter-spacing: -.04em !important;
    font-size: clamp(42px, 4.4vw, 64px) !important; line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}
.rh-chiffres__label { color: rgba(243,234,220,.72) !important; letter-spacing: .14em !important; margin-top: 10px !important; }
@media (hover: hover) {
    .rh-chiffres__stat:hover { background: rgba(30,27,22,.5) !important; border-color: rgba(201,154,74,.4) !important; transform: translateY(-3px); }
    .rh-chiffres__stat:hover::after { width: 64px !important; }
}
@media (max-width: 767px) {
    .rh-chiffres::after { background: linear-gradient(180deg, rgba(30,27,22,.92) 0%, rgba(30,27,22,.72) 55%, rgba(30,27,22,.6) 100%); }
    .rh-chiffres__stats { min-width: 0 !important; }
}
@media (prefers-reduced-motion: reduce) { .rh-chiffres::before { animation: none; } }

/* ─────────────────────────────────────────
   17. Page Devis — carte deux colonnes : photo + formulaire
   Photo : variable --rd-photo (CSS personnalisé du widget)
   ───────────────────────────────────────── */
.rdv-wrap.rdv-mode-page {
    position: relative; isolation: isolate; overflow: hidden;
    display: grid !important; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr);
    max-width: none !important; width: auto !important;
    margin: clamp(28px, 4vw, 56px) max(20px, 8%) !important; padding: 0 !important;
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07);
    border-radius: 28px; box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 80px -48px rgba(30,27,22,.55);
}
/* Panneau photo (colonne de gauche) */
.rdv-wrap.rdv-mode-page::before {
    content: ""; grid-column: 1; grid-row: 1; min-height: 100%;
    background:
        linear-gradient(180deg, rgba(30,27,22,.05) 30%, rgba(30,27,22,.82) 100%),
        var(--rd-photo, linear-gradient(135deg, #2A2217, #6E4A2E)) center / cover no-repeat;
    filter: saturate(.8) sepia(.12);
}
/* Légende en verre fumé sur la photo */
.rdv-wrap.rdv-mode-page::after {
    content: "Sur mesure \2014  pensé avec vous, fabriqué à Abidjan";
    position: absolute; z-index: 2; left: 28px; bottom: 28px;
    max-width: calc(47% - 56px);
    font: 500 clamp(17px, 1.5vw, 22px)/1.35 var(--rd-font); letter-spacing: -.01em; color: var(--rd-creme);
    padding: 18px 20px 18px 22px; border-radius: 18px;
    background: rgba(30,27,22,.38); border: 1px solid rgba(243,234,220,.2);
    border-left: 2px solid var(--rd-or);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.rdv-wrap.rdv-mode-page > .rdv-form-wrap {
    grid-column: 2; grid-row: 1; max-width: none !important; width: auto !important; margin: 0 !important;
    padding: clamp(32px, 4vw, 64px) clamp(24px, 4vw, 60px) !important;
}
.rdv-wrap.rdv-mode-page .rdv-titre { font-size: clamp(30px, 3vw, 44px) !important; }
.rdv-wrap.rdv-mode-page .rdv-sous-titre { color: rgba(30,27,22,.66) !important; font-size: 16px !important; }
.rdv-wrap.rdv-mode-page .rdv-form-header { position: relative; padding-bottom: 22px; margin-bottom: 26px !important; border-bottom: 1px solid rgba(30,27,22,.08); }
.rdv-wrap.rdv-mode-page .rdv-form-header::before {
    content: "Projet sur mesure"; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px;
    font: 500 11.5px/1 var(--rd-font); letter-spacing: .18em; text-transform: uppercase; color: var(--rd-or);
}
.rdv-wrap.rdv-mode-page input, .rdv-wrap.rdv-mode-page select, .rdv-wrap.rdv-mode-page textarea { background: #fff !important; }
@media (max-width: 900px) {
    .rdv-wrap.rdv-mode-page { grid-template-columns: 1fr; border-radius: 22px; }
    .rdv-wrap.rdv-mode-page::before { min-height: 0; aspect-ratio: 16 / 10; }
    .rdv-wrap.rdv-mode-page > .rdv-form-wrap { grid-column: 1; grid-row: 2; }
    .rdv-wrap.rdv-mode-page::after { top: 16px; bottom: auto; left: 16px; right: 16px; max-width: none; font-size: 16px; padding: 14px 16px; }
}

/* ─────────────────────────────────────────
   18. Page Contact — coordonnées sur photo, formulaire en relief
   Photo : variable --rd-photo (CSS personnalisé du widget)
   ───────────────────────────────────────── */
.rc-contact-section .rc-grid { align-items: stretch !important; gap: clamp(18px, 2.4vw, 32px) !important; }
.rc-info-col {
    position: relative; isolation: isolate; overflow: hidden;
    padding: clamp(28px, 3.4vw, 48px) !important; border-radius: 28px;
    background: #2A2217; color: var(--rd-creme);
    box-shadow: 0 40px 80px -48px rgba(30,27,22,.7);
}
.rc-info-col::before {
    content: ""; position: absolute; inset: 0; z-index: -2;
    background: var(--rd-photo, none) center / cover no-repeat;
    filter: saturate(.7) sepia(.2); transform: scale(1.05);
    transition: transform 1.6s var(--rd-ease-out);
}
.rc-info-col::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(160deg, rgba(30,27,22,.9) 0%, rgba(30,27,22,.68) 48%, rgba(30,27,22,.3) 100%),
                radial-gradient(90% 60% at 100% 100%, rgba(201,154,74,.25), transparent 60%);
}
@media (hover: hover) { .rc-info-col:hover::before { transform: scale(1.1); } }
.rc-info-col h2 { color: var(--rd-creme) !important; }
.rc-info-col > p { color: rgba(243,234,220,.72) !important; font-size: 16px !important; }
.rc-info-item { padding: 14px 0 !important; border-top: 1px solid rgba(243,234,220,.1); margin: 0 !important; }
.rc-info-item:first-of-type { margin-top: 10px !important; }
.rc-info-icon {
    background: rgba(243,234,220,.08) !important; border: 1px solid rgba(243,234,220,.16) !important;
    border-radius: 14px !important; color: var(--rd-or) !important;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: background-color .4s var(--rd-ease), border-color .4s var(--rd-ease);
}
.rc-info-icon svg { stroke: var(--rd-or) !important; color: var(--rd-or) !important; }
.rc-info-item:hover .rc-info-icon { background: rgba(201,154,74,.16) !important; border-color: rgba(201,154,74,.45) !important; }
.rc-info-label { color: var(--rd-or) !important; }
.rc-info-value, .rc-info-value a { color: var(--rd-creme) !important; }

.rc-form-card {
    position: relative; overflow: hidden;
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important; border-radius: 28px !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 80px -48px rgba(30,27,22,.5) !important;
}
.rc-form-card::before {
    content: ""; position: absolute; top: 0; left: clamp(28px, 3vw, 48px); width: 56px; height: 2px; background: var(--rd-or);
}
.rc-form-card input, .rc-form-card select, .rc-form-card textarea { background: #fff !important; }

/* Carte : moins d'espace au-dessus, même relief */
.rc-map-section { padding-top: clamp(8px, 2vw, 24px) !important; }
.rc-map-card { border-radius: 28px !important; overflow: hidden; border: 1px solid rgba(30,27,22,.07) !important; box-shadow: 0 40px 80px -48px rgba(30,27,22,.5) !important; }
.rc-map-card iframe { filter: saturate(.7) sepia(.15); transition: filter .6s var(--rd-ease); }
.rc-map-card:hover iframe { filter: none; }

/* ─────────────────────────────────────────
   19. En-tête — verre crème, menu en pilule, recherche ronde
   ───────────────────────────────────────── */
.rh-header {
    background: rgba(243,234,220,.84) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
    border-bottom: 1px solid rgba(30,27,22,.07) !important;
}
.rh-header .rh-nav ul {
    display: flex; align-items: center; gap: 2px !important; padding: 5px !important; margin: 0 !important;
    background: rgba(255,255,255,.55); border: 1px solid rgba(30,27,22,.07); border-radius: 999px;
    box-shadow: 0 10px 30px -22px rgba(30,27,22,.5);
}
.rh-header .rh-nav li { margin: 0 !important; }
.rh-header .rh-nav a {
    display: inline-flex !important; align-items: center; height: auto !important;
    padding: 9px 16px !important; border-radius: 999px;
    font-size: 11.5px !important; letter-spacing: .12em !important; color: rgba(30,27,22,.62) !important;
    transition: background-color .35s var(--rd-ease), color .35s var(--rd-ease) !important;
}
.rh-header .rh-nav a::after { display: none !important; }
.rh-header .rh-nav a:hover { background: rgba(30,27,22,.06); color: var(--rd-encre) !important; }
.rh-header .rh-nav a.active, .rh-header .rh-nav .current-menu-item > a {
    background: var(--rd-encre) !important; color: var(--rd-creme) !important;
}
.rh-header .rh-search-link {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 50%;
    border: 1px solid rgba(30,27,22,.14); background: rgba(255,255,255,.5);
    transition: background-color .35s var(--rd-ease), border-color .35s var(--rd-ease), transform .5s var(--rd-ease-out);
}
.rh-header .rh-search-link:hover { background: var(--rd-encre); border-color: var(--rd-encre); color: var(--rd-creme) !important; transform: rotate(-8deg); }
.rh-header .rh-search-link:hover svg { stroke: var(--rd-creme) !important; color: var(--rd-creme) !important; }
.rh-header .rh-logo img { transition: opacity .3s var(--rd-ease); }
.rh-header .rh-logo a:hover img { opacity: .75; }

/* ─────────────────────────────────────────
   20. Boutique — barre d'outils, cartes en relief
   ───────────────────────────────────────── */
/* Barre recherche + filtres : une carte en verre */
.rb-search-input {
    background: #fff !important; border: 1px solid rgba(30,27,22,.08) !important;
    box-shadow: 0 12px 30px -24px rgba(30,27,22,.5) !important;
    transition: border-color .35s var(--rd-ease), box-shadow .35s var(--rd-ease) !important;
}
.rb-search-input:focus { border-color: rgba(201,154,74,.7) !important; box-shadow: 0 0 0 4px rgba(201,154,74,.15), 0 12px 30px -24px rgba(30,27,22,.5) !important; }
.rb-filter-bar { border-bottom: 1px solid rgba(30,27,22,.08) !important; }
.rb-chip { background: rgba(255,255,255,.6) !important; border: 1px solid rgba(30,27,22,.09) !important; transition: all .35s var(--rd-ease) !important; }
.rb-chip:hover { background: #fff !important; border-color: rgba(30,27,22,.2) !important; transform: translateY(-1px); }
.rb-chip.active { background: var(--rd-encre) !important; color: var(--rd-creme) !important; border-color: var(--rd-encre) !important; box-shadow: 0 10px 22px -14px rgba(30,27,22,.8); }

/* Cartes produit */
.rb-grid { gap: clamp(16px, 2vw, 28px) !important; }
.rb-card {
    position: relative; overflow: hidden; isolation: isolate;
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important; border-radius: 24px !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 26px 50px -36px rgba(30,27,22,.55) !important;
}
@media (hover: hover) {
    .rb-card:hover { transform: translateY(-6px) !important; box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 70px -36px rgba(30,27,22,.6) !important; }
}
/* Fond studio réchauffé : le gris des photos prend la teinte crème */
.rb-card-media, .rb-card-media-inner {
    background: radial-gradient(120% 90% at 50% 20%, #F7F0E4 0%, #EADFCB 100%) !important;
}
.rb-card-media img, .rb-carte-img { mix-blend-mode: multiply; }
.rb-card-media { position: relative; }
.rb-card-media::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(30,27,22,.06));
}
.rb-card-body { position: relative; padding: 20px 76px 24px 24px !important; }
.rb-card-body h3 { font-size: 18px !important; line-height: 1.3 !important; margin-bottom: 8px !important; }
.rb-card-body h3::before {
    content: ""; display: block; width: 22px; height: 1px; margin-bottom: 12px;
    background: var(--rd-or); transition: width .6s var(--rd-ease-out);
}
.rb-price { font-size: 15px !important; font-weight: 600 !important; color: var(--rd-encre) !important; letter-spacing: -.005em; }
.rb-price-sur-demande { font-style: normal !important; font-weight: 500 !important; color: var(--rd-brun, #6E4A2E) !important; }
/* Flèche ronde « voir la pièce » */
.rb-card-body::after {
    content: "→"; position: absolute; right: 22px; bottom: 22px;
    width: 40px; height: 40px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font: 400 17px/1 var(--rd-font); color: var(--rd-encre);
    border: 1px solid rgba(30,27,22,.15); background: transparent;
    transition: background-color .4s var(--rd-ease), color .4s var(--rd-ease), transform .5s var(--rd-ease-out), border-color .4s var(--rd-ease);
}
@media (hover: hover) {
    .rb-card:hover .rb-card-body::after { background: var(--rd-encre); color: var(--rd-creme); border-color: var(--rd-encre); transform: translateX(3px) rotate(-45deg); }
    .rb-card:hover .rb-card-body h3::before { width: 48px; }
}
.rb-badge, .rb-badge-nouveau {
    background: rgba(30,27,22,.72) !important; color: var(--rd-creme) !important;
    border: 1px solid rgba(243,234,220,.2) !important;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
@media (max-width: 767px) {
    .rb-card-body { padding: 16px 60px 18px 18px !important; }
    .rb-card-body::after { width: 34px; height: 34px; right: 14px; bottom: 16px; }
}

/* ─────────────────────────────────────────
   21. Pied de page — aucune bande vide en dessous
   ───────────────────────────────────────── */
.elementor-location-footer { overflow: hidden; }
.elementor-location-footer .rd-apparait { opacity: 1 !important; transform: none !important; }

/* ─────────────────────────────────────────
   22. Accueil — série, essence brute, pré-série, collections
   Même langage que la boutique : fond studio crème, relief, filets dorés
   ───────────────────────────────────────── */
/* Fond studio réchauffé pour toutes les photos produit */
.rsw-img-wrap, .rc-card-collection-img-wrap, .rcn-image {
    background: radial-gradient(120% 90% at 50% 20%, #F7F0E4 0%, #EADFCB 100%) !important;
}
.rsw-img-wrap img, .rc-card-collection-img-wrap > img, .rcn-image img { mix-blend-mode: multiply; }

/* — Série : cartes — */
.rsw-track { padding-bottom: 36px !important; }
.rsw-card {
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important; border-radius: 24px !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 26px 50px -36px rgba(30,27,22,.55) !important;
    padding: 8px !important; transition: box-shadow .6s var(--rd-ease-out) !important;
}
.rsw-img-wrap { border-radius: 18px !important; overflow: hidden; }
.rsw-body { padding: 18px 14px 12px !important; }
.rsw-name { font-size: 18px !important; font-weight: 500 !important; letter-spacing: -.01em; }
.rsw-name::before { content: ""; display: block; width: 22px; height: 1px; margin-bottom: 12px; background: var(--rd-or); transition: width .6s var(--rd-ease-out); }
.rsw-sub { color: rgba(30,27,22,.6) !important; line-height: 1.6 !important; }
.rsw-footer { border-top: 1px solid rgba(30,27,22,.07); padding-top: 14px !important; margin-top: 14px !important; }
.rsw-price { font-weight: 600 !important; color: var(--rd-encre) !important; font-style: normal !important; }
.rsw-cta {
    width: 40px !important; height: 40px !important; border-radius: 50% !important;
    background: transparent !important; border: 1px solid rgba(30,27,22,.16) !important; color: var(--rd-encre) !important;
    transition: background-color .4s var(--rd-ease), color .4s var(--rd-ease), transform .5s var(--rd-ease-out) !important;
}
.rsw-cta svg { stroke: currentColor !important; }
@media (hover: hover) {
    .rsw-card:hover { box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 70px -36px rgba(30,27,22,.62) !important; }
    .rsw-card:hover .rsw-name::before { width: 48px; }
    .rsw-card:hover .rsw-cta { background: var(--rd-encre) !important; color: var(--rd-creme) !important; transform: rotate(45deg); }
}
.rsw-nav {
    width: 46px !important; height: 46px !important; border-radius: 50% !important;
    background: rgba(255,255,255,.6) !important; border: 1px solid rgba(30,27,22,.14) !important;
    transition: background-color .35s var(--rd-ease), color .35s var(--rd-ease) !important;
}
.rsw-nav:not(:disabled):hover { background: var(--rd-encre) !important; color: var(--rd-creme) !important; }
.rsw-nav:not(:disabled):hover svg { stroke: var(--rd-creme) !important; }
.rsw-section [class*="dot"] { transition: width .4s var(--rd-ease), background-color .4s var(--rd-ease) !important; }
.rsw-section [class*="dot"][class*="active"] { background: var(--rd-or) !important; }

/* — L'essence brute : bento — */
.rcn-bento { gap: clamp(12px, 1.4vw, 18px) !important; }
.rcn-card {
    position: relative; overflow: hidden;
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important; border-radius: 24px !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 24px 46px -36px rgba(30,27,22,.5) !important;
    transition: background-color .5s var(--rd-ease), border-color .5s var(--rd-ease), box-shadow .6s var(--rd-ease-out) !important;
}
.rcn-card::before {
    content: ""; position: absolute; top: 0; left: 28px; width: 28px; height: 2px; background: var(--rd-or);
    transition: width .7s var(--rd-ease-out);
}
.rcn-icon {
    width: 46px !important; height: 46px !important; border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(201,154,74,.2), rgba(201,154,74,.06)) !important;
    border: 1px solid rgba(201,154,74,.35) !important; color: var(--rd-brun) !important;
    transition: background .5s var(--rd-ease), transform .6s var(--rd-ease-out) !important;
}
.rcn-icon svg { stroke: var(--rd-brun) !important; }
.rcn-card h3 { font-size: 17px !important; font-weight: 500 !important; letter-spacing: -.01em; }
.rcn-card p { color: rgba(30,27,22,.62) !important; line-height: 1.65 !important; }
@media (hover: hover) {
    .rcn-card:hover { background: #fff !important; border-color: rgba(201,154,74,.3) !important; box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 36px 60px -36px rgba(30,27,22,.6) !important; }
    .rcn-card:hover::before { width: 64px; }
    .rcn-card:hover .rcn-icon { background: var(--rd-encre) !important; transform: rotate(-6deg); }
    .rcn-card:hover .rcn-icon svg { stroke: var(--rd-or) !important; }
}
.rcn-image {
    position: relative; border-radius: 24px !important; overflow: hidden;
    box-shadow: 0 36px 70px -40px rgba(30,27,22,.6);
}
.rcn-image::after {
    content: "Série N°02 · Abidjan"; position: absolute; left: 16px; bottom: 16px; z-index: 2;
    font: 500 11px/1 var(--rd-font); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-creme);
    padding: 10px 14px; border-radius: 999px;
    background: rgba(30,27,22,.5); border: 1px solid rgba(243,234,220,.2);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}

/* — Pré-série : ambiance chaude sur la photo grise — */
.rochen-hero { position: relative; isolation: isolate; box-shadow: 0 50px 90px -50px rgba(30,27,22,.75); }
.rochen-hero::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background:
        linear-gradient(90deg, rgba(30,27,22,.82) 0%, rgba(30,27,22,.35) 36%, rgba(110,74,46,.12) 62%, rgba(30,27,22,.3) 100%),
        radial-gradient(70% 90% at 50% 120%, rgba(201,154,74,.35), transparent 65%);
    mix-blend-mode: multiply;
}
.rochen-hero-content { position: relative; z-index: 2; }
.rochen-thumb-name { color: var(--rd-creme) !important; }
.rochen-thumb-desc { color: rgba(243,234,220,.6) !important; }

/* — Collections : cartes — */
.rc-card-collection {
    background: #FBF7F0 !important; border: 1px solid rgba(30,27,22,.07) !important; border-radius: 24px !important;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 26px 50px -36px rgba(30,27,22,.55) !important;
    transition: box-shadow .6s var(--rd-ease-out) !important;
}
.rc-card-collection-body { padding: 20px 20px 6px !important; }
.rc-card-collection-name { font-size: 17px !important; font-weight: 500 !important; }
.rc-card-collection-name::before { content: ""; display: block; width: 22px; height: 1px; margin-bottom: 12px; background: var(--rd-or); transition: width .6s var(--rd-ease-out); }
.rc-card-collection-price { font-weight: 600 !important; }
.rc-tag { background: rgba(201,154,74,.12) !important; border: 1px solid rgba(201,154,74,.3) !important; color: var(--rd-brun) !important; }
.rc-card-collection .rc-cta { margin: 6px 20px 20px !important; }
.rc-badge, .rc-badge-vedette {
    background: rgba(251,247,240,.82) !important; border: 1px solid rgba(30,27,22,.08) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.rc-badge-nouveau { background: rgba(30,27,22,.78) !important; }
@media (hover: hover) {
    .rc-card-collection:hover { box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 70px -36px rgba(30,27,22,.62) !important; }
    .rc-card-collection:hover .rc-card-collection-name::before { width: 48px; }
}

/* ─────────────────────────────────────────
   23. Pages de texte (mentions légales, confidentialité, conditions)
   Pages WordPress classiques, sans Elementor
   ───────────────────────────────────────── */
body.page-template-default:not(.elementor-page) .site-main {
    max-width: 820px !important; margin: clamp(32px, 5vw, 72px) auto clamp(48px, 7vw, 96px) !important;
    padding: clamp(28px, 4vw, 56px) !important;
    background: #FBF7F0; border: 1px solid rgba(30,27,22,.07); border-radius: 28px;
    box-shadow: 0 1px 0 rgba(30,27,22,.03), 0 40px 80px -50px rgba(30,27,22,.5);
}
@media (max-width: 860px) { body.page-template-default:not(.elementor-page) .site-main { margin-left: 16px !important; margin-right: 16px !important; } }
body.page-template-default:not(.elementor-page) .page-header { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid rgba(30,27,22,.08); }
body.page-template-default:not(.elementor-page) .page-header::before {
    content: "Informations"; display: block; margin-bottom: 12px;
    font: 500 11.5px/1 var(--rd-font); letter-spacing: .18em; text-transform: uppercase; color: var(--rd-or);
}
body.page-template-default:not(.elementor-page) .entry-title {
    font-size: clamp(32px, 4vw, 48px) !important; font-weight: 500 !important; letter-spacing: -.03em !important; line-height: 1.05 !important; color: var(--rd-encre); margin: 0;
}
body.page-template-default:not(.elementor-page) .page-content h2 {
    font-size: clamp(19px, 1.8vw, 23px) !important; font-weight: 500 !important; letter-spacing: -.015em;
    margin: 36px 0 12px !important; color: var(--rd-encre);
}
body.page-template-default:not(.elementor-page) .page-content h2::before {
    content: ""; display: block; width: 24px; height: 1px; margin-bottom: 14px; background: var(--rd-or);
}
body.page-template-default:not(.elementor-page) .page-content p,
body.page-template-default:not(.elementor-page) .page-content li { font-size: 16px; line-height: 1.75; color: rgba(30,27,22,.78); }
body.page-template-default:not(.elementor-page) .page-content ul { padding-left: 1.2em; }
body.page-template-default:not(.elementor-page) .page-content li::marker { color: var(--rd-or); }
body.page-template-default:not(.elementor-page) .page-content a { color: var(--rd-brun); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(110,74,46,.35); }
body.page-template-default:not(.elementor-page) .page-content a:hover { text-decoration-color: var(--rd-brun); }
body.page-template-default:not(.elementor-page) .page-content mark { background: rgba(201,154,74,.25); color: var(--rd-encre); padding: 1px 6px; border-radius: 6px; }
