/*
Theme Name: CASALI
Description: CASALI — thème éditorial en blocs WordPress, contenu modifiable visuellement.
Version: 0.5.0
Requires at least: 6.7
Requires PHP: 8.0
Author: CASALI
Text Domain: casali
*/
:root{
 --casali-chaux:#F7F2E9;--casali-travertin:#E4D9C6;--casali-terre:#2E2620;
 --casali-laiton:#B39762;--casali-pierre:#6E6459;--casali-gutter:clamp(20px,4vw,64px);
 --casali-heading:"Tenor Sans",Arial,sans-serif;--casali-body:"Jost",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--casali-chaux);color:var(--casali-terre);font-family:var(--casali-body);font-size:16px;line-height:1.75}
img{max-width:100%;height:auto;vertical-align:middle}
:where(h1,h2,h3,h4,h5,h6){font-family:var(--casali-heading);font-weight:400;line-height:1.15;margin:0 0 22px;text-wrap:pretty}
:where(h1){font-size:clamp(32px,3.6vw,50px)}
:where(h2){font-size:clamp(28px,2.8vw,36px)}
:where(h3){font-size:clamp(20px,1.8vw,24px)}
:where(p){margin:0 0 20px}
:where(a){color:inherit;text-underline-offset:4px}
:where(strong,b){font-weight:500}
:where(a,button,input,textarea,select):focus-visible{outline:2px solid currentColor;outline-offset:5px}
:where(.wp-site-blocks,.casali-page-content,.casali-page-content>.wp-block-post-content){margin-block:0;padding:0}
:where(.wp-site-blocks)>*,.casali-page-content>.wp-block-post-content>*{margin-block:0}
.casali-container{width:calc(100% - var(--casali-gutter)*2);max-width:1280px;margin-inline:auto}
.casali-readable{max-width:760px}
.casali-section{padding-block:clamp(54px,6vw,88px)}
.casali-light{background:var(--casali-chaux);color:var(--casali-terre)}
.casali-sand{background:var(--casali-travertin);color:var(--casali-terre)}
.casali-dark{background:var(--casali-terre);color:var(--casali-chaux)}
.casali-dark :where(h1,h2,h3,p,li){color:inherit}
.casali-kicker{font-family:var(--casali-body);font-size:11px;font-weight:500;letter-spacing:.15em;line-height:1.65;text-transform:uppercase;color:var(--casali-pierre);margin-bottom:18px}
.casali-dark .casali-kicker,.casali-immersive .casali-kicker{color:#C4A671}
.casali-lead{font-size:clamp(16px,1.2vw,18px);line-height:1.75;max-width:630px}
.casali-note,.wp-element-caption{font-size:12px;line-height:1.6;color:var(--casali-pierre)}
.casali-manifesto{max-width:880px;margin-inline:auto;text-align:center}
.casali-manifesto .casali-lead{margin-inline:auto}
.casali-split{display:flex;gap:clamp(26px,5vw,72px);margin:0;align-items:center}
.casali-split>.wp-block-column{min-width:0;margin:0}
.casali-split>.wp-block-column>*:last-child{margin-bottom:0}
.casali-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-block:28px}
.casali-grid>*{margin:0;min-width:0}
.casali-card{border-top:1px solid var(--casali-laiton);padding-block:22px 8px}
.casali-card p:last-child{margin:0}
.casali-card h3{margin-bottom:14px}
.casali-photo{margin:0}
.casali-photo img{display:block;width:100%;object-fit:cover;border-radius:0;filter:none;opacity:1}
.casali-photo-square img{aspect-ratio:1.05;object-position:center}
.casali-photo-portrait img{aspect-ratio:4/5;max-height:500px;object-position:50% 34%}
.casali-photo-balanced img{aspect-ratio:4/3;max-height:440px;object-position:center}
.casali-photo-detail img{aspect-ratio:4/3;max-height:280px;object-position:50% 32%}
.casali-photo figcaption{margin-top:9px}
/* Native blocks only. Layer order is explicit: image 0, veil 1, editable copy 2. */
.casali-immersive{position:relative;isolation:isolate;display:flex;align-items:center;background:var(--casali-terre);color:var(--casali-chaux);padding-block:64px;overflow:hidden}
.casali-immersive>.casali-immersive-media{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:0}
.casali-immersive-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none;opacity:1}
.casali-immersive::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(46,38,32,.88) 0%,rgba(46,38,32,.8) 34%,rgba(46,38,32,.46) 56%,rgba(46,38,32,.06) 100%)}
.casali-immersive>.casali-immersive-content{position:relative;z-index:2;opacity:1}
.casali-immersive .wp-block-heading,.casali-immersive p{color:inherit;opacity:1}
.casali-immersive p.casali-kicker{color:#C4A671}
.casali-hero{min-height:min(780px,calc(100svh - 84px))}
.casali-hero-copy{max-width:600px}
.casali-hero-title{font-size:clamp(34px,3.8vw,54px);line-height:1.12;letter-spacing:-.014em;margin-bottom:24px}
.casali-hero .casali-lead{max-width:590px;margin-bottom:28px}
.casali-arrival{min-height:570px;align-items:flex-end;padding-block:60px}
.casali-arrival-copy{max-width:640px}
.casali-arrival::after{background:linear-gradient(90deg,rgba(46,38,32,.82) 0%,rgba(46,38,32,.65) 35%,rgba(46,38,32,.12) 74%),linear-gradient(0deg,rgba(46,38,32,.45),rgba(46,38,32,0) 65%)}
/* Buttons remain native blocks with editable label/link/styles. */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.wp-block-button{margin:0}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 22px;font:500 12px/1.35 var(--casali-body);letter-spacing:.07em;text-transform:uppercase;text-align:center;text-decoration:none;border:1px solid var(--casali-terre);background:var(--casali-terre);color:var(--casali-chaux);border-radius:0;transition:background-color .18s,color .18s}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:inherit;border-color:currentColor}
.casali-immersive .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--casali-chaux);color:var(--casali-terre);border-color:var(--casali-chaux)}
.casali-immersive .wp-block-button.is-style-outline .wp-block-button__link{background:rgba(46,38,32,.45);color:var(--casali-chaux);border-color:var(--casali-chaux)}
.casali-dark .is-style-outline .wp-block-button__link{color:var(--casali-chaux);border-color:var(--casali-chaux)}
.wp-block-button__link:hover{background:var(--casali-travertin);border-color:var(--casali-terre);color:var(--casali-terre)}
.casali-immersive .wp-block-button__link:hover{background:var(--casali-travertin);color:var(--casali-terre)}
.casali-price{font:400 clamp(36px,4vw,54px)/1.12 var(--casali-heading);margin-bottom:22px}
.casali-price small{font:400 16px var(--casali-body)}
.casali-price-compact{font:400 28px var(--casali-heading)}
/* Property Book: calm copy + concrete, light and fully editable information panel. */
.casali-book-panel{background:var(--casali-chaux);color:var(--casali-terre);padding:clamp(24px,3vw,40px);border-top:3px solid var(--casali-laiton)}
.casali-book-panel .casali-kicker{color:var(--casali-pierre)}
.casali-book-panel>h3{font-size:27px;margin-bottom:10px}
.casali-book-grid{gap:22px;margin-block:24px}
.casali-book-card{border-top:1px solid var(--casali-laiton);padding-top:16px}
.casali-book-card .casali-kicker{font-size:10px;margin-bottom:10px}
.casali-book-card h3{font-size:21px;margin-bottom:10px}
.casali-book-card p:last-child{font-size:15px;line-height:1.65;margin-bottom:0}
.casali-book-footer{border-top:1px solid var(--casali-travertin);padding-top:18px;margin-bottom:0;font-size:14px}
.casali-faq-item{border-top:1px solid var(--casali-laiton);padding:22px 0}
.casali-faq-item:last-child{padding-bottom:0}
.casali-faq-item h3{font-size:22px;margin-bottom:12px}
.casali-form-panel{min-width:0}
.casali-form-panel .casali-leads-app{color:var(--casali-terre);max-width:100%}
.casali-form-panel .casali-leads-shell{padding:clamp(22px,3vw,42px)}
.casali-form-panel .casali-leads-app h3,.casali-form-panel .casali-leads-app legend{color:var(--casali-terre)}
/* Header: sticky wrapper, not a sticky child trapped inside a short header. */
.casali-header-wrap,header.wp-block-template-part:has(.casali-header){position:sticky;top:0;z-index:100;background:var(--casali-chaux)}
.admin-bar .casali-header-wrap{top:32px}
.casali-header{background:rgba(247,242,233,.99);border-bottom:1px solid var(--casali-travertin);transition:background-color .22s}
.casali-header-wrap.is-scrolled .casali-header{background:rgba(247,242,233,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.casali-header-inner{width:calc(100% - var(--casali-gutter)*2);max-width:1440px;margin-inline:auto;display:flex;align-items:center;gap:30px;min-height:84px;padding-block:12px}
.casali-brand{flex:0 0 196px;margin:0;line-height:0}
.casali-brand img{width:196px;height:auto}
.casali-nav{margin-left:auto}
.casali-nav .wp-block-navigation__container{gap:clamp(12px,1.2vw,22px);align-items:center}
.casali-nav .wp-block-navigation-item__content{color:var(--casali-terre);font-family:var(--casali-body);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.065em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding-block:9px}
.casali-nav .casali-owner-link .wp-block-navigation-item__content{font-size:11px;letter-spacing:.02em;text-transform:none;border-left:1px solid var(--casali-travertin);padding-left:16px}
.casali-nav .casali-appointment .wp-block-navigation-item__content{background:var(--casali-terre);color:var(--casali-chaux);padding:14px 18px;min-height:46px;display:inline-flex;align-items:center}
.casali-nav a:focus-visible{outline-color:var(--casali-terre)}
.casali-nav .casali-appointment a:focus-visible{outline-offset:3px}
.casali-footer{padding-block:52px 28px}
.casali-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.casali-footer-logo{margin:0 0 22px;width:150px}
.casali-footer-brand p{font-size:14px;max-width:310px}
.casali-footer .wp-block-navigation__container{gap:12px}
.casali-footer .wp-block-navigation-item__content{color:var(--casali-chaux);font-size:14px;text-decoration:none}
.casali-footer-bottom{border-top:1px solid var(--casali-laiton);padding-top:18px;margin:28px 0 0;font-size:12px}
@media(max-width:1180px){
 .casali-nav .wp-block-navigation__responsive-container-open{display:flex!important;min-height:44px;min-width:44px;justify-content:center}
 .casali-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .casali-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--casali-chaux)!important;color:var(--casali-terre)!important;padding:24px}
 .casali-nav .wp-block-navigation__responsive-container-content{padding-top:72px!important;align-items:stretch!important}
 .casali-nav .wp-block-navigation__container{width:100%;align-items:stretch!important;gap:0!important}
 .casali-nav .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--casali-travertin)}
 .casali-nav .wp-block-navigation-item__content{padding:15px 0;font-size:15px}
 .casali-nav .casali-owner-link .wp-block-navigation-item__content{border:0;padding:15px 0;font-size:14px}
 .casali-nav .casali-appointment{margin-top:20px}
 .casali-nav .casali-appointment .wp-block-navigation-item__content{width:100%;justify-content:center;padding:16px}
}
@media(max-width:900px){
 .casali-split{flex-direction:column;gap:32px}
 .casali-split>.wp-block-column{width:100%;flex-basis:auto!important}
 .casali-hero{min-height:700px}
 .casali-hero-copy{max-width:610px}
 .casali-book-panel{max-width:100%}
 .casali-photo img{max-height:460px}
 .casali-photo-portrait img{aspect-ratio:4/3;object-position:50% 32%}
 .casali-photo-detail img{max-height:260px}
}
@media(max-width:600px){
 :root{--casali-gutter:24px}
 .casali-section{padding-block:48px}
 .casali-header-inner{min-height:72px;gap:20px}
 .casali-brand{flex-basis:164px}.casali-brand img{width:164px}
 .casali-hero{min-height:calc(90svh - 72px);padding-block:58px}
 .casali-hero-title{font-size:36px;line-height:1.15;letter-spacing:0}
 .casali-hero .casali-lead{font-size:16px}
 .casali-immersive-media img{object-position:60% 50%}
 .casali-immersive::after{background:rgba(46,38,32,.8)}
 .casali-hero .casali-kicker{font-size:10px;letter-spacing:.08em}
 .casali-arrival{min-height:540px;padding-block:42px}
 .casali-arrival::after{background:linear-gradient(0deg,rgba(46,38,32,.9),rgba(46,38,32,.68) 65%,rgba(46,38,32,.1))}
 .casali-immersive .wp-block-buttons{display:grid;grid-template-columns:1fr}
 .casali-immersive .wp-block-button__link{width:100%}
 .casali-grid,.casali-footer-grid{grid-template-columns:1fr}
 .casali-book-grid{grid-template-columns:1fr;gap:20px}
 .casali-book-panel{padding:24px}
 .casali-photo-square img{aspect-ratio:1.05}
 .casali-photo-balanced img{aspect-ratio:4/3}
 .casali-footer-grid{gap:28px}
 .casali-form-panel .casali-leads-shell{padding:20px}
 .casali-container a{overflow-wrap:anywhere}
 .casali-nav a{overflow-wrap:normal}
}
@media(max-width:782px){.admin-bar .casali-header-wrap{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Transitional compatibility while the administrator applies the new native pages. */
.casali-hero-final{position:relative;isolation:isolate;padding:80px var(--casali-gutter);min-height:650px;background:#2E2620;color:#F7F2E9}
.casali-hero-final__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.casali-hero-final::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(46,38,32,.85),rgba(46,38,32,.05))}
.casali-hero-final__inner{position:relative;z-index:2;max-width:1280px;margin:auto}
.casali-hero-final__content{max-width:600px}
.casali-hero-final__title{font-size:clamp(34px,3.8vw,54px);color:#F7F2E9}
.casali-hero-final__text,.casali-hero-final__kicker{color:#F7F2E9}
.casali-hero-final__actions{display:flex;flex-wrap:wrap;gap:12px}
.casali-hero-final__btn{background:#F7F2E9;color:#2E2620;padding:16px 22px;display:inline-flex;font-size:12px;text-decoration:none}
