/* ===== Carreleur Draguignan — design system ===== */
:root{
  --marine:#103A6B; --marine-d:#0c2c50; --anthra:#2E3238; --bronze:#A88654; --bronze-d:#8f6f41;
  --creme:#F3F1EC; --pierre:#D8C8B2; --pierre-l:#ECE5D8; --gris:#C6C4BF; --ardoise:#3F4042;
  --txt:#2E3238; --txt-soft:#55585c; --line:#e3ddd1; --white:#fff;
  --radius:8px; --radius-lg:18px; --maxw:1180px; --shadow:0 18px 48px rgba(16,58,107,.10);
  --shadow-s:0 8px 24px rgba(16,58,107,.08);
  --ff-title:"Fraunces",Georgia,serif; --ff-body:"Hanken Grotesk",system-ui,sans-serif;
}
*{box-sizing:border-box}
html.cd-js .cd-reveal{opacity:0;transform:translateY(26px)}
html.cd-js .cd-reveal.cd-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
body.cd{margin:0;font-family:var(--ff-body);color:var(--txt);background:var(--creme);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
body.cd img{max-width:100%;height:auto;display:block}
.cd-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
body.cd a{color:var(--marine);text-decoration:none}
body.cd h1,body.cd h2,body.cd h3{font-family:var(--ff-title);color:var(--marine);line-height:1.12;font-weight:600;letter-spacing:-.01em;margin:0 0 .5em}
body.cd h1{font-size:clamp(2rem,4.6vw,3.35rem);font-weight:600}
body.cd h2{font-size:clamp(1.55rem,3vw,2.3rem)}
body.cd h3{font-size:1.25rem}
body.cd p{margin:0 0 1.1em}
.cd-eyebrow{display:inline-block;font-family:var(--ff-body);font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-d);margin-bottom:.6em}
.cd-lead{font-size:1.18rem;color:var(--txt-soft)}

/* ===== Buttons ===== */
.cd-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--ff-body);font-weight:700;font-size:1rem;padding:14px 26px;border-radius:var(--radius);cursor:pointer;border:2px solid transparent;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}
.cd-btn svg{width:19px;height:19px;flex:0 0 auto}
.cd-btn-primary{background:var(--bronze);color:#fff;box-shadow:0 10px 22px rgba(168,134,84,.32)}
.cd-btn-primary:hover{background:var(--bronze-d);transform:translateY(-2px);color:#fff}
.cd-btn-ghost{background:transparent;color:var(--marine);border-color:rgba(16,58,107,.28)}
.cd-btn-ghost:hover{background:var(--marine);color:#fff;border-color:var(--marine)}
.cd-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* ===== Header glassmorphism flottant ===== */
.cd-header{position:fixed;top:14px;left:0;right:0;z-index:80;display:flex;justify-content:center;pointer-events:none}
.cd-headinner{pointer-events:auto;width:calc(100% - 36px);max-width:var(--maxw);display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:10px 16px 10px 20px;border-radius:16px;background:rgba(243,241,236,.72);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 34px rgba(16,58,107,.14)}
.cd-logo img{height:46px!important;width:auto!important}
.cd-nav{display:flex;align-items:center;gap:22px}
.cd-nav a{font-weight:600;font-size:.96rem;color:var(--anthra);position:relative}
.cd-nav a:hover{color:var(--marine)}
.cd-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--bronze);transition:right .25s}
.cd-nav a:hover::after{right:0}
.cd-head-cta{display:flex;align-items:center;gap:12px}
.cd-tel-mini{display:inline-flex;align-items:center;gap:7px;font-weight:800;color:var(--marine);font-size:1.02rem}
.cd-tel-mini svg{width:18px;height:18px}
.cd-burger{display:none;background:none;border:0;cursor:pointer;padding:6px;color:var(--marine)}
.cd-burger svg{width:28px;height:28px}
body.cd{padding-top:0}
.cd-mnav{position:fixed;inset:0 0 0 auto;width:min(86vw,340px);background:var(--marine);z-index:90;transform:translateX(100%);transition:transform .3s;padding:84px 28px 28px;display:flex;flex-direction:column;gap:6px}
.cd-mnav.open{transform:none}
.cd-mnav a{color:#fff;font-size:1.12rem;font-weight:600;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cd-mnav .cd-btn{margin-top:18px;justify-content:center}
.cd-mclose{position:absolute;top:22px;right:22px;background:none;border:0;color:#fff;cursor:pointer}
.cd-mclose svg{width:30px;height:30px}
.cd-ovl{position:fixed;inset:0;background:rgba(12,28,50,.5);z-index:85;opacity:0;visibility:hidden;transition:.3s}
.cd-ovl.show{opacity:1;visibility:visible}

/* ===== Hero ===== */
.cd-hero{position:relative;padding:150px 0 90px;overflow:hidden;background:var(--marine)}
.cd-hero-bg{position:absolute;inset:0;z-index:0}
.cd-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.cd-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(12,28,50,.92) 0%,rgba(16,58,107,.82) 42%,rgba(168,134,84,.42) 100%)}
.cd-hero .cd-wrap{position:relative;z-index:2}
.cd-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.cd-hero h1{color:#fff}
.cd-hero h1 span{color:var(--pierre)}
.cd-hero .cd-eyebrow{color:var(--pierre)}
.cd-hero .cd-lead{color:rgba(255,255,255,.9)}
.cd-hero-media img{border-radius:var(--radius-lg);box-shadow:0 26px 60px rgba(0,0,0,.4);width:100%;aspect-ratio:1/1;object-fit:cover}
.cd-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.cd-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:600;font-size:.86rem;padding:8px 14px;border-radius:40px}
.cd-badge svg{width:17px;height:17px;color:var(--pierre)}

/* ===== Sections ===== */
.cd-section{padding:74px 0}
.cd-section.alt{background:var(--pierre-l)}
.cd-section.marine{background:var(--marine);color:#fff}
.cd-section.marine h2,.cd-section.marine h3{color:#fff}
.cd-sec-head{margin-bottom:38px;max-width:760px}
.cd-sec-head.center{margin:0 auto 40px;text-align:center}
.cd-prose{max-width:860px}
.cd-prose h2{margin-top:1.2em}
.cd-prose ul{padding-left:1.1em}
.cd-prose li{margin-bottom:.5em}
.cd-divider{height:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34'%3E%3Cpath d='M0 34V8c200 16 400 16 600 0s400-16 600 0v26z' fill='%23ECE5D8'/%3E%3C/svg%3E") no-repeat center/cover}

/* ===== Grids / cards ===== */
.cd-grid{display:grid;gap:22px}
.cd-grid.c3{grid-template-columns:repeat(3,1fr)}
.cd-grid.c2{grid-template-columns:repeat(2,1fr)}
.cd-grid.c4{grid-template-columns:repeat(4,1fr)}
.cd-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-s);transition:transform .2s,box-shadow .2s}
.cd-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cd-ico{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--marine),var(--bronze));color:#fff;margin-bottom:16px}
.cd-ico svg{width:26px;height:26px}
.cd-card h3{margin-bottom:.4em}
.cd-card p{margin:0;color:var(--txt-soft);font-size:.98rem}

/* ===== Split image + text ===== */
.cd-split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.cd-split.rev .cd-split-media{order:2}
.cd-split-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
.cd-checks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.cd-checks li{display:flex;gap:11px;align-items:flex-start}
.cd-checks svg{width:21px;height:21px;color:var(--bronze);flex:0 0 auto;margin-top:3px}

/* ===== Steps ===== */
.cd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.cd-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 22px 24px;box-shadow:var(--shadow-s)}
.cd-step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:22px;width:38px;height:38px;border-radius:10px;background:var(--bronze);color:#fff;font-family:var(--ff-title);font-weight:600;display:grid;place-items:center;font-size:1.1rem}
.cd-step h3{margin:.3em 0 .3em;font-size:1.12rem}
.cd-step p{margin:0;color:var(--txt-soft);font-size:.95rem}

/* ===== FAQ ===== */
.cd-faq{max-width:840px;margin:0 auto;display:grid;gap:12px}
.cd-q{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cd-q summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--marine);font-family:var(--ff-title);list-style:none;display:flex;justify-content:space-between;gap:12px}
.cd-q summary::-webkit-details-marker{display:none}
.cd-q summary::after{content:"+";font-size:1.5rem;color:var(--bronze);line-height:1}
.cd-q[open] summary::after{content:"–"}
.cd-q-body{padding:0 22px 18px;color:var(--txt-soft)}
.cd-q-body p{margin:0}

/* ===== Quotes ===== */
.cd-quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 24px;box-shadow:var(--shadow-s)}
.cd-stars{color:var(--bronze);letter-spacing:2px;margin-bottom:8px}
.cd-quote p{font-style:italic;color:var(--anthra)}
.cd-who{display:flex;align-items:center;gap:12px;margin-top:14px}
.cd-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--marine),var(--bronze));color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--ff-title)}
.cd-who b{color:var(--marine)}
.cd-who span{font-size:.9rem;color:var(--txt-soft)}

/* ===== Mesh pills ===== */
.cd-links{display:flex;flex-wrap:wrap;gap:11px}
.cd-pill{background:#fff;border:1px solid var(--line);border-radius:40px;padding:9px 18px;font-weight:600;font-size:.94rem;color:var(--marine);transition:.2s}
.cd-pill:hover{background:var(--marine);color:#fff;border-color:var(--marine)}

/* ===== Band CTA ===== */
.cd-band{background:linear-gradient(120deg,var(--marine),var(--marine-d));border-radius:var(--radius-lg);padding:46px 42px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cd-band::before{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(168,134,84,.22)}
.cd-band h2{color:#fff;position:relative}
.cd-band p{color:rgba(255,255,255,.86);position:relative;max-width:640px}
.cd-band .cd-cta-row{position:relative}

/* ===== Form ===== */
.cd-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow)}
.cd-form h3{margin-top:0}
.cd-field{margin-bottom:14px}
.cd-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px;color:var(--anthra)}
.cd-field input,.cd-field select,.cd-field textarea{width:100%;padding:12px 14px;border:1px solid var(--gris);border-radius:var(--radius);font-family:inherit;font-size:1rem;background:var(--creme)}
.cd-field input:focus,.cd-field select:focus,.cd-field textarea:focus{outline:none;border-color:var(--marine);box-shadow:0 0 0 3px rgba(16,58,107,.12)}
.cd-consent{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--txt-soft);margin:6px 0 16px}
.cd-consent input{margin-top:4px;flex:0 0 auto}
.cd-form button{width:100%;justify-content:center}
.cd-form-note{font-size:.8rem;color:var(--txt-soft);margin:12px 0 0;text-align:center}
.cd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cd-ok{background:#e8f3ec;border:1px solid #b6dcc2;color:#1f6b3a;padding:14px 16px;border-radius:var(--radius);margin-bottom:16px;font-weight:600}
.cd-tel{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:var(--marine)}
.cd-tel svg{width:20px;height:20px}

/* ===== Simulateur ===== */
.cd-sim{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.cd-sim-grid{display:grid;grid-template-columns:1.1fr .9fr}
.cd-sim-card{padding:30px}
.cd-sim-field{margin-bottom:20px}
.cd-sim-field>label{display:block;font-weight:700;margin-bottom:8px;color:var(--marine)}
.cd-sim-input,.cd-sim-select{width:100%;padding:13px 14px;border:1px solid var(--gris);border-radius:var(--radius);font-family:inherit;font-size:1rem;background:var(--creme)}
.cd-sim-warn{color:var(--bronze-d);font-size:.85rem;margin:6px 0 0;min-height:1px}
.cd-sim-opts{display:grid;gap:10px}
.cd-sim-opt{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:.18s}
.cd-sim-opt.is-on{border-color:var(--marine);background:rgba(16,58,107,.05)}
.cd-sim-opt input{margin-top:3px}
.cd-sim-opt b{display:block;color:var(--anthra);font-size:.97rem}
.cd-sim-opt span span{display:block;font-size:.84rem;color:var(--txt-soft);font-weight:400}
.cd-sim-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer}
.cd-sim-check input{margin-top:3px}
.cd-sim-check b{display:block;color:var(--anthra);font-size:.97rem}
.cd-sim-check span span{display:block;font-size:.84rem;color:var(--txt-soft);font-weight:400}
.cd-sim-result{background:linear-gradient(150deg,var(--marine),var(--marine-d));color:#fff;padding:30px;display:flex;flex-direction:column}
.cd-sim-result h3{color:#fff;margin:0}
.cd-sim-sub{color:rgba(255,255,255,.72);font-size:.88rem;margin:.3em 0 0}
.cd-sim-amount{font-family:var(--ff-title);font-size:2rem;font-weight:600;margin:18px 0;line-height:1.15}
.cd-sim-amount small{display:block;font-family:var(--ff-body);font-size:.85rem;font-weight:400;color:var(--pierre);margin-top:6px}
.cd-sim-break{display:grid;gap:8px;padding:16px 0;border-top:1px solid rgba(255,255,255,.18)}
.cd-sim-row{display:flex;justify-content:space-between;font-size:.92rem;color:rgba(255,255,255,.9)}
.cd-sim-cta{display:grid;gap:10px;margin-top:auto;padding-top:18px}
.cd-sim-cta .cd-btn{justify-content:center}
.cd-sim-note{font-size:.76rem;color:rgba(255,255,255,.66);margin:14px 0 0}

/* ===== Footer ===== */
.cd-footer{background:var(--anthra);color:rgba(255,255,255,.74);padding:60px 0 0;font-size:.94rem}
.cd-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:38px;padding-bottom:44px}
.cd-footer h4{color:#fff;font-family:var(--ff-title);font-size:1.05rem;margin:0 0 16px}
.cd-footer a{color:rgba(255,255,255,.74)}
.cd-footer a:hover{color:var(--pierre)}
.cd-foot-logo img{height:50px;margin-bottom:14px;filter:brightness(0) invert(1)}
.cd-foot-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.cd-foot-contact div{margin-bottom:10px;display:flex;gap:9px;align-items:flex-start}
.cd-foot-contact svg{width:18px;height:18px;color:var(--bronze);flex:0 0 auto;margin-top:3px}
.cd-foot-bot{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.84rem;color:rgba(255,255,255,.5)}
.cd-foot-bot a{color:rgba(255,255,255,.5)}

/* ===== Sticky mobile call bar ===== */
.cd-callbar{display:none}

/* ===== Responsive ===== */
@media(max-width:980px){
  .cd-hero-grid{grid-template-columns:1fr;gap:34px}
  .cd-hero-media{max-width:440px}
  .cd-split{grid-template-columns:1fr;gap:28px}
  .cd-split.rev .cd-split-media{order:0}
  .cd-grid.c3,.cd-grid.c4{grid-template-columns:1fr 1fr}
  .cd-steps{grid-template-columns:1fr 1fr;gap:30px}
  .cd-sim-grid{grid-template-columns:1fr}
  .cd-foot-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:680px){
  body.cd{font-size:16px}
  .cd-nav,.cd-head-cta .cd-btn{display:none}
  .cd-burger{display:block}
  .cd-headinner{justify-content:space-between;padding:8px 10px 8px 16px}
  .cd-head-cta{order:2}
  .cd-section{padding:54px 0}
  .cd-hero{padding:128px 0 70px}
  .cd-grid.c3,.cd-grid.c4,.cd-grid.c2{grid-template-columns:1fr}
  .cd-steps{grid-template-columns:1fr}
  .cd-foot-grid{grid-template-columns:1fr}
  .cd-band{padding:34px 24px}
  .cd-callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--marine);box-shadow:0 -6px 20px rgba(0,0,0,.2)}
  .cd-callbar a{flex:1;text-align:center;color:#fff;font-weight:700;padding:14px;display:flex;align-items:center;justify-content:center;gap:8px}
  .cd-callbar a svg{width:19px;height:19px}
  .cd-callbar a+a{border-left:1px solid rgba(255,255,255,.2);background:var(--bronze)}
  body.cd{padding-bottom:54px}
}

/* legal pages */
.cd-legal{padding:120px 0 80px}.cd-legal .cd-wrap{max-width:820px;margin:0 auto;padding:0 24px}.cd-legal h1{font-family:'Fraunces',Georgia,serif;color:#103A6B;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 24px;line-height:1.15}.cd-legal h2{font-family:'Fraunces',Georgia,serif;color:#103A6B;font-size:1.3rem;margin:34px 0 10px}.cd-legal p{line-height:1.75;color:#2a3340;margin:0 0 14px}.cd-legal a{color:#A88654;font-weight:600}

/* ============================================================
   OVERRIDE v2 — header superposé, hero plein écran, textures
   ============================================================ */

/* ---- Header transparent superposé au hero ---- */
.cd-header{top:0;padding:16px 0;transition:.3s ease}
.cd-headinner{background:transparent;backdrop-filter:none;box-shadow:none;border:0;border-radius:18px;padding:10px 22px;transition:.3s ease}
.cd-header .cd-logo img{filter:brightness(0) invert(1);transition:filter .3s}
.cd-nav a{color:#fff}
.cd-nav a::after{background:#fff}
.cd-tel-mini{color:#fff}
.cd-head-sim{color:#fff;border-color:rgba(255,255,255,.55);padding:11px 18px}
.cd-head-sim:hover{background:#fff;color:var(--marine);border-color:#fff}
.cd-burger{color:#fff}
/* état après scroll : pilule blanche flottante */
.cd-header.cd-scrolled{top:12px}
.cd-header.cd-scrolled .cd-headinner{background:rgba(255,255,255,.94);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 14px 36px -16px rgba(16,58,107,.42);border:1px solid rgba(255,255,255,.65)}
.cd-header.cd-scrolled .cd-logo img{filter:none}
.cd-header.cd-scrolled .cd-nav a{color:var(--anthra)}
.cd-header.cd-scrolled .cd-nav a:hover{color:var(--marine)}
.cd-header.cd-scrolled .cd-nav a::after{background:var(--bronze)}
.cd-header.cd-scrolled .cd-tel-mini{color:var(--marine)}
.cd-header.cd-scrolled .cd-head-sim{color:var(--marine);border-color:rgba(16,58,107,.28)}
.cd-header.cd-scrolled .cd-head-sim:hover{background:var(--marine);color:#fff;border-color:var(--marine)}
.cd-header.cd-scrolled .cd-burger{color:var(--marine)}

/* ---- Hero plein écran (image ou vidéo en fond) ---- */
.cd-hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:132px 0 100px;background:var(--marine)}
.cd-hero-bg{position:absolute;inset:0;z-index:0}
.cd-hero-bg img,.cd-hero-bg video,.cd-hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.cd-hero-bg::after{content:none!important}
.cd-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,33,.58) 0%,rgba(7,16,33,.32) 40%,rgba(7,16,33,.82) 100%)}
.cd-hero .cd-wrap{position:relative;z-index:2}
.cd-hero-grid{display:block!important}
.cd-hero-media{display:none!important}
.cd-hero-inner{max-width:800px;animation:cdfade .8s ease both}
@keyframes cdfade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.cd-hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.15rem);text-shadow:0 2px 30px rgba(0,0,0,.28)}
.cd-hero h1 span{color:var(--pierre)}
.cd-hero .cd-eyebrow{color:#fff;opacity:.95}
.cd-hero .cd-lead{color:rgba(255,255,255,.93);font-size:clamp(1.06rem,1.7vw,1.32rem);max-width:650px}
.cd-hero .cd-badges{margin-top:26px}
.cd-hero .cd-badge{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(4px)}
.cd-btn-glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.cd-btn-glass:hover{background:#fff;color:var(--marine);border-color:#fff;transform:translateY(-2px)}
.cd-hero-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;color:#fff;opacity:.8;animation:cdbob 1.9s ease-in-out infinite}
.cd-hero-scroll svg{width:30px;height:30px}
@keyframes cdbob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ---- Textures de section (variation de design) ---- */
.cd-tex{position:relative;overflow:hidden}
.cd-tex>.cd-wrap{position:relative;z-index:2}
.cd-tex::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.cd-tex::after{content:"";position:absolute;inset:0;z-index:1}
.cd-marble::before{background-image:url(/wp-content/uploads/2026/06/marbre-scaled-1.jpg)}
.cd-marble::after{background:rgba(251,249,245,.90)}
.cd-marble.alt::after{background:rgba(243,238,229,.90)}
.cd-marble-dark::before{background-image:url(/wp-content/uploads/2026/06/marbre-1.png)}
.cd-marble-dark::after{background:linear-gradient(120deg,rgba(12,28,50,.93),rgba(16,58,107,.86))}
.cd-marble-dark,.cd-marble-dark h2,.cd-marble-dark h3,.cd-marble-dark p,.cd-marble-dark li,.cd-marble-dark .cd-prose{color:#fff}
.cd-marble-dark .cd-eyebrow{color:var(--pierre)}
.cd-marble-dark a{color:#fff;text-decoration:underline}
.cd-marble-dark .cd-checks svg{color:var(--pierre)}

/* ---- Variations de disposition des blocs ---- */
.cd-card{transition:transform .2s,box-shadow .2s,border-color .2s;border-top:3px solid transparent}
.cd-card:hover{transform:translateY(-5px);border-top-color:var(--bronze);box-shadow:0 22px 44px -24px rgba(16,58,107,.45)}
.cd-prose h2::before{content:"";display:block;width:54px;height:4px;border-radius:3px;background:var(--bronze);margin-bottom:18px}
.cd-section .cd-sec-head:not(.center) h2{position:relative;padding-left:18px}
.cd-section .cd-sec-head:not(.center) h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:3px;background:var(--bronze)}
.cd-steps{counter-reset:s}

/* ---- Responsive ---- */
@media(max-width:980px){
  .cd-head-sim{display:none}
  .cd-hero{min-height:88vh;padding:120px 0 80px}
  .cd-prose h2::before{margin-bottom:14px}
}

/* fonds de section nommes */
.cd-bg-sdb::before{background-image:url(/wp-content/uploads/2026/06/backgournd-de-section-carrelage-salle-de-bain-.png)}
.cd-bg-cuisine::before{background-image:url(/wp-content/uploads/2026/06/backgournd-section-hero-de-section-carrelage-cuisine-.png)}
.cd-bg-mosaique::before{background-image:url(/wp-content/uploads/2026/06/backgournd-section-hero-de-section-mosaique.png)}
.cd-bg-sdb::after,.cd-bg-cuisine::after,.cd-bg-mosaique::after{background:rgba(251,249,245,.88)}
.cd-bg-sdb.alt::after,.cd-bg-cuisine.alt::after,.cd-bg-mosaique.alt::after{background:rgba(244,240,232,.88)}

/* ============================================================
   DROPDOWN NAV v1 (Prestations / Secteurs)
   ============================================================ */
.cd-nav{align-items:center}
.cd-has-sub{position:relative;display:inline-flex;align-items:center}
.cd-sub-toggle{display:inline-flex;align-items:center;gap:.3em;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;color:#fff;padding:.3em 0;letter-spacing:.01em;opacity:.95;transition:color .2s,opacity .2s}
.cd-sub-toggle:hover{opacity:1}
.cd-scrolled .cd-sub-toggle{color:#103A6B}
.cd-scrolled .cd-sub-toggle:hover{color:#A88654}
.cd-caret{width:15px;height:15px;flex:0 0 auto;transition:transform .25s}
.cd-has-sub:hover .cd-caret,.cd-has-sub.open .cd-caret{transform:rotate(180deg)}
.cd-sub{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:250px;padding-top:15px;opacity:0;visibility:hidden;pointer-events:none;z-index:120;transition:opacity .22s,transform .22s,visibility .22s}
.cd-has-sub:hover .cd-sub,.cd-has-sub.open .cd-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.cd-sub-inner{background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(16,58,107,.18),0 2px 8px rgba(16,58,107,.08);border:1px solid rgba(16,58,107,.07);padding:10px;display:flex;flex-direction:column;gap:1px}
.cd-sub-inner a{display:block;padding:10px 16px;border-radius:9px;color:#1c2b40;font-weight:500;font-size:.97rem;line-height:1.25;text-decoration:none;white-space:nowrap;transition:background .16s,color .16s}
.cd-sub-inner a:hover{background:#f4eee3;color:#A88654}
.cd-sub::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:#fff;border-left:1px solid rgba(16,58,107,.07);border-top:1px solid rgba(16,58,107,.07)}
@media(max-width:980px){.cd-nav .cd-has-sub{display:none}}
/* mobile accordion */
.cd-msub{border-bottom:1px solid rgba(255,255,255,.12)}
.cd-msub>summary{display:flex;align-items:center;justify-content:space-between;gap:.5em;list-style:none;cursor:pointer;padding:14px 2px;color:#fff;font-weight:600;font-size:1.05rem}
.cd-msub>summary::-webkit-details-marker{display:none}
.cd-msub>summary svg{width:18px;height:18px;flex:0 0 auto;transition:transform .25s}
.cd-msub[open]>summary svg{transform:rotate(180deg)}
.cd-msub a{display:block;padding:9px 2px 9px 18px;color:rgba(255,255,255,.82);font-size:.98rem;text-decoration:none}
.cd-msub a:hover{color:#fff}
/* ============================================================
   FIXPACK 1 — contraste, footer, sections sombres
   ============================================================ */
/* Footer logo : pastille blanche (logo réel visible), plus d'inversion */
.cd-foot-logo img{height:auto;max-height:46px;width:auto;filter:none;background:#fff;padding:9px 13px;border-radius:12px;display:inline-block}
/* Footer : titres et liens lisibles sur fond sombre */
.cd-footer h4{color:#fff}
.cd-footer a{color:rgba(255,255,255,.82)}
.cd-footer a:hover{color:#c9a36f}
.cd-foot-contact div,.cd-foot-contact span,.cd-foot-contact a{color:rgba(255,255,255,.82)}
.cd-foot-bot,.cd-foot-bot span{color:rgba(255,255,255,.6)}
.cd-foot-bot a{color:rgba(255,255,255,.72)}
.cd-foot-bot a:hover{color:#c9a36f}
/* Bandeau CTA : texte toujours blanc */
.cd-band h2,.cd-band p,.cd-band .cd-eyebrow{color:#fff}
/* Sections à fond photo sombre : neutralisées pour la lisibilité (retour fond clair) */
.cd-bg-sdb::before,.cd-bg-cuisine::before,.cd-bg-mosaique::before,
.cd-bg-sdb::after,.cd-bg-cuisine::after,.cd-bg-mosaique::after{background:none!important;background-image:none!important;content:none!important}
/* Icônes décoratives résiduelles masquées */
.cd-ico{display:none!important}
/* FIXPACK 2 logo header : plus d inversion, pastille blanche */
.cd-header .cd-logo img,.cd-header.cd-scrolled .cd-logo img{filter:none!important;-webkit-filter:none!important;background:#fff;padding:5px 11px;border-radius:10px;box-shadow:0 2px 9px rgba(16,58,107,.12);height:38px!important;width:auto!important}

/* FIXPACK 3 overlay : supprime espace theme au-dessus du hero */
.wp-site-blocks{padding-top:0!important;margin-top:0!important}
main .wp-block-group.has-global-padding>.wp-block-spacer{display:none!important}
.entry-content{margin-top:0!important}
.entry-content>.cd-hero:first-child{margin-top:0!important}

/* ===== FIXPACK 4 : hero plein ecran + overlay + H1 blanc/ville beige ===== */
.cd-hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:120px!important;padding-bottom:90px!important}
.cd-hero>.cd-wrap{width:100%}
.cd-hero-bg::after{content:none!important}
.cd-hero-scrim{background:linear-gradient(180deg,rgba(8,18,35,.55) 0%,rgba(8,18,35,.40) 45%,rgba(8,18,35,.82) 100%)!important}
.cd-hero h1{color:#fff!important}
.cd-hero h1 span{color:#e9cda3!important}
.cd-header:not(.cd-scrolled) .cd-nav a{color:#fff}
.cd-header:not(.cd-scrolled) .cd-nav a:hover{color:#e9cda3}
.cd-header:not(.cd-scrolled) .cd-sub-toggle{color:#fff}
.cd-header:not(.cd-scrolled) .cd-tel-mini{color:#fff}
.cd-header:not(.cd-scrolled) .cd-btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.cd-header:not(.cd-scrolled) .cd-btn-ghost:hover{background:#fff;color:#103A6B}

/* ===== FIXPACK 5 : mega menu + correction contraste liens ===== */
.cd-nav .cd-mega-grid a{color:#1c2b40!important}
.cd-header:not(.cd-scrolled) .cd-nav .cd-mega-grid a{color:#1c2b40!important}
.cd-mega-panel{width:max-content;max-width:min(720px,calc(100vw - 32px))}
.cd-mega-lg.cd-mega-panel{max-width:min(780px,calc(100vw - 32px))}
.cd-mega-inner{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(16,58,107,.20),0 3px 10px rgba(16,58,107,.08);border:1px solid rgba(16,58,107,.07);padding:16px}
.cd-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:2px}
.cd-mega-lg .cd-mega-grid{grid-template-columns:repeat(3,minmax(205px,1fr))}
.cd-mega-grid a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:11px;text-decoration:none;transition:background .16s}
.cd-mega-grid a:hover{background:#f4eee3}
.cd-mega-t{font-weight:600;font-size:.97rem;color:#1c2b40!important;line-height:1.2}
.cd-mega-d{font-size:.8rem;color:#8291a6!important;line-height:1.25}
.cd-mega-grid a:hover .cd-mega-t{color:#A88654!important}


/* ============================================================
   FIXPACK 2 — footer link contrast (beat body.cd a = --marine)
   ============================================================ */
body.cd .cd-footer a{color:rgba(255,255,255,.82)}
body.cd .cd-footer a:hover{color:#c9a36f}
body.cd .cd-foot-contact a{color:rgba(255,255,255,.82)}
body.cd .cd-foot-bot a{color:rgba(255,255,255,.72)}
body.cd .cd-foot-bot a:hover{color:#c9a36f}
