:root{--dark:#201810;--gold:#c99238;--gold2:#d7ad5c;--cream:#fbf8f1;--soft:#f4ecdf;--text:#2d261f;--muted:#7b6c5b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Montserrat,Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.site-header{position:absolute;z-index:20;top:42px;left:0;right:0;height:110px;display:flex;align-items:center;gap:26px;padding:0 48px 0 0;color:white}.brand{position:absolute;left:8px;top:18px;display:flex;align-items:center;gap:10px;min-width:240px;z-index:22}.custom-logo-link{display:block}.custom-logo{width:220px!important;max-width:220px!important;height:auto!important;max-height:150px!important;object-fit:contain!important}.brand-mark{font-size:52px;color:var(--gold);font-family:serif}.brand strong{font:700 26px/23px 'Cormorant Garamond',serif;text-transform:uppercase;color:white}.brand small{display:block;font-size:9px;letter-spacing:1px;color:#e0ca9c;text-transform:uppercase}.menu-toggle{display:none;background:none;border:0;color:white;font-size:30px;margin-left:auto}.nav{flex:1;display:flex;justify-content:center;align-items:center;margin-left:190px}.nav-menu{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:24px;align-items:center;flex-wrap:wrap}.nav a{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.6px;color:white}.nav a:hover{color:var(--gold2)}.header-cta{background:linear-gradient(135deg,var(--gold),var(--gold2));padding:15px 22px;border-radius:9px;text-transform:uppercase;font-size:12px;font-weight:800;color:white;margin-left:18px}.hero{min-height:720px;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;padding:170px 8vw 90px;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,11,6,.80),rgba(16,11,6,.38) 48%,rgba(16,11,6,.08))}.hero-content{position:relative;z-index:2;max-width:640px;color:white}.eyebrow,.label{color:var(--gold2);text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:700}.hero-kicker{transform:translateY(var(--kicker-offset));margin-bottom:calc(18px + var(--kicker-offset));}.hero h1{font:600 clamp(46px,6vw,76px)/.98 'Cormorant Garamond',serif;text-transform:uppercase;margin:0 0 22px}.hero-subtitle{font-size:20px;line-height:1.65;max-width:460px}.hero-actions{display:flex;gap:18px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:15px 26px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.9px}.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:white;box-shadow:0 18px 38px rgba(150,99,28,.28)}.ghost{border:1px solid rgba(255,255,255,.68);color:white;background:rgba(0,0,0,.18)}.outline{border:1px solid var(--gold);color:var(--dark);padding:13px 25px}.section{padding:74px 8vw}.about{position:relative;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:64px;align-items:center;background-image:var(--about-bg);background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}.about-bg-shade{position:absolute;inset:0;background:rgba(255,253,248,.86);z-index:0}.about-img,.about-text{position:relative;z-index:1}.about-img img{width:100%;height:520px;object-fit:cover;object-position:center;border-radius:18px;box-shadow:0 22px 50px rgba(54,35,16,.16)}h1,h2{font-family:'Cormorant Garamond',serif}h2{font-size:clamp(34px,4vw,52px);line-height:1.05;font-weight:500;margin:12px 0 24px;text-align:inherit}h2 em{font-style:normal;color:var(--gold)}.about-text p,.method p{line-height:1.85;color:#4e453b;max-width:630px}.center{text-align:center;display:block}.services{background:#fff;text-align:center;position:relative;background-image:var(--services-bg);background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-top:38px}.service-card,.post-card,blockquote{background:rgba(255,255,255,.94);border:1px solid #eadfce;border-radius:14px;box-shadow:0 13px 28px rgba(48,33,16,.06)}.service-card{padding:31px 18px;min-height:230px}.icon{width:66px;height:66px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:500 23px 'Cormorant Garamond',serif;margin:0 auto 20px}.service-card h3{font:600 20px/1.05 'Cormorant Garamond',serif;text-transform:uppercase}.service-card p{font-size:13px;line-height:1.55;color:#5d5248}.service-card a,.post-card a{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.8px}.method{padding:66px 8vw;background:#fffaf2;background-image:var(--method-bg);background-size:cover;background-position:center;background-repeat:no-repeat;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center;position:relative;overflow:hidden}.method h3{font-weight:500;color:var(--gold);margin-top:-16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:center}.steps b{width:130px;height:130px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#fff8ec;border:1px solid #ead6b5;color:var(--gold);font-size:48px;font-family:serif;box-shadow:0 14px 32px rgba(54,35,16,.08)}.steps h4{text-transform:uppercase;letter-spacing:1px}.blog{background:#fff;background-image:var(--blog-bg);background-size:cover;background-position:center;background-repeat:no-repeat;text-align:center;position:relative;overflow:hidden}.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:35px;text-align:left}.post-card{overflow:hidden;display:flex;flex-direction:column}.blog-thumb,.post-card img.wp-post-image,.post-card>img{width:100%!important;height:245px!important;object-fit:cover!important;object-position:center!important;display:block!important;border-radius:14px 14px 0 0}.post-body{padding:22px;flex:1}.post-card span{font-size:10px;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:1.2px}.post-card h3{font:600 21px/1.15 'Cormorant Garamond',serif;margin:8px 0}.post-card p{font-size:13px;line-height:1.55;color:#5b5148}.testimonials{background-position:center;background-size:cover;background-repeat:no-repeat;text-align:center;position:relative}.testimonials:before{content:"";position:absolute;inset:0;background:rgba(251,248,241,.82)}.testimonials>*{position:relative;z-index:1}.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}blockquote{margin:0;padding:33px;font-size:15px;line-height:1.7}cite{display:block;margin-top:20px;font-style:normal;font-weight:800}.whatsapp{margin:0;transform:none;position:relative;z-index:4;background-position:center;background-size:cover;background-repeat:no-repeat;border-radius:16px;display:flex;justify-content:space-between;align-items:center;padding:34px 60px;color:white;overflow:hidden}.whatsapp:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,27,18,.78),rgba(83,55,20,.48))}.whatsapp>*{position:relative;z-index:1}.whatsapp h2{margin:4px 0 0;text-align:left}.footer{padding:100px 8vw 24px;background:#211a13;color:#e9ddc8}.footer-inner{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:45px}.footer a{display:block;margin:8px 0;color:#e9ddc8}.footer h4{text-transform:uppercase;letter-spacing:1.6px;color:white;font-size:12px}.footer strong{font:600 32px/28px 'Cormorant Garamond',serif;text-transform:uppercase}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:20px;font-size:12px;color:#b7a68e}.article{max-width:960px;margin:auto;background:#fff}.article article{background:white;padding:50px;border-radius:16px}.page-list{max-width:1180px;margin:auto}.list-post{margin-bottom:26px}@media(max-width:1050px){.site-header{padding:0 22px;top:20px;height:88px}.brand{position:relative;left:0;top:0}.nav{margin-left:0}.custom-logo{width:170px!important;max-width:170px!important}.nav,.header-cta{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:absolute;left:18px;right:18px;top:95px;background:rgba(32,24,16,.97);padding:22px;border-radius:12px}.nav.open .nav-menu{flex-direction:column}.services-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:repeat(2,1fr)}.about,.method{grid-template-columns:1fr}.about-img{order:1}.about-text{order:2}.about-img img{height:420px}.test-grid,.footer-inner{grid-template-columns:1fr 1fr}.blog-thumb,.post-card img.wp-post-image,.post-card>img{height:280px!important}}@media(max-width:640px){.site-header{height:70px}.custom-logo{width:145px!important;max-width:145px!important}.hero{min-height:760px;padding:150px 22px 70px;background-position:center}.hero h1{font-size:43px}.hero-subtitle{font-size:17px}.hero-kicker{--kicker-offset:35px!important}.section{padding:58px 22px}.services-grid,.blog-grid,.test-grid,.steps,.footer-inner{grid-template-columns:1fr}.about{gap:32px}.blog-thumb,.post-card img.wp-post-image,.post-card>img{height:250px!important}.whatsapp{margin:0 18px;transform:none;padding:30px;display:block}.whatsapp .btn{margin-top:20px}.btn{width:100%}.footer{padding-top:65px}}


.footer-brand-block .footer-logo{
  width:180px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:0 0 14px;
}
.footer-brand-block strong{
  display:block;
}
.footer-socials{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.footer-socials a,
.footer-socials span{
  display:block;
  color:#e9ddc8;
  font-size:14px;
}
.footer-socials a:hover{
  color:var(--gold2);
}

.services-bg-shade{position:absolute;inset:0;background:rgba(255,253,248,.86);z-index:0}.services-inner{position:relative;z-index:1}


/* Header scuro pieno solo su pagine interne, articoli e archivio blog */
body:not(.home):not(.front-page) .site-header{
  top:0 !important;
  min-height:150px !important;
  height:150px !important;
  padding-top:28px !important;
  padding-bottom:28px !important;
  background:linear-gradient(90deg,rgba(32,24,16,.98),rgba(32,24,16,.92)) !important;
  box-shadow:0 12px 35px rgba(0,0,0,.22);
  border-bottom:1px solid rgba(255,255,255,.10);
  align-items:center !important;
}

body:not(.home):not(.front-page) .site-header .brand{
  top:28px !important;
}

body:not(.home):not(.front-page) .site-header .nav a{
  color:#fff !important;
}

body:not(.home):not(.front-page) .site-header .nav a:hover{
  color:var(--gold2) !important;
}

body:not(.home):not(.front-page) .site-header .custom-logo{
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.35));
}

body:not(.home):not(.front-page) .article,
body:not(.home):not(.front-page) .page-list{
  padding-top:190px;
}

@media(max-width:1050px){
  body:not(.home):not(.front-page) .site-header{
    min-height:120px !important;
    height:120px !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  body:not(.home):not(.front-page) .site-header .brand{
    top:0 !important;
  }
  body:not(.home):not(.front-page) .article,
  body:not(.home):not(.front-page) .page-list{
    padding-top:150px;
  }
}



/* Fix cursore e click pulsanti WhatsApp */
a[href*="wa.me"],
a[href*="whatsapp"],
.hero-actions a,
.whatsapp a,
.header-cta,
.btn{
  cursor:pointer !important;
  pointer-events:auto !important;
}

.whatsapp:before,
.hero-shade,
.about-bg-shade,
.services-bg-shade,
.testimonials:before{
  pointer-events:none !important;
}



/* Fix definitivo click WhatsApp: link sopra ogni overlay */
.whatsapp{
  position:relative !important;
  z-index:50 !important;
  isolation:isolate !important;
}

.whatsapp:before,
.whatsapp:after,
.hero-shade,
.about-bg-shade,
.services-bg-shade,
.testimonials:before{
  pointer-events:none !important;
}

.whatsapp .whatsapp-link,
.whatsapp a[href*="wa.me"],
.hero-actions .whatsapp-link,
.header-cta,
.footer-socials a[href*="wa.me"]{
  position:relative !important;
  z-index:999999 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  user-select:auto !important;
}

.whatsapp .btn,
.hero-actions .btn,
.header-cta{
  cursor:pointer !important;
}

.footer{
  position:relative;
  z-index:1;
}



/* Fix click sinistro WhatsApp */
.whatsapp .whatsapp-link,
a[data-whatsapp-link="1"]{
  display:inline-flex !important;
  position:relative !important;
  z-index:2147483647 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

.whatsapp,
.hero-actions{
  pointer-events:auto !important;
}

.whatsapp::before,
.whatsapp::after,
.hero::before,
.hero::after,
.hero-shade{
  pointer-events:none !important;
}


/* Fix click Prenota una consulenza */
.prenota-link,
.header-cta.prenota-link,
.hero-actions .prenota-link{
  position:relative !important;
  z-index:2147483647 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}


/* Modulo contatti home */
.contact-form-section{background:linear-gradient(180deg,#fffdf8 0%,#f7efe4 100%);position:relative;z-index:2}.contact-form-wrap{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.contact-form-intro p{line-height:1.8;color:#5b5148}.contact-form{background:rgba(255,255,255,.96);border:1px solid #eadfce;border-radius:18px;box-shadow:0 18px 44px rgba(48,33,16,.09);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#6b5743;margin-bottom:8px}.form-field input,.form-field textarea{width:100%;border:1px solid #e3d4bf;border-radius:10px;background:#fffaf2;padding:14px 15px;font:inherit;color:var(--text);outline:none}.form-field input:focus,.form-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,146,56,.12)}.form-field textarea{min-height:145px;resize:vertical}.form-field-textarea,.form-field-checkbox{grid-column:1/-1}.checkbox-label{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;line-height:1.5}.checkbox-label input{width:auto!important;margin-top:4px}.contact-submit{border:0;grid-column:1/-1;justify-self:start;cursor:pointer}.form-notice{margin-top:18px;padding:14px 16px;border-radius:10px;font-weight:700}.form-notice.success{background:#edf8ef;color:#2f6b3d}.form-notice.error{background:#fff0ec;color:#9b3d2d}.prenota-link,.header-cta.prenota-link,.hero-actions .prenota-link{position:relative!important;z-index:1000!important;cursor:pointer!important;pointer-events:auto!important}@media(max-width:850px){.contact-form-wrap{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr;padding:24px}}



/* Fix definitivo: Prenota va al modulo, campi modulo editabili normalmente */
.header-cta.prenota-link,
.hero-actions .prenota-link,
a.prenota-link[href="#modulo-contatti"]{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2147483647 !important;
}

.contact-form-section,
.contact-form-wrap,
.contact-form,
.form-field,
.form-field label{
  pointer-events:auto !important;
}

.contact-form input:not([type="checkbox"]){
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:10 !important;
}

.contact-form textarea{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:10 !important;
}

.contact-form input[type="checkbox"],
.contact-form .checkbox-label,
.contact-submit{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:10 !important;
}

.contact-form-section:before,
.contact-form-section:after,
.contact-form:before,
.contact-form:after{
  pointer-events:none !important;
}

/* WhatsApp resta WhatsApp, ma non interferisce con modulo e prenota */
a[data-whatsapp-link="1"],
a[href*="wa.me"]{
  cursor:pointer !important;
  pointer-events:auto !important;
}



/* Override finale: header Prenota al modulo e form utilizzabile */
.site-header .header-cta.prenota-link{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2147483647 !important;
}

.contact-form,
.contact-form *{
  pointer-events:auto !important;
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
}

.contact-form input[type="checkbox"],
.contact-form button,
.contact-submit{
  cursor:pointer !important;
  pointer-events:auto !important;
}

.contact-form-section,
.contact-form-wrap{
  position:relative !important;
  z-index:20 !important;
}



/* FIX FINALE: il modulo deve stare sopra la sezione WhatsApp */
.contact-form-section{
  position:relative !important;
  z-index:999999 !important;
  padding-bottom:120px !important;
  isolation:isolate !important;
}

.contact-form-wrap,
.contact-form{
  position:relative !important;
  z-index:1000000 !important;
  pointer-events:auto !important;
}

.contact-submit,
.contact-form button[type="submit"]{
  position:relative !important;
  z-index:1000001 !important;
  display:inline-flex !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  opacity:1 !important;
  filter:none !important;
}

.contact-submit:hover,
.contact-form button[type="submit"]:hover{
  cursor:pointer !important;
}

/* La sezione WhatsApp non deve coprire il modulo */
.whatsapp{
  position:relative !important;
  z-index:1 !important;
  margin-top:0 !important;
}

.whatsapp:before,
.whatsapp:after{
  pointer-events:none !important;
}

/* Campi modulo: cursori corretti */
.contact-form input:not([type="checkbox"]),
.contact-form textarea{
  cursor:text !important;
  pointer-events:auto !important;
}

.contact-form input[type="checkbox"],
.contact-form label,
.contact-form .checkbox-label{
  cursor:pointer !important;
  pointer-events:auto !important;
}


/* Submit modulo: invio forzato e sempre cliccabile */
#co-contact-form,
#co-contact-form *{
  pointer-events:auto !important;
}

#co-contact-form .contact-submit{
  all:unset;
  box-sizing:border-box;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:15px 26px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
  letter-spacing:.9px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#fff;
  box-shadow:0 18px 38px rgba(150,99,28,.28);
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2147483647 !important;
}


.method-bg-shade{position:absolute;inset:0;background:rgba(255,250,242,.88);z-index:0;pointer-events:none}
.method-content,.method .steps{position:relative;z-index:1}
.method .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;text-align:center}


/* Icone eleganti metodo */
.steps b svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.steps b{
  color:var(--gold);
}


/* Icone eleganti consulenze */
.service-card .icon{
  width:84px;
  height:84px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff8ec;
  border:1px solid #ead6b5;
  color:var(--gold);
  box-shadow:0 14px 32px rgba(54,35,16,.08);
  font-size:0;
}
.service-card .icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


.blog-bg-shade{position:absolute;inset:0;background:rgba(255,255,255,.86);z-index:0;pointer-events:none}
.blog-inner{position:relative;z-index:1}


/* Fix sovrapposizione WhatsApp / Footer */
.whatsapp{
  margin:0 !important;
  transform:none !important;
  border-radius:0 !important;
  width:100% !important;
  min-height:220px;
}

.footer{
  position:relative !important;
  z-index:2 !important;
  padding-top:70px !important;
}

@media(max-width:640px){
  .whatsapp{
    margin:0 !important;
    transform:none !important;
    border-radius:0 !important;
  }
  .footer{
    padding-top:55px !important;
  }
}



/* FIX DEFINITIVO sovrapposizione WhatsApp / Footer */
main > .whatsapp,
section.whatsapp#contatti{
  display:flex !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  z-index:1 !important;
  margin:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  transform:none !important;
  translate:none !important;
  width:100% !important;
  max-width:none !important;
  min-height:var(--whatsapp-height,230px) !important;
  border-radius:0 !important;
  clear:both !important;
}

.whatsapp-footer-spacer{
  display:block !important;
  height:70px !important;
  width:100% !important;
  clear:both !important;
  background:#211a13 !important;
  position:relative !important;
  z-index:0 !important;
}

.footer,
body .footer{
  margin-top:0 !important;
  padding-top:70px !important;
  position:relative !important;
  z-index:2 !important;
  clear:both !important;
}

@media(max-width:640px){
  main > .whatsapp,
  section.whatsapp#contatti{
    display:block !important;
    min-height:240px !important;
    margin:0 !important;
    transform:none !important;
    border-radius:0 !important;
  }

  .whatsapp-footer-spacer{
    height:55px !important;
  }

  .footer,
  body .footer{
    padding-top:55px !important;
  }
}



/* Footer più stretto e separato dalla sezione WhatsApp */
.footer,
body .footer{
  padding-top:38px !important;
  padding-bottom:20px !important;
  margin-top:0 !important;
  min-height:auto !important;
}

.footer-inner{
  gap:24px !important;
  align-items:flex-start !important;
}

.footer h4{
  margin-top:0 !important;
  margin-bottom:10px !important;
}

.footer p,
.footer a{
  margin-top:4px !important;
  margin-bottom:4px !important;
  line-height:1.35 !important;
}

.footer .brand-mark{
  line-height:1 !important;
}

.footer strong{
  line-height:1.05 !important;
}

.copyright{
  margin-top:18px !important;
  padding-top:12px !important;
}

.whatsapp-footer-spacer{
  height:22px !important;
  background:#211a13 !important;
}

main > .whatsapp,
section.whatsapp#contatti{
  margin-bottom:0 !important;
  min-height:var(--whatsapp-height,230px) !important;
}

@media(max-width:640px){
  .footer,
  body .footer{
    padding-top:30px !important;
    padding-bottom:18px !important;
  }

  .footer-inner{
    gap:18px !important;
  }

  .whatsapp-footer-spacer{
    height:18px !important;
  }
}



/* Sezione WhatsApp personalizzabile */
section.whatsapp#contatti{
  min-height:var(--whatsapp-height,230px) !important;
}

.whatsapp-footer-spacer{
  height:var(--whatsapp-footer-space,22px) !important;
}



/* Footer super compatto */
.footer,
body .footer{
  padding-top:24px !important;
  padding-bottom:14px !important;
}

.footer-inner{
  gap:16px !important;
  grid-template-columns:1.1fr .8fr 1fr .8fr !important;
}

.footer .brand-mark{
  font-size:34px !important;
}

.footer strong{
  font-size:24px !important;
  line-height:1 !important;
}

.footer h4{
  font-size:11px !important;
  margin:0 0 6px !important;
}

.footer p,
.footer a,
.footer-socials a,
.footer-socials span{
  font-size:12px !important;
  line-height:1.25 !important;
  margin:3px 0 !important;
}

.footer-brand-block .footer-logo{
  width:120px !important;
  margin-bottom:8px !important;
}

.copyright{
  margin-top:10px !important;
  padding-top:8px !important;
  font-size:11px !important;
}

.testimonials .test-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}

@media(max-width:640px){
  .footer-inner{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}



/* FIX REALE WhatsApp + Footer */
section.whatsapp#contatti,
main > section.whatsapp{
  min-height:330px !important;
  height:auto !important;
  padding:46px 8vw !important;
  margin:0 !important;
  transform:none !important;
  border-radius:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  align-items:center !important;
  overflow:hidden !important;
}

section.whatsapp#contatti::before{
  pointer-events:none !important;
}

.whatsapp-footer-spacer{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Footer ultra compatto */
.footer,
body .footer{
  padding:18px 8vw 10px !important;
  margin:0 !important;
  min-height:0 !important;
}

.footer-inner{
  display:grid !important;
  grid-template-columns:.8fr .8fr 1fr .8fr !important;
  gap:18px !important;
  align-items:start !important;
}

.footer-brand-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
}

.footer-brand-block .footer-logo{
  width:82px !important;
  max-width:82px !important;
  margin:0 0 4px !important;
}

.footer .brand-mark{
  font-size:26px !important;
  line-height:1 !important;
}

.footer strong{
  font-size:18px !important;
  line-height:1 !important;
}

.footer h4{
  font-size:10px !important;
  line-height:1.1 !important;
  margin:0 0 6px !important;
  letter-spacing:1.2px !important;
}

.footer p,
.footer a,
.footer-socials a,
.footer-socials span{
  font-size:11px !important;
  line-height:1.25 !important;
  margin:2px 0 !important;
}

.footer a{
  display:block !important;
}

.copyright{
  margin-top:10px !important;
  padding-top:8px !important;
  font-size:10px !important;
  line-height:1.2 !important;
}

@media(max-width:900px){
  .footer-inner{
    grid-template-columns:1fr 1fr !important;
    gap:14px !important;
  }
}

@media(max-width:640px){
  section.whatsapp#contatti,
  main > section.whatsapp{
    min-height:300px !important;
    padding:34px 22px !important;
    display:block !important;
  }

  .footer,
  body .footer{
    padding:18px 22px 10px !important;
  }

  .footer-inner{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .footer-brand-block .footer-logo{
    width:76px !important;
    max-width:76px !important;
  }
}



/* FIX VISIVO DEFINITIVO: WhatsApp alta, footer compatto, nessun taglio immagine */
section.whatsapp#contatti,
main > section.whatsapp{
  min-height:500px !important;
  height:500px !important;
  padding:70px 8vw !important;
  margin:0 !important;
  transform:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  background-size:cover !important;
  background-position:center center !important;
  overflow:hidden !important;
  position:relative !important;
  z-index:1 !important;
}

section.whatsapp#contatti > div,
section.whatsapp#contatti > a{
  position:relative !important;
  z-index:2 !important;
}

.whatsapp-footer-spacer{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Footer ancora più basso e compatto */
.footer,
body .footer{
  padding:14px 8vw 8px !important;
  margin:0 !important;
  min-height:0 !important;
  position:relative !important;
  z-index:2 !important;
}

.footer-inner{
  display:grid !important;
  grid-template-columns:.7fr .8fr 1fr .8fr !important;
  gap:14px !important;
  align-items:start !important;
}

.footer-brand-block .footer-logo{
  width:68px !important;
  max-width:68px !important;
  margin:0 0 3px !important;
}

.footer .brand-mark{
  font-size:22px !important;
  line-height:1 !important;
}

.footer strong{
  font-size:16px !important;
  line-height:1 !important;
}

.footer h4{
  font-size:9px !important;
  margin:0 0 4px !important;
  line-height:1.1 !important;
  letter-spacing:1.1px !important;
}

.footer p,
.footer a,
.footer-socials a,
.footer-socials span{
  font-size:10px !important;
  line-height:1.18 !important;
  margin:2px 0 !important;
}

.copyright{
  margin-top:7px !important;
  padding-top:6px !important;
  font-size:9px !important;
  line-height:1.15 !important;
}

@media(max-width:900px){
  section.whatsapp#contatti,
  main > section.whatsapp{
    min-height:430px !important;
    height:auto !important;
    padding:54px 6vw !important;
  }

  .footer-inner{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }
}

@media(max-width:640px){
  section.whatsapp#contatti,
  main > section.whatsapp{
    min-height:380px !important;
    height:auto !important;
    padding:42px 22px !important;
    display:block !important;
  }

  .footer,
  body .footer{
    padding:14px 22px 8px !important;
  }

  .footer-inner{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}



/* Footer più grande ma ordinato */
.footer,
body .footer{
  padding:42px 8vw 22px !important;
  margin:0 !important;
  min-height:0 !important;
}

.footer-inner{
  display:grid !important;
  grid-template-columns:1.05fr .9fr 1fr .9fr !important;
  gap:34px !important;
  align-items:flex-start !important;
}

.footer-brand-block .footer-logo{
  width:125px !important;
  max-width:125px !important;
  margin:0 0 10px !important;
}

.footer .brand-mark{
  font-size:42px !important;
  line-height:1 !important;
}

.footer strong{
  font-size:28px !important;
  line-height:1.05 !important;
}

.footer h4{
  font-size:12px !important;
  margin:0 0 12px !important;
  line-height:1.2 !important;
  letter-spacing:1.5px !important;
}

.footer p,
.footer a,
.footer-socials a,
.footer-socials span{
  font-size:14px !important;
  line-height:1.45 !important;
  margin:5px 0 !important;
}

.copyright{
  margin-top:24px !important;
  padding-top:14px !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

@media(max-width:900px){
  .footer-inner{
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
  }
}

@media(max-width:640px){
  .footer,
  body .footer{
    padding:32px 22px 18px !important;
  }

  .footer-inner{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .footer-brand-block .footer-logo{
    width:110px !important;
    max-width:110px !important;
  }
}



/* Ecommerce / WooCommerce */
.header-shop,
.header-cart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:9px;
  padding:12px 14px;
  margin-left:8px;
  position:relative;
  z-index:9999;
}

.header-cart{
  min-width:54px;
}

.cart-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  margin-left:5px;
  border-radius:999px;
  background:var(--gold);
  color:#fff;
  font-size:11px;
  line-height:1;
}

.woo-page-hero{
  padding:190px 8vw 60px;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0);
  text-align:center;
}

.woo-page-hero h1{
  margin:10px 0 0;
  font:600 clamp(42px,5vw,68px)/1 'Cormorant Garamond',serif;
  color:var(--dark);
}

.woocommerce-main{
  background:#fffdf8;
  padding:60px 8vw 80px;
}

.woo-wrap{
  max-width:1180px;
  margin:0 auto;
}

.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:28px;
  margin:30px 0 0 !important;
  padding:0 !important;
}

.woocommerce ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(48,33,16,.08);
  padding-bottom:22px !important;
  text-align:center;
}

.woocommerce ul.products li.product a img{
  width:100%;
  height:260px;
  object-fit:cover;
  margin:0 0 18px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font:600 24px/1.1 'Cormorant Garamond',serif;
  color:var(--dark);
  padding:0 18px !important;
}

.woocommerce .price{
  color:var(--gold) !important;
  font-weight:800 !important;
  font-size:16px !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce button.button.alt{
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:10px !important;
  padding:14px 22px !important;
  text-transform:uppercase;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.8px;
  cursor:pointer !important;
}

.woocommerce div.product{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:52px;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:18px;
  padding:34px;
  box-shadow:0 18px 44px rgba(48,33,16,.08);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  width:auto !important;
  float:none !important;
}

.woocommerce div.product .product_title{
  font:600 clamp(36px,4vw,58px)/1 'Cormorant Garamond',serif;
  color:var(--dark);
}

.woocommerce div.product p.price{
  font-size:26px !important;
}

.woocommerce table.shop_table,
.woocommerce form.checkout,
.woocommerce .woocommerce-order{
  background:#fff;
  border:1px solid #eadfce !important;
  border-radius:16px;
  padding:24px;
  box-shadow:0 14px 34px rgba(48,33,16,.07);
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select{
  border:1px solid #e3d4bf !important;
  border-radius:9px !important;
  background:#fffaf2 !important;
  padding:12px 13px !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  border-top-color:var(--gold) !important;
  background:#fff8ec !important;
}

@media(max-width:1050px){
  .header-shop,.header-cart{display:none}
  .woocommerce div.product{grid-template-columns:1fr}
}

@media(max-width:640px){
  .woo-page-hero{padding:150px 22px 45px}
  .woocommerce-main{padding:42px 22px 60px}
}



/* Ecommerce nativo senza plugin */
.native-shop-page{
  background:#fffdf8;
}

.native-shop-hero{
  padding:190px 8vw 60px;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0);
  text-align:center;
}

.native-shop-hero h1{
  margin:10px 0 12px;
  font:600 clamp(42px,5vw,70px)/1 'Cormorant Garamond',serif;
  color:var(--dark);
}

.native-shop-hero p{
  margin:0;
  color:#5b5148;
}

.native-shop-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:58px 8vw 80px;
}

.native-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:28px;
}

.native-product-card,
.native-cart-box,
.native-empty,
.native-checkout-form,
.native-order-summary,
.native-product-single{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(48,33,16,.08);
}

.native-product-card{
  overflow:hidden;
}

.native-product-img{
  width:100%;
  height:260px;
  object-fit:cover;
}

.native-product-body{
  padding:22px;
  text-align:center;
}

.native-product-body h2{
  font-size:28px;
  margin:0 0 10px;
  text-align:center;
}

.native-product-body p{
  font-size:13px;
  line-height:1.55;
  color:#5b5148;
}

.native-price{
  display:block;
  margin:12px 0 18px;
  color:var(--gold);
  font-weight:800;
  font-size:18px;
}

.native-price.big{
  font-size:28px;
  margin:18px 0;
}

.native-cart-box{
  padding:28px;
}

.native-cart-table{
  width:100%;
  border-collapse:collapse;
}

.native-cart-table th,
.native-cart-table td{
  padding:14px;
  border-bottom:1px solid #eadfce;
  text-align:left;
}

.native-cart-table input{
  width:80px;
  border:1px solid #e3d4bf;
  border-radius:8px;
  padding:9px;
}

.native-cart-actions{
  display:flex;
  gap:14px;
  justify-content:flex-end;
  align-items:center;
  margin-top:22px;
  flex-wrap:wrap;
}

.native-checkout-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
}

.native-checkout-form,
.native-order-summary{
  padding:28px;
}

.native-checkout-form label{
  display:block;
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:14px;
}

.native-checkout-form input,
.native-checkout-form textarea{
  display:block;
  width:100%;
  margin-top:8px;
  border:1px solid #e3d4bf;
  border-radius:10px;
  background:#fffaf2;
  padding:14px;
  font:inherit;
}

.native-product-single{
  max-width:1180px;
  margin:0 auto;
  padding:190px 8vw 70px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:start;
  border:0;
  box-shadow:none;
  background:transparent;
}

.native-product-gallery img{
  width:100%;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(48,33,16,.10);
}

.native-product-summary{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(48,33,16,.08);
  padding:34px;
}

.native-product-summary h1{
  font:600 clamp(40px,5vw,68px)/1 'Cormorant Garamond',serif;
  margin:10px 0;
}

.native-product-content{
  line-height:1.8;
  color:#51463d;
}

.native-add-form{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:24px;
  flex-wrap:wrap;
}

.native-add-form input{
  width:90px;
  border:1px solid #e3d4bf;
  border-radius:10px;
  padding:13px;
}

.header-shop,
.header-cart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:9px;
  padding:12px 14px;
  margin-left:8px;
  position:relative;
  z-index:9999;
}

.cart-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  margin-left:5px;
  border-radius:999px;
  background:var(--gold);
  color:#fff;
  font-size:11px;
  line-height:1;
}

@media(max-width:1050px){
  .header-shop,.header-cart{display:none}
  .native-product-single,
  .native-checkout-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .native-shop-hero{padding:150px 22px 45px}
  .native-shop-wrap{padding:42px 22px 60px}
  .native-cart-table{font-size:12px}
  .native-product-single{padding:150px 22px 60px}
}



/* Filigrana immagini ecommerce nativo */
.native-product-media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:18px 18px 0 0;
}

.native-product-media img{
  display:block;
}

.native-watermark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  user-select:none;
  font:700 clamp(22px,3vw,40px)/1.1 'Cormorant Garamond',serif;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.92);
  text-shadow:0 2px 12px rgba(0,0,0,.35);
  opacity:var(--wm-opacity, .22);
  transform:rotate(var(--wm-rotation, -24deg)) scale(1.1);
  white-space:nowrap;
  z-index:3;
  mix-blend-mode:soft-light;
}

.native-product-card .native-product-media::after,
.native-product-gallery .native-product-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.08));
  pointer-events:none;
  z-index:2;
}

/* scoraggia trascinamento immagine */
.native-product-img,
.native-product-gallery img{
  -webkit-user-drag:none;
  user-select:none;
}




/* Login / Registrazione header */
.header-auth{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:8px;
  position:relative;
  z-index:9999;
}

.header-auth a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:9px;
  padding:11px 13px;
  background:rgba(0,0,0,.10);
}

.header-auth a:hover{
  color:var(--gold2);
  border-color:rgba(215,173,92,.75);
}

@media(max-width:1200px){
  .header-auth a{
    padding:10px 10px;
    font-size:10px;
  }
}

@media(max-width:1050px){
  .header-auth{
    display:none;
  }
}



/* Fix link Area utente / Esci: sempre cliccabili */
.header-auth,
.site-header .header-auth{
  position:relative !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
}

.header-auth a,
.header-auth .auth-account-link,
.header-auth .auth-logout-link,
.header-auth .auth-login-link,
.header-auth .auth-register-link{
  position:relative !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  user-select:auto !important;
  text-decoration:none !important;
}

.header-auth a:hover{
  cursor:pointer !important;
}

/* Area utente frontend */
.native-account-page{
  background:#fffdf8;
}

.native-account-hero{
  padding:190px 8vw 60px;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0);
  text-align:center;
}

.native-account-hero h1{
  margin:10px 0 0;
  font:600 clamp(42px,5vw,70px)/1 'Cormorant Garamond',serif;
  color:var(--dark);
}

.native-account-wrap{
  max-width:900px;
  margin:0 auto;
  padding:58px 8vw 80px;
}

.native-account-box{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(48,33,16,.08);
  padding:34px;
}

.native-account-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:22px;
}



/* Login e registrazione nativi */
.native-auth-page{
  background:#fffdf8;
}

.native-auth-hero{
  padding:190px 8vw 60px;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0);
  text-align:center;
}

.native-auth-hero h1{
  margin:10px 0 0;
  font:600 clamp(42px,5vw,70px)/1 'Cormorant Garamond',serif;
  color:var(--dark);
}

.native-auth-wrap{
  max-width:760px;
  margin:0 auto;
  padding:58px 8vw 80px;
}

.native-auth-box{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(48,33,16,.08);
  padding:34px;
}

.native-auth-form label{
  display:block;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:16px;
  color:#6b5743;
}

.native-auth-form input:not([type="checkbox"]){
  display:block;
  width:100%;
  margin-top:8px;
  border:1px solid #e3d4bf;
  border-radius:10px;
  background:#fffaf2;
  padding:14px;
  font:inherit;
  color:var(--text);
}

.native-auth-form input,
.native-auth-form button,
.native-auth-form a{
  pointer-events:auto !important;
}

.native-auth-form input:not([type="checkbox"]){
  cursor:text !important;
}

.native-auth-form button,
.native-auth-form a,
.native-checkbox{
  cursor:pointer !important;
}

.native-checkbox{
  display:flex !important;
  gap:10px;
  align-items:center;
  text-transform:none !important;
  letter-spacing:0 !important;
}



/* Modifica profilo frontend */
.native-profile-form h2,
.native-profile-form h3{
  margin-top:0;
}

.native-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.native-profile-form label{
  display:block;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#6b5743;
}

.native-profile-form input{
  display:block;
  width:100%;
  margin-top:8px;
  border:1px solid #e3d4bf;
  border-radius:10px;
  background:#fffaf2;
  padding:14px;
  font:inherit;
  color:var(--text);
  pointer-events:auto !important;
  cursor:text !important;
}

.native-profile-form button,
.native-profile-form a{
  pointer-events:auto !important;
  cursor:pointer !important;
}

.native-profile-separator{
  border:0;
  border-top:1px solid #eadfce;
  margin:28px 0;
}

.native-profile-note{
  color:#706457;
  font-size:14px;
}

@media(max-width:700px){
  .native-profile-grid{
    grid-template-columns:1fr;
  }
}



/* Fix altezza pagine registrazione/profilo e cursori corretti */
.native-auth-page,
.native-account-page{
  min-height:100vh !important;
  background:#fffdf8 !important;
}

.native-auth-wrap,
.native-account-wrap{
  padding-top:70px !important;
  padding-bottom:130px !important;
  min-height:520px !important;
}

.native-auth-box,
.native-account-box,
.native-profile-form{
  position:relative !important;
  z-index:50 !important;
  pointer-events:auto !important;
}

.native-auth-form,
.native-profile-form{
  padding-bottom:42px !important;
}

.native-auth-form *,
.native-profile-form *,
.native-account-box *{
  pointer-events:auto !important;
}

.native-auth-form input:not([type="checkbox"]),
.native-profile-form input:not([type="checkbox"]),
.native-profile-form textarea,
.native-account-box input:not([type="checkbox"]),
.native-account-box textarea{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:100 !important;
}

.native-auth-form input[type="checkbox"],
.native-profile-form input[type="checkbox"],
.native-auth-form label,
.native-profile-form label,
.native-auth-form button,
.native-profile-form button,
.native-auth-form a,
.native-profile-form a,
.native-account-actions a,
.native-account-actions button{
  pointer-events:auto !important;
  position:relative !important;
  z-index:101 !important;
}

.native-auth-form button,
.native-profile-form button,
.native-auth-form a,
.native-profile-form a,
.native-account-actions a,
.native-account-actions button{
  cursor:pointer !important;
}

.native-account-actions{
  margin-top:34px !important;
  padding-bottom:12px !important;
  position:relative !important;
  z-index:120 !important;
}

.native-profile-grid{
  position:relative !important;
  z-index:90 !important;
}

.native-profile-separator{
  margin:36px 0 !important;
}

.footer{
  clear:both !important;
}

@media(max-width:700px){
  .native-auth-wrap,
  .native-account-wrap{
    padding-top:48px !important;
    padding-bottom:110px !important;
    min-height:620px !important;
  }

  .native-auth-box,
  .native-account-box{
    padding:28px !important;
  }

  .native-account-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
}



/* Footer visibile anche su Login / Registrazione / Area utente / Profilo */
.native-auth-page,
.native-account-page{
  display:block !important;
  min-height:auto !important;
  overflow:visible !important;
}

.native-auth-wrap,
.native-account-wrap{
  padding-bottom:90px !important;
  margin-bottom:0 !important;
  overflow:visible !important;
}

body:has(.native-auth-page) .footer,
body:has(.native-account-page) .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:5 !important;
  clear:both !important;
  margin-top:0 !important;
}

/* fallback per browser senza :has */
.native-auth-page + .footer,
.native-account-page + .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:5 !important;
  clear:both !important;
}



/* Footer reale e visibile nelle pagine utente */
html, body{
  min-height:100% !important;
}

body{
  overflow-x:hidden !important;
}

.auth-page-with-footer{
  display:block !important;
  width:100% !important;
  min-height:auto !important;
  overflow:visible !important;
  clear:both !important;
}

.auth-page-with-footer .native-auth-wrap,
.auth-page-with-footer .native-account-wrap{
  min-height:620px !important;
  padding-bottom:120px !important;
  overflow:visible !important;
  clear:both !important;
}

body .auth-page-with-footer + .footer,
.auth-page-with-footer ~ .footer,
body .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  clear:both !important;
}

body .auth-page-with-footer + .footer{
  margin-top:0 !important;
  z-index:10 !important;
}

/* evita che qualche wrapper tagli il footer */
.native-auth-page,
.native-account-page,
.native-auth-wrap,
.native-account-wrap{
  overflow:visible !important;
}



/* Footer inline definitivo pagine utente */
.auth-inline-footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:999 !important;
  clear:both !important;
  margin-top:0 !important;
  width:100% !important;
  background:#211a13 !important;
}

.auth-page-with-footer{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.auth-page-with-footer .native-auth-wrap,
.auth-page-with-footer .native-account-wrap{
  padding-bottom:80px !important;
  margin-bottom:0 !important;
}

body .auth-inline-footer.footer{
  padding-top:42px !important;
  padding-bottom:22px !important;
}

body .auth-inline-footer .footer-inner{
  display:grid !important;
}

body:has(.auth-inline-footer) > .footer:not(.auth-inline-footer){
  display:none !important;
}



/* Fix definitivo pagine utente: form più compatto e footer visibile */
.native-account-hero,
.native-auth-hero{
  padding:130px 8vw 34px !important;
}

.native-account-hero h1,
.native-auth-hero h1{
  font-size:clamp(42px,4.8vw,64px) !important;
}

.native-account-wrap,
.native-auth-wrap{
  padding-top:38px !important;
  padding-bottom:48px !important;
  min-height:auto !important;
}

.native-account-box,
.native-auth-box{
  max-width:640px !important;
  margin:0 auto !important;
  padding:26px 30px !important;
}

.native-profile-form h2{
  font-size:clamp(38px,4vw,56px) !important;
  margin:0 0 20px !important;
  text-align:center !important;
}

.native-profile-form h3{
  font-size:22px !important;
  margin:20px 0 8px !important;
  text-align:center !important;
}

.native-profile-grid{
  gap:12px !important;
}

.native-profile-form label{
  font-size:11px !important;
  margin-bottom:8px !important;
}

.native-profile-form input{
  padding:10px 12px !important;
  min-height:42px !important;
}

.native-profile-separator{
  margin:20px 0 !important;
}

.native-profile-note{
  margin:0 0 12px !important;
  text-align:center !important;
}

.native-account-actions{
  margin-top:20px !important;
  padding-bottom:0 !important;
  justify-content:center !important;
}

.native-account-actions .btn,
.native-profile-form button,
.native-profile-form a{
  min-height:42px !important;
  padding:12px 18px !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:9999 !important;
}

.native-profile-form input,
.native-profile-form textarea{
  cursor:text !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:9999 !important;
}

/* Footer deve apparire subito dopo le pagine utente */
.auth-inline-footer,
.footer.auth-inline-footer{
  display:block !important;
  margin-top:0 !important;
  padding-top:32px !important;
  padding-bottom:18px !important;
  position:relative !important;
  z-index:10 !important;
  clear:both !important;
}

.auth-page-with-footer{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:700px){
  .native-account-hero,
  .native-auth-hero{
    padding:120px 22px 30px !important;
  }

  .native-account-wrap,
  .native-auth-wrap{
    padding:30px 22px 42px !important;
  }

  .native-account-box,
  .native-auth-box{
    padding:24px 22px !important;
  }

  .native-profile-grid{
    grid-template-columns:1fr !important;
  }
}



/* PROFILO ULTRA COMPATTO: pulsanti e footer visibili */
.native-account-hero,
.native-auth-hero{
  padding:112px 8vw 20px !important;
}

.native-account-hero .label,
.native-auth-hero .label{
  display:none !important;
}

.native-account-hero h1,
.native-auth-hero h1{
  font-size:clamp(38px,4vw,58px) !important;
  line-height:.95 !important;
  margin:0 !important;
}

.native-account-wrap,
.native-auth-wrap{
  padding-top:24px !important;
  padding-bottom:28px !important;
  min-height:0 !important;
}

.native-account-box,
.native-auth-box{
  max-width:760px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:20px 28px 22px !important;
  border-radius:14px !important;
}

.native-profile-form h2{
  font-size:clamp(34px,3.5vw,48px) !important;
  line-height:.95 !important;
  margin:0 0 16px !important;
  text-align:center !important;
}

.native-profile-form h3{
  font-size:19px !important;
  line-height:1.1 !important;
  margin:14px 0 4px !important;
  text-align:center !important;
}

.native-profile-note{
  font-size:12px !important;
  margin:0 0 8px !important;
  text-align:center !important;
}

.native-profile-grid{
  grid-template-columns:1fr 1fr !important;
  gap:8px 12px !important;
}

.native-profile-form label{
  font-size:10px !important;
  margin-bottom:4px !important;
  letter-spacing:.7px !important;
}

.native-profile-form input{
  height:34px !important;
  min-height:34px !important;
  padding:7px 10px !important;
  font-size:13px !important;
  border-radius:8px !important;
}

.native-profile-separator{
  margin:14px 0 !important;
}

.native-account-actions{
  margin-top:14px !important;
  padding-bottom:0 !important;
  gap:10px !important;
  justify-content:center !important;
}

.native-account-actions .btn,
.native-profile-form button,
.native-profile-form a{
  min-height:38px !important;
  padding:10px 18px !important;
  font-size:11px !important;
  line-height:1 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:999999 !important;
}

.native-profile-form input,
.native-profile-form textarea{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:999999 !important;
}

.auth-inline-footer,
.footer.auth-inline-footer,
.footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:0 !important;
  padding-top:26px !important;
  padding-bottom:14px !important;
  position:relative !important;
  clear:both !important;
  z-index:20 !important;
}

.auth-page-with-footer{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

@media(max-width:900px){
  .native-account-box,
  .native-auth-box{
    max-width:720px !important;
  }
}

@media(max-width:700px){
  .native-account-hero,
  .native-auth-hero{
    padding:110px 22px 18px !important;
  }

  .native-account-wrap,
  .native-auth-wrap{
    padding:22px 18px 28px !important;
  }

  .native-profile-grid{
    grid-template-columns:1fr !important;
  }

  .native-account-box,
  .native-auth-box{
    padding:20px 18px !important;
  }
}



/* FIX PAGINE UTENTE: titolo non coperto, meno spazio vuoto, footer visibile */
body:not(.home):not(.front-page) .native-account-hero,
body:not(.home):not(.front-page) .native-auth-hero{
  padding-top:185px !important;
  padding-bottom:32px !important;
  position:relative !important;
  z-index:1 !important;
}

body:not(.home):not(.front-page) .native-account-hero h1,
body:not(.home):not(.front-page) .native-auth-hero h1{
  margin:0 !important;
  line-height:1 !important;
  font-size:clamp(44px,4.8vw,68px) !important;
  color:var(--dark) !important;
  opacity:1 !important;
  transform:none !important;
}

body:not(.home):not(.front-page) .native-account-wrap,
body:not(.home):not(.front-page) .native-auth-wrap{
  padding-top:34px !important;
  padding-bottom:70px !important;
  min-height:0 !important;
  margin-bottom:0 !important;
}

body:not(.home):not(.front-page) .native-account-box,
body:not(.home):not(.front-page) .native-auth-box{
  max-width:660px !important;
  margin:0 auto !important;
  padding:28px 34px !important;
}

body:not(.home):not(.front-page) .auth-page-with-footer{
  min-height:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}

/* Area utente: box centrale più compatto */
.native-account-box h2{
  margin-top:0 !important;
  margin-bottom:14px !important;
  line-height:1 !important;
}

.native-account-box p{
  margin:8px 0 !important;
}

.native-account-actions{
  margin-top:18px !important;
}

/* Footer visibile subito sotto il contenuto delle pagine utente */
.auth-inline-footer,
.footer.auth-inline-footer,
body .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  clear:both !important;
  z-index:10 !important;
}

body:not(.home):not(.front-page) .auth-inline-footer,
body:not(.home):not(.front-page) .footer{
  margin-top:0 !important;
}

/* Evita che il footer venga spinto in basso da vecchi min-height */
.native-account-page,
.native-auth-page{
  min-height:0 !important;
  overflow:visible !important;
}

@media(max-width:700px){
  body:not(.home):not(.front-page) .native-account-hero,
  body:not(.home):not(.front-page) .native-auth-hero{
    padding-top:155px !important;
    padding-bottom:26px !important;
  }

  body:not(.home):not(.front-page) .native-account-wrap,
  body:not(.home):not(.front-page) .native-auth-wrap{
    padding:28px 22px 58px !important;
  }

  body:not(.home):not(.front-page) .native-account-box,
  body:not(.home):not(.front-page) .native-auth-box{
    padding:24px 22px !important;
  }
}



/* Layout unico per tutte le pagine utente ed ecommerce */
body:not(.home):not(.front-page) .native-account-hero,
body:not(.home):not(.front-page) .native-auth-hero,
body:not(.home):not(.front-page) .native-shop-hero{
  padding-top:185px !important;
  padding-bottom:32px !important;
  position:relative !important;
  z-index:1 !important;
  text-align:center !important;
}

body:not(.home):not(.front-page) .native-account-hero .label,
body:not(.home):not(.front-page) .native-auth-hero .label,
body:not(.home):not(.front-page) .native-shop-hero .label{
  display:block !important;
  opacity:1 !important;
  margin-bottom:8px !important;
}

body:not(.home):not(.front-page) .native-account-hero h1,
body:not(.home):not(.front-page) .native-auth-hero h1,
body:not(.home):not(.front-page) .native-shop-hero h1{
  margin:0 !important;
  line-height:1 !important;
  font-size:clamp(44px,4.8vw,68px) !important;
  color:var(--dark) !important;
  opacity:1 !important;
  transform:none !important;
}

body:not(.home):not(.front-page) .native-account-wrap,
body:not(.home):not(.front-page) .native-auth-wrap,
body:not(.home):not(.front-page) .native-shop-wrap{
  padding-top:34px !important;
  padding-bottom:70px !important;
  min-height:0 !important;
  margin-bottom:0 !important;
}

body:not(.home):not(.front-page) .native-account-box,
body:not(.home):not(.front-page) .native-auth-box,
body:not(.home):not(.front-page) .native-cart-box,
body:not(.home):not(.front-page) .native-empty,
body:not(.home):not(.front-page) .native-checkout-form,
body:not(.home):not(.front-page) .native-order-summary{
  position:relative !important;
  z-index:5 !important;
}

/* Login, Registrazione, Area utente e Modifica profilo */
body:not(.home):not(.front-page) .native-auth-box,
body:not(.home):not(.front-page) .native-account-box{
  max-width:660px !important;
  margin:0 auto !important;
  padding:28px 34px !important;
}

.native-auth-form input:not([type="checkbox"]),
.native-profile-form input:not([type="checkbox"]),
.native-checkout-form input,
.native-checkout-form textarea,
.native-cart-table input,
.native-add-form input{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:9999 !important;
}

.native-auth-form button,
.native-profile-form button,
.native-checkout-form button,
.native-cart-actions a,
.native-cart-actions button,
.native-add-form button,
.native-account-actions a,
.native-account-actions button,
.native-product-body button,
.native-product-body a{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:9999 !important;
}

/* Modifica profilo più ordinata */
.native-profile-form h2{
  margin-top:0 !important;
  margin-bottom:18px !important;
  text-align:center !important;
}

.native-profile-form h3{
  margin:20px 0 8px !important;
  text-align:center !important;
}

.native-profile-grid{
  gap:12px 16px !important;
}

.native-profile-form input{
  min-height:42px !important;
  padding:10px 12px !important;
}

.native-profile-separator{
  margin:22px 0 !important;
}

.native-account-actions{
  margin-top:20px !important;
  justify-content:center !important;
}

/* Ecommerce nativo: shop, carrello, checkout, prodotto */
.native-products-grid{
  margin-top:0 !important;
}

.native-product-card{
  position:relative !important;
  z-index:5 !important;
}

.native-product-single{
  padding-top:185px !important;
  padding-bottom:70px !important;
  max-width:1180px !important;
  margin:0 auto !important;
}

.native-product-summary{
  position:relative !important;
  z-index:5 !important;
}

.native-checkout-grid{
  align-items:start !important;
}

.native-cart-actions{
  margin-top:22px !important;
  padding-bottom:0 !important;
}

/* Footer subito dopo contenuto per pagine utente/ecommerce */
.native-auth-page,
.native-account-page,
.native-shop-page{
  min-height:0 !important;
  overflow:visible !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.auth-inline-footer,
.footer.auth-inline-footer,
body .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  clear:both !important;
  z-index:10 !important;
}

body:not(.home):not(.front-page) .footer,
body:not(.home):not(.front-page) .auth-inline-footer{
  margin-top:0 !important;
}

/* Header interno: titolo sempre sotto la fascia scura */
body:not(.home):not(.front-page) .site-header{
  z-index:1000 !important;
}

@media(max-width:1050px){
  body:not(.home):not(.front-page) .native-account-hero,
  body:not(.home):not(.front-page) .native-auth-hero,
  body:not(.home):not(.front-page) .native-shop-hero{
    padding-top:155px !important;
  }

  .native-product-single{
    padding-top:155px !important;
    grid-template-columns:1fr !important;
  }
}

@media(max-width:700px){
  body:not(.home):not(.front-page) .native-account-hero,
  body:not(.home):not(.front-page) .native-auth-hero,
  body:not(.home):not(.front-page) .native-shop-hero{
    padding:150px 22px 26px !important;
  }

  body:not(.home):not(.front-page) .native-account-wrap,
  body:not(.home):not(.front-page) .native-auth-wrap,
  body:not(.home):not(.front-page) .native-shop-wrap{
    padding:28px 22px 58px !important;
  }

  body:not(.home):not(.front-page) .native-account-box,
  body:not(.home):not(.front-page) .native-auth-box{
    padding:24px 22px !important;
  }

  .native-profile-grid,
  .native-checkout-grid{
    grid-template-columns:1fr !important;
  }

  .native-cart-table{
    display:block !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
  }
}



/* LOGIN / REGISTRAZIONE DEFINITIVI */
.auth-login-clean,
.auth-register-clean{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fffdf8 !important;
  overflow:visible !important;
}

.auth-clean-hero{
  padding:185px 8vw 34px !important;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0) !important;
  text-align:center !important;
  position:relative !important;
  z-index:1 !important;
}

.auth-clean-hero h1{
  margin:0 !important;
  font:600 clamp(46px,5vw,72px)/1 'Cormorant Garamond',serif !important;
  color:var(--dark) !important;
}

.auth-clean-hero p{
  margin:12px 0 0 !important;
  color:#6b5743 !important;
  font-size:15px !important;
}

.auth-clean-wrap{
  max-width:620px !important;
  margin:0 auto !important;
  padding:36px 22px 70px !important;
  min-height:0 !important;
}

.auth-clean-box{
  background:#fff !important;
  border:1px solid #eadfce !important;
  border-radius:18px !important;
  box-shadow:0 16px 40px rgba(48,33,16,.08) !important;
  padding:30px 34px !important;
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
}

.auth-clean-box h2{
  margin:0 0 22px !important;
  text-align:center !important;
  font:600 clamp(34px,4vw,50px)/1 'Cormorant Garamond',serif !important;
  color:var(--dark) !important;
}

.auth-clean-form label{
  display:block !important;
  margin:0 0 14px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.8px !important;
  color:#6b5743 !important;
  pointer-events:auto !important;
}

.auth-clean-form input:not([type="checkbox"]){
  display:block !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  margin-top:8px !important;
  padding:10px 12px !important;
  border:1px solid #e3d4bf !important;
  border-radius:10px !important;
  background:#fffaf2 !important;
  font:inherit !important;
  color:var(--text) !important;
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:9999 !important;
}

.auth-clean-checkbox{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:4px 0 18px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:13px !important;
  cursor:pointer !important;
}

.auth-clean-checkbox input{
  cursor:pointer !important;
  pointer-events:auto !important;
}

.auth-clean-submit{
  width:100% !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:9999 !important;
}

.auth-clean-note{
  margin:18px 0 0 !important;
  text-align:center !important;
  font-size:13px !important;
  color:#6b5743 !important;
}

.auth-clean-note a{
  color:var(--gold) !important;
  font-weight:800 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

.auth-login-clean + .footer,
.auth-register-clean + .footer,
.auth-login-clean ~ .footer,
.auth-register-clean ~ .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:0 !important;
  position:relative !important;
  clear:both !important;
  z-index:10 !important;
}

/* disinnesca regole vecchie che schiacciavano login/registrazione */
.auth-login-clean .native-auth-hero,
.auth-register-clean .native-auth-hero,
.auth-login-clean .native-auth-wrap,
.auth-register-clean .native-auth-wrap,
.auth-login-clean .native-auth-box,
.auth-register-clean .native-auth-box{
  all:unset;
}

@media(max-width:700px){
  .auth-clean-hero{
    padding:155px 22px 30px !important;
  }

  .auth-clean-wrap{
    padding:30px 18px 58px !important;
  }

  .auth-clean-box{
    padding:26px 22px !important;
  }
}



/* PAGINE LOGIN / REGISTRAZIONE / PROFILO - layout pulito definitivo */
.user-page-clean{
  background:#fffdf8 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.user-page-head{
  padding:175px 8vw 30px !important;
  background:linear-gradient(135deg,#fffaf2,#f2e5d0) !important;
  text-align:center !important;
}

.user-page-head h1{
  margin:0 !important;
  font:600 clamp(44px,4.8vw,68px)/1 'Cormorant Garamond',serif !important;
  color:var(--dark) !important;
}

.user-page-head p{
  margin:10px 0 0 !important;
  font-size:14px !important;
  color:#6b5743 !important;
}

.user-page-body{
  max-width:980px !important;
  margin:0 auto !important;
  padding:34px 22px 64px !important;
  min-height:0 !important;
}

.user-card-clean{
  max-width:640px !important;
  margin:0 auto !important;
  background:#fff !important;
  border:1px solid #eadfce !important;
  border-radius:18px !important;
  box-shadow:0 16px 40px rgba(48,33,16,.08) !important;
  padding:28px 34px !important;
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
}

.user-profile-card-clean{
  max-width:980px !important;
}

.user-card-clean h2{
  margin:0 0 20px !important;
  text-align:center !important;
  font:600 clamp(34px,3.7vw,50px)/1 'Cormorant Garamond',serif !important;
  color:var(--dark) !important;
}

.user-form-grid{
  display:grid !important;
  gap:14px 16px !important;
}

.user-form-grid.two{
  grid-template-columns:1fr 1fr !important;
}

.user-form-grid.three{
  grid-template-columns:1fr 1fr 1fr !important;
}

.user-form-clean label{
  display:block !important;
  margin:0 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.75px !important;
  color:#6b5743 !important;
  pointer-events:auto !important;
}

.user-form-clean input:not([type="checkbox"]){
  display:block !important;
  width:100% !important;
  height:40px !important;
  min-height:40px !important;
  margin-top:7px !important;
  padding:9px 11px !important;
  border:1px solid #e3d4bf !important;
  border-radius:10px !important;
  background:#fffaf2 !important;
  font:inherit !important;
  color:var(--text) !important;
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
  position:relative !important;
  z-index:9999 !important;
}

.user-check-clean{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:14px 0 16px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:13px !important;
  cursor:pointer !important;
}

.user-check-clean input{
  cursor:pointer !important;
  pointer-events:auto !important;
}

.user-password-box-clean{
  border-top:1px solid #eadfce !important;
  margin-top:20px !important;
  padding-top:18px !important;
}

.user-password-box-clean h3{
  margin:0 0 5px !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.15 !important;
}

.user-password-box-clean p{
  margin:0 0 14px !important;
  text-align:center !important;
  font-size:12px !important;
  color:#6b5743 !important;
}

.user-submit-clean,
.user-actions-clean .btn,
.user-form-clean button,
.user-form-clean a{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:9999 !important;
}

.user-submit-clean{
  width:100% !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:18px !important;
}

.user-actions-clean{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:20px !important;
}

.user-actions-clean .btn{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.user-note-clean{
  text-align:center !important;
  margin:16px 0 0 !important;
  font-size:13px !important;
  color:#6b5743 !important;
}

.user-note-clean a{
  color:var(--gold) !important;
  font-weight:800 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

/* footer sulle pagine pulite */
.user-page-clean + .footer,
.user-page-clean ~ .footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:0 !important;
  position:relative !important;
  clear:both !important;
  z-index:10 !important;
}

@media(max-width:900px){
  .user-form-grid.three{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:700px){
  .user-page-head{
    padding:155px 22px 26px !important;
  }

  .user-page-body{
    padding:28px 18px 58px !important;
  }

  .user-card-clean{
    padding:24px 22px !important;
  }

  .user-form-grid.two,
  .user-form-grid.three{
    grid-template-columns:1fr !important;
  }

  .user-actions-clean{
    flex-direction:column !important;
    align-items:stretch !important;
  }
}



/* =========================================================
   FIX STRUTTURA PAGINE: footer sempre in basso come homepage
   - se il contenuto è poco, il footer resta in fondo alla finestra
   - se il contenuto aumenta, la pagina scrolla normalmente
   - niente footer che sale/scende in modo casuale
========================================================= */

html,
body{
  min-height:100vh !important;
}

body{
  display:flex !important;
  flex-direction:column !important;
  overflow-x:hidden !important;
}

body > main,
main,
.site-main,
#main,
#primary,
.native-auth-page,
.native-account-page,
.native-shop-page,
.article,
.page-list{
  flex:1 0 auto !important;
}

/* Footer sticky naturale: in basso se la pagina è corta, dopo il contenuto se la pagina è lunga */
.footer,
.site-footer,
body .footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
  position:relative !important;
  bottom:auto !important;
  clear:both !important;
}

/* Pagine login / registrazione / area utente */
.native-auth-page,
.native-account-page,
.auth-page-with-footer{
  display:flex !important;
  flex-direction:column !important;
  flex:1 0 auto !important;
  min-height:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}

.native-auth-wrap,
.native-account-wrap,
.auth-page-with-footer .native-auth-wrap,
.auth-page-with-footer .native-account-wrap{
  flex:0 0 auto !important;
  min-height:0 !important;
  margin-bottom:0 !important;
  padding-bottom:45px !important;
}

/* Header interno: mantiene il titolo sotto la navbar */
body:not(.home):not(.front-page) .native-auth-hero,
body:not(.home):not(.front-page) .native-account-hero,
body:not(.home):not(.front-page) .native-shop-hero{
  padding-top:185px !important;
  padding-bottom:32px !important;
}

/* Se il template usa footer inline nelle pagine utente */
.auth-inline-footer,
.footer.auth-inline-footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
}

/* Evita doppio footer quando esiste quello inline */
body:has(.auth-inline-footer) > .footer:not(.auth-inline-footer){
  display:none !important;
}

/* Form e pulsanti cliccabili */
.native-auth-box,
.native-account-box,
.native-auth-form,
.native-profile-form,
.native-auth-form *,
.native-profile-form *,
.native-account-box *{
  pointer-events:auto !important;
}

.native-auth-form input:not([type="checkbox"]),
.native-profile-form input:not([type="checkbox"]),
.native-profile-form textarea{
  cursor:text !important;
}

.native-auth-form button,
.native-profile-form button,
.native-auth-form a,
.native-profile-form a,
.native-account-actions a,
.native-account-actions button{
  cursor:pointer !important;
}

@media(max-width:700px){
  body:not(.home):not(.front-page) .native-auth-hero,
  body:not(.home):not(.front-page) .native-account-hero,
  body:not(.home):not(.front-page) .native-shop-hero{
    padding-top:155px !important;
    padding-bottom:26px !important;
  }

  .native-auth-wrap,
  .native-account-wrap,
  .auth-page-with-footer .native-auth-wrap,
  .auth-page-with-footer .native-account-wrap{
    padding-bottom:35px !important;
  }
}


/* =========================================================
   FIX MODIFICA PROFILO: stessa logica sticky footer della Login
   - footer in basso se il contenuto è poco
   - scroll normale se il form è lungo
   - nessun taglio dei pulsanti
========================================================= */

.native-account-page,
.auth-page-with-footer,
body:has(.native-profile-form) .native-account-page{
  display:flex !important;
  flex-direction:column !important;
  flex:1 0 auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

body:has(.native-profile-form) .native-account-wrap,
.native-account-wrap{
  flex:0 0 auto !important;
  min-height:0 !important;
  padding-bottom:45px !important;
  margin-bottom:0 !important;
}

body:has(.native-profile-form) .native-account-box{
  max-width:900px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:34px 42px !important;
  overflow:visible !important;
}

.native-profile-form{
  position:relative !important;
  z-index:50 !important;
  overflow:visible !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

.native-profile-grid{
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
}

.native-profile-form input,
.native-profile-form textarea{
  pointer-events:auto !important;
  cursor:text !important;
  user-select:text !important;
}

.native-profile-form button,
.native-profile-form a,
.native-account-actions a,
.native-account-actions button{
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:100 !important;
}

.native-account-actions{
  margin-top:26px !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* Footer sempre in basso anche su Modifica Profilo */
body:has(.native-profile-form) .footer,
body:has(.native-profile-form) .site-footer,
body:has(.native-profile-form) .auth-inline-footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
  position:relative !important;
  clear:both !important;
}

/* Fallback se il browser non supporta :has */
.native-profile-form ~ .footer,
.native-account-page + .footer,
.native-account-page ~ .footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
}

@media(max-width:700px){
  body:has(.native-profile-form) .native-account-box{
    max-width:100% !important;
    padding:26px 22px !important;
  }

  .native-profile-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body:has(.native-profile-form) .native-account-wrap,
  .native-account-wrap{
    padding-bottom:35px !important;
  }
}


/* =========================================================
   FIX REALE PAGINE UTENTE: Login / Registrati / Modifica Profilo
   Classi reali del tema: .user-page-clean, .user-page-head, .user-page-body
   Footer in basso naturale e contenuto compatto.
========================================================= */

html,
body{
  min-height:100vh !important;
}

body{
  display:flex !important;
  flex-direction:column !important;
}

body > main,
.user-page-clean{
  flex:1 0 auto !important;
}

.footer,
.site-footer,
body .footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
}

/* Pagine utente reali */
.user-page-clean{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Riduce la fascia titolo: era troppo alta */
.user-page-head{
  padding:150px 8vw 18px !important;
}

/* Riduce lo spazio tra form e footer */
.user-page-body{
  padding:26px 22px 28px !important;
  min-height:0 !important;
  margin:0 auto !important;
  width:100% !important;
}

/* Login e registrazione */
.user-login-page .user-card-clean,
.user-register-page .user-card-clean{
  margin-bottom:0 !important;
}

/* Modifica profilo più larga ma senza altezza artificiale */
.user-profile-page .user-page-body{
  max-width:1100px !important;
  padding-bottom:28px !important;
}

.user-profile-page .user-profile-card-clean{
  max-width:980px !important;
}

/* Compatibilità con footer inline o normale */
.auth-inline-footer,
.footer.auth-inline-footer{
  margin-top:auto !important;
}

/* Form cliccabili */
.user-form-clean,
.user-form-clean *,
.user-card-clean,
.user-card-clean *{
  pointer-events:auto !important;
}

.user-form-clean input:not([type="checkbox"]),
.user-form-clean textarea{
  cursor:text !important;
  pointer-events:auto !important;
  user-select:text !important;
}

.user-form-clean button,
.user-form-clean a,
.user-card-clean button,
.user-card-clean a{
  cursor:pointer !important;
  pointer-events:auto !important;
}

/* Compatta leggermente il box */
.user-card-clean{
  padding:24px 34px !important;
}

.user-card-clean h2{
  margin-bottom:16px !important;
}

.user-submit-clean{
  margin-top:14px !important;
}

.user-note-clean{
  margin-bottom:0 !important;
}

@media(max-width:700px){
  .user-page-head{
    padding:130px 22px 16px !important;
  }

  .user-page-body{
    padding:22px 18px 26px !important;
  }

  .user-card-clean{
    padding:22px 20px !important;
  }

  .user-form-grid.two,
  .user-form-grid.three{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   FIX SCROLL PAGINE UTENTE
   Login / Registrati / Modifica Profilo devono scrollare.
   Il contenuto non deve essere schiacciato dentro la viewport.
========================================================= */

html,
body{
  height:auto !important;
  min-height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body{
  display:block !important;
}

/* Pagine utente: nessuna altezza fissa */
.user-page-clean,
.user-login-page,
.user-register-page,
.user-profile-page,
.native-auth-page,
.native-account-page,
.auth-page-with-footer{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  display:block !important;
}

/* Wrapper contenuto: deve crescere normalmente */
.user-page-body,
.native-auth-wrap,
.native-account-wrap,
.auth-page-with-footer .native-auth-wrap,
.auth-page-with-footer .native-account-wrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
}

/* Card form: mai tagliata */
.user-card-clean,
.user-form-clean,
.user-profile-card-clean,
.native-auth-box,
.native-account-box{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Spazio corretto prima del footer */
.user-page-body{
  padding-bottom:60px !important;
}

/* Footer normale: dopo il contenuto, non sovrapposto e non forzato */
.footer,
.site-footer,
.auth-inline-footer,
.footer.auth-inline-footer{
  position:relative !important;
  bottom:auto !important;
  margin-top:0 !important;
  flex-shrink:0 !important;
  clear:both !important;
}

/* Disattiva eventuali layout flex che impediscono lo scroll */
body > main,
main,
.site-main,
#main,
#primary{
  flex:none !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

/* Mantiene il titolo sotto l'header senza comprimere il form */
.user-page-head{
  padding-top:160px !important;
  padding-bottom:24px !important;
}

@media(max-width:700px){
  .user-page-head{
    padding-top:135px !important;
    padding-bottom:18px !important;
  }

  .user-page-body{
    padding-bottom:50px !important;
  }
}


/* =========================================================
   FIX FINALE: footer perfettamente in basso a fine scroll
   Il footer non lascia spazio bianco sotto.
   Se la pagina è corta viene spinto in fondo alla viewport.
   Se la pagina è lunga resta dopo il contenuto e si raggiunge con lo scroll.
========================================================= */

html{
  min-height:100% !important;
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body{
  min-height:100vh !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  background:#211a13 !important; /* evita spazio bianco visibile sotto footer */
}

/* Tutti i contenitori pagina devono contribuire all'altezza disponibile */
body > main,
main,
.user-page-clean,
.native-shop-page,
.native-auth-page,
.native-account-page,
.article,
.page-list{
  flex:1 0 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Sulle pagine corte spinge il footer in basso */
.footer,
.site-footer,
.auth-inline-footer,
.footer.auth-inline-footer,
body .footer{
  margin-top:auto !important;
  flex-shrink:0 !important;
  position:relative !important;
  bottom:auto !important;
  clear:both !important;
}

/* Nessuno spazio bianco dopo il footer */
.footer{
  margin-bottom:0 !important;
}

.footer + *,
.site-footer + *{
  margin-top:0 !important;
}

/* Corpi pagina chiari */
.user-page-clean,
.native-shop-page,
.native-auth-page,
.native-account-page,
.article,
.page-list,
.woocommerce-main,
.native-shop-wrap{
  background:#fffdf8 !important;
}

/* Scroll reale su pagine utente */
.user-page-body,
.native-shop-wrap,
.native-auth-wrap,
.native-account-wrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Se il contenuto è poco, non creare spazio extra inutile */
.user-page-body{
  padding-bottom:42px !important;
}

@media(max-width:700px){
  .user-page-body{
    padding-bottom:34px !important;
  }
}


/* Supporto nascondi CTA Header da Customizer */
body.hide-header-cta .header-cta{
  display:none !important;
}


/* =========================================================
   COOKIE GDPR BANNER
   I cookie non tecnici vengono caricati solo dopo consenso.
========================================================= */
.co-cookie-banner{
  position:fixed !important;
  left:22px !important;
  right:22px !important;
  bottom:22px !important;
  z-index:2147483647 !important;
  font-family:Montserrat,Arial,sans-serif !important;
  color:#2d261f !important;
}

.co-cookie-box,
.co-cookie-panel{
  max-width:1120px !important;
  margin:0 auto !important;
  background:rgba(255,253,248,.98) !important;
  border:1px solid #eadfce !important;
  border-radius:18px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.24) !important;
  padding:22px 24px !important;
}

.co-cookie-box{
  display:flex !important;
  gap:22px !important;
  justify-content:space-between !important;
  align-items:center !important;
}

.co-cookie-text h3,
.co-cookie-panel h3{
  margin:0 0 8px !important;
  font:600 28px/1 'Cormorant Garamond',serif !important;
  color:#201810 !important;
}

.co-cookie-text p{
  margin:0 !important;
  max-width:720px !important;
  font-size:13px !important;
  line-height:1.55 !important;
  color:#5b5148 !important;
}

.co-cookie-links{
  margin-top:8px !important;
  display:flex !important;
  gap:14px !important;
}

.co-cookie-links a{
  color:#c99238 !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

.co-cookie-actions{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

.co-cookie-btn{
  border:0 !important;
  border-radius:10px !important;
  padding:12px 18px !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.7px !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

.co-cookie-btn.primary{
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:white !important;
}

.co-cookie-btn.secondary{
  background:#fff !important;
  color:#201810 !important;
  border:1px solid #eadfce !important;
}

.co-cookie-panel{
  margin-top:12px !important;
}

.co-cookie-panel label{
  display:block !important;
  margin:12px 0 !important;
  padding:12px 14px !important;
  border:1px solid #eadfce !important;
  border-radius:12px !important;
  background:#fffaf2 !important;
  font-weight:800 !important;
}

.co-cookie-panel label span{
  display:block !important;
  margin-left:24px !important;
  margin-top:3px !important;
  font-size:12px !important;
  font-weight:500 !important;
  color:#6b5743 !important;
}

.cookie-preferences-link,
a[data-cookie-preferences]{
  cursor:pointer !important;
}

@media(max-width:760px){
  .co-cookie-banner{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
  }

  .co-cookie-box{
    display:block !important;
  }

  .co-cookie-actions{
    justify-content:stretch !important;
    margin-top:16px !important;
  }

  .co-cookie-btn{
    width:100% !important;
  }
}


/* Checkout: utente loggato / login richiesto */
.checkout-login-required .native-empty{
  text-align:left !important;
}

.checkout-user-summary{
  background:#fffaf2 !important;
  border:1px solid #eadfce !important;
  border-radius:12px !important;
  padding:16px 18px !important;
  line-height:1.55 !important;
  color:#5b5148 !important;
}

.native-checkout-logged-form h2{
  margin-top:0 !important;
}

.native-checkout-logged-form .user-note-clean{
  margin-top:16px !important;
  margin-bottom:0 !important;
}

.native-checkout-logged-form .user-note-clean a{
  color:var(--gold) !important;
  font-weight:800 !important;
}

/* Stripe checkout pulito */
.co-pay-card-link{
  cursor:pointer!important;
  display:inline-flex!important;
  margin-top:12px!important;
}
.checkout-user-summary{
  background:#fffaf2!important;
  border:1px solid #eadfce!important;
  border-radius:12px!important;
  padding:16px 18px!important;
  line-height:1.55!important;
  color:#5b5148!important;
}


/* =========================================================
   FIX FILIGRANA IMMAGINI SHOP
   Applica la filigrana sopra tutte le immagini prodotto dello shop.
========================================================= */

.native-product-media,
.native-product-gallery .native-product-media,
.native-product-card .native-product-media{
  position:relative !important;
  overflow:hidden !important;
  display:block !important;
}

.native-product-media img,
.native-product-img,
.native-product-gallery img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.native-watermark{
  position:absolute !important;
  inset:0 !important;
  z-index:20 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none !important;
  user-select:none !important;
  opacity:var(--wm-opacity, .22) !important;
  transform:rotate(var(--wm-rotation, -24deg)) !important;
  color:rgba(255,255,255,.92) !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:clamp(22px, 3vw, 48px) !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  line-height:1.1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45) !important;
  mix-blend-mode:normal !important;
}

.native-watermark::before,
.native-watermark::after{
  content:attr(data-watermark) !important;
  position:absolute !important;
  opacity:.65 !important;
}

.native-watermark::before{
  transform:translate(-38%, -65%) !important;
}

.native-watermark::after{
  transform:translate(38%, 65%) !important;
}

@media(max-width:700px){
  .native-watermark{
    font-size:22px !important;
  }
}


/* Protezione immagini shop: mostra solo copie filigranate */
.native-product-media img,
.native-product-gallery img,
.native-product-img{
  -webkit-user-drag:none !important;
  user-select:none !important;
  pointer-events:auto !important;
}
.native-product-media,
.native-product-gallery{
  position:relative !important;
  overflow:hidden !important;
}


/* Filigrana shop più invasiva */
.native-watermark{
  opacity:.62 !important;
  font-size:clamp(34px, 5vw, 92px) !important;
  color:rgba(255,255,255,.96) !important;
  text-shadow:0 3px 14px rgba(0,0,0,.65) !important;
}

/* Ecommerce categorie e sottoprodotti */
.co-product-cat-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 34px}
.co-product-cat-filter a{display:inline-flex;padding:10px 16px;border-radius:999px;border:1px solid rgba(184,132,58,.35);background:#fffaf2;color:#4d3c2c;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.co-product-cat-filter a.active,.co-product-cat-filter a:hover{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#fff}
.co-variant-label{display:block;margin:12px 0;font-size:13px;font-weight:800;color:#4d3c2c}
.co-variant-select{display:block;width:100%;margin-top:6px;padding:11px 12px;border-radius:10px;border:1px solid #eadfce;background:#fff}


/* MENU CON SOTTOPAGINE A SCOMPARSA */
.site-nav li,.main-navigation li,.header-menu li,.primary-menu li,.menu li{position:relative!important}
.site-nav li>ul,.main-navigation li>ul,.header-menu li>ul,.primary-menu li>ul,.menu li>ul,.sub-menu,.children{
  display:none!important;position:absolute!important;top:100%!important;left:0!important;min-width:230px!important;z-index:9999!important;
  padding:10px!important;margin:0!important;background:rgba(35,27,20,.98)!important;border:1px solid rgba(201,146,56,.28)!important;
  border-radius:14px!important;box-shadow:0 18px 45px rgba(0,0,0,.28)!important;list-style:none!important
}
.site-nav li:hover>ul,.site-nav li:focus-within>ul,.main-navigation li:hover>ul,.main-navigation li:focus-within>ul,
.header-menu li:hover>ul,.header-menu li:focus-within>ul,.primary-menu li:hover>ul,.primary-menu li:focus-within>ul,
.menu li:hover>ul,.menu li:focus-within>ul,li.menu-item-open>ul,li.submenu-open>ul{display:block!important}
.sub-menu li,.children li,.menu li>ul li{display:block!important;width:100%!important;margin:0!important}
.sub-menu a,.children a,.menu li>ul a,.site-nav li>ul a,.main-navigation li>ul a,.header-menu li>ul a,.primary-menu li>ul a{
  display:block!important;width:100%!important;padding:11px 13px!important;color:#fff!important;font-size:13px!important;line-height:1.25!important;
  text-decoration:none!important;white-space:nowrap!important;border-radius:10px!important
}
.sub-menu a:hover,.children a:hover,.menu li>ul a:hover{background:rgba(201,146,56,.20)!important;color:#f6d18a!important}
.menu li>ul li>ul,.site-nav li>ul li>ul,.main-navigation li>ul li>ul,.header-menu li>ul li>ul,.primary-menu li>ul li>ul{top:0!important;left:100%!important}
.menu-item-has-children>a::after,.page_item_has_children>a::after{content:"▾"!important;display:inline-block!important;margin-left:7px!important;font-size:.8em!important;opacity:.85!important}
@media(max-width:900px){
  .site-nav li>ul,.main-navigation li>ul,.header-menu li>ul,.primary-menu li>ul,.menu li>ul,.sub-menu,.children{
    position:static!important;min-width:0!important;width:100%!important;margin:8px 0 8px 12px!important;padding:8px!important;box-shadow:none!important
  }
  .site-nav li:hover>ul,.main-navigation li:hover>ul,.header-menu li:hover>ul,.primary-menu li:hover>ul,.menu li:hover>ul{display:none!important}
  li.menu-item-open>ul,li.submenu-open>ul{display:block!important}
  .sub-menu a,.children a,.menu li>ul a{white-space:normal!important}
}


/* =========================================================
   FIX MENU A TENDINA: espansione al passaggio del mouse
   Corregge i casi in cui il tema usa .nav / .site-menu / .main-menu
   o il sottomenu viene bloccato da display/overflow precedenti.
========================================================= */

.header,
.site-header,
.header-inner,
.nav-wrap,
.menu-wrap{
  overflow:visible !important;
}

nav,
nav ul,
.header nav,
.header nav ul,
.site-header nav,
.site-header nav ul,
.nav,
.nav ul,
.site-menu,
.site-menu ul,
.main-menu,
.main-menu ul,
.primary-menu,
.primary-menu ul,
.menu,
.menu ul{
  overflow:visible !important;
}

nav li,
.header nav li,
.site-header nav li,
.nav li,
.site-menu li,
.main-menu li,
.primary-menu li,
.menu li{
  position:relative !important;
}

/* Tutti i sottomenu partono nascosti */
nav li ul,
.header nav li ul,
.site-header nav li ul,
.nav li ul,
.site-menu li ul,
.main-menu li ul,
.primary-menu li ul,
.menu li ul,
ul.sub-menu,
ul.children{
  display:none !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:absolute !important;
  top:100% !important;
  left:0 !important;
  z-index:999999 !important;
  min-width:230px !important;
  margin:0 !important;
  padding:10px !important;
  list-style:none !important;
  background:rgba(35,27,20,.98) !important;
  border:1px solid rgba(201,146,56,.28) !important;
  border-radius:14px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
}

/* Espansione reale su hover/focus */
nav li:hover > ul,
nav li:focus-within > ul,
.header nav li:hover > ul,
.header nav li:focus-within > ul,
.site-header nav li:hover > ul,
.site-header nav li:focus-within > ul,
.nav li:hover > ul,
.nav li:focus-within > ul,
.site-menu li:hover > ul,
.site-menu li:focus-within > ul,
.main-menu li:hover > ul,
.main-menu li:focus-within > ul,
.primary-menu li:hover > ul,
.primary-menu li:focus-within > ul,
.menu li:hover > ul,
.menu li:focus-within > ul,
.menu-item-has-children:hover > ul,
.menu-item-has-children:focus-within > ul,
.page_item_has_children:hover > ul,
.page_item_has_children:focus-within > ul{
  display:block !important;
}

nav li ul li,
.nav li ul li,
.site-menu li ul li,
.main-menu li ul li,
.primary-menu li ul li,
.menu li ul li,
.sub-menu li,
.children li{
  display:block !important;
  width:100% !important;
  margin:0 !important;
}

nav li ul a,
.nav li ul a,
.site-menu li ul a,
.main-menu li ul a,
.primary-menu li ul a,
.menu li ul a,
.sub-menu a,
.children a{
  display:block !important;
  width:100% !important;
  padding:11px 13px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  border-radius:10px !important;
}

nav li ul a:hover,
.nav li ul a:hover,
.site-menu li ul a:hover,
.main-menu li ul a:hover,
.primary-menu li ul a:hover,
.menu li ul a:hover,
.sub-menu a:hover,
.children a:hover{
  background:rgba(201,146,56,.20) !important;
  color:#f6d18a !important;
}

/* Secondo livello a destra */
nav li ul li ul,
.nav li ul li ul,
.site-menu li ul li ul,
.main-menu li ul li ul,
.primary-menu li ul li ul,
.menu li ul li ul{
  top:0 !important;
  left:100% !important;
}

/* Freccia */
.menu-item-has-children > a::after,
.page_item_has_children > a::after{
  content:"▾" !important;
  display:inline-block !important;
  margin-left:7px !important;
  font-size:.8em !important;
  opacity:.85 !important;
}

/* Mobile: apertura tramite classe JS */
@media(max-width:900px){
  nav li ul,
  .header nav li ul,
  .site-header nav li ul,
  .nav li ul,
  .site-menu li ul,
  .main-menu li ul,
  .primary-menu li ul,
  .menu li ul,
  ul.sub-menu,
  ul.children{
    position:static !important;
    min-width:0 !important;
    width:100% !important;
    margin:8px 0 8px 12px !important;
    padding:8px !important;
    box-shadow:none !important;
  }

  nav li:hover > ul,
  .nav li:hover > ul,
  .site-menu li:hover > ul,
  .main-menu li:hover > ul,
  .primary-menu li:hover > ul,
  .menu li:hover > ul{
    display:none !important;
  }

  li.menu-item-open > ul,
  li.submenu-open > ul{
    display:block !important;
  }

  .sub-menu a,
  .children a,
  .menu li ul a{
    white-space:normal !important;
  }
}


/* =========================================================
   FIX DEFINITIVO SEZIONE BLOG HOME
   Markup pulito: nessuna pagina/articolo sovrapposto.
========================================================= */
.blog .blog-grid-clean{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
  margin-top:35px !important;
}

.blog-card-clean{
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  overflow:hidden !important;
  height:auto !important;
  min-height:0 !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid #eadfce !important;
  border-radius:14px !important;
  box-shadow:0 13px 28px rgba(48,33,16,.06) !important;
}

.blog-card-clean *{
  box-sizing:border-box !important;
}

.blog-image-link{
  display:block !important;
  position:relative !important;
  z-index:1 !important;
  flex:0 0 auto !important;
  height:245px !important;
  overflow:hidden !important;
}

.blog-thumb-clean,
.blog-card-clean img{
  display:block !important;
  width:100% !important;
  height:245px !important;
  object-fit:cover !important;
  object-position:center !important;
  position:static !important;
  transform:none !important;
  margin:0 !important;
  border-radius:14px 14px 0 0 !important;
}

.blog-body-clean{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  position:relative !important;
  z-index:2 !important;
  padding:22px !important;
  background:#fff !important;
  height:auto !important;
  min-height:205px !important;
  max-height:none !important;
  overflow:hidden !important;
  transform:none !important;
  margin:0 !important;
}

.blog-body-clean .blog-cat-clean{
  display:block !important;
  font-size:10px !important;
  color:var(--gold) !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:1.2px !important;
  margin:0 0 8px 0 !important;
}

.blog-body-clean h3{
  display:block !important;
  font:600 21px/1.15 'Cormorant Garamond',serif !important;
  margin:0 0 12px 0 !important;
  color:#2d241d !important;
}

.blog-body-clean h3 a{
  color:inherit !important;
  text-decoration:none !important;
  font-size:inherit !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.blog-body-clean p{
  display:block !important;
  font-size:13px !important;
  line-height:1.55 !important;
  color:#5b5148 !important;
  margin:0 0 15px 0 !important;
  overflow:hidden !important;
}

.blog-body-clean .read-more-clean{
  margin-top:auto !important;
  display:inline-block !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.8px !important;
}

/* Elimina eventuali residui visuali del vecchio layout solo nella blog home */
.blog .post-card:not(.blog-card-clean) .post-body{
  position:relative !important;
}

@media(max-width:1100px){
  .blog .blog-grid-clean{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
}
@media(max-width:640px){
  .blog .blog-grid-clean{grid-template-columns:1fr !important;}
}
