/*
Theme Name: Il Peccato Zen V34
Theme URI: https://ilpeccatozen.it/
Author: OpenAI
Version: 34.0
Description: Luxury red, burgundy and gold WordPress theme for Il Peccato Zen.
*/
:root{--bg:#090303;--bg2:#160608;--wine:#4b0710;--red:#8e1825;--gold:#d6ad55;--gold2:#f2d37e;--cream:#f8f0e2;--muted:#bbaea0;--line:rgba(214,173,85,.38);--max:1240px;--shadow:0 18px 50px rgba(0,0,0,.5)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#3a0710 0,#160608 32%,#090303 75%);color:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.serif{font-family:Georgia,'Times New Roman',serif}.gold{color:var(--gold2)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,3,4,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;min-width:245px;height:68px;overflow:hidden}.site-logo{display:block;width:190px;height:auto;max-height:62px;object-fit:contain;object-position:left center}.main-nav{display:flex;gap:26px;align-items:center;margin-left:auto}.main-nav a{font-size:11px;letter-spacing:1.2px;color:#eee}.main-nav a:hover{color:var(--gold2)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid var(--gold);border-radius:8px;background:linear-gradient(#f0ca72,#c89332);color:#1a0903;font-weight:800;font-size:11px;letter-spacing:.8px;box-shadow:0 7px 25px rgba(214,173,85,.2)}.menu-toggle{display:none;background:none;border:0;color:var(--gold2);font-size:27px;padding:8px;cursor:pointer;line-height:1}.hamburger-lines{display:flex;flex-direction:column;gap:5px;width:25px}.hamburger-lines i{display:block;width:25px;height:2px;background:currentColor;border-radius:2px;transition:.25s}.menu-toggle.is-open .hamburger-lines i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open .hamburger-lines i:nth-child(2){opacity:0}.menu-toggle.is-open .hamburger-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(12,2,4,.94) 0%,rgba(26,5,8,.7) 48%,rgba(24,2,5,.35) 100%),radial-gradient(circle at 75% 45%,#8c1c26 0, #390910 28%,#100205 68%)}.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 45%,rgba(242,211,126,.16),transparent 25%),linear-gradient(135deg,transparent 45%,rgba(127,13,28,.22) 100%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:90px 0;max-width:650px}.eyebrow{font-size:11px;letter-spacing:5px;color:var(--gold2);text-transform:uppercase}.hero h1{font:clamp(48px,6vw,78px)/.92 Georgia,serif;margin:18px 0}.hero h1 em{color:var(--gold2);font-style:italic}.hero p{max-width:530px;color:#e2d8cb;line-height:1.7;font-size:16px}.hero .cta{margin-top:18px;padding:15px 28px}.hero-orb{position:absolute;right:5%;top:12%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 45% 40%,rgba(214,173,85,.42),rgba(142,24,37,.5) 30%,rgba(32,2,7,.2) 67%,transparent 68%);filter:blur(.3px)}
.section{padding:68px 0}.section-head{text-align:center;margin-bottom:28px}.section-head h2{font:32px Georgia,serif;margin:0 0 8px;color:var(--gold2);letter-spacing:1px}.section-head p{margin:0;color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.card{background:linear-gradient(145deg,rgba(35,9,11,.94),rgba(12,5,6,.98));border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow);transition:.25s}.card:hover{transform:translateY(-5px);border-color:var(--gold2)}.card-media{aspect-ratio:4/5;background:radial-gradient(circle at 50% 35%,#a33a35 0,#4c1018 34%,#160407 72%);position:relative}.card-media:after{content:'';position:absolute;inset:18% 25% 0;border-radius:48% 48% 0 0;background:radial-gradient(circle at 50% 25%,rgba(245,207,148,.5),rgba(91,12,23,.55) 50%,transparent 51%);opacity:.55}.card-body{padding:15px;text-align:center}.card h3{font:18px Georgia,serif;margin:0 0 8px}.card p{font-size:11px;color:var(--muted);min-height:30px;margin:0 0 12px}.outline{display:inline-flex;border:1px solid var(--gold);padding:8px 13px;border-radius:20px;color:var(--gold2);font-size:9px;letter-spacing:1px;text-transform:uppercase}.treatment-media{aspect-ratio:1.05/1;background:radial-gradient(circle at 50% 40%,#d0a65e 0,#79212b 23%,#26060c 64%,#0e0304 100%)}.treatment .card-body{text-align:left}.treatment h3{font-size:15px;text-transform:uppercase;letter-spacing:.8px}
.operators{position:relative}.operator-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.operator .card-media{aspect-ratio:3/4}.operator .card-body{padding:13px}.operator .card-body h3{font-size:16px}.arrow{position:absolute;top:50%;width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);background:#120407;color:var(--gold2);display:grid;place-items:center;font-size:20px}.arrow.left{left:-19px}.arrow.right{right:-19px}
.studio{background:linear-gradient(180deg,transparent,rgba(80,7,17,.2),transparent)}.gallery{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-template-rows:210px 210px;gap:12px}.gallery-item{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#9b3940,#4b0c16 45%,#100304 90%);position:relative}.gallery-item:after{content:'IL PECCATO ZEN';position:absolute;bottom:12px;left:14px;font:12px Georgia,serif;letter-spacing:2px;color:rgba(255,239,203,.75)}.gallery-item:first-child{grid-row:span 2}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review{padding:22px;border:1px solid var(--line);border-radius:10px;background:rgba(17,4,7,.75);text-align:center}.stars{color:#efc55f;letter-spacing:2px}.review p{font:15px/1.6 Georgia,serif;color:#e6d9c8}.review small{color:var(--gold2)}
.footer{border-top:1px solid var(--line);padding:35px 0 90px;text-align:center;color:var(--muted);font-size:12px}.mobile-book{display:none}
@media(max-width:980px){.main-nav{display:none}.menu-toggle{display:block;margin-left:auto;order:2}.brand{order:1;margin-right:auto}.header-inner{height:68px}.brand{min-width:0}.brand-title{font-size:20px}.cards,.operator-strip{grid-template-columns:repeat(3,1fr)}.cards .card:nth-child(n+4){display:none}.operator-strip .card:nth-child(n+4){display:none}.hero{min-height:520px}.hero-orb{right:-170px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.gallery-item:first-child{grid-row:auto;grid-column:span 2}.reviews{grid-template-columns:1fr}.mobile-book{display:none!important}}
@media(max-width:980px){.main-nav.is-open{display:flex;position:absolute;top:68px;left:0;right:0;z-index:110;flex-direction:column;gap:0;padding:8px 20px 18px;background:rgba(13,3,6,.98);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.4)}.main-nav.is-open a{display:block;padding:14px 4px;border-bottom:1px solid rgba(215,180,106,.18);font-size:12px}.main-nav.is-open a:last-child{border-bottom:0}}
@media(max-width:620px){.container{width:min(100% - 24px,var(--max))}.header-inner{gap:10px}.brand{min-width:0;height:58px}.site-logo{width:145px;max-height:52px}.header-inner>.cta{display:none}.hero{min-height:620px}.hero-content{padding:80px 4px}.hero h1{font-size:52px}.hero p{font-size:14px}.section{padding:48px 0}.section-head h2{font-size:26px}.cards,.operator-strip{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cards .card,.operator-strip .card{min-width:70%;scroll-snap-align:start}.cards .card:nth-child(n),.operator-strip .card:nth-child(n){display:block}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:150px 150px}.gallery-item:first-child{grid-column:span 2}.gallery-item:after{font-size:9px}.reviews{gap:10px}.review{padding:17px}.footer{padding-bottom:35px}}
.card-media.has-image,.treatment-media.has-image{background-size:cover;background-position:center;}
.card-media.has-image:after,.treatment-media.has-image:after{display:none;}


/* WhatsApp booking icon */
.cta { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.wa-icon { width:19px; height:19px; flex:0 0 19px; }
.mobile-book .wa-icon { width:20px; height:20px; }
@media (max-width: 700px){ .wa-icon { width:18px; height:18px; flex-basis:18px; } }

/* MOBILE HEADER — final layout */
@media (max-width: 980px){
  .site-header{position:sticky;top:0;z-index:9999;}
  .header-inner{position:relative;height:72px;display:flex;align-items:center;justify-content:space-between;gap:0;padding:0 12px;}
  .brand{order:0!important;display:flex;align-items:center;margin:0!important;min-width:0!important;height:64px!important;}
  .site-logo{width:150px!important;max-width:calc(100vw - 82px);height:auto!important;max-height:58px!important;object-fit:contain;object-position:left center;}
  .menu-toggle{order:3!important;display:flex!important;align-items:center;justify-content:center;margin:0 0 0 auto!important;width:46px;height:46px;padding:8px;z-index:10001;}
  .main-nav{display:none!important;}
  .main-nav.is-open{display:flex!important;position:absolute;top:72px;left:0;right:0;width:100%;z-index:10000;flex-direction:column;gap:0;padding:8px 20px 18px;background:rgba(9,3,5,.99);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(0,0,0,.65);}
  .main-nav.is-open a{display:block;width:100%;padding:15px 4px;border-bottom:1px solid rgba(215,180,106,.18);font-size:12px!important;letter-spacing:1.2px;}
  .main-nav.is-open a:last-child{border-bottom:0;}
  .header-inner>.cta{display:none!important;}
  .mobile-book{display:none!important;}
}
@media (max-width:620px){
  .header-inner{height:68px;padding:0 10px;}
  .site-logo{width:142px!important;max-height:56px!important;}
  .menu-toggle{width:44px;height:44px;}
  .main-nav.is-open{top:68px;}
}

/* TOP OPERATOR MINI SLIDER — inspired by the compact luxury strip direction */
.operator-banner{position:relative;padding:18px 0 10px;background:linear-gradient(180deg,#080304 0%,#120406 100%);border-bottom:1px solid rgba(214,173,85,.25);overflow:hidden;z-index:2}
.operator-banner-head{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:11px}
.section-kicker{display:flex;align-items:center;gap:18px;color:var(--gold2);font:18px Georgia,serif;letter-spacing:1.5px;text-transform:uppercase;text-align:center}
.section-kicker span{width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));display:block}
.section-kicker span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.operator-controls{position:absolute;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none}
.operator-arrow{pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--gold);background:rgba(8,3,4,.9);color:var(--gold2);font:28px Georgia,serif;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}
.operator-arrow:hover{background:var(--gold);color:#180604}
.operator-slider{overflow:hidden}
.operator-track{display:flex;gap:12px;will-change:transform;transition:transform .45s ease}
.operator-mini{flex:0 0 calc((100% - 36px)/4);min-width:0;height:150px;border:1px solid rgba(214,173,85,.65);border-radius:8px;overflow:hidden;position:relative;background:#170508;box-shadow:0 10px 28px rgba(0,0,0,.38)}
.operator-mini-link{display:block;width:100%;height:100%;position:relative}
.operator-mini-media{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,#9e3d43 0,#57101b 38%,#170407 76%);background-size:cover;background-position:center}
.operator-mini-media.has-image:after{display:none}
.operator-mini-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(8,2,4,.9) 100%)}
.operator-mini-info{position:absolute;left:12px;right:12px;bottom:10px;text-align:center}
.operator-mini-info h3{margin:0 0 5px;color:var(--gold2);font:20px Georgia,serif;text-transform:uppercase;letter-spacing:.5px}
.availability{font-size:10px;letter-spacing:.7px;color:#fff;text-transform:uppercase;font-weight:700}
.availability i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20e46a;box-shadow:0 0 8px rgba(32,228,106,.55);margin-right:5px}
.operator-dots{display:flex;justify-content:center;gap:7px;margin-top:7px;min-height:7px}
.operator-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#66572f;cursor:pointer}
.operator-dots button.is-active{background:#d84a3f;transform:scale(1.15)}
@media(max-width:980px){
 .operator-banner{padding:14px 0 8px}
 .section-kicker{font-size:16px}
 .operator-mini{flex-basis:calc((100% - 24px)/3);height:138px}
 .operator-arrow{width:36px;height:36px}
}
@media(max-width:620px){
 .operator-banner{padding:12px 0 6px}
 .operator-banner .container{width:100%}
 .operator-banner-head{margin-bottom:11px;padding:0 12px}
 .section-kicker{font-size:14px;gap:9px}
 .section-kicker span{width:25px}
 .operator-controls{padding:0 6px}
 .operator-arrow{width:34px;height:34px;font-size:23px}
 .operator-slider{padding:0 12px}
 .operator-track{gap:9px}
 .operator-mini{flex-basis:calc((100% - 18px)/3);height:122px;border-radius:7px}
 .operator-mini-info{left:5px;right:5px;bottom:7px}
 .operator-mini-info h3{font-size:15px;margin-bottom:3px}
 .availability{font-size:8px;letter-spacing:.4px}
 .availability i{width:6px;height:6px;margin-right:3px}
 .operator-dots{margin-top:5px}
}

/* V11 — operator slider: clearly visible automatic movement */
.operator-track{transform:translate3d(0,0,0);}
.operator-mini:nth-child(4n+1) .operator-mini-media:not(.has-image){background:radial-gradient(circle at 50% 25%,#b64a45 0,#64131d 38%,#170407 78%)}
.operator-mini:nth-child(4n+2) .operator-mini-media:not(.has-image){background:radial-gradient(circle at 65% 25%,#d09a56 0,#72211d 35%,#180407 78%)}
.operator-mini:nth-child(4n+3) .operator-mini-media:not(.has-image){background:radial-gradient(circle at 40% 28%,#9d3147 0,#4d0b19 38%,#150306 78%)}
.operator-mini:nth-child(4n+4) .operator-mini-media:not(.has-image){background:radial-gradient(circle at 55% 22%,#c75d42 0,#70121b 38%,#170407 78%)}


/* V13 — continuous fast carousel + tighter banner-to-home spacing */
.operator-banner{padding-bottom:2px!important;margin-bottom:0!important}
.operator-banner-head{margin-bottom:7px!important}
.operator-slider{overflow:hidden!important}
.operator-track{gap:12px!important;transition:none!important;will-change:transform!important}
@media(max-width:620px){
  .operator-banner{padding-bottom:1px!important}
  .operator-banner-head{margin-bottom:5px!important}
  .operator-slider{padding-bottom:0!important}
  .operator-track{gap:9px!important}
}


/* V14 — controls centered on the operator cards and kept above the carousel */
.operator-banner{padding-top:12px!important;}
.operator-banner-head{margin-bottom:7px!important;position:relative;z-index:5;}
.operator-slider-wrap{position:relative;}
.operator-controls{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:30;}
.operator-arrow{position:relative!important;z-index:31!important;flex:0 0 auto;}
@media(max-width:620px){
  .operator-banner{padding-top:10px!important;}
  .operator-controls{left:2px;right:2px;}
}


/* V15 — slightly slower continuous carousel + true touch/pointer dragging */
.operator-slider{cursor:grab;user-select:none;}
.operator-slider:active{cursor:grabbing;}
.operator-track{will-change:transform!important;transition:none!important;}

/* V15 — on mobile move the hero copy up and remove the large empty lower area;
   operator card dimensions remain unchanged. */
@media(max-width:620px){
  .hero{min-height:0!important;height:auto!important;align-items:flex-start!important;}
  .hero-content{padding:34px 4px 44px!important;max-width:100%;}
  .hero h1{margin-top:12px;margin-bottom:16px;}
  .hero p{margin-top:0;margin-bottom:12px;}
}


/* V20 — balanced spacing after the operator dots */
.operator-banner{margin-bottom:0!important;padding-bottom:39px!important;}
.operator-dots{position:relative;z-index:5;margin-top:9px!important;margin-bottom:0!important;}
.operator-slider{touch-action:pan-y!important;overflow:hidden!important;-webkit-user-select:none;user-select:none;cursor:grab;}
.operator-slider.is-dragging{cursor:grabbing;}
.operator-track{transition:none!important;will-change:transform;}
@media(max-width:620px){
  /* Mobile gets its own visible separation; card size is unchanged. */
  .operator-banner{margin-bottom:0!important;padding-bottom:50px!important;}
  .operator-dots{margin-top:10px!important;margin-bottom:0!important;}
}

.page-content-wrap{min-height:60vh}.page-card{padding:28px;margin-bottom:24px}.page-content h1{font-family:Georgia,serif;color:var(--gold2)}.page-grid{margin-top:22px}


/* V21 — dots centered in the visual space between operator banner and next section */
.operator-banner{padding-bottom:0!important;margin-bottom:0!important;}
.operator-dots-bridge{height:42px;background:#080304;display:flex;align-items:center;justify-content:center;position:relative;z-index:5;}
.operator-dots-bridge .operator-dots{margin:0!important;min-height:7px;display:flex;align-items:center;justify-content:center;gap:7px;}
@media(max-width:620px){
  .operator-dots-bridge{height:48px;}
  .operator-dots-bridge .operator-dots{margin:0!important;}
}

/* V22 — studio hero + centered copy */
.hero{min-height:560px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(90deg,rgba(7,2,4,.78),rgba(10,2,4,.48)),linear-gradient(180deg,rgba(5,1,2,.28),rgba(5,1,2,.56)),url("assets/studio-hero.png")!important;background-size:cover!important;background-position:center center!important;}
.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.34))!important;}
.hero-content{max-width:900px!important;text-align:center!important;margin:0 auto!important;padding:90px 24px!important;}
.hero-content .eyebrow{margin-bottom:10px;}
.hero-content p{margin-left:auto!important;margin-right:auto!important;}
.hero-content .cta{margin-left:auto!important;margin-right:auto!important;}
.hero-orb{display:none!important;}
.operator-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px;}
.operator-page-card{position:relative;min-height:360px;border:1px solid rgba(215,180,106,.55);border-radius:12px;overflow:hidden;background:#14070a;}
.operator-page-link{display:block;position:absolute;inset:0;color:inherit;}
.operator-page-media{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,#7b2632,#18070b 70%);background-size:cover;background-position:center;}
.operator-page-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(5,1,3,.88) 100%);}
.operator-page-info{position:absolute;left:0;right:0;bottom:20px;text-align:center;z-index:2;}
.operator-page-info h3{font-family:Georgia,serif;color:var(--gold2);font-size:28px;margin:0 0 8px;}
.operator-page-info .outline{display:inline-block;margin-top:14px;}
@media(max-width:980px){.operator-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hero{min-height:560px;}.hero-content{padding:80px 20px!important;}}
@media(max-width:620px){.operator-page-grid{grid-template-columns:1fr 1fr;gap:12px;}.operator-page-card{min-height:300px;}.operator-page-info h3{font-size:22px;}.hero{min-height:520px!important;background-position:center center!important;}.hero-content{padding:72px 16px 60px!important;}.hero h1{font-size:48px!important;}.hero p{font-size:14px!important;}}

/* V24 — mobile: reduce the visual gap between the hero and the Studio section */
@media(max-width:620px){
  .hero-content{padding-bottom:24px!important;}
  .studio.section{padding-top:26px!important;}
}

/* V25 — mobile: reduce the actual empty height of the Studio-to-Hero transition.
   The previous rule only reduced padding; the hero still had a 520px min-height. */
@media (max-width:620px){
  .hero{min-height:410px!important;height:auto!important;}
  .hero-content{padding:46px 16px 34px!important;}
  .studio.section{padding-top:22px!important;}
}

/* V26 — studio videos: the two uploaded videos become the main visual content of the Studio section */
.studio-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;}
.studio-video{position:relative;overflow:hidden;border:1px solid rgba(214,173,85,.48);border-radius:12px;background:#0d0406;box-shadow:0 18px 45px rgba(0,0,0,.42);aspect-ratio:16/9;}
.studio-video video{display:block;width:100%;height:100%;object-fit:cover;}
@media(max-width:620px){.studio-videos{grid-template-columns:1fr;gap:14px;margin-top:22px;}.studio-video{border-radius:10px;aspect-ratio:16/10;}}


/* V27 — Studio photo gallery placeholders below the videos */
.studio-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;}
.studio-photo{aspect-ratio:4/3;border:1px solid rgba(214,173,85,.38);border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#19070a,#0a0304);position:relative;}
.studio-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(122,16,27,.32),transparent 60%);}
.studio-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(240,208,128,.65);font-size:11px;letter-spacing:2px;font-weight:600;}
@media(max-width:900px){.studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.studio-gallery{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}.studio-photo{aspect-ratio:1/1;}.studio-photo-placeholder{font-size:9px;letter-spacing:1.4px;}}

/* V28 — real Studio photo gallery */
.studio-gallery{margin-top:20px;}
.studio-photo{display:block;position:relative;aspect-ratio:4/3;border:1px solid rgba(214,173,85,.42);border-radius:10px;overflow:hidden;background:#0a0304;box-shadow:0 14px 34px rgba(0,0,0,.28);text-decoration:none;}
.studio-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;}
.studio-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.34));pointer-events:none;}
.studio-photo:hover img{transform:scale(1.045);filter:saturate(1.06);}
.studio-photo-zoom{position:absolute;right:10px;bottom:9px;z-index:2;width:30px;height:30px;border:1px solid rgba(240,208,138,.72);border-radius:50%;display:grid;place-items:center;color:#f0d08a;background:rgba(8,3,4,.62);font-size:20px;line-height:1;}
.studio-lightbox{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:24px;}
.studio-lightbox.is-open{display:flex;}
.studio-lightbox img{max-width:min(1100px,94vw);max-height:88vh;width:auto;height:auto;object-fit:contain;border:1px solid rgba(240,208,138,.42);box-shadow:0 25px 70px rgba(0,0,0,.65);}
.studio-lightbox-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:1px solid rgba(240,208,138,.7);border-radius:50%;background:#100407;color:#f0d08a;font-size:26px;cursor:pointer;}
@media(max-width:620px){.studio-gallery{gap:10px;margin-top:14px;}.studio-photo{aspect-ratio:1/1;}.studio-photo-zoom{width:27px;height:27px;font-size:18px;right:7px;bottom:7px;}.studio-lightbox{padding:14px;}.studio-lightbox img{max-width:96vw;max-height:82vh;}}

/* V29 — recruiting CTA between logo and navigation */
.recruit-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:176px;height:48px;padding:7px 13px;border:1px solid rgba(242,211,126,.95);border-radius:28px;background:linear-gradient(135deg,rgba(103,6,17,.96),rgba(18,3,6,.98));color:var(--gold2);box-shadow:0 0 0 1px rgba(142,24,37,.35),0 0 20px rgba(142,24,37,.24);position:relative;overflow:hidden;flex:0 0 auto;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.recruit-cta:hover{transform:translateY(-1px);border-color:var(--gold2);box-shadow:0 0 0 1px rgba(242,211,126,.25),0 0 28px rgba(142,24,37,.45);}
.recruit-label{display:inline-flex;align-items:center;gap:4px;font:700 11px/1 Arial,Helvetica,sans-serif;letter-spacing:1.15px;white-space:nowrap;}
.recruit-dot{width:9px;height:9px;border-radius:50%;background:#ff2f43;box-shadow:0 0 5px #ff2f43,0 0 12px rgba(255,47,67,.85);animation:recruitPulse 1.25s ease-in-out infinite;}
.recruit-arrow{font:25px/1 Georgia,serif;margin-left:1px;color:var(--gold2);}
@keyframes recruitPulse{0%,100%{opacity:.55;transform:scale(.9);box-shadow:0 0 4px #ff2f43,0 0 9px rgba(255,47,67,.55)}50%{opacity:1;transform:scale(1.18);box-shadow:0 0 7px #ff2f43,0 0 18px rgba(255,47,67,.95)}}
@media(max-width:1180px){.header-inner{gap:18px}.main-nav{gap:17px}.recruit-cta{min-width:158px;padding-inline:10px}.recruit-label{font-size:10px;letter-spacing:.9px}.cta{padding-inline:14px}}
@media(max-width:980px){.recruit-cta{order:2;min-width:0;width:auto;height:42px;padding:6px 10px;gap:6px;margin-left:auto;margin-right:6px}.recruit-label{font-size:9px;letter-spacing:.8px;gap:3px}.recruit-label span{display:block}.recruit-dot{width:8px;height:8px}.recruit-arrow{font-size:21px}.header-inner>.cta{display:none!important}.menu-toggle{order:3!important}}
@media(max-width:620px){.recruit-cta{height:40px;padding:5px 8px;border-radius:22px;margin-right:3px;gap:5px}.recruit-label{font-size:8.5px;letter-spacing:.65px}.recruit-dot{width:7px;height:7px}.recruit-arrow{font-size:19px}.site-logo{width:142px!important;max-width:calc(100vw - 190px)!important}}

/* V30 — recruiting CTA centered between logo and menu; larger text + green pulsing dot */
@media (min-width:981px){
  .header-inner{position:relative;}
  .recruit-cta{position:absolute;left:50%;transform:translateX(-50%);min-width:205px;height:52px;padding:7px 16px;gap:10px;z-index:3;}
  .recruit-cta:hover{transform:translateX(-50%) translateY(-1px);}
  .recruit-label{font-size:15px;letter-spacing:1.25px;line-height:.95;}
  .recruit-dot{width:11px;height:11px;background:#21e66b;box-shadow:0 0 6px #21e66b,0 0 14px rgba(33,230,107,.85);}
  .recruit-arrow{font-size:27px;}
  @keyframes recruitPulseGreen{0%,100%{opacity:.55;transform:scale(.9);box-shadow:0 0 4px #21e66b,0 0 9px rgba(33,230,107,.55)}50%{opacity:1;transform:scale(1.2);box-shadow:0 0 8px #21e66b,0 0 19px rgba(33,230,107,.95)}}
  .recruit-dot{animation:recruitPulseGreen 1.25s ease-in-out infinite;}
}

@media (max-width:980px){
  .header-inner{position:relative;}
  .brand{position:absolute;left:10px;top:50%;transform:translateY(-50%);margin:0!important;z-index:2;}
  .recruit-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:160px;min-width:160px;height:44px;margin:0!important;padding:5px 9px;gap:6px;z-index:3;}
  .recruit-cta:hover{transform:translate(-50%,-50%);}
  .recruit-label{font-size:11.5px;letter-spacing:.75px;line-height:.95;}
  .recruit-label span{display:block;}
  .recruit-dot{width:9px;height:9px;background:#21e66b;box-shadow:0 0 5px #21e66b,0 0 12px rgba(33,230,107,.85);}
  .recruit-arrow{font-size:21px;}
  @keyframes recruitPulseGreenMobile{0%,100%{opacity:.55;transform:scale(.9);box-shadow:0 0 4px #21e66b,0 0 8px rgba(33,230,107,.55)}50%{opacity:1;transform:scale(1.2);box-shadow:0 0 7px #21e66b,0 0 16px rgba(33,230,107,.95)}}
  .recruit-dot{animation:recruitPulseGreenMobile 1.25s ease-in-out infinite;}
  .menu-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);margin:0!important;z-index:4;}
}
@media (max-width:620px){
  .site-logo{width:118px!important;max-width:118px!important;}
  .recruit-cta{width:154px;min-width:154px;height:42px;border-radius:23px;}
  .recruit-label{font-size:11px;letter-spacing:.6px;}
  .recruit-dot{width:8px;height:8px;}
  .recruit-arrow{font-size:20px;}
}


/* V32 — WordPress navigation + operatori visibili anche in Home */
.main-nav-list{display:flex;gap:26px;align-items:center;margin:0;padding:0;list-style:none}.main-nav-list li{margin:0;padding:0}.main-nav-list a{font-size:11px;letter-spacing:1.2px;color:#eee;white-space:nowrap}.main-nav-list a:hover{color:var(--gold2)}
.operator-home-grid,.operator-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.operator-home-card,.operator-page-card{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#100407;box-shadow:var(--shadow)}.operator-home-link,.operator-page-link{display:block;position:relative;aspect-ratio:3/4}.operator-home-media,.operator-page-media{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,#9b3940,#4b0c16 45%,#100304 90%);background-size:cover;background-position:center}.operator-home-overlay,.operator-page-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,2,3,.12) 48%,rgba(7,2,3,.9) 100%)}.operator-home-info,.operator-page-info{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 16px;text-align:center}.operator-home-info h3,.operator-page-info h3{font:25px Georgia,serif;color:var(--gold2);margin:0 0 7px}.availability{font-size:10px;letter-spacing:.8px;font-weight:700;color:#eee}.availability i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;background:#21e66b;box-shadow:0 0 8px rgba(33,230,107,.8);vertical-align:middle}.availability.is-unavailable i{background:#b33;box-shadow:none}.operator-home-info .outline,.operator-page-info .outline{margin-top:10px}.operator-empty-page{text-align:center;color:var(--muted)}
@media(max-width:980px){.main-nav-list{display:flex;flex-direction:column;gap:0;width:100%;}.main-nav-list li{width:100%}.main-nav-list a{display:block;width:100%;padding:15px 4px;border-bottom:1px solid rgba(215,180,106,.18);font-size:12px!important}.main-nav-list li:last-child a{border-bottom:0}.operator-home-grid,.operator-page-grid{grid-template-columns:repeat(2,1fr);gap:12px}.operator-home-info h3,.operator-page-info h3{font-size:21px}}
@media(max-width:620px){.operator-home-grid,.operator-page-grid{grid-template-columns:1fr 1fr;gap:10px}.operator-home-link,.operator-page-link{aspect-ratio:3/4}.operator-home-info,.operator-page-info{padding:16px 7px 10px}.operator-home-info h3,.operator-page-info h3{font-size:18px}.operator-home-info .outline,.operator-page-info .outline{font-size:8px;padding:7px 10px}.availability{font-size:8px}}

/* V34 — header: all menu items visible, recruitment centered between logo and navigation */
.site-header .header-inner{display:grid!important;grid-template-columns:190px minmax(220px,300px) minmax(0,1fr) auto;align-items:center;column-gap:18px;height:78px;}
.site-header .brand{min-width:0!important;width:190px;grid-column:1;}
.site-header .site-logo{width:180px!important;max-height:62px!important;}
.site-header .recruit-cta{grid-column:2;justify-self:center;width:270px;min-width:270px;height:50px;}
.site-header .main-nav{grid-column:3;display:flex!important;justify-content:flex-end;gap:15px;margin:0!important;min-width:0;}
.site-header .main-nav-list{display:flex;justify-content:flex-end;gap:15px;width:100%;flex-wrap:nowrap;}
.site-header .main-nav-list a{font-size:10px!important;letter-spacing:.9px!important;white-space:nowrap;}
.site-header>.container>.cta{grid-column:4;white-space:nowrap;padding:12px 16px;}
.site-header .menu-toggle{display:none!important;}
@media(max-width:1180px) and (min-width:981px){
 .site-header .header-inner{grid-template-columns:165px minmax(190px,240px) minmax(0,1fr) auto;column-gap:10px;}
 .site-header .brand{width:165px}.site-header .site-logo{width:155px!important}.site-header .recruit-cta{width:220px;min-width:220px;}.site-header .main-nav-list{gap:9px}.site-header .main-nav-list a{font-size:9px!important;letter-spacing:.5px!important}.site-header>.container>.cta{padding:11px 11px;font-size:10px;}
}
@media(max-width:980px){
 .site-header .header-inner{display:flex!important;height:72px;padding:0 12px;position:relative;}
 .site-header .brand{order:1;width:auto;grid-column:auto;}.site-header .site-logo{width:142px!important;max-height:56px!important;}
 .site-header .recruit-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);grid-column:auto;order:2;width:210px;min-width:210px;height:48px;z-index:3;}
 .site-header .recruit-cta:hover{transform:translate(-50%,-50%);}
 .site-header .main-nav{display:none!important;position:absolute!important;top:72px;left:0;right:0;width:100%;z-index:10000;}
 .site-header .main-nav.is-open{display:flex!important;}
 .site-header .menu-toggle{display:flex!important;order:3;position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:10001;margin:0!important;}
 .site-header>.container>.cta{display:none!important;}
}
@media(max-width:620px){
 .site-header .header-inner{height:68px;padding:0 10px;}
 .site-header .site-logo{width:120px!important;max-height:52px!important;}
 .site-header .recruit-cta{width:178px;min-width:178px;height:44px;padding:5px 9px;}
 .site-header .recruit-label{font-size:10px!important;letter-spacing:.7px!important;}
 .site-header .recruit-dot{width:8px;height:8px;}
 .site-header .recruit-arrow{font-size:19px;}
 .site-header .menu-toggle{right:8px;width:44px;height:44px;}
 .site-header .main-nav{top:68px!important;}
}

/* V34 — operator single page carousel */
.operator-single{padding:54px 0 70px;}
.operator-single-head{display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;align-items:start;margin-bottom:36px;}
.operator-single-feature{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#130609;box-shadow:var(--shadow);}
.operator-single-feature img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;}
.operator-single-copy h1{font:48px/1 Georgia,serif;color:var(--gold2);margin:0 0 12px;text-transform:uppercase;}
.operator-single-copy .availability{margin-bottom:20px;font-size:12px;}
.operator-single-copy .operator-description{color:#e2d8cb;line-height:1.8;}
.operator-gallery{position:relative;margin-top:24px;}
.operator-gallery-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin;}
.operator-gallery-item{flex:0 0 min(300px,78vw);scroll-snap-align:start;border:1px solid rgba(214,173,85,.45);border-radius:10px;overflow:hidden;background:#14070a;}
.operator-gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
@media(max-width:760px){
 .operator-single{padding:34px 0 52px}.operator-single-head{grid-template-columns:1fr;gap:22px}.operator-single-feature{max-width:360px;margin:auto;width:100%;}.operator-single-copy h1{text-align:center;font-size:36px}.operator-single-copy .availability{text-align:center}.operator-single-copy .operator-description{text-align:center;}
 .operator-gallery-item{flex-basis:82vw;}
}


/* V35 — operatrici: immagini da featured o prima foto gallery */
.operator-mini-media.has-image,.operator-home-media.has-image,.operator-page-media.has-image{background-repeat:no-repeat;background-size:cover;background-position:center;}
.operator-gallery-track{scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.operator-gallery-item{display:block;}
@media(max-width:620px){.operator-gallery-item{flex-basis:82vw;}.operator-single-head{grid-template-columns:1fr;}.operator-single-feature{max-width:360px;margin:0 auto;width:100%;}.operator-single-copy{text-align:center;}}
