/*
Theme Name: 15BIS
Theme URI: https://15-bis.fr/
Template: astra
Author: Artisan Maison Travaux
Author URI: https://15-bis.fr/
Description: Thème enfant d'Astra, dédié à l'identité visuelle et au contenu du site 15BIS — Artisan Maison Travaux.
Version: 1.7.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: 15bis
*/
:root{--ink:#151816;--muted:#69716c;--line:#e4e8e4;--soft:#fff;--placeholder:#e9e9e6;--white:#fff;--black:#0d100e;--radius:2px;--wrap:min(1200px,91vw);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Helvetica Neue","Avenir Next",Arial,sans-serif;font-size:17px;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:var(--wrap);margin-inline:auto}.muted{color:var(--muted)}
/* Header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:40;color:#fff;transition:background .35s,box-shadow .35s,color .35s,backdrop-filter .35s}
/* Décale le header sous la barre d'admin WordPress, visible uniquement pour un utilisateur connecté. */
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.site-header.solid{position:relative;background:rgba(255,255,255,.97);color:var(--ink);border-bottom:1px solid var(--line)}.site-header.is-scrolled{position:fixed;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 8px 35px rgba(13,16,14,.06);backdrop-filter:blur(14px)}
body.admin-bar .site-header.is-scrolled{top:32px}
@media(max-width:782px){body.admin-bar .site-header.is-scrolled{top:46px}}.site-header:not(.solid):not(.is-scrolled) .brand-logo img{filter:brightness(0) invert(1)}.nav{min-height:86px;display:flex;align-items:center;gap:28px;line-height:1}.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo img{width:220px;height:auto;max-height:36px;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto;font-size:13px}.main-nav a{position:relative;opacity:.86;white-space:nowrap;transition:opacity .2s}
.main-nav a:active,.main-nav a:visited{color:inherit!important}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .25s var(--ease)}.main-nav a:hover{opacity:1}.main-nav a:hover:after{right:0}.nav-cta{padding:10px 15px;border:1px solid currentColor!important;color:inherit!important;background:transparent!important;opacity:1!important}
/* Bouton natif Astra "retour en haut" — recoloré pour rester noir/blanc, pas le bleu par défaut. */
#ast-scroll-top{background:var(--ink)!important;color:#fff!important;border-radius:50%!important}
#ast-scroll-top svg,#ast-scroll-top i{color:#fff!important;fill:#fff!important}.nav-cart{display:none;position:relative;border:0;padding:4px;background:transparent!important;color:inherit}.nav-cart.has-items{display:inline-flex;align-items:center;justify-content:center}.nav-cart svg{width:21px;height:21px}.nav-cart-count{position:absolute;top:-3px;right:-3px;display:inline-flex;min-width:16px;height:16px;border-radius:50%;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-size:9px}.menu-toggle{display:none;border:0;background:transparent;color:inherit;padding:9px 0;font-size:13px}
.menu-toggle,.menu-toggle:hover,.menu-toggle:focus,.menu-toggle:active{border:0!important;background:transparent!important;color:inherit!important;outline:none!important;box-shadow:none!important}
/* Shared typography */
.kicker{margin:0 0 13px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:500;line-height:1.2;color:var(--ink)}.kicker.green{color:var(--ink)}h1,h2,h3,p{margin-top:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border:1px solid transparent;font-size:12px;font-weight:500;line-height:1.2;transition:transform .25s var(--ease),background .25s,border-color .25s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#000}.button-light{background:#fff;color:var(--ink)}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.button-outline:hover{color:var(--ink);border-color:var(--ink)}.text-link,.under-link{display:inline-flex;width:max-content;align-items:center;gap:9px;font-size:12px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link.light{color:#fff}.section-head h2,.home-section-title,.page-title{font-size:clamp(38px,4.8vw,62px);font-weight:300;letter-spacing:-.05em;line-height:1.02;margin:0}.section-head h2 span,.home-section-title span,.page-title span{color:var(--ink)}
/* Hero */
.hero{position:relative;min-height:650px;height:min(88vh,820px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroIn 1.1s var(--ease) both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,11,.68),rgba(8,14,11,.22) 61%,rgba(8,14,11,.05)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 58%)}.hero-content{position:relative;padding:0 0 86px}.hero .kicker{color:rgba(255,255,255,.76)}.hero h1{font-size:clamp(47px,6.5vw,86px);font-weight:300;letter-spacing:-.06em;line-height:.96;max-width:930px;margin:0 0 20px}.hero h1 span{color:rgba(255,255,255,.7)}.hero-copy{font-size:18px;max-width:600px;color:rgba(255,255,255,.9);margin:0}.hero-actions{margin-top:28px;display:flex;gap:22px;align-items:center}.home-hero-note{position:absolute;right:4.5vw;bottom:28px;display:flex;gap:16px;color:rgba(255,255,255,.7);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.home-hero-note span+span:before{content:"·";margin-right:16px}
/* Home */
.home-intro{padding:105px 0 95px}.home-intro-grid{display:grid;grid-template-columns:20% 1fr;gap:65px}.home-intro h2{font-size:clamp(39px,5vw,64px);font-weight:300;letter-spacing:-.05em;line-height:1.02;margin:0 0 20px}.home-intro h2 span{color:var(--ink)}.home-intro p:not(.kicker){max-width:720px;color:var(--muted);font-size:18px;margin:0}.home-offer{padding:0 0 112px}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:34px}.home-section-head>div{max-width:720px}.home-section-head>p{max-width:420px;color:var(--muted);font-size:17px;margin:0}.offer-grid{display:grid;grid-template-columns:1.45fr .82fr .82fr;gap:16px}.offer-card{display:flex;flex-direction:column;min-width:0;background:var(--soft);transition:transform .35s var(--ease),box-shadow .35s}.offer-card:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(13,16,14,.09)}.offer-card-main{grid-row:span 2}.offer-image{position:relative;overflow:hidden;aspect-ratio:1.28}.offer-card-main .offer-image{aspect-ratio:auto;height:100%;min-height:575px}.offer-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.offer-card:hover .offer-image img{transform:scale(1.025)}.offer-number{position:absolute;top:15px;left:15px;background:rgba(255,255,255,.88);padding:5px 8px;font-size:9px;letter-spacing:.12em}.offer-copy{padding:25px 27px 27px}.offer-copy h3{font-size:27px;font-weight:300;letter-spacing:-.03em;line-height:1.08;margin:0 0 9px}.offer-copy p{color:var(--muted);font-size:18px;margin:0 0 17px}.offer-copy b{font-size:11px;font-weight:500}.home-process{padding:105px 0;background:var(--soft)}.process-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.process-head>p{max-width:430px;color:var(--muted);margin:0;font-size:15px}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.process-step{padding:22px 22px 0 0;border-right:1px solid var(--line);min-height:190px}.process-step:last-child{border-right:0}.process-step span{font-size:10px;color:var(--ink);letter-spacing:.13em}.process-step strong{display:block;font-size:19px;font-weight:400;margin:18px 0 8px}.process-step p{color:var(--muted);font-size:17px;max-width:190px;margin:0}.home-boutique{padding:105px 0 110px}.boutique-preview{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.boutique-preview-image{overflow:hidden;background:var(--soft);min-height:500px}.boutique-preview-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.boutique-preview-image:hover img{transform:scale(1.025)}.boutique-preview-copy{background:var(--soft);padding:58px;display:flex;flex-direction:column;justify-content:center}.boutique-preview-copy h2{font-size:clamp(35px,4vw,55px);font-weight:300;letter-spacing:-.05em;line-height:1.03;margin:0 0 17px}.boutique-preview-copy h2 span{color:var(--ink)}.boutique-preview-copy p:not(.kicker){color:var(--muted);max-width:430px;font-size:15px}.home-realizations{padding:105px 0 115px}.realisation-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.realisation-preview-card{display:block}.realisation-preview-media{position:relative;overflow:hidden;background:var(--placeholder);aspect-ratio:1.05}.realisation-preview-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.realisation-preview-card:hover img{transform:scale(1.025)}.realisation-preview-meta{padding-top:15px}.realisation-preview-meta .kicker{margin-bottom:7px}.realisation-preview-meta h3{font-size:23px;font-weight:300;line-height:1.1;letter-spacing:-.025em;margin:0}.realisation-preview-meta p{color:var(--muted);font-size:16px;margin:7px 0 0}.home-final{background:var(--ink);color:#fff;padding:92px 0}.home-final-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.home-final h2{font-size:clamp(42px,5.4vw,68px);font-weight:300;letter-spacing:-.055em;line-height:.98;margin:0}.home-final h2 span{color:rgba(255,255,255,.67)}.home-final p{color:rgba(255,255,255,.78);font-size:15px;margin:0 0 23px;max-width:470px}.home-final .kicker{color:rgba(255,255,255,.72)}
/* Inner page */
.inner-page{padding-top:0}.page-hero{padding:112px 0 78px;background:#fff}.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.page-hero h1{font-size:clamp(49px,6vw,78px);font-weight:300;letter-spacing:-.06em;line-height:.97;margin:0;color:var(--ink)}.page-hero h1 span{color:var(--ink)}.page-hero-copy{color:var(--muted);font-size:17px;max-width:540px;margin:0}.page-hero-copy strong{color:var(--ink);font-weight:500}.band{padding:100px 0}.band.soft{background:var(--soft)}.band.green{background:var(--ink);color:#fff}.band-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.band-title>p{max-width:440px;color:var(--muted);margin:0;font-size:15px}.green .band-title>p{color:rgba(255,255,255,.72)}
/* Plans */
.plan-intro-note{font-size:16px;color:var(--muted);margin:20px 0 0}.plan-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.plan-step{padding:25px 35px 0 0;border-right:1px solid var(--line);min-height:175px}.plan-step:last-child{border-right:0}.plan-step span{font-size:10px;color:var(--ink);letter-spacing:.14em}.plan-step h3{font-size:24px;font-weight:300;letter-spacing:-.025em;margin:16px 0 7px}.plan-step p{color:var(--muted);font-size:17px;max-width:300px;margin:0}.plan-selector{padding:92px 0 105px;background:var(--soft)}.selector-switch{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}.project-switch-btn{display:grid;grid-template-columns:42px 1fr 20px;gap:16px;text-align:left;align-items:center;padding:21px 0;border:0;background:none;color:var(--ink)}.project-switch-btn+button{border-left:1px solid var(--line);padding-left:30px}.project-switch-btn[aria-selected="true"] strong{color:var(--ink)}.switch-number,.step-index{font-size:10px;color:var(--ink);letter-spacing:.13em}.project-switch-btn strong{font-size:16px;font-weight:400;display:block}.project-switch-btn small{display:block;color:var(--muted);font-size:15px;margin-top:3px}.project-switch-btn b{font-weight:300;text-align:right}.room-panel{display:none}.room-panel.is-active{display:block;animation:fadeUp .5s var(--ease) both}.room-step-head,.offers-head>div{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}.room-step-head strong,.offers-head strong{display:block;font-size:18px;font-weight:400}.room-step-head small,.offers-head small{display:block;color:var(--muted);font-size:16px;margin-top:2px}.room-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:44px}.room-chip{border:1px solid #d8ddd9;background:#fff;padding:9px 13px;font-size:16px;color:var(--muted);transition:background .2s,color .2s,border-color .2s}.room-chip.is-active,.room-chip:hover{background:var(--ink);border-color:var(--ink);color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.price-card{position:relative;border:1px solid var(--line);background:#fff;text-align:left;padding:24px;min-height:100%;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}.price-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(13,16,14,.08);border-color:#c9d1cc}.price-card.featured{border-color:var(--ink)}.offer-badge{position:absolute;top:-1px;right:16px;background:var(--ink);color:#fff;padding:6px 9px;font-size:8px;letter-spacing:.1em}.price-card-top{display:flex;justify-content:space-between;align-items:center}.price-kicker{font-size:9px;letter-spacing:.14em;color:var(--ink)}.price-arrow{font-size:18px;font-weight:300}.price-card h3{font-size:27px;font-weight:300;letter-spacing:-.035em;line-height:1.05;margin:14px 0 13px}.offer-views{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 17px}.offer-views figure{position:relative;margin:0;background:var(--placeholder);aspect-ratio:1.5;overflow:hidden}.offer-views img{width:100%;height:100%;object-fit:cover}.offer-views figcaption{position:absolute;left:7px;bottom:7px;background:rgba(255,255,255,.88);padding:3px 5px;font-size:7px;letter-spacing:.12em}.price{font-size:34px;font-weight:300;letter-spacing:-.04em;margin-bottom:3px}.price-lead{color:var(--muted);font-size:16px;min-height:45px;margin:0 0 12px}.card-summary{padding:0;margin:0 0 19px;list-style:none;border-top:1px solid var(--line)}.card-summary li{padding:7px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}.card-summary li:before{content:"+";color:var(--ink);margin-right:7px}.card-more{font-size:11px;font-weight:500}.card-more b{margin-left:6px;font-weight:400}.price-unit{color:var(--muted);font-size:15px;margin:15px 0 0}.global-card{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;background:#fff;border:1px solid var(--line);padding:45px}.global-card h3{font-size:45px;font-weight:300;letter-spacing:-.05em;line-height:1;margin:0 0 17px}.global-card h3 span{color:var(--ink)}.global-card p{color:var(--muted);max-width:610px;font-size:14px}.global-card strong{color:var(--ink);font-weight:500}.global-spaces{display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:8px;height:max-content}.global-spaces span{border:1px solid var(--line);padding:8px 10px;font-size:14px;color:var(--muted)}.plans-method{padding:100px 0}.plans-method-inner,.local-chain-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.local-chain-section{display:block;padding:100px 0}.plans-method h2,.local-chain-section h2{font-size:clamp(38px,4.6vw,60px);font-weight:300;letter-spacing:-.05em;line-height:1;margin:0}.plans-method h2 span,.local-chain-section h2 span{color:var(--ink)}.plans-method>div:last-child p,.local-chain-section>div:last-child p{color:var(--muted);font-size:17px}.plans-disclaimer{font-size:11px!important;color:#8a918c!important;margin-top:25px}.local-chain-section{background:var(--soft);padding-left:max(4.5vw,calc((100vw - 1200px)/2));padding-right:max(4.5vw,calc((100vw - 1200px)/2))}.local-chain{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:25px 0}.local-chain span,.local-chain strong{padding:8px 10px;border:1px solid var(--line);font-size:10px}.local-chain strong{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}.muted-small{font-size:11px!important}.pricing-note{margin-top:35px;padding:17px 19px;border-left:2px solid var(--ink);background:#fff;font-size:15px;color:var(--muted)}.pricing-note strong{color:var(--ink);font-weight:500}.examples{padding:100px 0 115px}.example-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.example-card{display:block;background:var(--soft)}.example-card img{width:100%;height:420px;object-fit:cover}.example-card-copy{padding:19px 21px}.example-card-copy h3{font-size:23px;font-weight:300;margin:0}.example-card-copy p{color:var(--muted);font-size:16px;margin:5px 0 0}
/* Modals / lightbox */
.offer-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:25px}.offer-modal.is-open{display:flex}.offer-modal-backdrop{position:absolute;inset:0;background:rgba(9,13,11,.72);backdrop-filter:blur(6px)}.offer-modal-box{position:relative;z-index:1;width:min(760px,94vw);max-height:88vh;overflow:auto;background:#fff;padding:42px}.offer-modal-close{position:absolute;top:13px;right:16px;border:0;background:none;font-size:27px;font-weight:300}.offer-modal-content h3{font-size:43px;font-weight:300;letter-spacing:-.05em;line-height:1;margin:0 0 8px}.modal-price{font-size:25px;margin-bottom:17px}.modal-price small{font-size:9px;color:var(--muted)}.offer-modal-content>p{color:var(--muted);font-size:18px}.modal-example{margin:25px 0;border-top:1px solid var(--line);padding-top:18px}.modal-example>strong{font-size:11px;font-weight:500}.modal-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.modal-view-grid figure{margin:0;position:relative}.modal-view-grid img{width:100%;height:190px;object-fit:cover}.modal-view-grid figcaption{position:absolute;left:7px;bottom:7px;background:rgba(255,255,255,.9);padding:3px 5px;font-size:7px}.modal-example-note{display:block;color:var(--muted);font-size:14px;margin-top:8px}.modal-list{list-style:none;margin:22px 0;padding:0;border-top:1px solid var(--line)}.modal-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.modal-list li:before{content:"✓";color:var(--ink);margin-right:8px}.modal-note{font-size:11px!important}.lightbox{position:fixed;inset:0;background:rgba(7,10,8,.97);z-index:1100;display:none;align-items:center;justify-content:center;padding:20px}.lightbox.open{display:flex}.lightbox-content{width:min(1240px,94vw);height:93vh;display:flex;flex-direction:column;justify-content:center}.lightbox-image{width:100%;height:calc(100% - 65px);object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;width:44px;height:44px;border-radius:50%;font-size:27px;font-weight:300}.lightbox-close{top:17px;right:18px}.lightbox-prev{left:16px;top:50%;transform:translateY(-50%)}.lightbox-next{right:16px;top:50%;transform:translateY(-50%)}.lightbox-bar{height:65px;display:flex;align-items:center;gap:16px}.lightbox-counter{font-size:9px;color:rgba(255,255,255,.7)}.lightbox-thumbs{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{width:68px;height:48px;border:1px solid transparent;background:none;opacity:.42;padding:0}.lightbox-thumb.active{border-color:#fff;opacity:1}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}
/* Realisations */
.real-list{padding:25px 0 115px}.real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 18px}.real-card{display:block}.real-media{position:relative;overflow:hidden;background:var(--placeholder);aspect-ratio:1.12}.real-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.real-card:hover .real-media img{transform:scale(1.028)}.real-number{position:absolute;top:13px;left:13px;background:rgba(255,255,255,.9);padding:5px 7px;font-size:9px}.real-caption{position:absolute;left:0;right:0;bottom:0;padding:75px 19px 18px;color:#fff;background:linear-gradient(0deg,rgba(7,10,8,.77),transparent);transform:translateY(20px);opacity:.1;transition:transform .4s var(--ease),opacity .4s}.real-card:hover .real-caption,.real-card:focus-visible .real-caption{transform:none;opacity:1}.real-caption .kicker{color:rgba(255,255,255,.72);margin-bottom:6px}.real-caption h2{font-size:25px;font-weight:300;line-height:1.05;letter-spacing:-.03em;margin:0 0 5px}.real-caption p{font-size:11px;color:rgba(255,255,255,.78);margin:0;max-width:520px}.real-open{position:absolute;right:18px;bottom:19px;font-size:10px}.real-card.is-featured{grid-column:span 2}.real-card.is-featured .real-media{aspect-ratio:1.7}.real-card.is-featured .real-caption h2{font-size:31px}.instagram-strip{padding:34px 0;background:var(--soft)}.instagram-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.instagram-inner h3{font-size:23px;font-weight:300;margin:0}.instagram-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500}.instagram-mark{font-size:18px}
/* Project */
.project-head{padding:105px 0 65px}.project-head-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end}.project-head h1{font-size:clamp(50px,6.5vw,84px);font-weight:300;letter-spacing:-.06em;line-height:.95;margin:0}.project-head h1 span{color:var(--ink)}.project-head p:not(.kicker){font-size:17px;color:var(--muted);margin:0}.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tag-list span{border:1px solid var(--line);padding:6px 9px;font-size:9px;color:var(--muted)}.project-cover{padding-bottom:80px}.project-cover img{width:100%;max-height:720px;object-fit:cover}.project-details{padding:78px 0 30px}.project-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.project-details h2{font-size:35px;font-weight:300;letter-spacing:-.04em;margin:0 0 16px}.project-details p{color:var(--muted);font-size:17px}.project-design{padding:90px 0;background:var(--soft)}.design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.design-grid .gallery-item img{height:280px}.design-grid .gallery-wide{grid-column:span 2}.project-gallery{padding:95px 0 105px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item{position:relative;border:0;padding:0;margin:0;background:var(--placeholder);overflow:hidden;cursor:zoom-in}.gallery-item img{width:100%;height:430px;object-fit:cover;transition:transform .55s var(--ease)}.gallery-item:hover img{transform:scale(1.018)}.gallery-wide{grid-column:span 2}.gallery-wide img{height:620px}.materials{padding:80px 0;background:var(--soft)}.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.materials ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.materials li{padding:10px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--muted)}.materials li strong{color:var(--ink);font-weight:500}.project-next{padding:72px 0}.project-next-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.next-project{display:flex;flex-direction:column;gap:3px;font-size:12px}.next-project.right{text-align:right}.next-project small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:8px}.next-project strong{font-weight:400}.next-arrow{font-size:22px;color:var(--ink)}
/* Mobilier */
.mobilier-hero{padding:110px 0 90px}.mobilier-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:end}.mobilier-hero h1{font-size:clamp(50px,6vw,78px);font-weight:300;letter-spacing:-.06em;line-height:.95;margin:0 0 18px}.mobilier-hero h1 span{color:var(--ink)}.mobilier-hero-copy>p:not(.kicker){color:var(--muted);font-size:17px;max-width:480px}.mobilier-hero-image{position:relative;overflow:hidden;aspect-ratio:1.3}.mobilier-hero-image img{width:100%;height:100%;object-fit:cover}.mobilier-hero-image span{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.9);padding:6px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.creation-types{padding:0 0 100px}.creation-type-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.creation-type{padding:23px 24px 0 0;border-right:1px solid var(--line);display:grid;grid-template-columns:32px 1fr 15px;gap:10px}.creation-type:last-child{border-right:0}.creation-type span{font-size:9px;color:var(--ink)}.creation-type strong{font-size:16px;font-weight:400}.creation-type small{grid-column:2;color:var(--muted);font-size:15px;margin-top:-7px}.creation-type b{font-weight:300}.creation-section{padding:100px 0}.creation-section.soft{background:var(--soft)}.creation-split{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}.creation-split.reverse{grid-template-columns:.85fr 1.15fr}.creation-image{overflow:hidden;min-height:500px}.creation-image img{width:100%;height:100%;object-fit:cover}.creation-copy{padding:45px 20px;display:flex;flex-direction:column;justify-content:center}.creation-copy h2{font-size:clamp(37px,4.4vw,57px);font-weight:300;letter-spacing:-.05em;line-height:1.01;margin:0 0 17px}.creation-copy h2 span{color:var(--ink)}.creation-copy p:not(.kicker){color:var(--muted);font-size:17px;max-width:470px}.creation-end{padding:90px 0;background:var(--ink);color:#fff}.creation-end h2{font-size:clamp(43px,5vw,66px);font-weight:300;letter-spacing:-.055em;line-height:1;margin:0}.creation-end h2 span{color:rgba(255,255,255,.66)}
/* Boutique */
.boutique-list{padding:15px 0 115px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{display:block;border:0;padding:0;margin:0;background:none;width:100%;cursor:pointer}.product-image{position:relative;overflow:hidden;background:var(--placeholder);aspect-ratio:1}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.product-card:hover .product-image img{transform:scale(1.025)}.product-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:15px 0}.product-meta h2{font-size:22px;font-weight:300;letter-spacing:-.025em;margin:0}
/* About */
.about-main{padding:10px 0 115px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-image{overflow:hidden}.about-image img{width:100%;height:640px;object-fit:cover}.about-copy h2{font-size:clamp(40px,5vw,64px);font-weight:300;letter-spacing:-.05em;line-height:1;margin:0 0 19px}.about-copy h2 span{color:var(--ink)}.about-copy p:not(.kicker){color:var(--muted);font-size:18px;max-width:540px}.values{padding:90px 0 110px;background:var(--soft)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value{padding:23px 25px 0 0;border-right:1px solid var(--line)}.value:last-child{border-right:0}.value span{font-size:9px;color:var(--ink);letter-spacing:.13em}.value h3{font-size:25px;font-weight:300;margin:15px 0 6px}.value p{color:var(--muted);font-size:16px;max-width:300px;margin:0}
/* Contact */
.contact-wrap{padding:70px 0 110px}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:75px}.contact-context{margin-top:0;padding:15px 17px;background:var(--soft);border-left:2px solid var(--ink);display:flex;flex-direction:column;gap:4px;font-size:12px}.contact-card{background:#fff;padding:37px;border:1px solid var(--line)}.contact-card h2{font-size:32px;font-weight:300;letter-spacing:-.04em;margin:0 0 20px}.contact-form{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.field input,.field textarea{width:100%;border:1px solid #dce1dd;background:#fff;padding:11px 12px;color:var(--ink);outline:none;transition:border-color .2s}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--ink)}.form-consent{font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;margin:13px 0}.form-consent input{margin-top:3px}.form-success,.form-error{padding:12px 14px;margin-bottom:15px;font-size:11px}.form-success{background:#eaf2ed}.form-error{background:#f7ecea}.contact-form .button{width:100%;margin-top:6px}
.contact-info-list{display:flex;flex-direction:column;gap:16px}
.contact-info-item{display:flex;align-items:center;gap:14px;font-size:15px}
.contact-info-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;color:var(--ink)}
.contact-info-icon svg{width:100%;height:100%}
.contact-map{margin-top:28px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.contact-map iframe{display:block;filter:grayscale(.15)}
/* Legal */
/* Exception volontaire à la palette noir/blanc/gris : ces 3 couleurs (jaune/rose/vert pâles)
   sont des codes d'état fonctionnels (alerte, erreur, succès), pas des choix décoratifs.
   Ne pas les remplacer par du noir/gris — décision validée. */
.legal-content{padding:10px 0 115px}.legal-grid{max-width:850px}.legal-grid h2{font-size:29px;font-weight:300;letter-spacing:-.03em;margin:42px 0 10px;color:var(--ink)}.legal-grid h3{font-size:19px;font-weight:400;margin:27px 0 7px;color:var(--ink)}.legal-grid p,.legal-grid li{font-size:18px;color:var(--muted)}.legal-grid ul{padding-left:18px}.legal-warning{padding:16px 18px;background:#fff6df;border-left:2px solid #b48a36;font-size:12px;color:#68552f;margin:20px 0}
/* Footer */
.site-footer{padding:65px 0 22px;background:#101411;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:start}.footer-brand{font-size:19px;font-weight:400}.footer-intro{color:rgba(255,255,255,.6);font-size:12px;margin:8px 0 0;max-width:420px}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:9px 28px;font-size:11px}.footer-links a{color:rgba(255,255,255,.72);transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:55px;color:rgba(255,255,255,.4);font-size:9px}
/* Cart */
.cart-drawer{position:fixed;inset:0;z-index:1200;display:none}.cart-drawer.is-open{display:block}.cart-backdrop{position:absolute;inset:0;background:rgba(8,12,10,.5);backdrop-filter:blur(4px)}.cart-panel{position:absolute;top:0;right:0;height:100%;width:min(430px,94vw);background:#fff;padding:30px;box-shadow:-15px 0 60px rgba(0,0,0,.15);display:flex;flex-direction:column}.cart-close{align-self:flex-end;border:0;background:none;font-size:26px;font-weight:300}.cart-panel h2{font-size:38px;font-weight:300;letter-spacing:-.05em;margin:12px 0 5px}.cart-items{overflow:auto;flex:1;border-top:1px solid var(--line);margin-top:20px}.cart-item{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.cart-item strong{font-size:13px;font-weight:400}.cart-item small{display:block;color:var(--muted);font-size:14px}.cart-remove{border:0;background:none;color:var(--ink);font-size:10px}.cart-total{display:flex;justify-content:space-between;padding:18px 0;font-size:16px}.cart-total strong{font-weight:500}.cart-empty{color:var(--muted);font-size:16px;padding:20px 0}.cart-note{color:var(--muted);font-size:14px;margin:0 0 14px}
/* Motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes heroIn{from{opacity:.55;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image{animation:none}.offer-card,.product-card,.real-card{transition:none}}
/* Responsive */
@media(max-width:980px){.main-nav{gap:16px;font-size:12px}.brand-logo img{width:190px}.home-intro-grid,.page-hero-grid,.project-head-grid,.plans-method,.local-chain-section,.about-grid,.contact-grid{grid-template-columns:1fr 1fr;gap:40px}.offer-grid{grid-template-columns:1fr 1fr}.offer-card-main{grid-row:auto;grid-column:span 2}.offer-card-main .offer-image{min-height:450px}.process-grid{grid-template-columns:repeat(3,1fr)}.process-step:nth-child(3){border-right:0}.boutique-preview{grid-template-columns:1fr 1fr}.real-grid{grid-template-columns:1fr 1fr}.real-card.is-featured{grid-column:span 2}.pricing-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr}.creation-split,.creation-split.reverse{grid-template-columns:1fr 1fr}.creation-image{min-height:400px}.design-grid{grid-template-columns:1fr 1fr}.materials-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body{font-size:16px}.wrap{width:min(92vw,650px)}.site-header{position:absolute}.site-header.is-scrolled{position:fixed}.nav{min-height:72px}.brand-logo img{width:165px;max-height:30px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 4vw 18px;background:#fff!important;color:var(--ink)!important;border-top:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.08);font-size:14px;z-index:60}.main-nav.is-open{display:flex}.main-nav a{padding:11px 0}.main-nav a:not(.nav-cta):after{display:none}.main-nav .nav-cta{margin-top:5px;text-align:center}.nav-cart{display:inline-flex!important;align-items:center;justify-content:center;width:max-content}.hero{min-height:650px;height:83vh}.hero-content{padding-bottom:64px}.hero h1{font-size:clamp(43px,12vw,62px);max-width:650px}.hero-copy{font-size:16px;max-width:500px}.hero-actions{margin-top:23px;gap:17px}.home-hero-note{left:4vw;right:auto;bottom:22px;font-size:8px}.home-intro,.home-offer,.home-process,.home-boutique,.home-realizations{padding:76px 0}.home-intro-grid,.page-hero-grid,.project-head-grid,.plans-method,.local-chain-section,.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.home-section-head,.process-head,.band-title{display:block}.home-section-head>p,.process-head>p,.band-title>p{margin-top:18px}.offer-grid{grid-template-columns:1fr}.offer-card-main{grid-column:auto}.offer-card-main .offer-image{min-height:400px}.offer-image{aspect-ratio:1.15}.process-grid{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:18px 0}.process-step:last-child{border-bottom:0}.boutique-preview{grid-template-columns:1fr}.boutique-preview-image{min-height:380px}.boutique-preview-copy{padding:34px}.realisation-preview-grid{grid-template-columns:1fr}.home-final-grid{grid-template-columns:1fr;gap:28px}.page-hero{padding:100px 0 62px}.page-hero h1{font-size:clamp(45px,12vw,65px)}.plan-steps,.selector-switch{grid-template-columns:1fr}.project-switch-btn+button{border-left:0;border-top:1px solid var(--line);padding-left:0}.plan-selector{padding:72px 0 80px}.global-card{grid-template-columns:1fr;padding:30px}.plans-method{padding:75px 0}.plans-method-inner,.local-chain-inner{grid-template-columns:1fr;gap:30px}.local-chain-section{padding:75px 0}.example-grid{grid-template-columns:1fr}.real-list{padding:10px 0 80px}.real-grid{grid-template-columns:1fr;gap:40px}.real-card.is-featured{grid-column:auto}.real-card.is-featured .real-media{aspect-ratio:1.12}.real-caption{transform:none;opacity:1}.real-caption h2,.real-card.is-featured .real-caption h2{font-size:24px}.instagram-inner{display:block}.instagram-link{margin-top:18px}.project-head{padding:100px 0 55px}.project-cover{padding-bottom:45px}.project-cover img{min-height:360px;object-fit:cover}.project-details-grid,.materials-grid{grid-template-columns:1fr}.project-details{padding:55px 0 15px}.project-gallery,.project-design{padding:70px 0}.gallery-grid{grid-template-columns:1fr}.gallery-wide{grid-column:auto}.gallery-wide img,.gallery-item img{height:400px}.design-grid{grid-template-columns:1fr}.creation-types{padding-bottom:70px}.creation-type-grid{grid-template-columns:1fr}.creation-type{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.creation-type:last-child{border-bottom:0}.creation-split,.creation-split.reverse{grid-template-columns:1fr}.creation-image{min-height:350px;order:0}.creation-copy{padding:10px 0 30px}.creation-section{padding:72px 0}.product-grid{grid-template-columns:1fr}.boutique-list{padding-bottom:80px}.about-main{padding-bottom:80px}.about-image img{height:430px}.values{padding:70px 0 80px}.values-grid{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.value:last-child{border-bottom:0}.contact-wrap{padding:95px 0 80px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-card{padding:25px}.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span+span{display:block;margin-top:7px}.offer-modal-box{padding:31px 23px}.offer-modal-content h3{font-size:36px}.modal-view-grid{grid-template-columns:1fr}.modal-view-grid img{height:170px}}

/* V10.2 — interface plus homogène, modales projet/produit, contenu plus lisible */
.offer-grid{grid-template-columns:repeat(3,1fr)}
.offer-card-main{grid-row:auto;grid-column:auto}
.offer-card-main .offer-image{aspect-ratio:1.28;height:auto;min-height:0}
.offer-card .offer-image{aspect-ratio:1.22}
.offer-copy h3{font-size:26px}
.offer-copy p:not(.kicker){font-size:14px}
.home-section-head>p,.process-head>p,.band-title>p,.page-hero-copy{font-size:16px;line-height:1.55}
.product-card,.real-card{border:0;padding:0;text-align:left;color:inherit;background:transparent;width:100%}
.real-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.real-card{display:block}
.real-card .real-media{aspect-ratio:1.18}
.real-card .real-caption{padding:19px}
.real-card:hover .real-caption{opacity:1}
.real-card:hover .real-media img{transform:scale(1.025)}
.instagram-branding{display:flex;align-items:center;gap:14px;min-width:260px}
.instagram-branding img{width:190px;height:auto;filter:brightness(0) invert(1);opacity:.9}
.instagram-x{font-size:19px;font-weight:200;color:rgba(255,255,255,.4)}
.instagram-icon{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.instagram-icon svg{width:18px;height:18px}
.instagram-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;border-bottom:1px solid currentColor;padding-bottom:4px}
.plan-selector-intro{display:grid;grid-template-columns:1fr .72fr;gap:55px;align-items:end;margin-bottom:34px}
.plan-selector-intro h2{font-size:clamp(39px,4.8vw,62px);font-weight:300;letter-spacing:-.05em;line-height:1.02;margin:0}
.plan-selector-intro h2 span{color:var(--ink)}
.plan-selector-intro>p{color:var(--muted);font-size:18px;margin:0}
.price-card{min-height:100%;text-align:left}
.creation-end-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:end}
.creation-end-grid>div:last-child p{color:rgba(255,255,255,.82);font-size:15px;max-width:520px}
.creation-end-grid .button-light{margin-top:8px}

/* Project detail modal */
.project-modal,.product-modal{position:fixed;inset:0;z-index:1050;display:none;align-items:center;justify-content:center;padding:24px}
.project-modal.is-open,.product-modal.is-open{display:flex}
.project-modal-backdrop,.product-modal-backdrop{position:absolute;inset:0;background:rgba(9,13,11,.72);backdrop-filter:blur(7px)}
.project-modal-box{position:relative;z-index:1;width:min(1060px,95vw);max-height:94vh;overflow:auto;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.22)}
.product-modal-box{position:relative;z-index:1;width:min(1080px,95vw);max-height:90vh;overflow:auto;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.22)}
.project-modal-close,.product-modal-close{position:absolute;z-index:3;top:13px;right:16px;width:38px;height:38px;border:0;background:rgba(255,255,255,.9);font-size:27px;font-weight:200;line-height:1}
.project-modal-photo{position:relative;background:var(--placeholder)}
.project-modal-main-image{display:block;width:100%;height:600px;object-fit:contain;background:#000}
.project-modal-photo .project-modal-arrow{position:absolute;top:50%;transform:translateY(-50%)}
.project-modal-photo .project-modal-arrow.prev{left:14px}
.project-modal-photo .project-modal-arrow.next{right:14px}
.project-modal-body{padding:26px 34px 6px}
.project-modal-body h2{margin:0 0 10px;font-size:28px;font-weight:500;letter-spacing:-.02em}
.project-modal-body>p{margin:0 0 16px;color:var(--muted);font-size:18px;line-height:1.6}
.project-modal-facts{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.project-modal-facts span{font-size:17px;color:var(--muted)}
.project-modal-nav{display:flex;align-items:center;justify-content:center;padding:14px 34px 26px}
.project-modal-arrow{flex:0 0 auto;cursor:pointer}
.project-modal-dots{display:flex;align-items:center;gap:7px}
.project-modal-dot{cursor:pointer}
.product-modal-close{position:absolute;z-index:3;top:13px;right:16px;width:38px;height:38px;border:0;background:rgba(255,255,255,.9);font-size:27px;font-weight:200;line-height:1}

/* Product modal */
.product-modal-box{width:min(980px,95vw)}
.product-modal-content{display:grid;grid-template-columns:1.02fr .98fr;min-height:560px}
.product-modal-gallery{background:var(--soft);padding:20px;display:flex;flex-direction:column;gap:9px}
.product-modal-main{width:100%;height:440px;object-fit:cover;background:var(--placeholder)}
.product-modal-gallery-thumbs{display:flex;gap:7px;overflow:auto}.product-modal-gallery-thumbs button{width:72px;height:56px;padding:0;border:1px solid transparent;background:var(--placeholder);opacity:.55;display:flex;align-items:center;justify-content:center}.product-modal-gallery-thumbs button.active{opacity:1;border-color:var(--ink)}.product-modal-gallery-thumbs img{width:100%;height:100%;object-fit:cover}.product-thumb-video{color:var(--ink);font-size:16px}
.product-modal-info{padding:45px 42px;display:flex;flex-direction:column;justify-content:center}.product-modal-info .kicker{margin-bottom:13px}.product-modal-info h2{font-size:clamp(36px,4vw,53px);font-weight:300;letter-spacing:-.055em;line-height:1;margin:0 0 9px}.product-modal-price{font-size:18px;margin-bottom:20px}.product-modal-info>p{color:var(--muted);font-size:18px}.product-feature-list{list-style:none;margin:18px 0 25px;padding:0;border-top:1px solid var(--line)}.product-feature-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.product-feature-list li:before{content:'✓';color:var(--ink);margin-right:8px}.product-dimensions{padding:14px 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}

@media(max-width:980px){.offer-grid,.real-grid{grid-template-columns:1fr 1fr}.plan-selector-intro{grid-template-columns:1fr;gap:20px}.creation-end-grid{grid-template-columns:1fr;gap:30px}.product-modal-content{grid-template-columns:1fr}.product-modal-info{padding:32px}.product-modal-main{height:360px}}
@media(max-width:760px){.offer-grid,.real-grid{grid-template-columns:1fr}.offer-card .offer-image{aspect-ratio:1.15}.offer-copy{padding:22px 20px 25px}.real-grid{gap:34px}.real-card .real-media{aspect-ratio:1.12}.instagram-branding{min-width:0;margin-bottom:24px}.instagram-branding img{width:165px}.plan-selector-intro h2{font-size:clamp(38px,11vw,58px)}.project-modal{padding:10px}.project-modal-box{max-height:94vh;width:96vw}.project-modal-main-image{height:300px}.product-modal-box{max-height:94vh;width:96vw}.product-modal-info h2{font-size:38px}.product-modal-gallery{padding:10px}.product-modal-main{height:310px}.product-modal-info{padding:27px 23px 32px}}

/* V10.2 — création : même expérience de fenêtre que Boutique / Réalisations */
.creation-image{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;overflow:hidden;color:inherit}
.creation-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.creation-image:hover img{transform:scale(1.025)}
.creation-image-hint{position:absolute;right:16px;bottom:16px;padding:8px 11px;background:rgba(255,255,255,.92);font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.creation-image:hover .creation-image-hint,.creation-image:focus-visible .creation-image-hint{opacity:1;transform:none}
.creation-modal{position:fixed;inset:0;z-index:1050;display:none;align-items:center;justify-content:center;padding:24px}
.creation-modal.is-open{display:flex}
.creation-modal-backdrop{position:absolute;inset:0;background:rgba(9,13,11,.72);backdrop-filter:blur(7px)}
.creation-modal-box{position:relative;z-index:1;width:min(980px,95vw);max-height:90vh;overflow:auto;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.22)}
.creation-modal-close{position:absolute;z-index:3;top:13px;right:16px;width:38px;height:38px;border:0;background:rgba(255,255,255,.92);font-size:27px;font-weight:200;line-height:1;cursor:pointer}
.creation-modal-content{display:grid;grid-template-columns:1.08fr .92fr;min-height:560px}
.creation-modal-media{background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:560px}
.creation-modal-media img{width:100%;height:100%;min-height:560px;object-fit:cover}
.creation-modal-info{padding:45px 42px;display:flex;flex-direction:column;justify-content:center}
.creation-modal-info h2{font-size:clamp(36px,4vw,53px);font-weight:300;letter-spacing:-.055em;line-height:1;margin:0 0 18px}
.creation-modal-info>p:not(.kicker){color:var(--muted);font-size:18px;line-height:1.65;margin-bottom:24px}
@media(max-width:980px){.creation-modal-content{grid-template-columns:1fr}.creation-modal-media{min-height:430px}.creation-modal-media img{min-height:430px}.creation-modal-info{padding:32px}}
@media(max-width:760px){.creation-modal{padding:10px}.creation-modal-box{width:96vw;max-height:94vh}.creation-modal-media{min-height:300px}.creation-modal-media img{min-height:300px}.creation-modal-info{padding:27px 23px 32px}.creation-modal-info h2{font-size:38px}.creation-image-hint{opacity:1;transform:none}}

/* V10.4 — alignement des blocs de proposition : texte centré dans chaque bloc */
.offer-card { text-align:center; }
.offer-copy { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:170px; }
.offer-copy p:not(.kicker) { max-width:420px; }
.offer-copy b { display:inline-flex; justify-content:center; }
@media(max-width:760px){ .offer-copy{min-height:0;} }


/* 15BIS — identité du header. Transparent par défaut (partout, texte blanc sur la
   photo du hero), passe en blanc opaque avec texte noir une fois qu'on a scrollé
   (.is-scrolled, géré en JS) — plus jamais limité à l'accueil. */
.brand-15bis{color:#fff}
.brand-15bis span{font-size:20px;font-weight:600;letter-spacing:.08em;line-height:1}
.site-header.is-scrolled .brand-15bis{color:var(--ink)}
.brand-15bis{gap:14px;align-items:center}
.logo-15bis-img{display:block;width:auto;height:34px;filter:brightness(0) invert(1)}
.site-header.is-scrolled .logo-15bis-img{filter:none}
.site-footer .logo-15bis-img{height:30px;filter:brightness(0) invert(1)}
.main-nav a,.menu-toggle{color:#fff}
.site-header.is-scrolled .main-nav a,.site-header.is-scrolled .menu-toggle{color:var(--ink)}
.main-nav.is-open a{color:var(--ink)!important}


/* =========================================================
   15BIS HOME V13 — final visual system
   Full-width hero / identical rectangular carousels / hover-only copy
   ========================================================= */
.home15{background:#fff;color:#171b18;overflow:hidden}
.home15-wrap{width:min(1220px,92vw);margin:0 auto}
.home15-eyebrow{margin:0 0 14px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);font-weight:500}

/* HERO */
.home15-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:100vh;height:100svh;overflow:hidden;color:#fff;background:#242522}
.home15-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.home15-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,11,.55) 0%,rgba(10,13,11,.22) 52%,rgba(10,13,11,.05) 100%),linear-gradient(0deg,rgba(10,13,11,.42),transparent 48%)}
.home15-hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end}
.home15-hero-inner{width:min(1220px,92vw);margin:0 auto;padding:0 0 54px}
.home15-hero .home15-eyebrow{color:rgba(255,255,255,.82);margin:0 0 15px;font-size:10px;letter-spacing:.2em}
.home15-hero h1{margin:0 0 22px;font-size:clamp(40px,4.7vw,62px);font-weight:300;letter-spacing:-.065em;line-height:1;white-space:nowrap;max-width:none;color:#fff}
.home15-hero h1 em{font-style:normal;font-weight:inherit}
.home15-hero-content>div>p:not(.home15-eyebrow){max-width:500px;margin:0 0 25px;font-size:18px;line-height:1.5;color:#fff}
.home15-hero-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:7px}
.home15-hero-link span{font-size:14px}

/* SHARED HEADINGS */
.home15-section{padding:78px 0 86px}
.home15-projects{padding-top:60px}
.home15-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:27px}
.home15-head h2{margin:0;font-size:clamp(31px,3.35vw,48px);font-weight:300;letter-spacing:-.055em;line-height:1;color:var(--ink)}
.home15-head h2 em,.home15-idea h2 em{font-style:normal;font-weight:inherit}
.home15-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-size:9px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:6px;white-space:nowrap}
.home15-link span{font-size:13px}

/* BOTH CAROUSELS: exactly the same dimensions */
.home15-carousel-wrap{position:relative}
.home15-carousel{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;cursor:grab;padding:0 1px 4px;touch-action:pan-x}
.home15-carousel::-webkit-scrollbar{display:none}
.home15-carousel.is-dragging{cursor:grabbing;scroll-behavior:auto}
.home15-card{position:relative;display:block;flex:0 0 calc((100% - 48px)/3.2);width:calc((100% - 48px)/3.2);min-width:0;color:#171b18;text-decoration:none}
button.home15-card{border:0;background:none;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none}
.home15-card-media{position:relative;aspect-ratio:1.22;overflow:hidden;background:var(--placeholder);border-radius:10px}
.home15-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.home15-card:hover .home15-card-media img,.home15-card:focus-visible .home15-card-media img{transform:scale(1.035)}
/* Copy is hidden until the image is hovered/focused. */
.home15-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0) 34%,rgba(0,0,0,.68) 100%);opacity:0;transition:opacity .25s ease}
.home15-card:hover .home15-card-overlay,.home15-card:focus-visible .home15-card-overlay{opacity:1}
.home15-card-overlay span{font-size:8px;text-transform:uppercase;letter-spacing:.14em;opacity:.82;margin-bottom:5px}
.home15-card-overlay strong{font-size:18px;line-height:1.1;font-weight:400;letter-spacing:-.01em}
.home15-card-overlay b{margin-top:11px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;opacity:.9}
.home15-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(23,27,24,.12);border-radius:50%;background:#fff;color:#1b201d;box-shadow:0 4px 14px rgba(0,0,0,.08);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease}
.home15-arrow:hover{box-shadow:0 6px 18px rgba(0,0,0,.12);border-color:rgba(23,27,24,.22)}
.home15-arrow svg{width:15px;height:15px;display:block}
.home15-prev{left:10px}.home15-next{right:10px}

/* IDEA / PROCESS */
.home15-idea{padding:84px 0 82px;background:var(--soft)}
.home15-idea-intro{margin-bottom:48px}
.home15-idea h2{margin:0;font-size:clamp(32px,3.6vw,52px);font-weight:300;letter-spacing:-.045em;line-height:1;white-space:nowrap;color:var(--ink)}
.home15-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.about-values-grid>div{position:relative;padding:0 20px}
.about-values-grid>div:not(:first-child):before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line)}
.about-approach-btn{display:flex;width:fit-content;margin:40px auto 0}
.about-approach-inner{max-width:700px}
.about-approach-inner h2{margin:0 0 22px;font-size:clamp(28px,3.2vw,40px);font-weight:300;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}
.about-approach-inner p{margin:0 0 18px;color:var(--muted);font-size:17px;line-height:1.65}
.about-approach-inner p strong{color:var(--ink);font-weight:500}
.plan3d-method{padding-top:0}
.plan3d-method p{max-width:640px;margin:0 auto;text-align:center;color:var(--muted);font-size:17px;line-height:1.6}
.home15-steps>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.home15-step-icon{display:inline-flex;width:52px;height:52px;color:var(--ink)}
.home15-step-icon svg{width:100%;height:100%;display:block}
.home15-steps span{font-size:9px;letter-spacing:.13em;color:var(--ink)}
.home15-steps strong{display:block;margin-top:18px;font-size:19px;font-weight:400}
.home15-steps p{margin:8px 0 0;max-width:220px;color:var(--muted);font-size:17px;line-height:1.5}

/* CTA */
.home15-button{display:inline-flex;padding:12px 17px;background:#fff;color:#1b211e;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.1em}

/* CATEGORIES — "Des projets pour toute la maison" : 7 tuiles, avec ou sans photo */
.home15-cat-tile{position:relative;flex:0 0 calc((100% - 40px)/2.8);width:calc((100% - 40px)/2.8);display:block;border:0;padding:0;margin:0;background:none;font:inherit;text-align:left;cursor:pointer;color:inherit;text-decoration:none}
.home15-cat-photo{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;background:var(--placeholder)}
.home15-cat-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.home15-cat-tile:hover .home15-cat-photo img{transform:scale(1.04)}
.home15-cat-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.62) 100%);opacity:0;transition:opacity .25s ease}
.home15-cat-overlay strong{color:#fff;font-size:16px;font-weight:400}
.home15-cat-tile:hover .home15-cat-overlay,.home15-cat-tile:focus-visible .home15-cat-overlay{opacity:1}
.home15-cat-label-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:17px;color:var(--muted);border:1px dashed #d6d6d3;border-radius:9px}

/* NOS RÉALISATIONS — aperçu de 3 projets + lien vers la page complète */
.home15-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.home15-featured-grid .home15-card{flex:none;width:100%}
.home15-featured-media{aspect-ratio:1.05}
.home15-see-all{display:flex;width:fit-content;margin:30px auto 0}

/* MOBILIER & CRÉATIONS — liste verticale, une photo par catégorie */
.mobilier-list{display:flex;flex-direction:column;gap:6px}
.mobilier-cat-row{display:block;border:0;padding:36px 0 0;margin:0;background:none;text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}
.mobilier-cat-title{display:block;margin-bottom:16px;font-size:20px;font-weight:500}
.mobilier-cat-media{width:100%;aspect-ratio:2.1;border-radius:8px;overflow:hidden;background:var(--placeholder)}
.mobilier-cat-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mobilier-cat-row:hover .mobilier-cat-media img{transform:scale(1.02)}
.mobilier-cat-arrow{display:block;margin-top:14px;font-size:18px;color:var(--ink)}
@media(max-width:760px){
  .mobilier-cat-media{aspect-ratio:1.2}
}
.home15-cta-strip{padding:50px 0 70px}
.home15-cta-strip-inner{text-align:center}
.home15-cta-strip h2{margin:0 0 22px;font-size:clamp(28px,3.2vw,42px);font-weight:300;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}
.home15-cta-strip .button{margin-inline:auto}

/* PLANS 3D — 2 formules (avec prix + panier) + 2 approches */
.home15-section-lead{margin:14px 0 0;max-width:520px;color:var(--muted);font-size:17px;line-height:1.55}
.plan3d-formulas-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
.plan3d-formula-card{border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.plan3d-formula-media{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--placeholder)}
.plan3d-formula-media img{width:100%;height:100%;object-fit:cover}
.plan3d-formula-card strong{margin-top:6px;font-size:20px;font-weight:500}
.plan3d-formula-card p{margin:0;color:var(--muted);font-size:18px;line-height:1.55}
.plan3d-formula-price{font-size:16px;font-weight:500;color:var(--ink)}
.plan3d-formula-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;width:100%}
.plan3d-formula-actions .product-quickadd{position:static}
.plans3d-page .home15-head{display:block;text-align:center}
.plans3d-page .home15-section-lead{margin:14px auto 0;text-align:center}
.plan3d-approaches-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
.plan3d-approach-card{border:1px solid var(--line);padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.plan3d-approach-card strong{font-size:18px;font-weight:500}
.plan3d-approach-card p{margin:0;color:var(--muted);font-size:18px;line-height:1.55}
@media(max-width:760px){
  .plan3d-formulas-grid,.plan3d-approaches-grid{grid-template-columns:1fr}
}
@media(max-width:980px){
  .home15-cat-tile{flex:0 0 calc((100% - 28px)/1.8);width:calc((100% - 28px)/1.8)}
  .home15-featured-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .home15-cat-tile{flex:0 0 calc((100% - 14px)/1.4);width:calc((100% - 14px)/1.4)}
  .home15-cat-overlay strong{font-size:14px}
  .home15-featured-grid{grid-template-columns:1fr;gap:22px}
}

@media(max-width:1050px){
  .home15-card{flex-basis:calc((100% - 36px)/2.4);width:calc((100% - 36px)/2.4)}
  .home15-idea-intro{gap:45px}
}
@media(max-width:760px){
  .home15-wrap,.home15-hero-inner{width:min(92vw,620px)}
  .home15-hero{height:650px;min-height:650px}
  .home15-hero-inner{padding-bottom:44px}
  .home15-hero{height:70vh;height:70svh}
  .home15-hero h1{font-size:38px;white-space:normal;letter-spacing:-.04em}
  .home15-hero-content>div>p:not(.home15-eyebrow){font-size:14px;max-width:350px}
  .home15-section{padding:55px 0 62px}.home15-projects{padding-top:44px}
  .home15-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:21px}
  .home15-head h2{font-size:34px}
  .home15-card{flex-basis:calc((100% - 12px)/1.35);width:calc((100% - 12px)/1.35)}
  .home15-card-media{aspect-ratio:1.22;border-radius:8px}
  .home15-card-overlay{padding:16px}
  .home15-card-overlay strong{font-size:16px}
  .home15-arrow{width:33px;height:33px}.home15-arrow svg{width:13px;height:13px}
  .home15-idea{padding:62px 0 64px}
  .home15-idea h2{font-size:30px;white-space:normal}
  .home15-steps{grid-template-columns:1fr 1fr;gap:20px}
  .home15-steps strong{margin-top:9px}
}

/* PLANS & 3D — bloc plan/budget + formules (réutilise les tokens home15) */
.home15-plan-cta{padding:80px 0}
.home15-plan-cta-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.home15-plan-cta-media{overflow:hidden;border-radius:10px;background:var(--placeholder)}
.home15-plan-cta-media img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}
.home15-plan-cta-copy p:not(.home15-eyebrow){margin:0 0 25px;color:#5d6560;font-size:14px;line-height:1.6;max-width:460px}
.home15-plan-cta-copy h2{margin:0 0 18px;font-size:clamp(32px,3.6vw,46px);font-weight:300;letter-spacing:-.055em;line-height:1.02}
.home15-plan-cta-copy h2 em{font-style:normal;font-weight:inherit}
.home15-button-dark{background:#1b211e;color:#fff}
.home15-formulas{padding:20px 0 100px;background:var(--soft)}
.home15-formulas-lead{margin:0 0 40px;max-width:640px;color:#5d6560;font-size:13px;line-height:1.6}
.home15-formulas .price-card{border-radius:10px}
.home15-formulas .offer-badge{border-radius:0 10px 0 8px}
.home15-formulas .offer-views figure{border-radius:4px}
@media(max-width:760px){
  .home15-plan-cta{padding:55px 0 60px}
  .home15-plan-cta-grid{grid-template-columns:1fr;gap:28px}
  .home15-plan-cta-media img{min-height:260px}
  .home15-formulas{padding:10px 0 70px}
}

/* BOUTIQUE — filtres, recherche, ajout rapide, bandeau final (réutilise les tokens home15) */
.filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.filter-bar{display:flex;gap:6px;flex-wrap:wrap}
.filter-chip{border:0;background:transparent;padding:9px 16px;border-radius:20px;font-size:12px;letter-spacing:.03em;color:#5d6560;cursor:pointer;transition:background .2s,color .2s}
.filter-chip:hover{color:#171b18}
.filter-chip.is-active{background:#1b211e;color:#fff}
.search-box{position:relative;display:flex;align-items:center}
.search-box input{width:220px;max-width:48vw;border:1px solid #e4e8e4;border-radius:20px;padding:9px 38px 9px 16px;font-size:12px;font-family:inherit;background:#fff;color:#171b18}
.search-box input:focus{outline:none;border-color:var(--ink)}
.search-box svg{position:absolute;right:13px;width:14px;height:14px;color:#8a918c;pointer-events:none}
.product-card-wrap[hidden]{display:none}
.product-meta{position:relative}
.product-meta>div{padding-right:44px}
.product-price{display:block;margin-top:4px;font-size:14px;color:#5d6560}
.product-quickadd{position:absolute;right:0;bottom:15px;width:38px;height:38px;border:0;background:none;padding:0;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s}
.product-quickadd svg{width:26px;height:26px}
.product-quickadd:hover{transform:scale(1.06)}
.filter-empty{padding:40px 0;text-align:center;color:#8a918c;font-size:13px}
.boutique-features{padding:55px 0 90px;border-top:1px solid #e4e8e4}
.boutique-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.boutique-features-grid>div{display:flex;align-items:center;gap:13px}
.boutique-features-grid svg{width:26px;height:26px;flex:0 0 auto;color:var(--ink)}
.boutique-features-grid strong{display:block;font-size:13px;font-weight:500}
.boutique-features-grid span{display:block;font-size:12px;color:#8a918c;margin-top:2px}
@media(max-width:760px){
  .filter-toolbar{flex-direction:column;align-items:stretch}
  .search-box input{width:100%;max-width:none}
  .boutique-features-grid{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:520px){
  .boutique-features-grid{grid-template-columns:1fr}
}

/* RÉALISATIONS — mise en page grille + bloc latéral (namespace dédié, indépendant de l'ancien .real-*) */
.realisations-layout{display:grid;grid-template-columns:1fr .32fr;gap:60px;align-items:start}
.rl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 22px}
.rl-card{display:block;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;color:inherit;width:100%}
.rl-media{position:relative;overflow:hidden;border-radius:10px;background:var(--placeholder);aspect-ratio:1.28}
.rl-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.rl-card:hover .rl-media img{transform:scale(1.04)}
.rl-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.62) 100%);opacity:0;transition:opacity .25s ease}
.rl-card:hover .rl-overlay,.rl-card:focus-visible .rl-overlay{opacity:1}
.rl-overlay strong{display:block;color:#fff;font-size:16px;font-weight:400}
.rl-overlay span{display:block;color:rgba(255,255,255,.8);font-size:13px;margin-top:3px}
.rl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.rl-card:hover .rl-media img{transform:scale(1.03)}
.realisations-side{position:sticky;top:110px}
.realisations-side h2{margin:0 0 18px;font-size:clamp(26px,2.6vw,34px);font-weight:300;letter-spacing:-.04em;line-height:1.05}
.realisations-side h2 em{font-style:normal;font-weight:inherit}
.realisations-side p{margin:0 0 26px;font-size:13px;line-height:1.65;color:#5d6560}
@media(max-width:980px){
  .realisations-layout{grid-template-columns:1fr}
  .realisations-side{position:static;order:-1}
}
@media(max-width:760px){
  .rl-grid{grid-template-columns:1fr}
}

/* Correctif ciblé : les boutons génériques d'Astra (fond bleu, padding par défaut)
   prenaient le dessus sur la croix et les flèches des fenêtres projet/produit/création.
   Forcé ici uniquement pour ces boutons précis, pas pour le reste du site. */
/* Correctif ciblé : Astra applique un fond bleu par défaut au survol/focus des
   boutons — nos cartes-image (accueil, réalisations, mobilier, plans 3D) sont des
   <button>, donc concernées. Fond forcé transparent uniquement pour elles. */
.home15-cat-tile:hover,.home15-cat-tile:focus,
.home15-featured-card:hover,.home15-featured-card:focus,
.rl-card:hover,.rl-card:focus,
.mobilier-cat-row:hover,.mobilier-cat-row:focus,
.product-card:hover,.product-card:focus,
.product-quickadd:hover,.product-quickadd:focus,
.nav-cart:hover,.nav-cart:focus,
.home15-card:hover,.home15-card:focus{background:transparent!important}

.project-modal-close,.product-modal-close,.creation-modal-close{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;color:#171b18!important;
  font-family:Arial,sans-serif!important;font-weight:300!important;line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.14)!important;
  width:38px!important;height:38px!important;font-size:22px!important;top:13px!important;right:16px!important;
}
.product-modal-arrow{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;color:#171b18!important;
  font-family:Arial,sans-serif!important;font-weight:300!important;line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.14)!important;
  width:42px!important;height:42px!important;font-size:19px!important;
}
/* Flèches de la fenêtre projet : noires, à part (maquette validée), même protection Astra */
.project-modal-arrow{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;
  background:#171b18!important;color:#fff!important;
  font-family:Arial,sans-serif!important;font-weight:200!important;line-height:1!important;
  width:38px!important;height:38px!important;font-size:20px!important;
}
.project-modal-dot{
  display:block!important;box-sizing:border-box!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;background:var(--line)!important;
  width:6px!important;height:6px!important;
}
.project-modal-dot.active{background:var(--ink)!important;width:8px!important;height:8px!important}

/* FOOTER V2 — compact, 3 colonnes (marque+Instagram / menu / contact minimal) */
.footer-grid-v2{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:40px;align-items:start}
.footer-col-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer-instagram{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.82);font-size:12px;transition:color .2s}
.footer-instagram:hover{color:#fff}
.footer-instagram svg{width:19px;height:19px}
.footer-col-menu{display:flex;flex-direction:column;gap:9px;font-size:12px}
.footer-col-menu a{color:rgba(255,255,255,.72);transition:color .2s}
.footer-col-menu a:hover{color:#fff}
.footer-question{margin:0 0 12px;font-size:16px;font-weight:400;color:#fff}
.footer-bottom{align-items:center}
.footer-legal{display:flex;gap:16px}
.footer-legal a{color:rgba(255,255,255,.4);transition:color .2s}
.footer-legal a:hover{color:#fff}
@media(max-width:760px){
  .footer-grid-v2{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}

/* FICHE INDIVIDUELLE — réalisation */
.single-realisation-grid{display:block}
.single-realisation-content{max-width:720px;margin:0 auto 50px}
.single-realisation-content p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 16px}
.single-realisation-details{list-style:none;padding:0;margin:20px 0 30px;display:flex;flex-direction:column;gap:6px}
.single-realisation-details li{color:var(--muted);font-size:15px}
.single-realisation-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.single-realisation-photo{aspect-ratio:1.2;border-radius:8px;overflow:hidden;background:var(--placeholder)}
.single-realisation-photo img,.single-realisation-photo video{width:100%;height:100%;object-fit:cover}

/* FICHE INDIVIDUELLE — produit */
.single-produit-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.single-produit-media img{width:100%;border-radius:8px;display:block}
.single-produit-placeholder{aspect-ratio:1;background:var(--placeholder);border-radius:8px}
.single-produit-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.single-produit-thumb{aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--placeholder)}
.single-produit-thumb img,.single-produit-thumb video{width:100%;height:100%;object-fit:cover}
.single-produit-info h1{font-size:clamp(28px,3vw,42px);font-weight:300;letter-spacing:-.03em;margin:8px 0 12px;color:var(--ink)}
.single-produit-price{font-size:20px;font-weight:500;margin:0 0 20px;color:var(--ink)}
.single-produit-info p{color:var(--muted);font-size:16px;line-height:1.7}
@media(max-width:760px){
  .single-realisation-gallery{grid-template-columns:1fr 1fr}
  .single-produit-grid{grid-template-columns:1fr;gap:28px}
  .single-produit-gallery{grid-template-columns:repeat(3,1fr)}
}
