:root{
  --tm-bg:#F9F7F0;
  --tm-surface:#FFFFFF;
  --tm-ink:#2B2B28;
  --tm-accent:#0B6978;
  --tm-sand:#E5D4AE;
  --tm-solco:#6E1C24;
  --tm-maestrale:#0B6978;
  --tm-aroma:#EFE6D2;
  --tm-radice:#1A1420;
  --tm-gold:#C9A227;
  --tm-radius:8px;
  --tm-shadow:0 10px 30px rgba(11,105,120,.14);
}

/* Tipografia di base */
body{background:var(--tm-bg);color:var(--tm-ink);}
.tm h1,.tm h2,.tm h3,.tm h4{font-family:"Cormorant Garamond",serif;line-height:1.05;letter-spacing:.005em;}
.tm p,.tm li{font-family:"Karla",sans-serif;line-height:1.7;}
.tm .tm-measure p{max-width:62ch;}

/* Occhiello minuto, usato una sola volta nella pagina */
.tm-eyebrow{font-family:"Karla",sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:500;color:var(--tm-gold);}

/* Filetto oro, ripreso dalla cornice delle etichette */
.tm-rule{display:block;width:72px;height:1px;background:var(--tm-gold);margin:22px 0;}
.tm-rule--center{margin-left:auto;margin-right:auto;}

/* ---------- Placeholder on palette, in attesa delle foto ---------- */
.tm-ph{position:relative;overflow:hidden;background-color:var(--tm-accent);}
.tm-ph::before{content:"";position:absolute;inset:0;
  background:linear-gradient(118deg,#0A5E6C 0%,#0B6978 38%,#2E8290 68%,rgba(229,212,174,.55) 100%);
}
.tm-ph::after{content:attr(data-ph);position:absolute;left:0;right:0;bottom:18px;text-align:center;
  font-family:"Karla",sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(249,247,240,.65);}
.tm-ph--warm::before{background:linear-gradient(118deg,#5E1820 0%,#6E1C24 40%,#9A5A33 72%,rgba(239,230,210,.6) 100%);}

/* ---------- Header globale ---------- */
.tm-header{position:sticky;top:0;z-index:999;border-bottom:1px solid rgba(201,162,39,.35);
  box-shadow:0 2px 18px rgba(11,105,120,.07);}
.admin-bar .tm-header{top:32px;}
.tm-header .et_pb_menu__logo img{display:block;border-radius:4px;}
.tm-header .et_pb_menu__wrap{justify-content:flex-end;}
/* Voci del menu: nessun filetto, solo il passaggio di colore verso il bianco in hover.
   La classe tm-link resta assegnata dal pannello Menu come aggancio per il futuro. */
.tm-header .et-menu li.tm-link>a{opacity:1!important;transition:color .25s ease;}
@media (max-width:980px){
  .admin-bar .tm-header{top:46px;}
  .tm-header .et_mobile_menu{border-top:1px solid rgba(201,162,39,.4);}
  .tm-header .et_mobile_menu li a{font-family:"Karla",sans-serif;font-size:16px;border-bottom:1px solid rgba(229,212,174,.18);}
}

/* ---------- Hero ---------- */
/* Nessuna altezza forzata: l altezza la decidono i padding impostati nel
   modulo Sezione, cosi la foto di sfondo mantiene le sue proporzioni. */
.tm-hero{position:relative;}
/* La testata non riceve ne fondo ne velatura dal CSS: sfondo e gradiente
   si impostano dal modulo Sezione di Divi. */
.tm-hero.tm-ph{background-color:transparent;}
.tm-hero.tm-ph::before,
.tm-hero.tm-ph::after{display:none;content:none;}
.tm-hero .et_pb_row{position:relative;z-index:2;}
.tm-hero h1{font-size:clamp(46px,6.2vw,92px);color:var(--tm-bg);margin-bottom:.25em;}
.tm-hero h1 em{font-style:italic;color:var(--tm-sand);line-height:1.14;display:inline-block;padding-bottom:.06em;}
.tm-hero p{color:rgba(249,247,240,.9);max-width:52ch;}

/* ---------- Taglio obliquo tra fasce ---------- */
.tm-slant{position:relative;}
.tm-slant::before{content:"";position:absolute;top:-1px;left:0;right:0;height:70px;background:inherit;
  clip-path:polygon(0 0,100% 70px,100% 0);}

/* ---------- Card vino ---------- */
.tm-wine .et_pb_blurb_content{max-width:none;}
.tm-wine{border-radius:var(--tm-radius);overflow:hidden;}
.tm-wine .tm-wine-body{padding:38px 34px 34px;}
.tm-wine h3{font-size:clamp(30px,3vw,40px);margin:0 0 2px;}
.tm-wine .tm-grape{font-family:"Karla",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:12px;}
.tm-wine .tm-claim{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:19px;line-height:1.35;margin-top:18px;}
.tm-wine--solco{background:var(--tm-solco);}
.tm-wine--maestrale{background:var(--tm-maestrale);}
.tm-wine--radice{background:var(--tm-radice);}
.tm-wine--aroma{background:var(--tm-aroma);}
.tm-wine--solco h3,.tm-wine--maestrale h3,.tm-wine--radice h3{color:var(--tm-sand);}
.tm-wine--solco .tm-grape,.tm-wine--maestrale .tm-grape,.tm-wine--radice .tm-grape{color:var(--tm-gold);}
.tm-wine--solco .tm-claim,.tm-wine--maestrale .tm-claim,.tm-wine--radice .tm-claim{color:rgba(249,247,240,.82);}
.tm-wine--aroma h3{color:var(--tm-solco);}
.tm-wine--aroma .tm-grape{color:#8A6E1F;}
.tm-wine--aroma .tm-claim{color:rgba(43,43,40,.8);}
.tm-wine .tm-bottle{height:300px;border-radius:var(--tm-radius) var(--tm-radius) 0 0;}

/* ---------- Citazione ---------- */
.tm-quote blockquote,.tm-quote p.tm-q{font-family:"Cormorant Garamond",serif;font-style:italic;
  font-size:clamp(28px,3.6vw,46px);line-height:1.18;color:var(--tm-bg);max-width:19ch;}
.tm-quote cite{font-family:"Karla",sans-serif;font-style:normal;text-transform:uppercase;
  letter-spacing:.2em;font-size:12px;color:var(--tm-sand);}

/* ---------- Vendemmia ---------- */
.tm-step .tm-ph{height:330px;border-radius:var(--tm-radius);}
.tm-step h4{font-size:26px;margin:20px 0 6px;color:var(--tm-accent);}
.tm-step p{font-size:16px;color:rgba(43,43,40,.85);}

/* ---------- Lista dalla vigna alla bottiglia ---------- */
.tm-stepline{counter-reset:none;}
.tm-stepline-item{padding:26px 0;border-top:1px solid rgba(229,212,174,.3);}
.tm-stepline-item:first-child{border-top:0;padding-top:0;}
.tm-stepline-item h4{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(24px,2.4vw,30px);
  line-height:1.1;color:var(--tm-sand);margin:0 0 8px;}
.tm-stepline-item p{font-family:"Karla",sans-serif;font-size:16px;line-height:1.7;
  color:rgba(249,247,240,.82);max-width:58ch;margin:0;}

/* ---------- Pulsanti ---------- */
.tm .et_pb_button{border-radius:var(--tm-radius)!important;font-family:"Karla",sans-serif;font-weight:700;
  box-shadow:var(--tm-shadow);transition:transform .25s ease,box-shadow .25s ease;}
.tm .et_pb_button:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(11,105,120,.2);}

/* ---------- Entrata morbida, motion basso ---------- */
@media (prefers-reduced-motion:no-preference){
  .tm-rise{animation:tm-rise .7s ease both;}
  @keyframes tm-rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
}

/* ---------- Mobile ---------- */
@media (max-width:980px){
  .tm-slant::before{height:40px;clip-path:polygon(0 0,100% 40px,100% 0);}
  .tm-wine .tm-bottle{height:240px;}
  .tm-step .tm-ph{height:230px;}
  .tm-quote blockquote,.tm-quote p.tm-q{max-width:none;}
}
@media (max-width:767px){
  .tm-wine .tm-wine-body{padding:28px 24px;}
  .tm-hero h1{font-size:40px;}
}

/* ---------- Footer globale ---------- */
.tm-footer{border-top:1px solid rgba(201,162,39,.4);}
.tm-footer .tm-footer-logo img{border-radius:4px;}
.tm-footer .tm-claim{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;line-height:1.3;color:var(--tm-sand);max-width:24ch;margin:0;}
.tm-footer h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;line-height:1.1;color:var(--tm-bg);margin:0 0 14px;}
.tm-footer .tm-footer-col p,.tm-footer .tm-footer-col li{font-family:'Karla',sans-serif;font-size:15px;line-height:1.8;color:rgba(249,247,240,.82);}
.tm-footer .tm-footer-col ul{list-style:none;padding:0;margin:0;}
.tm-footer .tm-footer-col a{color:rgba(249,247,240,.82);text-decoration:none;transition:color .2s ease;}
.tm-footer .tm-footer-col a:hover{color:#FFFFFF;}
.tm-footer .tm-footer-bar{border-top:1px solid rgba(229,212,174,.22);}
.tm-footer .tm-footer-small p{font-family:'Karla',sans-serif;font-size:13px;letter-spacing:.02em;color:rgba(249,247,240,.6);margin:0;}
.tm-footer .tm-footer-small a{color:rgba(249,247,240,.6);text-decoration:none;}
.tm-footer .tm-footer-small a:hover{color:var(--tm-sand);}
.tm-footer .tm-sep{color:rgba(201,162,39,.6);margin:0 6px;}
.tm-footer .tm-footer-right p{text-align:right;}
@media (max-width:980px){
  .tm-footer .tm-footer-right p{text-align:left;}
  .tm-footer .tm-footer-bar .et_pb_column{margin-bottom:10px;}
  .tm-footer .tm-claim{max-width:none;}
}

/* ---------- Menu mobile ancorato al fondo dell header ---------- */
@media (max-width:980px){
  .tm-header .et_pb_row,
  .tm-header .et_pb_column,
  .tm-header .et_pb_menu,
  .tm-header .et_pb_menu_inner_container,
  .tm-header .et_pb_menu__wrap,
  .tm-header .et_mobile_nav_menu,
  .tm-header .mobile_nav{position:static;}
  .tm-header .et_mobile_menu{position:absolute;top:100%;left:0;right:0;width:100%;max-width:none;
    margin:0;padding-left:0;padding-right:0;
    border-left:0;border-right:0;border-radius:0;
    border-top:2px solid #E5D4AE;box-shadow:0 14px 28px rgba(9,74,85,.22);}
  .tm-header .et_mobile_menu li a{padding-left:28px;padding-right:28px;}
}

/* ---------- Colonne a pari altezza su tablet ----------
   Divi applica make_equal solo sopra 980px e lo fa via JavaScript, scrivendo
   un altezza sulle colonne. Nella fascia tablet, dove Divi Responsive Helper
   dispone le colonne a due a due, quelle altezze vanno annullate e la riga
   deve stirare le colonne. */
@media (min-width:768px) and (max-width:980px){
  .et_pb_row.pac_drh_tab_col_two{align-items:stretch!important;}
  .et_pb_row.pac_drh_tab_col_two>.et_pb_column{height:auto!important;min-height:0!important;
    display:flex!important;flex-direction:column;justify-content:flex-start;}
  .et_pb_row.pac_drh_tab_col_two>.et_pb_column>.et_pb_module:last-child{margin-bottom:0;}
}

/* ---------- Pagina Chi Sono ---------- */
.tm-vigna h2,.tm-chiusura h2{line-height:1.05;}
.tm-vigna .tm-rule,.tm-chiusura .tm-rule{background:var(--tm-gold);}
.tm-foto img{display:block;width:100%;height:auto;}
.tm-chiusura .et_pb_button{display:block;text-align:center;}
.tm-chiusura .et_pb_button_module_wrapper{width:100%;}
@media (min-width:981px){
  .tm-chiusura .et_pb_row{align-items:center;}
}
@media (max-width:980px){
  .tm-chiusura .et_pb_button{display:inline-block;margin-right:10px;}
}

/* ---------- Timeline Chi Sono ---------- */
.tm-timeline{position:relative;max-width:820px;margin:0;padding:6px 0 0;}
.tm-timeline::before{content:'';position:absolute;left:11px;top:14px;bottom:14px;width:2px;
  background:linear-gradient(180deg,rgba(229,212,174,.75) 0%,rgba(229,212,174,.28) 100%);}
.tm-tl-item{position:relative;padding:0 0 42px 52px;}
.tm-tl-item:last-child{padding-bottom:0;}
.tm-tl-item::before{content:'';position:absolute;left:4px;top:9px;width:16px;height:16px;border-radius:50%;
  background:var(--tm-accent);border:2px solid rgba(229,212,174,.55);
  transition:background-color .4s ease,border-color .4s ease;}
.tm-tl-item.is-visibile::before{background:var(--tm-sand);border-color:var(--tm-sand);}
.tm-tl-item h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(24px,2.6vw,31px);
  line-height:1.1;color:var(--tm-bg);margin:0 0 8px;}
.tm-tl-item p{font-family:'Karla',sans-serif;font-size:16px;line-height:1.75;
  color:rgba(249,247,240,.82);max-width:58ch;margin:0;}
@media (prefers-reduced-motion:no-preference){
  .tm-tl-item{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
  .tm-tl-item.is-visibile{opacity:1;transform:none;}
  .tm-tl-item:nth-child(2n).is-visibile{transition-delay:.06s;}
}
@media (max-width:767px){
  .tm-tl-item{padding-left:42px;padding-bottom:34px;}
  .tm-timeline::before{left:9px;}
  .tm-tl-item::before{width:14px;height:14px;left:3px;top:8px;}
}

/* ---------- Galleria a colonne e lightbox ---------- */
.tm-galleria{columns:4;column-gap:12px;margin:0;}
.tm-gal-item{break-inside:avoid;margin:0 0 14px;display:block;}
.tm-gal-link{display:block;position:relative;overflow:hidden;border-radius:8px;
  background:rgba(11,105,120,.08);line-height:0;cursor:zoom-in;}
.tm-gal-link img{width:100%;height:auto;display:block;
  transition:transform .5s ease,filter .4s ease;}
.tm-gal-link::after{content:'';position:absolute;inset:0;background:rgba(9,74,85,0);
  transition:background-color .35s ease;}
.tm-gal-link:hover img,.tm-gal-link:focus-visible img{transform:scale(1.04);}
.tm-gal-link:hover::after,.tm-gal-link:focus-visible::after{background:rgba(9,74,85,.18);}
.tm-gal-link:focus-visible{outline:2px solid var(--tm-sand);outline-offset:3px;}
@media (max-width:1240px){ .tm-galleria{columns:3;} }
@media (max-width:980px){ .tm-galleria{columns:2;} }
@media (max-width:600px){ .tm-galleria{column-gap:10px;} .tm-gal-item{margin-bottom:10px;} }
@media (prefers-reduced-motion:reduce){ .tm-gal-link img{transition:none;} .tm-gal-link:hover img{transform:none;} }

body.tm-lightbox-aperta{overflow:hidden;}
.tm-lightbox{position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;background:#07090A;padding:64px 72px;}
.tm-lightbox.e-aperta{display:flex;}
.tm-lb-figura{margin:0;max-width:100%;max-height:100%;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.tm-lb-img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;
  border-radius:4px;opacity:1;transition:opacity .25s ease;}
.tm-lightbox.sta-caricando .tm-lb-img{opacity:.25;}
.tm-lb-dida{display:flex;gap:16px;align-items:baseline;justify-content:center;
  flex-wrap:wrap;font-family:'Karla',sans-serif;text-align:center;}
.tm-lb-testo{font-size:15px;color:rgba(249,247,240,.85);}
.tm-lb-conta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(229,212,174,.65);}
.tm-lightbox button{position:absolute;background:rgba(249,247,240,.08);border:0;
  color:var(--tm-bg);cursor:pointer;border-radius:50%;line-height:1;
  transition:background-color .25s ease,transform .25s ease;}
.tm-lightbox button:hover{background:rgba(229,212,174,.22);}
.tm-lightbox button:focus-visible{outline:2px solid var(--tm-sand);outline-offset:3px;}
.tm-lb-chiudi{top:20px;right:22px;width:46px;height:46px;font-size:30px;}
.tm-lb-prec,.tm-lb-succ{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:34px;}
.tm-lb-prec{left:18px;} .tm-lb-succ{right:18px;}
.tm-lb-prec:hover{transform:translateY(-50%) translateX(-3px);}
.tm-lb-succ:hover{transform:translateY(-50%) translateX(3px);}
@media (max-width:767px){
  .tm-lightbox{padding:56px 12px 88px;}
  .tm-lb-img{max-height:70vh;}
  .tm-lb-chiudi{top:12px;right:12px;width:42px;height:42px;font-size:26px;}
  .tm-lb-prec,.tm-lb-succ{top:auto;bottom:18px;transform:none;width:48px;height:48px;font-size:30px;}
  .tm-lb-prec{left:22%;} .tm-lb-succ{right:22%;}
  .tm-lb-prec:hover{transform:none;} .tm-lb-succ:hover{transform:none;}
}


/* ---------- CTA sulla sezione video ---------- */
.tm-quote h2.tm-q{font-family:"Cormorant Garamond",serif;font-weight:600;font-style:normal;
  font-size:clamp(30px,3.4vw,46px);line-height:1.15;color:var(--tm-bg);max-width:17ch;
  margin:0 0 16px;}
.tm-quote h2.tm-q + p{font-family:"Karla",sans-serif;font-size:17px;line-height:1.65;
  color:rgba(249,247,240,.9);max-width:48ch;margin:0;}
@media (max-width:980px){
  .tm-quote h2.tm-q{max-width:none;}
  .tm-quote h2.tm-q + p{max-width:none;}
}
