/* Only decorative defaults. Layout and typography live in editable Elementor controls. */
.zc-site {position:relative;isolation:isolate}
.zc-site .elementor-widget-text-editor p:last-child {margin-bottom:0}
.zc-site .zc-photo img {transition:transform .65s ease}
.zc-site .zc-photo {overflow:hidden}
.zc-site .zc-photo:hover img {transform:scale(1.025)}
.zc-site .zc-button a {transition:transform .25s ease,background-color .25s ease}
.zc-site a:focus-visible {outline:3px solid #dcaa4c;outline-offset:5px}
body:not(.elementor-editor-active) .zc-site:not(.zc-v2) > .zc-header {position:absolute;z-index:10;top:0;left:0;width:100%;background:transparent!important}
.zc-site .zc-hero-copy {animation:zc-rise .8s ease both}
@keyframes zc-rise {from {opacity:0;transform:translateY(22px)} to {opacity:1;transform:none}}
@media (max-width:767px){.zc-site .zc-hero {padding-top:210px;padding-bottom:60px}}
@media (prefers-reduced-motion:reduce){.zc-site *, .zc-site *::before {animation:none!important;transition:none!important}}
/* Version 2: native Elementor content; special classes add only presentation/motion. */
.zc-v2 {isolation:isolate;overflow:hidden}
.zc-v2 .zc-hero-v2 {perspective:1400px}
.zc-v2 .zc-hero-v2 h1 em {color:#a54732}
.zc-v2 .zc-depth-gallery {position:relative;max-width:800px;align-self:center;transform-style:preserve-3d;transition:transform .18s ease-out}
.zc-v2 .zc-hero-frame {position:absolute;overflow:hidden;border:7px solid #fff9ef;border-radius:140px 140px 15px 15px;box-shadow:0 23px 36px #602d252d;transform-style:preserve-3d}
.zc-v2 .zc-hero-frame .elementor-widget-container {height:100%}
.zc-v2 .zc-hero-frame img {width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.zc-v2 .zc-frame-left {width:29%;height:265px;left:4%;top:38px;transform:rotate(-12deg) translateZ(15px)}
.zc-v2 .zc-frame-center {width:35%;height:330px;left:32.5%;top:0;transform:rotate(5deg) translateZ(65px);z-index:2}
.zc-v2 .zc-frame-right {width:28%;height:248px;right:3%;top:48px;transform:rotate(13deg) translateZ(20px)}
.zc-v2 .zc-hero-seal {position:absolute;width:104px;height:104px;left:20%;bottom:14px;padding:12px;display:flex;justify-content:center;transform:rotate(-12deg) translateZ(100px);z-index:4;box-shadow:0 8px 16px #41241e18}
.zc-v2 .zc-tilt-card {perspective:1200px}
.zc-v2 .zc-tilt-card .zc-photo {transform-style:preserve-3d;transition:transform .2s ease-out}
.zc-v2 .zc-lab-photo {transform:rotate(-4deg);box-shadow:16px 18px 0 #754a3a;border-radius:14px;margin:12px}
.zc-v2 .zc-special-visual {position:relative;padding-bottom:40px}
.zc-v2 .zc-special-photo {transform:rotate(6deg);width:88%;filter:drop-shadow(0 20px 18px #41241e18)}
.zc-v2 .zc-floating-label {position:absolute;width:auto;max-width:80%;bottom:0;right:0;transform:rotate(-8deg);box-shadow:0 14px 24px #41241e18}
.zc-v2 .zc-about-photo {transform:rotate(6deg)}
.zc-v2 .zc-menu-panel[hidden] {display:none!important}
.zc-v2 .zc-menu-tab .elementor-button[aria-pressed="true"] {background:#41241e;color:#fff9ef}
.zc-v2 .zc-motion-toggle .elementor-button {border:1px solid #cab9aa}
.zc-v2[data-zc-motion="off"] .zc-depth-gallery,.zc-v2[data-zc-motion="off"] .zc-tilt-card .zc-photo {transform:none!important}
.zc-v2[data-zc-motion="off"] * {animation:none!important;transition:none!important}
.zc-v2[data-zc-motion="off"] .zc-photo:hover img {transform:none}
body.elementor-editor-active .zc-v2 .zc-menu-panel[hidden] {display:flex!important}
body.elementor-editor-active .zc-v2 .zc-depth-gallery {transform:none!important}
@media(max-width:767px){
.zc-v2 .zc-frame-left {width:31%;height:185px;left:0;top:30px}
.zc-v2 .zc-frame-center {width:41%;height:250px;left:29%}
.zc-v2 .zc-frame-right {width:31%;height:180px;right:0;top:48px}
.zc-v2 .zc-hero-seal {width:88px;height:88px;left:8%;bottom:8px;padding:8px}
.zc-v2 .zc-lab-photo {margin:12px 16px 20px 4px}
}
@media(prefers-reduced-motion:reduce){.zc-v2 .zc-depth-gallery,.zc-v2 .zc-tilt-card .zc-photo {transform:none!important}.zc-v2 .zc-photo:hover img {transform:none}}
/* 3.0: all slides stay native Elementor containers, including captions. */
.zc-v3 .zc-slider {min-width:0;max-width:100%}
.zc-v3 .zc-slider-track {display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a54732 #eee1cf;overscroll-behavior-x:contain;padding-bottom:16px;gap:24px}
.zc-v3 .zc-slider-track > .zc-slide {flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
.zc-v3 .zc-slider-wide .zc-slider-track > .zc-slide {flex-basis:100%}
.zc-v3 .zc-slider .zc-photo img {width:100%;object-fit:cover}
.zc-v3 .zc-slider-wide .zc-slide .zc-photo img {object-position:center 40%}
.zc-v3 .zc-slider-status {width:auto;min-width:45px;text-align:center;font:14px/1.5 'DM Sans',sans-serif;color:#71564b}
.zc-v3 .zc-slider .zc-button {width:auto}
.zc-v3 .zc-slider-track:focus-visible {outline:3px solid #a54732;outline-offset:4px}
.zc-v3 .zc-person-portrait img {object-position:center 25%}
body.elementor-editor-active .zc-v3 .zc-slider-track {overflow:visible;flex-wrap:wrap;scroll-snap-type:none}
body.elementor-editor-active .zc-v3 .zc-slider-track > .zc-slide {flex:0 0 100%}
@media(max-width:1024px) and (min-width:768px){.zc-v3 .zc-slider-track > .zc-slide {flex-basis:calc((100% - 24px)/2)}}
@media(max-width:767px){.zc-v3 .zc-slider-track > .zc-slide {flex-basis:88%}.zc-v3 .zc-slider-wide .zc-slider-track > .zc-slide {flex-basis:100%}.zc-v3 .zc-slider .elementor-button {padding:12px 15px}.zc-v3 .zc-slider-pause {order:4;width:100%}.zc-v3 .zc-slider-pause .elementor-button {width:100%}}
@media(prefers-reduced-motion:reduce){.zc-v3 .zc-slider-track {scroll-behavior:auto}}

/* Menu a pillola in vetro (glassmorphism) */
.zc-v2 .zc-header-v2 {justify-content:space-between}
.zc-v2 .zc-nav-pill {width:auto!important;flex:0 0 auto!important;flex-wrap:nowrap!important;gap:4px!important;padding:6px!important;border:1px solid rgba(255,249,239,.5);border-radius:999px;background:rgba(65,36,30,.58);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 30px rgba(65,36,30,.18)}
.zc-v2 .zc-nav-pill .zc-nav-link .elementor-button {background:transparent!important;color:#fff9ef!important;padding:14px 26px;border-radius:999px;border:0;font-size:17px;transition:background-color .25s ease,color .25s ease}
.zc-v2 .zc-nav-pill .zc-nav-link .elementor-button:hover {background:rgba(255,249,239,.2)!important}
.zc-v2 .zc-nav-pill .zc-nav-active .elementor-button {background:#fff9ef!important;color:#41241e!important}
@media (max-width:767px){.zc-v2 .zc-nav-pill {width:100%!important;justify-content:space-between}.zc-v2 .zc-nav-pill .zc-nav-link .elementor-button {padding:11px 15px;font-size:15px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.zc-v2 .zc-nav-pill {background:rgba(65,36,30,.88)}}

/* Logo */
.zc-v2 .zc-logo {display:inline-block;text-decoration:none;color:#41241e}
.zc-v2 .zc-logo-text {font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:600;line-height:1.15}
.zc-v2 .zc-logo-text span {display:block;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:400;letter-spacing:3px}
.zc-v2 .zc-logo-img {display:block;width:auto;height:auto;max-height:60px;max-width:220px}
