.casali-contact-widget{--f:var(--casali-terre,#2e2620);--i:var(--casali-chaux,#f7f2e9);--p:var(--casali-chaux,#f7f2e9);--g:var(--casali-laiton,#b39762);--m:var(--casali-pierre,#6e6459);--l:var(--casali-travertin,#e4d9c6);--shadow-float:0 10px 28px rgba(46,38,32,.11)}
/* CASALI geometry, not font glyphs. Colors always inherit from the control. */
.casali-icon{display:inline-block;width:1.15em;height:1.15em;flex-shrink:0;vertical-align:-.18em;pointer-events:none}
.casali-contact-widget{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:35;color:var(--f);font-family:Jost,Arial,sans-serif}
.casali-contact-widget button{appearance:none;font:inherit;cursor:pointer;box-shadow:none}
.casali-contact-widget .casali-contact-trigger{display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-height:56px;padding:0;border:1px solid var(--g);border-radius:50%;background:var(--f);color:var(--i);box-shadow:var(--shadow-float)}
.casali-contact-trigger>.casali-icon{width:27px;height:27px}
.casali-contact-trigger:hover{border-color:var(--i)}
.casali-contact-widget :focus-visible{outline:2px solid var(--g);outline-offset:4px}
.casali-contact-panel{position:absolute;right:0;bottom:70px;width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;background:var(--p);border:1px solid var(--l);border-radius:8px;box-shadow:var(--shadow-float)}
.casali-contact-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:20px 16px 16px 24px;border-bottom:1px solid var(--l)}
.casali-contact-brand{display:block;font-family:'Tenor Sans',Georgia,serif;font-size:23px;letter-spacing:.12em}
.casali-contact-panel small{display:block;font-size:12px;line-height:1.5;color:var(--m)}
.casali-contact-panel .casali-contact-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--f)}
.casali-contact-body{padding:22px 24px 24px}
.casali-contact-body h2{margin:0 0 12px;font-family:'Tenor Sans',Georgia,serif;font-size:24px;line-height:1.25}
.casali-contact-body p{margin:0 0 20px;font-size:15px;line-height:1.6}
.casali-contact-whatsapp{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px;border:1px solid var(--f);border-radius:3px;background:var(--f);color:var(--i);font-size:14px;text-decoration:none}
.casali-contact-whatsapp:hover{border-color:var(--g)}
.casali-contact-whatsapp+small{text-align:center;margin-top:10px}
.casali-contact-body .casali-contact-privacy{margin:16px 0 0;color:var(--m);font-size:12px}
.transition-content[inert] .casali-contact-widget,body:has([aria-modal=true],dialog[open],.app-menu-trigger[aria-expanded=true],.command-overlay,.dossier-navigation-notice) .casali-contact-widget{display:none}
/* Never cover a bottom action bar; contact links remain available in navigation. */
@media(max-width:767px){
  .casali-contact-widget{right:max(16px,env(safe-area-inset-right))}
  body:has(.owner-bottom-nav,.casali-bottom-nav) .casali-contact-widget{bottom:calc(88px + env(safe-area-inset-bottom))}
  body:has(.owner-bottom-nav,.casali-bottom-nav) .casali-contact-panel{max-height:calc(100dvh - 200px)}
  body:has(.action-mobile-cta,.field-summary-bar,input:focus,textarea:focus,select:focus) .casali-contact-widget{display:none}
}
@media print{.casali-contact-widget{display:none}}

.casali-contact-panel[hidden]{display:none!important}
.casali-svg-before::before,.casali-svg-after::after,.casali-v07-form-details>summary::after{content:none!important}
body:has(.wp-block-navigation__responsive-container.is-menu-open) .casali-contact-widget{display:none}
