/* =============================================
   FOI — Frantoi Oleari Italiani · foglio di stile del tema
   I colori seguono la tavolozza del tema (Aspetto → Editor → Stili):
   cambiando un colore lì, cambia in tutto il sito.
   ============================================= */
:root{
  --olive-deep:var(--wp--preset--color--olive-deep,#2d3320);
  --olive:var(--wp--preset--color--olive,#4a5232);
  --olive-mid:var(--wp--preset--color--olive-mid,#6b7045);
  --olive-soft:var(--wp--preset--color--olive-soft,#8a8f63);
  --gold:var(--wp--preset--color--gold,#b8923a);
  --gold-warm:var(--wp--preset--color--gold-warm,#c9a24b);
  --gold-deep:var(--wp--preset--color--gold-deep,#8c6a1f);
  --terracotta:var(--wp--preset--color--terracotta,#a8462c);
  --burgundy:var(--wp--preset--color--burgundy,#6b2a28);
  --cream:var(--wp--preset--color--cream,#f4ecd8);
  --cream-warm:var(--wp--preset--color--cream-warm,#efe3c8);
  --paper:var(--wp--preset--color--paper,#fbf6ea);
  --bark:var(--wp--preset--color--bark,#241c11);
  --ink:var(--wp--preset--color--ink,#1f1a12);
  --shadow:0 30px 60px -30px rgba(36,28,17,.45);
  --gutter:36px;
  --sec-wide:max(var(--gutter),calc((100% - 1208px) / 2));
  --sec-narrow:max(var(--gutter),calc((100% - 848px) / 2));
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Outfit',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.7;
  overflow-x:hidden;
  font-weight:300;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0;padding:0;}
ul,ol{margin:0 0 1em;padding:0 0 0 1.4em;}
h1,h2,h3,h4,.serif{font-family:'Fraunces',serif;font-weight:500;}
.display{font-family:'Cormorant Garamond',serif;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;}

/* ========= SEZIONI: larghezza dei contenuti =========
   .sec        → contenuto largo (1208px)
   .sec-narrow → contenuto stretto (848px)
   Lo sfondo della sezione resta a tutta larghezza. */
.sec,.sec-narrow,.wp-block-cover.hero,figure.fr-hero{position:relative;z-index:2;}
.sec{padding-left:var(--sec-wide);padding-right:var(--sec-wide);}
.sec-narrow{padding-left:var(--sec-narrow);padding-right:var(--sec-narrow);}
.pad{padding-top:72px;padding-bottom:72px;}
.pad-sm{padding-top:44px;padding-bottom:44px;}

/* ========= HEADER ========= */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;padding:14px var(--sec-wide);padding-top:max(14px,env(safe-area-inset-top));background:#f7efd9;border-bottom:1px solid rgba(45,51,32,.1);display:flex;align-items:center;justify-content:space-between;gap:30px;}
.admin-bar .site-header{top:32px;}
@media screen and (max-width:782px){.admin-bar .site-header{top:46px;}}
.site-header figure.logo{flex-shrink:0;margin:0;}
.site-header figure.logo a{display:flex;align-items:center;}
.site-header figure.logo img{height:54px;width:auto;max-width:none;flex-shrink:0;}
.site-header .wp-block-navigation{color:var(--olive-deep);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;}
.site-header .wp-block-navigation .wp-block-navigation__container{gap:30px;}
.site-header .wp-block-navigation .wp-block-navigation-item{transition:.3s;}
.site-header .wp-block-navigation .wp-block-navigation-item__content{position:relative;padding:8px 0;}
.site-header .wp-block-navigation .wp-block-navigation-item__content::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--gold-deep);transition:.35s;transform:translateX(-50%);}
.site-header .wp-block-navigation .wp-block-navigation-item:hover,
.site-header .wp-block-navigation .wp-block-navigation-item.current-menu-item{color:var(--gold-deep);}
.site-header .wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.site-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after{width:100%;}
/* cambio lingua */
.lang-btn{flex-shrink:0;}
.lang-btn a{display:flex;align-items:center;gap:9px;background:none;border:1px solid rgba(74,82,50,.25);padding:8px 14px;cursor:pointer;border-radius:30px;transition:.3s;font-family:'Outfit';color:var(--olive-deep);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:normal;}
.lang-btn a:hover{border-color:var(--gold-deep);background:rgba(184,146,58,.06);}
.lang-btn a::before{content:"";width:22px;height:15px;border-radius:2px;display:block;box-shadow:0 1px 3px rgba(0,0,0,.15);background-size:100% 100%;background-repeat:no-repeat;}
.lang-en a::before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 60 30' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3CclipPath id='c'%3E%3Cpath d='M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z'/%3E%3C/clipPath%3E%3Cpath d='M0,0 v30 h60 v-30 z' fill='%23012169'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' clip-path='url(%23c)' stroke='%23C8102E' stroke-width='4'/%3E%3Cpath d='M30,0 v30 M0,15 h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30,0 v30 M0,15 h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E");}
.lang-it a::before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 30 20' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect width='10' height='20' fill='%23009246'/%3E%3Crect x='10' width='10' height='20' fill='%23fff'/%3E%3Crect x='20' width='10' height='20' fill='%23ce2b37'/%3E%3C/svg%3E");}

/* ========= PULSANTI (blocco Pulsante) =========
   Stile predefinito = oro. Gli altri stili si scelgono dal pannello "Stili" del blocco. */
.wp-block-buttons.wp-block-buttons{gap:18px;align-items:stretch;}
.wp-block-buttons > .wp-block-button.wp-block-button{display:flex;}
.wp-block-button .wp-block-button__link{font-family:'Outfit';font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;padding:17px 38px;cursor:pointer;border:none;border-radius:0;transition:.35s;display:inline-block;font-weight:500;line-height:1.7;background:var(--gold-warm);color:var(--bark);}
.wp-block-button .wp-block-button__link:hover{background:var(--cream);transform:translateY(-2px);}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:var(--cream);border:1px solid rgba(244,236,216,.45);}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:transparent;border-color:var(--gold-warm);color:var(--gold-warm);transform:none;}
.wp-block-button.is-style-dark .wp-block-button__link{background:var(--olive-deep);color:var(--cream);}
.wp-block-button.is-style-dark .wp-block-button__link:hover{background:var(--bark);transform:translateY(-2px);}
.wp-block-button.is-style-line .wp-block-button__link{background:transparent;color:var(--olive-deep);border:1px solid var(--olive-deep);}
.wp-block-button.is-style-line .wp-block-button__link:hover{background:var(--olive-deep);color:var(--cream);transform:none;}
.wp-block-button.is-style-mini .wp-block-button__link{font-size:.7rem;letter-spacing:.16em;padding:11px 20px;transition:.3s;background:var(--olive-deep);color:var(--cream);}
.wp-block-button.is-style-mini .wp-block-button__link:hover{background:var(--bark);transform:none;}

/* ========= HERO (blocco Copertina) ========= */
.wp-block-cover.hero{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;color:var(--cream);padding:90px 0 0;}
@supports (min-height:100svh){.wp-block-cover.hero{min-height:100svh !important;}}
.hero .wp-block-cover__inner-container{position:relative;z-index:3;width:100%;max-width:1280px;margin:0 auto;padding:0 var(--gutter);align-self:stretch;display:flex;flex-direction:column;justify-content:center;color:inherit;}
.hero :where(.wp-block-cover__inner-container > *){max-width:820px;}
.hero .eyebrow{color:var(--gold-warm);}
.hero h1{font-size:clamp(2.8rem,7.5vw,6.4rem);line-height:.98;font-weight:400;margin:24px 0 28px;letter-spacing:-.015em;}
.hero h1 .it{font-style:italic;color:var(--gold-warm);font-weight:400;}
.hero p:where(:not(.scroll-hint)){font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:560px;color:rgba(244,236,216,.88);font-weight:300;}
.hero .hero-cta{margin-top:42px;display:flex;gap:18px;flex-wrap:wrap;}
.hero .wp-block-cover__inner-container > .scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:3;max-width:none;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(244,236,216,.65);text-align:center;}
.scroll-hint::after{content:"";display:block;width:1px;height:42px;margin:12px auto 0;background:linear-gradient(var(--gold-warm),transparent);animation:drip 2.2s infinite;}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* ========= INTESTAZIONE DELLE PAGINE INTERNE ========= */
.page-head{padding-top:150px;padding-bottom:30px;text-align:center;position:relative;}
.page-head--logo{padding-top:115px;}
figure.fr-head-logo{width:190px;max-width:60%;margin:0 auto 18px;}
figure.fr-head-logo img{width:100%;height:auto;}
.page-head .eyebrow{margin-bottom:18px;}
.page-head h1{font-size:clamp(2.8rem,6vw,5rem);color:var(--olive-deep);line-height:1.02;font-weight:500;}
.page-head h1 em{font-style:italic;color:var(--gold-deep);}
.page-head .sub{margin:24px auto 0;max-width:660px;color:#5a553e;font-size:1.1rem;}
.page-head::after{content:"";display:block;width:60px;height:1px;background:var(--gold-warm);margin:24px auto 0;}

/* ========= COMUNI ========= */
.section-head{max-width:720px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.05;margin:16px 0;color:var(--olive-deep);font-weight:500;}
.section-head h2 em{color:var(--gold-deep);font-style:italic;}
.section-head p{color:#5a553e;font-size:1.05rem;font-weight:300;}
/* comparsa allo scorrimento: attiva solo se JavaScript è in funzione */
:where(.js) .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s;}
:where(.js) .reveal.in{opacity:1;transform:none;}

/* ========= IDENTITÀ (Home) ========= */
.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;}
.id-card{padding:42px 36px;background:var(--paper);border:1px solid rgba(74,82,50,.1);transition:.4s;}
.id-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(184,146,58,.4);}
.id-card .num{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold-deep);font-style:italic;letter-spacing:.1em;}
.id-card h3{font-size:1.55rem;color:var(--olive-deep);margin:14px 0 16px;line-height:1.2;font-weight:500;}
.id-card p{color:#5a553e;font-size:.96rem;}
.id-card figure.ic{width:44px;height:44px;border:1px solid var(--gold-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.id-card figure.ic img{width:20px;height:20px;}

/* ========= TESTO + IMMAGINE ========= */
.teaser{padding-top:72px;padding-bottom:72px;}
.teaser-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;}
.teaser-grid.reverse{grid-template-columns:1fr 1.1fr;}
figure.teaser-img{position:relative;aspect-ratio:4/3;overflow:hidden;box-shadow:var(--shadow);}
figure.teaser-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s;}
figure.teaser-img:hover img{transform:scale(1.04);}
.teaser-text h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--olive-deep);margin:14px 0 24px;line-height:1.05;font-weight:500;}
.teaser-text h2 em{font-style:italic;color:var(--gold-deep);}
.teaser-text > p{color:#534e3a;margin-bottom:18px;}
.teaser-text .pull{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.45rem;color:var(--olive);border-left:2px solid var(--gold-warm);padding:6px 0 6px 22px;margin:26px 0;line-height:1.5;}
.teaser-text .cta-row{margin-top:32px;}
.teaser figure.frantoio-logo{width:220px;max-width:70%;margin-bottom:24px;}
.teaser figure.frantoio-logo img{width:100%;height:auto;}
.teaser-stats{display:flex;gap:48px;margin-top:38px;flex-wrap:wrap;}
.stat .num{font-family:'Fraunces',serif;font-size:2.5rem;color:var(--gold-deep);line-height:1;font-weight:500;}
.stat .lbl{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-soft);margin-top:8px;}

/* ========= CHIUSURA ========= */
.closing{background:linear-gradient(180deg,#2d3320,#1f2516);color:var(--cream);text-align:center;padding-top:72px;padding-bottom:72px;}
.closing h2{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:400;font-style:italic;font-family:'Cormorant Garamond',serif;line-height:1.15;max-width:780px;margin:0 auto 40px;color:var(--cream);}
.closing hr.deco{width:80px;height:1px;background:var(--gold-warm);margin:0 auto 28px;border:0;opacity:1;}
.closing .closing-cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}

/* ========= CRONOLOGIA (Frantoio) ========= */
figure.fr-hero{height:60vh;min-height:420px;overflow:hidden;background:var(--olive-deep);}
figure.fr-hero img{width:100%;height:100%;object-fit:cover;}
.timeline{position:relative;margin-top:40px;}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold-warm),rgba(184,146,58,.15));transform:translateX(-50%);}
.tl-row{position:relative;width:50%;padding:30px 95px 30px 50px;text-align:right;}
.tl-row:nth-child(even){margin-left:50%;padding:30px 50px 30px 95px;text-align:left;}
.tl-row::before{content:"";position:absolute;top:50%;right:-9px;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--cream);border:2px solid var(--gold-deep);z-index:2;}
.tl-row:nth-child(even)::before{right:auto;left:-9px;}
.tl-year{font-family:'Fraunces',serif;font-size:2rem;color:var(--gold-deep);font-weight:500;line-height:1;}
.tl-title{font-family:'Fraunces',serif;font-size:1.2rem;color:var(--olive-deep);margin:6px 0 8px;font-weight:500;}
.tl-desc{color:#5a553e;font-size:.95rem;}

/* ========= GALLERIA ========= */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.gallery-grid figure.g-item{aspect-ratio:1/1;overflow:hidden;}
.gallery-grid figure.g-item.tall{aspect-ratio:1/1.4;}
.gallery-grid figure.g-item.wide{grid-column:span 2;aspect-ratio:2.1/1;}
.gallery-grid figure.g-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s;}
.gallery-grid figure.g-item:hover img{transform:scale(1.06);}

/* ========= TRE PILASTRI (Frantoio) ========= */
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.editorial-block h3{font-size:1.6rem;color:var(--olive-deep);margin:14px 0 14px;font-weight:500;line-height:1.2;}
.editorial-block .label{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-deep);font-size:1.05rem;}
.editorial-block p{color:#5a553e;font-size:.96rem;}

/* ========= PROCESSO (fasi) ========= */
.proc-step{display:grid;grid-template-columns:120px 1fr 1fr;gap:50px;align-items:center;padding:40px 0;border-top:1px solid rgba(74,82,50,.15);}
.proc-step:last-child{border-bottom:1px solid rgba(74,82,50,.15);}
.proc-num{font-family:'Cormorant Garamond',serif;font-size:5rem;color:var(--gold-warm);line-height:1;font-style:italic;font-weight:500;}
.proc-info h3{font-size:1.7rem;color:var(--olive-deep);margin-bottom:14px;font-weight:500;}
.proc-info figure.ic{width:48px;height:48px;border:1px solid var(--gold-deep);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;}
.proc-info figure.ic img{width:22px;height:22px;}
.proc-info p{color:#5a553e;}
figure.proc-img{aspect-ratio:4/3;overflow:hidden;box-shadow:var(--shadow);}
figure.proc-img img{width:100%;height:100%;object-fit:cover;}

/* ========= CATALOGO ========= */
.wp-block-buttons.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:50px;border-bottom:1px solid rgba(74,82,50,.18);justify-content:center;}
.cat-tabs .wp-block-button .wp-block-button__link{background:none;border:none;font-family:'Outfit';font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive-soft);padding:16px 24px;cursor:pointer;border-bottom:2px solid transparent;transition:.3s;font-weight:500;margin-bottom:-1px;line-height:normal;display:block;transform:none;}
.cat-tabs .wp-block-button.active .wp-block-button__link{color:var(--olive-deep);border-bottom-color:var(--gold-deep);}
.cat-tabs .wp-block-button .wp-block-button__link:hover{color:var(--olive-deep);background:none;transform:none;}
/* senza JavaScript (e nell'editor) le quattro sezioni restano tutte visibili, una sotto l'altra */
:where(.js) .cat-page .cat-section{display:none;}
:where(.js) .cat-page:not(.tabs-ready) .cat-tabs + .cat-section{display:block;}
:where(.js) .cat-page .cat-section.active{display:block;animation:fadeIn .55s;}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.cat-section-intro{text-align:center;max-width:680px;margin:0 auto 56px;}
.cat-section-intro h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--olive-deep);margin:14px 0;font-weight:500;line-height:1.1;}
.cat-section-intro h2 em{color:var(--gold-deep);font-style:italic;}
.cat-section-intro p{color:#5a553e;font-size:1rem;}
.cat-page{padding-top:12px;}
.cat-page .cat-tabs{margin-bottom:30px;}
.cat-page .cat-section-intro{margin-bottom:36px;}
.cat-page .cat-section-intro h2{margin:10px 0;}
.cat-page .cat-hint{margin-top:16px;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;}
.cat-card{background:var(--cream);border:1px solid rgba(74,82,50,.12);overflow:hidden;transition:.45s;display:flex;flex-direction:column;}
.cat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(184,146,58,.4);}
.cat-img{aspect-ratio:4/5;background:var(--cream-warm);overflow:hidden;position:relative;cursor:zoom-in;}
.cat-img figure{position:absolute;inset:0;margin:0;}
.cat-img figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.cat-card:hover .cat-img figure img{transform:scale(1.04);}
.cat-img::after{content:"";position:absolute;top:14px;right:14px;width:38px;height:38px;background:rgba(251,246,234,.94);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.9;transition:opacity .3s,transform .3s,box-shadow .3s;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.22);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238c6a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M11 8v6M8 11h6M20 20l-4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px;}
.cat-card:hover .cat-img::after{opacity:1;transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.28);}
.cat-img .since{position:absolute;top:20px;left:20px;background:var(--cream);color:var(--olive-deep);font-family:'Fraunces',serif;font-size:.78rem;letter-spacing:.06em;padding:5px 12px;border-radius:30px;font-weight:500;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.08);}
/* suggerimento "tocca le foto per ingrandire" */
.cat-hint{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:.82rem;color:var(--gold-deep);background:rgba(184,146,58,.09);padding:9px 18px 9px 14px;border-radius:30px;font-family:'Outfit';font-weight:500;letter-spacing:.02em;border:1px solid rgba(184,146,58,.2);}
.cat-hint::before{content:"";width:16px;height:16px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a553e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M11 8v6M8 11h6M20 20l-4-4'/%3E%3C/svg%3E") center/16px no-repeat;}
.cat-body{padding:24px 28px 28px;flex:1;display:flex;flex-direction:column;}
.cat-body .var{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.cat-body h3{font-size:1.55rem;color:var(--olive-deep);margin-bottom:12px;font-weight:500;line-height:1.15;}
.cat-body > p:where(:not(.var)){font-size:.95rem;color:#5a553e;font-weight:300;margin-bottom:20px;flex:1;}
.cat-body .cat-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* Riquadro Private Label */
.pl-section{padding-top:0;padding-bottom:56px;}
.pl-box{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 auto;padding:26px 30px;background:linear-gradient(135deg,var(--cream) 0%,var(--cream-warm) 100%);border:1px solid rgba(140,106,31,.22);border-left:3px solid var(--gold-deep);color:inherit;transition:transform .35s,box-shadow .35s,border-color .35s;max-width:820px;text-align:left;}
.pl-box:hover{transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(45,51,32,.25);border-color:var(--gold-deep);}
.pl-text{flex:1;min-width:0;}
.pl-tag{display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:8px;}
.pl-text h3{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;color:var(--olive-deep);margin-bottom:8px;line-height:1.2;}
.pl-text p:where(:not(.pl-tag)){font-size:.92rem;color:#5a553e;line-height:1.55;margin:0;}
.pl-box .pl-actions{flex-shrink:0;}
.pl-box .wp-block-button.pl-cta .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:var(--olive-deep);color:var(--cream);font-family:'Outfit';font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;transition:background .3s,gap .3s;white-space:nowrap;transform:none;}
.pl-box .wp-block-button.pl-cta .wp-block-button__link::after{content:"";width:16px;height:16px;transition:transform .3s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4ecd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;}
/* tutto il riquadro è cliccabile */
.pl-box .wp-block-button.pl-cta .wp-block-button__link::before{content:"";position:absolute;inset:0;}
.pl-box:hover .wp-block-button.pl-cta .wp-block-button__link{background:var(--gold-deep);}
.pl-box:hover .wp-block-button.pl-cta .wp-block-button__link::after{transform:translateX(4px);}
@media(max-width:700px){
  .pl-box{flex-direction:column;align-items:flex-start;gap:20px;padding:24px;text-align:left;}
  .pl-box .pl-actions{align-self:stretch;}
  .pl-box .pl-actions .wp-block-button{width:100%;}
  .pl-box .wp-block-button.pl-cta .wp-block-button__link{display:flex;justify-content:center;}
}

/* ========= INGRANDIMENTO FOTO ========= */
.lightbox{position:fixed;inset:0;background:rgba(15,10,5,.94);z-index:100000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;padding:5vw;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;box-shadow:0 40px 100px -20px rgba(0,0,0,.6);transform:scale(.94);transition:transform .35s;}
.lightbox.open img{transform:scale(1);}
.lightbox .lb-close{position:absolute;top:24px;right:32px;width:46px;height:46px;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;font-size:1.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;font-family:'Outfit';line-height:1;padding:0;}
.lightbox .lb-close:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:rotate(90deg);}
@media(max-width:600px){
  .lightbox .lb-close{top:16px;right:16px;width:40px;height:40px;font-size:1.5rem;}
  .lightbox{padding:20px;}
}

/* ========= CONTATTI ========= */
.contact-block{margin-bottom:44px;}
.contact-block:last-child{margin-bottom:0;}
.contact-block .eyebrow.center{display:block;text-align:center;margin-bottom:28px;}
.contact-block .info-rows{max-width:520px;margin:0 auto;}
.contact-block .block-desc{max-width:520px;margin:0 auto 26px;color:#5a553e;font-size:.98rem;text-align:center;line-height:1.55;}
.contact-block .dl-list{max-width:640px;margin:0 auto;}
.info-row{position:relative;display:flex;gap:18px;margin-bottom:26px;align-items:flex-start;}
.info-row figure.ic{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--gold-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.3s;}
.info-row figure.ic img{width:18px;height:18px;transition:.3s;}
.info-row .lbl{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-soft);transition:.3s;}
.info-row .val{font-size:1.05rem;color:var(--ink);margin-top:2px;}
.info-row .val a{color:var(--ink);transition:color .3s;}
.info-row .val a:hover{color:var(--gold-deep);}
.info-row .val.val-small{font-size:.88rem;color:var(--olive-mid);margin-top:4px;line-height:1.5;}
.info-row .val.val-small a{color:inherit;}
/* riga cliccabile (indirizzi che portano alle mappe) */
.info-row.info-link .val a::after{content:"";position:absolute;inset:0;}
.info-row.info-link:hover figure.ic{background:var(--gold-deep);border-color:var(--gold-deep);}
.info-row.info-link:hover figure.ic img{filter:brightness(0) invert(1);}
.info-row.info-link:hover .lbl{color:var(--gold-deep);}
.info-row.info-link:hover .val.val-small,.info-row.info-link:hover .val.val-small a{color:var(--ink);}

/* Download cataloghi */
.dl-list{display:flex;flex-direction:column;gap:20px;}
.dl-card{position:relative;display:flex;align-items:center;gap:22px;padding:24px 26px;background:var(--paper);border:1px solid rgba(74,82,50,.15);color:inherit;transition:.35s;overflow:hidden;}
.dl-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold-deep);transform:scaleY(0);transform-origin:top;transition:transform .4s;}
.dl-card:hover{transform:translateX(4px);border-color:var(--gold-deep);box-shadow:0 20px 40px -20px rgba(36,28,17,.3);}
.dl-card:hover::before{transform:scaleY(1);}
figure.dl-logo{width:92px;height:92px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--cream);border:1px solid rgba(74,82,50,.12);padding:10px;border-radius:2px;transition:.3s;}
figure.dl-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .35s;}
.dl-card:hover figure.dl-logo{border-color:rgba(140,106,31,.35);}
.dl-card:hover figure.dl-logo img{transform:scale(1.04);}
.dl-body{flex:1;min-width:0;}
.dl-body h4{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500;color:var(--olive-deep);margin-bottom:6px;line-height:1.25;}
/* tutta la scheda è cliccabile: il link del titolo copre l'intero riquadro */
.dl-body h4 a::after{content:"";position:absolute;inset:0;z-index:1;}
.dl-body p:where(:not(.dl-meta)){font-size:.88rem;color:#6a644f;line-height:1.5;margin-bottom:10px;}
.dl-meta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-soft);font-weight:500;}
/* pulsante tondo di download */
.dl-card::after{content:"";flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--olive-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4ecd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v12'/%3E%3Cpath d='M6 10l6 6 6-6'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E") center/22px no-repeat;transition:.3s;}
.dl-card:hover::after{background-color:var(--gold-deep);background-position:center calc(50% + 3px);}
@media(max-width:600px){
  .dl-card{flex-direction:column;align-items:stretch;gap:18px;padding:22px;}
  figure.dl-logo{width:64px;height:64px;padding:6px;align-self:flex-start;}
  .dl-body{width:100%;}
  .dl-body h4{font-size:1.05rem;line-height:1.3;}
  .dl-body p:where(:not(.dl-meta)){font-size:.9rem;line-height:1.55;}
  .dl-card::after{align-self:flex-end;width:44px;height:44px;margin-top:-4px;}
  .dl-card::before{width:100%;height:3px;bottom:auto;transform:scaleX(0);transform-origin:left;}
  .dl-card:hover::before{transform:scaleX(1);}
  .dl-card:hover{transform:none;}
}

/* ========= FOOTER ========= */
.site-footer{background:var(--cream-warm);color:#534e3a;padding-top:56px;padding-bottom:28px;position:relative;z-index:2;border-top:1px solid rgba(45,51,32,.1);}
.foot-top{display:grid;grid-template-columns:1.4fr 0.8fr 1.15fr 1fr;gap:44px;border-bottom:1px solid rgba(45,51,32,.14);padding-bottom:36px;}
.foot-brand figure img{height:108px;width:auto;max-width:none;margin-bottom:18px;display:block;}
.foot-brand p{font-family:'Outfit';font-size:.92rem;font-weight:300;max-width:340px;color:#5a553e;line-height:1.7;}
.foot-col h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-deep);margin-bottom:20px;font-weight:500;}
.foot-col > p{font-size:.92rem;margin-bottom:10px;font-weight:300;color:#5a553e;}
.foot-col > p a{transition:.3s;}
.foot-col > p a:hover{color:var(--gold-deep);}
/* certificazioni sotto la colonna Contatti */
.foot-certs{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(74,82,50,.14);}
.foot-certs figure{flex-shrink:0;margin:0;}
.foot-certs figure img{height:44px;width:auto;max-width:none;display:block;opacity:.9;transition:opacity .3s;}
.foot-certs figure img:hover{opacity:1;}
/* sedi: nome in grassetto, indirizzo (primo link) e telefono (secondo link) */
.foot-col > p.foot-loc{margin-bottom:22px;line-height:1.6;}
.foot-loc strong{display:block;font-family:'Fraunces',serif;font-weight:500;color:var(--olive-deep);font-size:.95rem;margin-bottom:4px;letter-spacing:.01em;}
.foot-loc a{display:block;font-size:.88rem;color:var(--olive-mid);}
.foot-loc a:first-of-type{line-height:1.55;position:relative;padding-right:20px;}
.foot-loc a:first-of-type::after{content:"";position:absolute;top:2px;right:0;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c6a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.4-7-11a7 7 0 0 1 14 0c0 4.6-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:14px;opacity:.55;transition:opacity .25s,transform .25s;}
.foot-loc a:first-of-type:hover::after{opacity:1;transform:translateY(-1px);}
.foot-trademark{padding-top:24px;font-size:.72rem;color:var(--olive-soft);line-height:1.6;font-weight:300;max-width:100%;letter-spacing:.01em;}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:22px;font-size:.78rem;color:var(--olive-soft);align-items:flex-start;}
.foot-bottom-left{display:flex;flex-direction:column;gap:4px;}
.foot-bottom-left p{font-size:.78rem;}
.foot-privacy a{display:inline-block;font-size:.78rem;color:var(--olive-soft);margin-top:4px;transition:color .3s;border-bottom:1px solid transparent;padding-bottom:1px;}
.foot-privacy a:hover{color:var(--gold-deep);border-bottom-color:var(--gold-deep);}

/* ========= DOCUMENTI DI TESTO (Privacy, articoli) ========= */
.legal-doc{max-width:760px;margin:0 auto;color:#3d3a2e;line-height:1.7;font-size:.98rem;}
.legal-doc .legal-meta{font-size:.82rem;color:var(--olive-soft);font-style:italic;margin-bottom:36px;text-align:center;letter-spacing:.02em;}
.legal-doc h2{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:500;color:var(--olive-deep);margin:38px 0 14px;letter-spacing:.005em;}
.legal-doc p{margin-bottom:16px;}
.legal-doc ul{margin:0 0 20px 20px;padding:0;}
.legal-doc ul li{margin-bottom:10px;padding-left:6px;list-style-type:'· ';}
.legal-doc a{color:var(--olive-deep);text-decoration:underline;text-decoration-color:rgba(140,106,31,.4);text-underline-offset:3px;transition:color .25s;}
.legal-doc a:hover{color:var(--gold-deep);}
.legal-doc strong{color:var(--olive-deep);font-weight:500;}

/* ========= ELENCO ARTICOLI / 404 ========= */
.post-list .wp-block-post-template{list-style:none;margin:0;padding:0;}
.post-list .wp-block-post{padding:28px 0;border-top:1px solid rgba(74,82,50,.15);}
.post-list .wp-block-post-title{font-size:1.6rem;color:var(--olive-deep);margin:8px 0 10px;line-height:1.2;}
.post-list .wp-block-post-excerpt{color:#5a553e;}
.not-found-actions{text-align:center;}
.not-found-actions .wp-block-buttons{justify-content:center;}

/* ========= RESPONSIVE ========= */
@media(max-width:1000px){
  .hero .wp-block-cover__image-background{object-position:center 40% !important;}
  /* menu a comparsa: il blocco Navigazione passa all'icona già sotto i 1000px */
  .site-header{gap:14px;}
  .site-header .wp-block-navigation{order:3;}
  .site-header .lang-btn{margin-left:auto;}
  .site-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none;}
  .site-header .wp-block-navigation .wp-block-navigation__responsive-container-open{display:block;color:var(--olive-deep);padding:6px;}
  /* icona del menu: tre linee sottili come nel sito originale */
  .site-header .wp-block-navigation__responsive-container-open svg{display:none;}
  .site-header .wp-block-navigation__responsive-container-open::before{content:"";display:block;width:26px;height:14.5px;background:linear-gradient(currentColor 0 0) top/100% 1.5px no-repeat,linear-gradient(currentColor 0 0) center/100% 1.5px no-repeat,linear-gradient(currentColor 0 0) bottom/100% 1.5px no-repeat;}
  .site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{left:24%;padding:40px;box-shadow:0 0 0 100vmax rgba(20,18,10,.45);}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-close{margin-top:auto;margin-bottom:auto;width:100%;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-dialog{position:static;margin-top:0;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-close{top:28px;right:40px;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content{align-items:center;padding-top:0;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation__container{gap:30px;align-items:center;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content{font-size:1rem;padding:8px 0;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content::after{display:none;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item:hover,
  .site-header .wp-block-navigation .is-menu-open .current-menu-item{color:var(--gold-warm);}
  .identity-grid{grid-template-columns:1fr;}
  .teaser-grid,.teaser-grid.reverse{grid-template-columns:1fr;gap:36px;}
  /* su mobile: sempre testo sopra, immagine sotto */
  .teaser-grid .teaser-text,.teaser-grid.reverse .teaser-text{order:1;}
  .teaser-grid figure.teaser-img,.teaser-grid.reverse figure.teaser-img{order:2;}
  figure.teaser-img{aspect-ratio:4/5;}
  figure.teaser-img.teaser-img--wide{aspect-ratio:3/2;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid figure.g-item.wide{grid-column:span 2;}
  .editorial-grid{grid-template-columns:1fr;gap:24px;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .proc-step{grid-template-columns:80px 1fr;gap:30px;}
  figure.proc-img{grid-column:1/-1;margin-top:20px;}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px;}
  /* cronologia su una colonna */
  .timeline::before{left:8px;}
  .tl-row,.tl-row:nth-child(even){width:auto;margin-left:0;padding:30px 0 30px 50px;text-align:left;}
  .tl-row::before,.tl-row:nth-child(even)::before{left:0;right:auto;}
}
@media(max-width:600px){
  :root{--gutter:22px;}
  .pad{padding-top:48px;padding-bottom:48px;}
  .pad-sm{padding-top:36px;padding-bottom:36px;}
  .teaser{padding-top:48px;padding-bottom:48px;}
  .closing{padding-top:56px;padding-bottom:56px;}
  .section-head{margin-bottom:32px;}
  .identity-grid{gap:20px;}
  .id-card{padding:30px 26px;}
  .proc-step{padding:32px 0;}
  .contact-block{margin-bottom:36px;}
  .pl-section{padding-bottom:44px;}
  .site-footer{padding-top:44px;}
  .page-head{padding-top:120px;}
  .page-head--logo{padding-top:105px;}
  .cat-grid,.gallery-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto;}
  .gallery-grid figure.g-item.wide{grid-column:span 1;}
  .foot-top{grid-template-columns:1fr;}
  .foot-brand figure img{height:80px;}
  .site-header figure.logo img{height:48px;}
  .site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content{font-size:.92rem;}
  .lang-btn a{padding:7px 9px;font-size:0;gap:0;letter-spacing:0;}
  .hero .wp-block-cover__inner-container > .scroll-hint{display:none;}
  .wp-block-cover.hero{padding-top:110px;padding-bottom:60px;min-height:0 !important;}
  .hero .wp-block-cover__image-background{object-position:center 35% !important;}
  .hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(36,28,17,.72) 0%,rgba(36,28,17,.5) 45%,rgba(36,28,17,.7) 100%) !important;}
  .hero h1{font-size:clamp(2.4rem,10vw,3.4rem);}
  .hero .hero-cta .wp-block-button__link{padding:15px 26px;font-size:.72rem;}
}
