/* polices servies par le site (aucun appel à un serveur tiers) */
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url(polices/lato-normal-300-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url(polices/lato-normal-300-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(polices/lato-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(polices/lato-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(polices/lato-normal-700-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(polices/lato-normal-700-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url(polices/playfair-display-italic-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url(polices/playfair-display-italic-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(polices/playfair-display-normal-400-600-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(polices/playfair-display-normal-400-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* ==========================================================================
   Tania Borel — couche de fidélité Elementor
   Ordre : 1. remises à zéro · 2. maquette convertie · 3. composants du site.
   Les blocs @media d'adaptation sont regroupés en fin de feuille.
   Le préfixe « body :is(.elementor,.tb-ui):not(#tb) » fait passer ces règles
   devant le cadre d'Elementor et du thème pour les propriétés que la maquette
   déclare ; tout le reste se règle dans l'éditeur.
   ========================================================================== */
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-c){display:block;position:static;flex:0 1 auto;flex-direction:row;flex-wrap:nowrap;justify-content:normal;align-items:normal;align-content:normal;width:auto;max-width:none;min-width:auto;min-height:0;height:auto;margin:0;padding:0;gap:normal;border-radius:0;overflow:visible;z-index:auto;text-align:inherit}
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-w){display:block;position:static;flex:0 1 auto;width:auto;max-width:none;min-width:auto;margin:0;padding:0;text-align:inherit}
body :is(.elementor,.tb-ui):not(#tb) :where(:is(.cdp-span,.cdp-small,.cdp-strong,.cdp-a)){display:inline}
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-strong){font-weight:bolder}
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-small){font-size:smaller}
/* marges par défaut du navigateur, sur lesquelles la maquette s'appuie */
body :is(.elementor,.tb-ui):not(#tb) :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1){margin:0 0 .67em}
body :is(.elementor,.tb-ui):not(#tb) :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){margin:0 0 .83em}
body :is(.elementor,.tb-ui):not(#tb) :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:0 0 1em}
body :is(.elementor,.tb-ui):not(#tb) :is(h4,div):where(h4:not(.elementor-heading-title),.cdp-h4){margin:0 0 1.33em;font-weight:bold;font-size:1em;font-family:inherit;line-height:inherit}
body :is(.elementor,.tb-ui):not(#tb) :is(h1,h2,h3,h4):not(.elementor-heading-title){color:inherit;letter-spacing:normal;text-transform:none}
body :is(.elementor,.tb-ui):not(#tb) :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin:0 0 1em}
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-figure){margin:1em 40px}
body :is(.elementor,.tb-ui):not(#tb) label{margin:0;letter-spacing:normal;text-transform:none}
body :is(.elementor,.tb-ui):not(#tb) button{appearance:none;border-radius:0;box-shadow:none;min-height:0;text-transform:none;letter-spacing:normal;font-weight:inherit;color:inherit;line-height:inherit}
body :is(.elementor,.tb-ui):not(#tb) :is(ul,ol){margin:1em 0;padding-left:40px}
/* le contenu d'un widget hérite de son enveloppe, qui porte la mise en forme */
body :is(.elementor,.tb-ui):not(#tb) .cdp-h > .elementor-heading-title,
body :is(.elementor,.tb-ui):not(#tb) .cdp-p > p{all:unset;display:block}
body :is(.elementor,.tb-ui):not(#tb) :where(.cdp-img){position:relative}
body :is(.elementor,.tb-ui):not(#tb) .cdp-img > img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit}
body :is(.elementor,.tb-ui):not(#tb) .cdp-btn > .elementor-button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;cursor:pointer}
body :is(.elementor,.tb-ui):not(#tb) .cdp-sc,
body :is(.elementor,.tb-ui):not(#tb) .cdp-sc > .elementor-shortcode{display:contents}
/* ---- maquette convertie ---- */
:root{--chocolate:#473e35;--chocolate-deep:#3b322c;--caramel:#b48a61;--caramel-light:#d1ab86;--blush:#fef9fa;--cream:#f9f1eb;--rose:#ee7095;--ink:#4d453f;--muted:#6e6e6e;--caramel-text:#8c6742;--line:#e8dfd8;--white:#fff;--font-serif:'Playfair Display',Georgia,serif;--font-sans:'Lato',Arial,sans-serif}
body :is(.elementor,.tb-ui):not(#tb) *{box-sizing:border-box}
html{scroll-behavior:smooth}
body:not(#tb){margin:0;background:var(--blush);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.65}
body.drawer-open:not(#tb){overflow:hidden}
body :is(.elementor,.tb-ui):not(#tb) button,body :is(.elementor,.tb-ui):not(#tb) input,body :is(.elementor,.tb-ui):not(#tb) select,body :is(.elementor,.tb-ui):not(#tb) textarea{font:inherit}
body :is(.elementor,.tb-ui):not(#tb) button{cursor:pointer}
body :is(.elementor,.tb-ui):not(#tb) a{color:inherit;text-decoration:none}
body :is(.elementor,.tb-ui):not(#tb) :is(img,div):where(img:not(.cdp-img > img),.cdp-img){display:block;max-width:100%}
body :is(.elementor,.tb-ui):not(#tb) :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1),body :is(.elementor,.tb-ui):not(#tb) :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2),body :is(.elementor,.tb-ui):not(#tb) :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3),body :is(.elementor,.tb-ui):not(#tb) :is(h4,div):where(h4:not(.elementor-heading-title),.cdp-h4),body :is(.elementor,.tb-ui):not(#tb) :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin-top:0}
body :is(.elementor,.tb-ui):not(#tb) :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1),body :is(.elementor,.tb-ui):not(#tb) :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2),body :is(.elementor,.tb-ui):not(#tb) :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-family:var(--font-serif);font-weight:400;line-height:1.23}
body :is(.elementor,.tb-ui):not(#tb) :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1){font-size:clamp(3rem,6vw,5.8rem)}
body :is(.elementor,.tb-ui):not(#tb) :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){font-size:clamp(2.25rem,3.2vw,3.6rem)}
body :is(.elementor,.tb-ui):not(#tb) :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:clamp(1.35rem,1.75vw,1.8rem)}
body :is(.elementor,.tb-ui):not(#tb) :is(p,div):where(p:not(.cdp-p > p),.cdp-p){color:var(--muted)}
body :is(.elementor,.tb-ui):not(#tb) .container{width:min(100% - 48px,1220px);margin-inline:auto}
body :is(.elementor,.tb-ui):not(#tb) .narrow{max-width:850px;margin-inline:auto}
body :is(.elementor,.tb-ui):not(#tb) .center{text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .eyebrow{color:var(--caramel-text);font-size:.76rem;font-weight:700;letter-spacing:.29em;text-transform:uppercase;line-height:1.5}
body :is(.elementor,.tb-ui):not(#tb) .eyebrow.light{color:#dbb38c}
body :is(.elementor,.tb-ui):not(#tb) .section-heading{margin-bottom:48px}
body :is(.elementor,.tb-ui):not(#tb) .section-heading :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){margin:10px 0 13px}
body :is(.elementor,.tb-ui):not(#tb) .section-heading :is(p,div):where(p:not(.cdp-p > p),.cdp-p){max-width:600px;margin-inline:auto}
body :is(.elementor,.tb-ui):not(#tb) .section{padding:100px 0}
body :is(.elementor,.tb-ui):not(#tb) .section-cream{background:var(--cream)}
body :is(.elementor,.tb-ui):not(#tb) .section-white{background:#fff}
body :is(.elementor,.tb-ui):not(#tb) .section-dark{background:var(--chocolate);color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .section-dark :is(p,div):where(p:not(.cdp-p > p),.cdp-p){color:#d0c7be}
body :is(.elementor,.tb-ui):not(#tb) .section-caramel{background:var(--caramel);color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .section-caramel :is(p,div):where(p:not(.cdp-p > p),.cdp-p){color:#f8eee6}
body :is(.elementor,.tb-ui):not(#tb) .btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--chocolate);border-radius:0;background:var(--chocolate);color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-align:center;transition:background .2s,color .2s,border-color .2s,transform .2s}
body :is(.elementor,.tb-ui):not(#tb) .btn > .elementor-button,body :is(.elementor,.tb-ui):not(#tb) .btn:not(.cdp-btn){gap:10px;min-height:48px;padding:12px 24px}
body :is(.elementor,.tb-ui):not(#tb) .btn:hover{background:#5d5044;border-color:#5d5044;transform:translateY(-2px)}
body :is(.elementor,.tb-ui):not(#tb) .btn:focus-visible,body :is(.elementor,.tb-ui):not(#tb) .icon-btn:focus-visible,body :is(.elementor,.tb-ui):not(#tb) a:focus-visible,body :is(.elementor,.tb-ui):not(#tb) input:focus-visible,body :is(.elementor,.tb-ui):not(#tb) textarea:focus-visible,body :is(.elementor,.tb-ui):not(#tb) select:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
body :is(.elementor,.tb-ui):not(#tb) .btn-outline{background:transparent;color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .btn-outline:hover{color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .btn-caramel{background:var(--caramel);border-color:var(--caramel);color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .btn-caramel:hover{background:#c1976e;border-color:#c1976e}
body :is(.elementor,.tb-ui):not(#tb) .btn-light-outline{border-color:rgba(255,255,255,.8);color:#fff;background:transparent}
body :is(.elementor,.tb-ui):not(#tb) .btn-light-outline:hover{background:#fff;color:var(--chocolate);border-color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .btn-small{font-size:.78rem}
body :is(.elementor,.tb-ui):not(#tb) .btn-small > .elementor-button,body :is(.elementor,.tb-ui):not(#tb) .btn-small:not(.cdp-btn){min-height:42px;padding:10px 18px}
body :is(.elementor,.tb-ui):not(#tb) .text-link{display:inline-block;color:var(--caramel-text);font-size:.83rem;font-weight:700;letter-spacing:.08em;border-bottom:1px solid currentColor}
body :is(.elementor,.tb-ui):not(#tb) .text-link > .elementor-button,body :is(.elementor,.tb-ui):not(#tb) .text-link:not(.cdp-btn){padding:8px 0}
body :is(.elementor,.tb-ui):not(#tb) .text-link:hover{color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .site-header{position:sticky;top:0;z-index:30;background:rgba(254,249,250,.97);border-bottom:1px solid rgba(71,62,53,.08);backdrop-filter:blur(12px)}
body :is(.elementor,.tb-ui):not(#tb) .header-inner{height:82px;display:flex;align-items:center;gap:24px}
body :is(.elementor,.tb-ui):not(#tb) .brand{display:flex;flex-direction:column;flex:none;line-height:1.1}
body :is(.elementor,.tb-ui):not(#tb) .brand-name{font:600 1.3rem var(--font-serif);letter-spacing:.005em;color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .brand-sub{margin-top:5px;color:var(--caramel-text);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase}
body :is(.elementor,.tb-ui):not(#tb) .nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(15px,1.65vw,27px);margin-left:auto}
body :is(.elementor,.tb-ui):not(#tb) .nav a{color:var(--ink);font-size:.875rem;white-space:nowrap;transition:color .2s}
body :is(.elementor,.tb-ui):not(#tb) .nav a:hover,body :is(.elementor,.tb-ui):not(#tb) .nav a.active{color:var(--caramel-text)}
body :is(.elementor,.tb-ui):not(#tb) .header-actions{display:flex;align-items:center;gap:14px;margin-left:4px}
body :is(.elementor,.tb-ui):not(#tb) .icon-btn{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .icon-btn svg{width:21px;height:21px}
body :is(.elementor,.tb-ui):not(#tb) .cart-count{position:absolute;top:-3px;right:-6px;display:grid;place-items:center;min-width:17px;height:17px;border-radius:50%;background:var(--caramel);color:white;font-size:.62rem;line-height:1}
body :is(.elementor,.tb-ui):not(#tb) .menu-btn{display:none}
body :is(.elementor,.tb-ui):not(#tb) .hero{position:relative;display:grid;place-items:center;min-height:470px;background:var(--chocolate);color:white;text-align:center;overflow:hidden}
body :is(.elementor,.tb-ui):not(#tb) .hero-home{min-height:min(72vh,720px)}
body :is(.elementor,.tb-ui):not(#tb) .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(32,25,20,.50),rgba(32,25,20,.33)),rgba(37,29,23,.18)}
body :is(.elementor,.tb-ui):not(#tb) .hero-home::before{background:linear-gradient(0deg,rgba(31,25,19,.48),rgba(31,25,19,.40))}
body :is(.elementor,.tb-ui):not(#tb) .hero-content{position:relative;z-index:2;width:min(100% - 36px,800px);padding:80px 0}
body :is(.elementor,.tb-ui):not(#tb) .hero :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1){margin:13px 0 22px;color:white}
body :is(.elementor,.tb-ui):not(#tb) .hero :is(p,div):where(p:not(.cdp-p > p),.cdp-p){max-width:650px;margin:0 auto;color:#f0eae4;font-size:1.08rem}
body :is(.elementor,.tb-ui):not(#tb) .hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:32px}
body :is(.elementor,.tb-ui):not(#tb) .hero-solid{min-height:330px}
body :is(.elementor,.tb-ui):not(#tb) .hero-solid::before{display:none}
body :is(.elementor,.tb-ui):not(#tb) .hero-solid .hero-content{padding:68px 0}
body :is(.elementor,.tb-ui):not(#tb) .hero-solid :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1){margin-bottom:12px}
body :is(.elementor,.tb-ui):not(#tb) .ticker{overflow:hidden;background:var(--caramel);color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .ticker-track{display:flex;width:max-content;gap:28px;align-items:center;padding:10px 0;animation:marquee 35s linear infinite}
body :is(.elementor,.tb-ui):not(#tb) .ticker-track :is(span,div):where(span,.cdp-span){font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
body :is(.elementor,.tb-ui):not(#tb) .ticker-track b{font-size:.72rem;font-weight:400}
@keyframes marquee{to{transform:translateX(-50%)}}
body :is(.elementor,.tb-ui):not(#tb) .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
body :is(.elementor,.tb-ui):not(#tb) .product-card{background:#fff;min-width:0;transition:transform .25s,box-shadow .25s}
body :is(.elementor,.tb-ui):not(#tb) .product-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(71,62,53,.08)}
body :is(.elementor,.tb-ui):not(#tb) .product-card :is(figure,div):where(figure,.cdp-figure){position:relative;margin:0;overflow:hidden;background:#ece3dc}
body :is(.elementor,.tb-ui):not(#tb) .product-card :is(img,div):where(img:not(.cdp-img > img),.cdp-img){width:100%;aspect-ratio:1.18;object-fit:cover;transition:transform .6s}
body :is(.elementor,.tb-ui):not(#tb) .product-card:hover :is(img,div):where(img:not(.cdp-img > img),.cdp-img){transform:scale(1.04)}
body :is(.elementor,.tb-ui):not(#tb) .product-badge{position:absolute;top:13px;left:13px;padding:5px 9px;background:var(--caramel);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
body :is(.elementor,.tb-ui):not(#tb) .product-body{padding:18px 19px 22px}
body :is(.elementor,.tb-ui):not(#tb) .product-body :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:0 0 9px;font-size:1.17rem}
body :is(.elementor,.tb-ui):not(#tb) .product-body :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin:0;font-size:.88rem;line-height:1.6}
body :is(.elementor,.tb-ui):not(#tb) .product-card .card-link{position:absolute;inset:0}
body :is(.elementor,.tb-ui):not(#tb) .product-card{position:relative}
body :is(.elementor,.tb-ui):not(#tb) .product-card .card-link:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
body :is(.elementor,.tb-ui):not(#tb) .grid-footer{text-align:center;margin-top:42px}
body :is(.elementor,.tb-ui):not(#tb) .story-split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(45px,7vw,115px)}
body :is(.elementor,.tb-ui):not(#tb) .story-copy :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){margin:12px 0 22px}
body :is(.elementor,.tb-ui):not(#tb) .story-copy :is(p,div):where(p:not(.cdp-p > p),.cdp-p){max-width:590px}
body :is(.elementor,.tb-ui):not(#tb) .story-copy .btn{margin-top:14px}
body :is(.elementor,.tb-ui):not(#tb) .story-photo{height:560px;width:100%;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .story-photo-wrap{position:relative}
body :is(.elementor,.tb-ui):not(#tb) .photo-note{position:absolute;right:-18px;bottom:-15px;background:var(--caramel);color:white;padding:13px 22px;font:italic 1rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body :is(.elementor,.tb-ui):not(#tb) .occasion-card{position:relative;min-height:300px;display:flex;align-items:flex-end;overflow:hidden;background:#564b42;color:white}
body :is(.elementor,.tb-ui):not(#tb) .occasion-card :is(img,div):where(img:not(.cdp-img > img),.cdp-img){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s}
body :is(.elementor,.tb-ui):not(#tb) .occasion-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,21,17,.84),rgba(28,21,17,.02) 65%)}
body :is(.elementor,.tb-ui):not(#tb) .occasion-card:hover :is(img,div):where(img:not(.cdp-img > img),.cdp-img){transform:scale(1.055)}
body :is(.elementor,.tb-ui):not(#tb) .occasion-text{position:relative;z-index:1;padding:25px}
body :is(.elementor,.tb-ui):not(#tb) .occasion-text :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:0 0 15px;color:white}
body :is(.elementor,.tb-ui):not(#tb) .occasion-text :is(span,div):where(span,.cdp-span){font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#d4ac84}
body :is(.elementor,.tb-ui):not(#tb) .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body :is(.elementor,.tb-ui):not(#tb) .quote-card{padding:26px;background:white;border:1px solid #f0ebe7}
body :is(.elementor,.tb-ui):not(#tb) .quote-card .stars{color:var(--caramel);letter-spacing:.16em}
body :is(.elementor,.tb-ui):not(#tb) .quote-card :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin:14px 0;font:italic 1rem var(--font-serif);line-height:1.55;color:var(--ink)}
body :is(.elementor,.tb-ui):not(#tb) .quote-card :is(small,div):where(small,.cdp-small){color:var(--caramel-text);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
body :is(.elementor,.tb-ui):not(#tb) .cta-band{padding:62px 20px;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .cta-band :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){max-width:780px;margin:0 auto 16px;color:#fff;font-size:clamp(1.8rem,2.5vw,2.7rem)}
body :is(.elementor,.tb-ui):not(#tb) .cta-band .btn{margin-top:14px}
body :is(.elementor,.tb-ui):not(#tb) .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .value-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border:1px solid #dfcbb9;border-radius:50%;color:var(--caramel);font:1.5rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .value-item :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.1rem}
body :is(.elementor,.tb-ui):not(#tb) .value-item :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.86rem}
body :is(.elementor,.tb-ui):not(#tb) .pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
body :is(.elementor,.tb-ui):not(#tb) .price-card{position:relative;display:flex;flex-direction:column;padding:32px;border:1px solid var(--line);background:#fff}
body :is(.elementor,.tb-ui):not(#tb) .price-card.featured{background:var(--chocolate);border-color:var(--caramel);color:white}
body :is(.elementor,.tb-ui):not(#tb) .price-card.featured :is(p,div):where(p:not(.cdp-p > p),.cdp-p),body :is(.elementor,.tb-ui):not(#tb) .price-card.featured li,body :is(.elementor,.tb-ui):not(#tb) .price-card.featured .price-per{color:#d6cdc4}
body :is(.elementor,.tb-ui):not(#tb) .price-card.featured .price-value{color:var(--caramel)}
body :is(.elementor,.tb-ui):not(#tb) .price-ribbon{position:absolute;left:50%;top:-15px;transform:translateX(-50%);padding:5px 14px;background:var(--caramel);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
body :is(.elementor,.tb-ui):not(#tb) .price-ribbon.dark{background:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .price-pill{align-self:flex-start;background:var(--cream);border-radius:20px;padding:4px 13px;color:var(--chocolate);font-size:.78rem}
body :is(.elementor,.tb-ui):not(#tb) .featured .price-pill{background:rgba(255,255,255,.12);color:white}
body :is(.elementor,.tb-ui):not(#tb) .price-card :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:20px 0 5px}
body :is(.elementor,.tb-ui):not(#tb) .price-row{display:flex;align-items:baseline;gap:8px}
body :is(.elementor,.tb-ui):not(#tb) .price-value{font:2.2rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .price-per{color:var(--muted);font-size:.78rem}
body :is(.elementor,.tb-ui):not(#tb) .price-card>:is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.89rem;margin:8px 0 19px}
body :is(.elementor,.tb-ui):not(#tb) .price-card ul{margin:0 0 22px;padding:0;list-style:none}
body :is(.elementor,.tb-ui):not(#tb) .price-card li{position:relative;padding:0 0 10px 22px;color:var(--ink);font-size:.85rem}
body :is(.elementor,.tb-ui):not(#tb) .price-card li::before{content:'✓';position:absolute;left:0;color:var(--caramel)}
body :is(.elementor,.tb-ui):not(#tb) .price-note{padding:13px;background:var(--blush);color:var(--muted);font-size:.78rem;line-height:1.45;margin-top:auto;margin-bottom:20px}
body :is(.elementor,.tb-ui):not(#tb) .featured .price-note{background:rgba(255,255,255,.09);color:#e0d8d0}
body :is(.elementor,.tb-ui):not(#tb) .price-card .btn{width:100%}
body :is(.elementor,.tb-ui):not(#tb) .featured .btn{background:var(--caramel);border-color:var(--caramel)}
body :is(.elementor,.tb-ui):not(#tb) .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .benefit-icon{color:var(--caramel);font-size:1.9rem;line-height:1}
body :is(.elementor,.tb-ui):not(#tb) .benefits :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.1rem;margin:13px 0 7px}
body :is(.elementor,.tb-ui):not(#tb) .benefits :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.88rem}
body :is(.elementor,.tb-ui):not(#tb) .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body :is(.elementor,.tb-ui):not(#tb) .service-card{padding:25px 22px;background:#fff;border:1px solid #f1e9e3}
body :is(.elementor,.tb-ui):not(#tb) .service-symbol{color:var(--caramel);font-size:1.7rem}
body :is(.elementor,.tb-ui):not(#tb) .service-card :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:21px 0 11px;font-size:1.25rem}
body :is(.elementor,.tb-ui):not(#tb) .service-card :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.86rem}
body :is(.elementor,.tb-ui):not(#tb) .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body :is(.elementor,.tb-ui):not(#tb) .case-card{position:relative;min-height:320px;background:var(--chocolate);overflow:hidden}
body :is(.elementor,.tb-ui):not(#tb) .case-card :is(img,div):where(img:not(.cdp-img > img),.cdp-img){width:100%;height:320px;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .case-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(34,26,20,.84),transparent 65%)}
body :is(.elementor,.tb-ui):not(#tb) .case-card .case-caption{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;color:#fff;font-size:.85rem;line-height:1.5}
body :is(.elementor,.tb-ui):not(#tb) .reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 70px;max-width:930px;margin:50px auto 0}
body :is(.elementor,.tb-ui):not(#tb) .reason{position:relative;padding-left:20px}
body :is(.elementor,.tb-ui):not(#tb) .reason::before{content:'•';position:absolute;left:0;color:var(--caramel)}
body :is(.elementor,.tb-ui):not(#tb) .reason :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.05rem;color:#fff;margin:0 0 7px}
body :is(.elementor,.tb-ui):not(#tb) .reason :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.84rem;margin:0}
body :is(.elementor,.tb-ui):not(#tb) .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .step-number{display:block;color:#dfc6b2;font:2.6rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .steps :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.12rem;margin:5px 0 8px}
body :is(.elementor,.tb-ui):not(#tb) .steps :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.87rem}
body :is(.elementor,.tb-ui):not(#tb) .story-page .story-split{grid-template-columns:.95fr 1.05fr}
body :is(.elementor,.tb-ui):not(#tb) .story-page .story-photo{height:610px}
body :is(.elementor,.tb-ui):not(#tb) .story-page .story-copy :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){font-size:clamp(2rem,3vw,3.2rem)}
body :is(.elementor,.tb-ui):not(#tb) .story-page .story-copy :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin-bottom:14px}
body :is(.elementor,.tb-ui):not(#tb) .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .principle::before{content:"";display:block;width:38px;height:1px;margin:0 auto 24px;background:var(--caramel)}
body :is(.elementor,.tb-ui):not(#tb) .principle :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.3rem}
body :is(.elementor,.tb-ui):not(#tb) .principle :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.9rem}
body :is(.elementor,.tb-ui):not(#tb) .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body :is(.elementor,.tb-ui):not(#tb) .gallery-card :is(img,div):where(img:not(.cdp-img > img),.cdp-img){width:100%;aspect-ratio:1.12;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .gallery-card :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:17px 0 8px;font-size:1.2rem}
body :is(.elementor,.tb-ui):not(#tb) .gallery-card :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.87rem}
body :is(.elementor,.tb-ui):not(#tb) .form-shell{width:min(100% - 48px,880px);margin-inline:auto}
body :is(.elementor,.tb-ui):not(#tb) .form-shell :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .form-intro{text-align:center;max-width:630px;margin:0 auto 35px}
body :is(.elementor,.tb-ui):not(#tb) .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}
body :is(.elementor,.tb-ui):not(#tb) .field{display:flex;flex-direction:column;gap:7px}
body :is(.elementor,.tb-ui):not(#tb) .field.full{grid-column:1/-1}
body :is(.elementor,.tb-ui):not(#tb) .field label{color:var(--ink);font-size:.83rem;font-weight:700}
body :is(.elementor,.tb-ui):not(#tb) .field input,body :is(.elementor,.tb-ui):not(#tb) .field select,body :is(.elementor,.tb-ui):not(#tb) .field textarea{width:100%;padding:12px 13px;background:#fff;border:1px solid #d8cbc1;border-radius:0;color:var(--chocolate);min-height:48px}
body :is(.elementor,.tb-ui):not(#tb) .field textarea{resize:vertical;min-height:125px}
body :is(.elementor,.tb-ui):not(#tb) .form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}
body :is(.elementor,.tb-ui):not(#tb) .form-help{font-size:.82rem;margin:0}
body :is(.elementor,.tb-ui):not(#tb) .result-box{display:none;margin-top:25px;padding:22px;border-left:3px solid var(--caramel);background:var(--cream)}
body :is(.elementor,.tb-ui):not(#tb) .result-box.visible{display:block}
body :is(.elementor,.tb-ui):not(#tb) .result-box :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin:0 0 8px}
body :is(.elementor,.tb-ui):not(#tb) .result-box pre{white-space:pre-wrap;font:inherit;color:var(--ink)}
body :is(.elementor,.tb-ui):not(#tb) .result-box .btn{margin-top:12px}
body :is(.elementor,.tb-ui):not(#tb) .order-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:36px;align-items:start}
body :is(.elementor,.tb-ui):not(#tb) .order-panel{padding:34px;background:#fff;border:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .order-panel :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){font-size:2rem}
body :is(.elementor,.tb-ui):not(#tb) .format-picker{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px}
body :is(.elementor,.tb-ui):not(#tb) .format-option{padding:11px 17px;border:1px solid #d4c7bd;background:#fff;color:var(--ink);font-size:.85rem}
body :is(.elementor,.tb-ui):not(#tb) .format-option.selected{background:var(--chocolate);color:#fff;border-color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .flavor-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
body :is(.elementor,.tb-ui):not(#tb) .flavor-option{display:flex;align-items:center;gap:11px;padding:9px;border:1px solid var(--line);background:#fff}
body :is(.elementor,.tb-ui):not(#tb) .flavor-option :is(img,div):where(img:not(.cdp-img > img),.cdp-img){width:58px;height:58px;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .flavor-option-name{font-size:.84rem;line-height:1.3;flex:1}
body :is(.elementor,.tb-ui):not(#tb) .qty-control{display:flex;align-items:center;gap:7px}
body :is(.elementor,.tb-ui):not(#tb) .qty-control button{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);background:var(--cream);color:var(--chocolate);line-height:1}
body :is(.elementor,.tb-ui):not(#tb) .qty-control :is(span,div):where(span,.cdp-span){min-width:15px;text-align:center;font-size:.86rem}
body :is(.elementor,.tb-ui):not(#tb) .selection-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
body :is(.elementor,.tb-ui):not(#tb) .selection-status :is(strong,div):where(strong,.cdp-strong){font:1.4rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .order-aside{position:sticky;top:110px;padding:28px;background:var(--cream)}
body :is(.elementor,.tb-ui):not(#tb) .order-aside :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){margin-bottom:15px}
body :is(.elementor,.tb-ui):not(#tb) .order-aside ul{padding-left:19px;font-size:.88rem}
body :is(.elementor,.tb-ui):not(#tb) .order-aside :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.85rem}
body :is(.elementor,.tb-ui):not(#tb) .order-aside .btn{width:100%;margin-top:9px}
body :is(.elementor,.tb-ui):not(#tb) .empty-cart{padding:50px;text-align:center;background:#fff;border:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .empty-cart :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){font-size:2rem}
body :is(.elementor,.tb-ui):not(#tb) .cart-items{display:grid;gap:15px}
body :is(.elementor,.tb-ui):not(#tb) .cart-line{border-bottom:1px solid var(--line);padding-bottom:14px}
body :is(.elementor,.tb-ui):not(#tb) .cart-line :is(h4,div):where(h4:not(.elementor-heading-title),.cdp-h4){font:1.15rem var(--font-serif);margin:0 0 3px}
body :is(.elementor,.tb-ui):not(#tb) .cart-line :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.78rem;margin:0 0 7px}
body :is(.elementor,.tb-ui):not(#tb) .cart-line-bottom{display:flex;align-items:center;justify-content:space-between}
body :is(.elementor,.tb-ui):not(#tb) .subtle-button{border:0;background:none;padding:3px;color:var(--caramel-text);text-decoration:underline;font-size:.78rem}
body :is(.elementor,.tb-ui):not(#tb) .cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-top:1px solid var(--chocolate);margin-top:15px}
body :is(.elementor,.tb-ui):not(#tb) .cart-total :is(strong,div):where(strong,.cdp-strong){font:1.5rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .cart-overlay{position:fixed;z-index:60;inset:0;background:rgba(22,18,15,.5);opacity:0;pointer-events:none;transition:opacity .25s}
body :is(.elementor,.tb-ui):not(#tb) .cart-overlay.open{opacity:1;pointer-events:auto}
body :is(.elementor,.tb-ui):not(#tb) .cart-drawer{position:fixed;z-index:61;top:0;right:0;bottom:0;width:min(100%,440px);padding:24px;background:var(--blush);box-shadow:-15px 0 45px rgba(0,0,0,.16);transform:translateX(100%);transition:transform .25s;overflow-y:auto}
body :is(.elementor,.tb-ui):not(#tb) .cart-drawer.open{transform:translateX(0)}
body :is(.elementor,.tb-ui):not(#tb) .drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}
body :is(.elementor,.tb-ui):not(#tb) .drawer-head :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){font-size:1.8rem;margin:0}
body :is(.elementor,.tb-ui):not(#tb) .drawer-empty{text-align:center;padding:55px 0}
body :is(.elementor,.tb-ui):not(#tb) .drawer-empty :is(p,div):where(p:not(.cdp-p > p),.cdp-p){margin-bottom:24px}
body :is(.elementor,.tb-ui):not(#tb) .page-content{max-width:850px;margin-inline:auto}
body :is(.elementor,.tb-ui):not(#tb) .page-content :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2){margin-top:38px;font-size:2rem}
body :is(.elementor,.tb-ui):not(#tb) .page-content :is(h2,div):where(h2:not(.elementor-heading-title),.cdp-h2):first-child{margin-top:0}
body :is(.elementor,.tb-ui):not(#tb) .page-content :is(p,div):where(p:not(.cdp-p > p),.cdp-p),body :is(.elementor,.tb-ui):not(#tb) .page-content li{color:var(--muted)}
body :is(.elementor,.tb-ui):not(#tb) .page-content ul{padding-left:22px}
body :is(.elementor,.tb-ui):not(#tb) .notice{padding:20px 23px;background:var(--cream);border-left:3px solid var(--caramel);font-size:.9rem}
body :is(.elementor,.tb-ui):not(#tb) .faq-list{border-top:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .faq-item{border-bottom:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .faq-item summary{cursor:pointer;list-style:none;padding:22px 30px 22px 0;font:1.15rem var(--font-serif);position:relative}
body :is(.elementor,.tb-ui):not(#tb) .faq-item summary::-webkit-details-marker{display:none}
body :is(.elementor,.tb-ui):not(#tb) .faq-item summary::after{content:'+';position:absolute;right:0;top:20px;font-family:var(--font-sans)}
body :is(.elementor,.tb-ui):not(#tb) .faq-item[open] summary::after{content:'−'}
body :is(.elementor,.tb-ui):not(#tb) .faq-item :is(p,div):where(p:not(.cdp-p > p),.cdp-p){padding-right:30px}
body :is(.elementor,.tb-ui):not(#tb) .site-footer{background:var(--chocolate);color:#fff;padding:64px 0 18px}
body :is(.elementor,.tb-ui):not(#tb) .footer-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:90px}
body :is(.elementor,.tb-ui):not(#tb) .footer-brand .brand-name{color:var(--caramel-text);font-size:1.35rem}
body :is(.elementor,.tb-ui):not(#tb) .footer-brand .brand-sub{color:#cabeb5}
body :is(.elementor,.tb-ui):not(#tb) .footer-col :is(h4,div):where(h4:not(.elementor-heading-title),.cdp-h4){color:var(--caramel-text);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}
body :is(.elementor,.tb-ui):not(#tb) .footer-col :is(p,div):where(p:not(.cdp-p > p),.cdp-p){color:#c8c0b8;font-size:.88rem;max-width:300px;margin:16px 0 0}
body :is(.elementor,.tb-ui):not(#tb) .footer-col a:not(.elementor-button){display:block;color:#cbc2b9;font-size:.86rem;margin:0 0 10px}
body :is(.elementor,.tb-ui):not(#tb) .footer-col a:hover{color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .footer-col .btn{margin-top:16px;border-color:var(--caramel);color:var(--caramel-text)}
body :is(.elementor,.tb-ui):not(#tb) .footer-col .btn:hover{color:white}
body :is(.elementor,.tb-ui):not(#tb) .footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:52px;color:#b8aea5;font-size:.72rem}
body :is(.elementor,.tb-ui):not(#tb) .footer-bottom a{margin-left:17px}
body :is(.elementor,.tb-ui):not(#tb) .footer-bottom a:hover{color:#fff}
body :is(.elementor,.tb-ui):not(#tb) .toast{position:fixed;z-index:100;left:50%;bottom:25px;transform:translate(-50%,25px);padding:11px 18px;background:var(--chocolate);color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:.85rem}
body :is(.elementor,.tb-ui):not(#tb) .toast.show{opacity:1;transform:translate(-50%,0)}
/* ---- composants du site (hors maquette convertie) ---- */
/* contraste : le caramel de texte s'éclaircit sur les fonds sombres */
body :is(.elementor,.tb-ui):not(#tb) :is(.section-dark,.site-footer,.price-card.featured,.hero,.occasion-card){--caramel-text:#d1ab86}
/* Elementor réserve ::before à ses calques : on rend à ceux de la maquette leur place */
body :is(.elementor,.tb-ui):not(#tb) .principle::before{position:static;left:auto;top:auto}
body :is(.elementor,.tb-ui):not(#tb) .reason::before{width:auto;height:auto;top:0}
body :is(.elementor,.tb-ui):not(#tb) .hero::before{width:auto;height:auto;left:0;top:0;opacity:1}
/* boutons : la zone cliquable couvre tout le bouton, le focus reste visible */
body :is(.elementor,.tb-ui):not(#tb) .cdp-btn > .elementor-button:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
body :is(.elementor,.tb-ui):not(#tb) .cdp-btn .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:center;gap:10px}
body :is(.elementor,.tb-ui):not(#tb) a.btn{text-decoration:none}
/* carte produit : toute la carte est le lien */
body :is(.elementor,.tb-ui):not(#tb) a.product-card{color:inherit;text-decoration:none}
body :is(.elementor,.tb-ui):not(#tb) a.product-card:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
/* formulaires */
body :is(.elementor,.tb-ui):not(#tb) .field :is(input,textarea,select){height:auto;box-shadow:none;font-size:inherit;line-height:inherit;margin:0;max-width:none}
body :is(.elementor,.tb-ui):not(#tb) .field textarea{height:auto}
body :is(.elementor,.tb-ui):not(#tb) .tb-piege{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
body :is(.elementor,.tb-ui):not(#tb) .form-erreur{margin:0 0 20px;padding:14px 18px;border-left:3px solid var(--rose);background:#fff;color:var(--ink);font-size:.9rem}
body :is(.elementor,.tb-ui):not(#tb) .form-help a{color:var(--caramel-text);text-decoration:underline}
body :is(.elementor,.tb-ui):not(#tb) .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* pages locales : renvoi vers les autres zones, sous la FAQ */
body :is(.elementor,.tb-ui):not(#tb) .tb-zones{margin:28px 0 0;text-align:center;font-size:.9rem}
body :is(.elementor,.tb-ui):not(#tb) :is(.tb-zones,.faq-rep,.story-copy) a:not(.elementor-button){color:var(--caramel-text);text-decoration:underline}
/* page Recettes */
body :is(.elementor,.tb-ui):not(#tb) .recette :is(h3,.cdp-h3){margin:30px 0 12px;font-size:1.35rem}
body :is(.elementor,.tb-ui):not(#tb) .recette :is(ul,ol){margin:0 0 8px;padding-left:22px}
body :is(.elementor,.tb-ui):not(#tb) .recette li{margin-bottom:8px;line-height:1.6}
body :is(.elementor,.tb-ui):not(#tb) .recette .notice{margin:22px 0 0}
body :is(.elementor,.tb-ui):not(#tb) .recette-saveur{margin:26px 0 18px}
body :is(.elementor,.tb-ui):not(#tb) .recette-saveur a{color:var(--caramel-text);text-decoration:underline}
/* panier et configurateur */
body :is(.elementor,.tb-ui):not(#tb) .format-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;cursor:pointer}
body :is(.elementor,.tb-ui):not(#tb) .format-nom{font:1.05rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .format-detail{font-size:.8rem;opacity:.85}
body :is(.elementor,.tb-ui):not(#tb) .cart-line-titre{display:block;font:1.15rem var(--font-serif);margin:0 0 3px}
body :is(.elementor,.tb-ui):not(#tb) .flavor-vide{display:block;width:58px;height:58px;background:var(--cream)}
body :is(.elementor,.tb-ui):not(#tb) .qty-control button{padding:0}
body :is(.elementor,.tb-ui):not(#tb) button.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
body :is(.elementor,.tb-ui):not(#tb) .cart-drawer .btn{width:100%}
body :is(.elementor,.tb-ui):not(#tb) .cart-drawer[aria-hidden="true"]{visibility:hidden}
body :is(.elementor,.tb-ui):not(#tb) .cart-drawer{transition:transform .25s,visibility .25s}
body :is(.elementor,.tb-ui):not(#tb) .finaliser{max-width:640px;margin-inline:auto;padding:28px;background:#fff;border:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .finaliser-vide{margin:0;text-align:center}
body :is(.elementor,.tb-ui):not(#tb) .finaliser .form-actions{justify-content:space-between}
body :is(.elementor,.tb-ui):not(#tb) .icon-btn{cursor:pointer}
body.admin-bar:not(#tb) .tb-ui .cart-drawer{top:32px}
/* questions fréquentes : accordéon natif d'Elementor habillé comme la maquette */
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion{display:block}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item{display:block;border-bottom:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item-title{display:block;position:relative;cursor:pointer;list-style:none;min-height:0;padding:22px 30px 22px 0;border:0;background:none;color:inherit;font:1.15rem var(--font-serif)}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item-title::-webkit-details-marker{display:none}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq :is(.e-n-accordion-item-title-header,.e-n-accordion-item-title-text){display:block;font:inherit;color:inherit}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item-title-icon{display:none}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item-title::after{content:'+';position:absolute;right:0;top:20px;font-family:var(--font-sans)}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after{content:'−'}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .e-n-accordion-item-title:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .faq-rep{border:0;background:none}
body :is(.elementor,.tb-ui):not(#tb) .cdp-faq .faq-rep .cdp-p{padding-right:30px}
/* en-tête collant : porté par l'enveloppe du constructeur de thème, qui est le bloc englobant */
body:not(#tb) .xpro-theme-builder-header{position:sticky;top:0;z-index:30}
body.admin-bar:not(#tb) .xpro-theme-builder-header{top:32px}
body :is(.elementor,.tb-ui):not(#tb) .site-header{position:relative;top:auto}
html{scroll-padding-top:96px}
/* pages panier, commande et compte (rendues par le thème) : même charte que le reste du site */
body.tb-site:not(#tb){--theme-palette-color-1:#473e35;--theme-palette-color-2:#5d5044;--theme-palette-color-3:#4d453f;--theme-palette-color-4:#473e35;--theme-text-color:#4d453f;--theme-headings-color:#4d453f;--theme-link-initial-color:#8c6742;--theme-link-hover-color:#473e35;--theme-button-background-initial-color:#473e35;--theme-button-background-hover-color:#5d5044;--theme-button-text-initial-color:#fff;--theme-button-text-hover-color:#fff;--theme-button-border-radius:0px;--theme-form-field-border-radius:0px;--theme-form-field-border-initial-color:#d8cbc1;--theme-form-field-border-focus-color:#b48a61;--theme-border-color:#e8dfd8;--theme-font-family:'Lato',Arial,sans-serif}
body.tb-site:not(#tb) :is(.entry-title,.page-title,.woocommerce h2,.woocommerce h3,.woocommerce-order h2,.cart_totals h2,#order_review_heading){font-family:var(--font-serif);font-weight:400;letter-spacing:0;color:#4d453f}
body.tb-site:not(#tb) :is(.entry-title,.page-title){font-size:clamp(2.25rem,3.2vw,3.6rem);line-height:1.23}
body.tb-site:not(#tb) .woocommerce :is(.button,button[type=submit]){font-size:.875rem;font-weight:700;letter-spacing:.08em;min-height:48px;border-radius:0}
body.tb-site:not(#tb) .woocommerce-info,body.tb-site:not(#tb) .woocommerce-message{border-radius:0;background:#f9f1eb;color:#4d453f}
body.tb-site:not(#tb) .woocommerce dl.variation{font-size:.85rem;color:#6e6e6e}
/* ---- adaptation aux écrans : toujours en dernier ---- */
@media(max-width:1050px){
body :is(.elementor,.tb-ui):not(#tb) .nav{gap:13px}
body :is(.elementor,.tb-ui):not(#tb) .nav a{font-size:.75rem}
body :is(.elementor,.tb-ui):not(#tb) .header-inner{gap:15px}
body :is(.elementor,.tb-ui):not(#tb) .brand-name{font-size:1.13rem}
body :is(.elementor,.tb-ui):not(#tb) .product-grid{gap:16px}
body :is(.elementor,.tb-ui):not(#tb) .footer-grid{gap:50px}
}
@media(max-width:1100px){
body :is(.elementor,.tb-ui):not(#tb) .container{width:min(100% - 36px,1220px)}
body :is(.elementor,.tb-ui):not(#tb) .header-inner{height:70px}
body :is(.elementor,.tb-ui):not(#tb) .menu-btn{display:grid}
body :is(.elementor,.tb-ui):not(#tb) .nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 18px 20px;background:var(--blush);border-bottom:1px solid var(--line);box-shadow:0 14px 25px rgba(0,0,0,.07)}
body :is(.elementor,.tb-ui):not(#tb) .nav.open{display:flex}
body :is(.elementor,.tb-ui):not(#tb) .nav a{font-size:.95rem;padding:10px 6px}
body :is(.elementor,.tb-ui):not(#tb) .header-actions{margin-left:auto}
body :is(.elementor,.tb-ui):not(#tb) .header-order{display:none}
body :is(.elementor,.tb-ui):not(#tb) .section{padding:75px 0}
body :is(.elementor,.tb-ui):not(#tb) .product-grid{grid-template-columns:repeat(2,1fr)}
body :is(.elementor,.tb-ui):not(#tb) .story-split,body :is(.elementor,.tb-ui):not(#tb) .story-page .story-split{grid-template-columns:1fr;gap:35px}
body :is(.elementor,.tb-ui):not(#tb) .story-photo,body :is(.elementor,.tb-ui):not(#tb) .story-page .story-photo{height:460px}
body :is(.elementor,.tb-ui):not(#tb) .occasion-grid,body :is(.elementor,.tb-ui):not(#tb) .quote-grid,body :is(.elementor,.tb-ui):not(#tb) .pricing-grid,body :is(.elementor,.tb-ui):not(#tb) .case-grid,body :is(.elementor,.tb-ui):not(#tb) .gallery-grid{grid-template-columns:repeat(2,1fr)}
body :is(.elementor,.tb-ui):not(#tb) .occasion-grid a:last-child,body :is(.elementor,.tb-ui):not(#tb) .case-grid .case-card:last-child,body :is(.elementor,.tb-ui):not(#tb) .gallery-grid .gallery-card:last-child{grid-column:1/-1}
body :is(.elementor,.tb-ui):not(#tb) .service-grid,body :is(.elementor,.tb-ui):not(#tb) .values-grid{grid-template-columns:repeat(2,1fr)}
body :is(.elementor,.tb-ui):not(#tb) .order-layout{grid-template-columns:1fr}
body :is(.elementor,.tb-ui):not(#tb) .order-aside{position:static}
body :is(.elementor,.tb-ui):not(#tb) .footer-grid{grid-template-columns:1fr 1fr;gap:38px}
body :is(.elementor,.tb-ui):not(#tb) .footer-col:last-child{grid-column:1/-1}
}
@media(max-width:560px){
body:not(#tb){font-size:15px}
body :is(.elementor,.tb-ui):not(#tb) .container,body :is(.elementor,.tb-ui):not(#tb) .form-shell{width:min(100% - 30px,1220px)}
body :is(.elementor,.tb-ui):not(#tb) .section{padding:64px 0}
body :is(.elementor,.tb-ui):not(#tb) .section-heading{margin-bottom:34px}
body :is(.elementor,.tb-ui):not(#tb) .hero{min-height:390px}
body :is(.elementor,.tb-ui):not(#tb) .hero-home{min-height:560px}
body :is(.elementor,.tb-ui):not(#tb) .hero-content{padding:50px 0}
body :is(.elementor,.tb-ui):not(#tb) .hero :is(h1,div):where(h1:not(.elementor-heading-title),.cdp-h1){font-size:clamp(2.7rem,12vw,4.1rem)}
body :is(.elementor,.tb-ui):not(#tb) .hero :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.98rem}
body :is(.elementor,.tb-ui):not(#tb) .hero-actions{flex-direction:column;align-items:center}
body :is(.elementor,.tb-ui):not(#tb) .hero-actions .btn{width:min(100%,250px)}
body :is(.elementor,.tb-ui):not(#tb) .product-grid{gap:11px}
body :is(.elementor,.tb-ui):not(#tb) .product-body{padding:12px 12px 15px}
body :is(.elementor,.tb-ui):not(#tb) .product-body :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1rem}
body :is(.elementor,.tb-ui):not(#tb) .product-body :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.77rem}
body :is(.elementor,.tb-ui):not(#tb) .product-badge{top:7px;left:7px;font-size:.52rem;padding:4px 6px}
body :is(.elementor,.tb-ui):not(#tb) .story-photo,body :is(.elementor,.tb-ui):not(#tb) .story-page .story-photo{height:360px}
body :is(.elementor,.tb-ui):not(#tb) .photo-note{right:0}
body :is(.elementor,.tb-ui):not(#tb) .occasion-grid,body :is(.elementor,.tb-ui):not(#tb) .quote-grid,body :is(.elementor,.tb-ui):not(#tb) .pricing-grid,body :is(.elementor,.tb-ui):not(#tb) .case-grid,body :is(.elementor,.tb-ui):not(#tb) .gallery-grid,body :is(.elementor,.tb-ui):not(#tb) .benefits,body :is(.elementor,.tb-ui):not(#tb) .steps,body :is(.elementor,.tb-ui):not(#tb) .principles,body :is(.elementor,.tb-ui):not(#tb) .form-grid{grid-template-columns:1fr}
body :is(.elementor,.tb-ui):not(#tb) .occasion-grid a:last-child,body :is(.elementor,.tb-ui):not(#tb) .case-grid .case-card:last-child,body :is(.elementor,.tb-ui):not(#tb) .gallery-grid .gallery-card:last-child{grid-column:auto}
body :is(.elementor,.tb-ui):not(#tb) .occasion-card{min-height:260px}
body :is(.elementor,.tb-ui):not(#tb) .pricing-grid{gap:28px}
body :is(.elementor,.tb-ui):not(#tb) .service-grid,body :is(.elementor,.tb-ui):not(#tb) .values-grid{gap:12px}
body :is(.elementor,.tb-ui):not(#tb) .service-card{padding:20px 15px}
body :is(.elementor,.tb-ui):not(#tb) .service-card :is(h3,div):where(h3:not(.elementor-heading-title),.cdp-h3){font-size:1.07rem}
body :is(.elementor,.tb-ui):not(#tb) .service-card :is(p,div):where(p:not(.cdp-p > p),.cdp-p){font-size:.8rem}
body :is(.elementor,.tb-ui):not(#tb) .values-grid{grid-template-columns:repeat(2,1fr)}
body :is(.elementor,.tb-ui):not(#tb) .principles{gap:30px}
body :is(.elementor,.tb-ui):not(#tb) .reasons-grid{grid-template-columns:1fr;gap:20px}
body :is(.elementor,.tb-ui):not(#tb) .form-grid .field.full{grid-column:auto}
body :is(.elementor,.tb-ui):not(#tb) .flavor-picker{grid-template-columns:1fr}
body :is(.elementor,.tb-ui):not(#tb) .order-panel{padding:22px 16px}
body :is(.elementor,.tb-ui):not(#tb) .footer-grid{grid-template-columns:1fr;gap:30px}
body :is(.elementor,.tb-ui):not(#tb) .footer-col:last-child{grid-column:auto}
body :is(.elementor,.tb-ui):not(#tb) .footer-bottom{flex-direction:column}
body :is(.elementor,.tb-ui):not(#tb) .footer-bottom a{margin-left:0;margin-right:15px}
body :is(.elementor,.tb-ui):not(#tb) .selection-status{align-items:flex-start;flex-direction:column}
body :is(.elementor,.tb-ui):not(#tb) .selection-status .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
body :is(.elementor,.tb-ui):not(#tb) *,body :is(.elementor,.tb-ui):not(#tb) *::before,body :is(.elementor,.tb-ui):not(#tb) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body :is(.elementor,.tb-ui):not(#tb) .footer-col .brand{display:flex;flex-direction:column}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(max-width:782px){body.admin-bar:not(#tb) .tb-ui .cart-drawer{top:46px}
body.admin-bar:not(#tb) .xpro-theme-builder-header{top:46px}}
@media(max-width:600px){body.admin-bar:not(#tb) .xpro-theme-builder-header{top:0}}
@media(max-width:560px){
body :is(.elementor,.tb-ui):not(#tb) .qty-control button{width:36px;height:36px}
body :is(.elementor,.tb-ui):not(#tb) .finaliser{padding:20px 16px}
}
/* « Commander » : le bouton suffit sur ordinateur ; le lien du menu reste sur téléphone et tablette, où le bouton est masqué */
@media(min-width:1101px){body :is(.elementor,.tb-ui):not(#tb) .nav a[href$="/commander/"]{display:none}}
/* Pied de page : réseaux sociaux en icônes */
body :is(.elementor,.tb-ui):not(#tb) .tb-social{display:flex;gap:12px;margin-top:4px}
body :is(.elementor,.tb-ui):not(#tb) .footer-col .tb-social a:not(.elementor-button){display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#cbc2b9;transition:color .2s,border-color .2s,background-color .2s}
body :is(.elementor,.tb-ui):not(#tb) .footer-col .tb-social a:not(.elementor-button):hover,body :is(.elementor,.tb-ui):not(#tb) .footer-col .tb-social a:not(.elementor-button):focus-visible{color:#fff;border-color:#d1ab86;background-color:rgba(209,171,134,.14)}
body :is(.elementor,.tb-ui):not(#tb) .tb-social svg{width:18px;height:18px;fill:currentColor}
/* Paragraphes multiples dans un même bloc texte */
body :is(.elementor,.tb-ui):not(#tb) .cdp-p p+p{margin-top:1em}

/* Cartes madeleines : titres et textes alignés d'une carte à l'autre sur la même ligne */
body :is(.elementor,.tb-ui):not(#tb) .product-grid{row-gap:0}
body :is(.elementor,.tb-ui):not(#tb) .product-grid>.product-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;margin-bottom:26px;align-content:start}
body :is(.elementor,.tb-ui):not(#tb) .product-grid>.product-card>.product-body{grid-row:span 2;display:grid;grid-template-rows:subgrid;row-gap:0;align-content:start}
body :is(.elementor,.tb-ui):not(#tb) .product-grid>.product-card>.product-body>.cdp-h3{align-self:start}
@media(max-width:1050px){body :is(.elementor,.tb-ui):not(#tb) .product-grid>.product-card{margin-bottom:16px}}
@media(max-width:560px){body :is(.elementor,.tb-ui):not(#tb) .product-grid>.product-card{margin-bottom:11px}}

/* ==========================================================================
   Fiche saveur (/nos-madeleines/<saveur>/)
   ========================================================================== */
body :is(.elementor,.tb-ui):not(#tb).fiche-saveur .section{padding:clamp(28px,4vw,48px) 0 clamp(60px,8vw,100px)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-fil{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(22px,3vw,34px);font-size:.8rem;letter-spacing:.06em;color:var(--muted)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-fil a{color:var(--caramel-text);text-decoration:none}
body :is(.elementor,.tb-ui):not(#tb) .fiche-fil a:hover{color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:start}
body :is(.elementor,.tb-ui):not(#tb) .fiche-photo{position:relative;margin:0;overflow:hidden;background:#ece3dc;aspect-ratio:1/1.08}
body :is(.elementor,.tb-ui):not(#tb) .fiche-photo img{display:block;width:100%;height:100%;object-fit:cover}
body :is(.elementor,.tb-ui):not(#tb) .fiche-texte{padding-top:clamp(0px,1.5vw,18px)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-texte h1{margin:12px 0 18px;font-size:clamp(2.1rem,3.6vw,3.3rem);line-height:1.12}
body :is(.elementor,.tb-ui):not(#tb) .fiche-intro{margin:0 0 30px;font-size:1.05rem;line-height:1.75;color:var(--ink)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-infos{margin:0 0 34px;border-top:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-info{padding:18px 0;border-bottom:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-info dt{margin:0 0 6px;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--caramel-text)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-info dd{margin:0;font-size:.93rem;line-height:1.7;color:var(--ink)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-info-tb_allergenes dd{font-weight:700;color:var(--chocolate)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
body :is(.elementor,.tb-ui):not(#tb) .fiche-retour{font-size:.9rem;color:var(--chocolate);text-decoration:none;border-bottom:1px solid var(--caramel-light);padding-bottom:2px}
body :is(.elementor,.tb-ui):not(#tb) .fiche-retour:hover{color:var(--caramel-text)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(50px,7vw,80px);padding-top:28px;border-top:1px solid var(--line)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins a{font-family:var(--font-serif);font-size:1.15rem;color:var(--chocolate);text-decoration:none}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins a span{display:block;margin-bottom:6px;font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--caramel-text)}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins .fiche-prec span::before{content:"← "}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins .fiche-suiv{text-align:right}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins .fiche-suiv span::after{content:" →"}
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins a:hover{color:var(--caramel-text)}
@media(max-width:900px){
body :is(.elementor,.tb-ui):not(#tb) .fiche-grid{grid-template-columns:1fr;gap:28px}
body :is(.elementor,.tb-ui):not(#tb) .fiche-photo{aspect-ratio:1/0.9}
}
@media(max-width:560px){
body :is(.elementor,.tb-ui):not(#tb) .fiche-voisins a{font-size:1rem}
body :is(.elementor,.tb-ui):not(#tb) .fiche-actions .btn{width:100%;text-align:center}
}

/* Entreprises : chaque photo « Nos réalisations » mène au formulaire de devis */
body :is(.elementor,.tb-ui):not(#tb) a.case-card{display:block;color:#fff;text-decoration:none}
body :is(.elementor,.tb-ui):not(#tb) a.case-card :is(img,div):where(img:not(.cdp-img > img),.cdp-img){transition:transform .6s}
body :is(.elementor,.tb-ui):not(#tb) a.case-card:hover :is(img,div):where(img:not(.cdp-img > img),.cdp-img){transform:scale(1.04)}
body :is(.elementor,.tb-ui):not(#tb) a.case-card .case-caption::after{content:"Demander un devis →";display:block;margin-top:8px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--caramel-light)}
body :is(.elementor,.tb-ui):not(#tb) a.case-card:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
#devis{scroll-margin-top:90px}
