/* Terre Narranti — rifinitura strutturale V4
   Obiettivo: leggibilità, responsive, accessibilità, coerenza e robustezza.
   Non modifica contenuti né logiche dei moduli. */
:root{
  --tn-paper:#f4efe6;
  --tn-paper-soft:#faf7f0;
  --tn-ink:#2a241e;
  --tn-muted:#6e6257;
  --tn-line:#c8b9a5;
  --tn-brown:#8f6b49;
  --tn-olive:#3f4632;
  --tn-header-h:82px;
  --tn-radius:2px;
  --tn-shadow:0 16px 38px rgba(42,36,30,.10);
  --tn-focus:0 0 0 3px rgba(143,107,73,.32);
}
html{scroll-padding-top:calc(var(--tn-header-h) + 18px);overflow-x:hidden}
body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-kerning:normal}
main{min-width:0}
section[id],article[id],div[id]{scroll-margin-top:calc(var(--tn-header-h) + 18px)}
img,video,iframe,svg{max-width:100%}
img{height:auto}
figure{max-width:100%;margin-left:0;margin-right:0}
p,li,blockquote{overflow-wrap:anywhere}
h1,h2,h3,h4{overflow-wrap:break-word;text-wrap:balance}
p{text-wrap:pretty}

/* Accessibilità tastiera */
.tn-skip-link{position:fixed;left:14px;top:10px;z-index:99999;transform:translateY(-160%);padding:12px 16px;background:#fffaf2;color:#2a241e;border:2px solid #2a241e;text-decoration:none;font:700 13px/1.2 Arial,sans-serif;letter-spacing:.04em;transition:transform .15s ease}
.tn-skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--tn-brown)!important;outline-offset:3px!important;box-shadow:var(--tn-focus)}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(143,107,73,.15)}
button,[role="button"],a{touch-action:manipulation}

/* Header e navigazione */
.site-header,.tn-global-header{isolation:isolate}
.site-header a,.tn-global-header a{text-underline-offset:5px}
.site-header .main-nav a,.tn-global-header nav a{position:relative}
.site-header .main-nav a[aria-current="page"],.tn-global-header nav a[aria-current="page"]{font-weight:700}
.site-header .main-nav a[aria-current="page"]:after,.tn-global-header nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:currentColor;opacity:.65}
.header-cta,.tn-global-header .cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* Tipografia e contenitori */
.page-hero,.page-body,.foundation-wrap,.armadio-wrap,.stufa-wrap,.borsello-wrap,.press-wrap,.stufa20-wrap{min-width:0}
.page-hero p,.hero-sub,.intro p,.foundation-wrap p,.page-body p{max-width:74ch}
.page-hero h1{max-width:16ch}
.page-body>p,.article-body p,.story-body p{line-height:1.72}
.eyebrow{line-height:1.35}

/* Hero: contrasto robusto senza coprire la fotografia */
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(28,21,16,.50) 0%,rgba(28,21,16,.28) 45%,rgba(28,21,16,.08) 75%,rgba(28,21,16,.02) 100%)}
.hero-inner{z-index:1}
.hero .eyebrow,.hero .hero-sub,.hero .text-link{position:relative;z-index:2}
.hero h1{position:relative;z-index:2;color:#fff7ea!important;text-shadow:0 2px 18px rgba(0,0,0,.34),0 1px 2px rgba(0,0,0,.48)}
.hero .hero-sub,.hero .text-link{color:#fff7ea!important;text-shadow:0 1px 5px rgba(0,0,0,.38)}

/* Pulsanti e link azione */
.btn,button[type="submit"],.press-action,.talk-actions a,.back,.header-cta{min-height:44px;line-height:1.2}
.btn,button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center}
.btn:hover,button[type="submit"]:hover,.press-action:hover{filter:brightness(.95)}
.btn:active,button[type="submit"]:active{transform:translateY(1px)}

/* Moduli: solo resa, non struttura/nomi/campi */
form{min-width:0}
form label{min-width:0}
input,select,textarea{max-width:100%;font-size:16px}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:46px}
textarea{line-height:1.5}
input::placeholder,textarea::placeholder{opacity:.72}
.tn-privacy-check-v70{align-items:flex-start!important}
.tn-privacy-check-v70 input[type="checkbox"]{flex:0 0 auto}

/* Card e griglie */
.portal-grid,.story-grid,.storie-grid,.format-grid,.pack-grid,.press-grid,.future-grid,.values-grid,.press-photo-grid,.press-contact,.drawer-grid,.entra-doors,.tn-visual-forms{min-width:0}
.portal-card,.format-card,.pack-card,.press-card,.value-card,.future-card,.press-photo,.entra-door,.drawer-face{min-width:0}
.portal-card,.press-card,.format-card,.pack-card,.value-card,.future-card,.entra-door{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
@media (hover:hover){.portal-card:hover,.press-card:hover,.format-card:hover,.pack-card:hover,.value-card:hover,.future-card:hover,.entra-door:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(42,36,30,.08)}}

/* Immagini e fallback */
img[loading="lazy"]{content-visibility:auto}
.tn-img-broken{display:grid!important;place-items:center!important;min-height:150px!important;background:linear-gradient(135deg,#eee5d8,#f8f3eb)!important;border:1px solid var(--tn-line)!important;color:var(--tn-muted)!important;object-fit:contain!important}
.tn-img-broken+figcaption{margin-top:8px}
.tn-image-fallback{display:grid;place-items:center;min-height:150px;padding:20px;background:#eee5d8;border:1px solid var(--tn-line);color:var(--tn-muted);text-align:center;font-style:italic}

/* Articoli */
article img,.story-article img{max-width:100%}
.article-body,.story-body,.article-content{max-width:860px}
.article-body blockquote,.story-body blockquote,.article-content blockquote{margin:32px 0;padding:8px 0 8px 22px;border-left:2px solid var(--tn-brown);font-size:1.16em;line-height:1.6}
.article-body hr,.story-body hr,.article-content hr{border:0;border-top:1px solid var(--tn-line);margin:38px 0}
.article-body table,.story-body table,.article-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.article-body td,.article-body th,.story-body td,.story-body th{padding:9px 11px;border:1px solid var(--tn-line)}

/* Scaffale: più ordinato, senza cambiare selezioni o link */
#page-scaffale .card,.shelf-page .card,.grid .card{min-width:0}
#page-scaffale .card img,.shelf-page .card img,.grid .card img{object-fit:contain}
#page-scaffale .card h3,.shelf-page .card h3,.grid .card h3{line-height:1.24}
#page-scaffale .card .note,.shelf-page .card .note,.grid .card .note{line-height:1.5}
.ask-massimo,.story-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.story-invite{border-top:1px solid rgba(42,36,30,.12);padding-top:14px;margin-top:auto}

/* Area riservata / pagine legali */
.privacy-wrap-v70,.legal-wrap,.press-access-wrap{width:min(100%,1040px)}
.privacy-wrap-v70 p,.privacy-wrap-v70 li,.legal-wrap p,.legal-wrap li{max-width:82ch}
.privacy-callout-v70,.privacy-legal-note-v70{box-shadow:0 8px 22px rgba(42,36,30,.05)}

/* Footer */
footer{position:relative}
.footer-inner{align-items:flex-start}
.footer-inner a{display:inline-block;min-height:28px}
.footer-inner a:hover{text-decoration:underline;text-underline-offset:4px}

/* Pulsante torna su: creato solo sulle pagine lunghe */
.tn-back-top{position:fixed;right:20px;bottom:92px;z-index:44;width:46px;height:46px;border-radius:50%;border:1px solid rgba(42,36,30,.24);background:rgba(250,247,240,.94);color:var(--tn-ink);display:grid;place-items:center;box-shadow:0 8px 24px rgba(42,36,30,.12);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;font:700 20px/1 Georgia,serif}
.tn-back-top.show{opacity:1;visibility:visible;transform:none}
.tn-back-top:hover{background:#fffaf2}

/* Tablet */
@media(max-width:980px){
  :root{--tn-header-h:74px}
  .page-hero{padding-top:64px}
  .page-hero h1{font-size:clamp(2.7rem,9vw,5rem)}
  .hero h1{font-size:clamp(3.2rem,10vw,5.8rem)}
  .hero:before{background:linear-gradient(90deg,rgba(28,21,16,.55),rgba(28,21,16,.26) 70%,rgba(28,21,16,.08))}
  .press-grid,.future-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile */
@media(max-width:620px){
  :root{--tn-header-h:68px}
  body{font-size:16px}
  .page-hero{padding:48px 18px 30px}
  .page-body,.foundation-wrap,.armadio-wrap,.stufa-wrap,.borsello-wrap,.press-wrap,.stufa20-wrap{padding-left:16px!important;padding-right:16px!important}
  .page-hero h1{font-size:clamp(2.45rem,14vw,4.15rem);line-height:.98;letter-spacing:-.035em}
  .page-hero p{font-size:1.08rem}
  .hero-inner{width:calc(100% - 32px)!important;padding-top:54px!important;padding-bottom:60px!important}
  .hero h1{font-size:clamp(3rem,16vw,4.65rem)!important;line-height:.94!important;max-width:10ch}
  .hero-sub{font-size:1.05rem!important;line-height:1.55}
  .hero:before{background:linear-gradient(90deg,rgba(28,21,16,.60),rgba(28,21,16,.34) 72%,rgba(28,21,16,.12))}
  .press-grid,.future-grid,.values-grid,.press-photo-grid,.press-contact,.portal-grid,.format-grid,.pack-grid,.drawer-grid,.entra-doors,.tn-visual-forms{grid-template-columns:1fr!important}
  .btn,button[type="submit"],.header-cta{width:100%;max-width:100%}
  .contact-links{display:grid!important;grid-template-columns:1fr!important}
  .contact-links a{text-align:center}
  .stufa-end,.story-drop{padding:26px 18px!important}
  .article-comments-v70{margin-left:0;margin-right:0}
  .tn-back-top{right:14px;bottom:88px;width:44px;height:44px}
  footer{padding-left:18px!important;padding-right:18px!important}
  .footer-inner{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
}

/* Schermi molto stretti */
@media(max-width:390px){
  .hero h1{font-size:clamp(2.65rem,15vw,3.6rem)!important}
  .page-hero h1{font-size:clamp(2.2rem,13vw,3.35rem)}
  .eyebrow{letter-spacing:.20em!important}
  .drawer-face,.format-card,.pack-card,.press-card{padding-left:18px!important;padding-right:18px!important}
}

/* Motion e stampa */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{
  .site-header,.tn-global-header,.menu-btn,.header-cta,.tn-back-top,.whatsapp-float,[class*="whatsapp"],[id*="whatsapp"]{display:none!important}
  body{background:#fff!important;color:#000!important}
  main,section,article{box-shadow:none!important}
  a{color:#000!important;text-decoration:none!important}
  a[href^="http"]:after{content:" (" attr(href) ")";font-size:.8em;word-break:break-all}
}
