@import url(header.css);
@import url(footer.css);
@import url(woocommerce.css);

:root {
  --c-brand: #911821;
  --c-accent: #911821;
  --c-dark: #212121;
  --c-gray: #424242;
  --c-bg: #e0e0e0;
  --c-light: #f5f5f5;
  --container: 1400px;
  --header-h: 50px;
  --band-w: min(var(--container), 100vw - 40px);
  --font-display: "Bebas Neue", sans-serif;
  --font-brush: "Neue Montreal", sans-serif;
  --font-serif: "American", serif;
}

@font-face { font-family: "Bebas Neue"; src: url(../fonts/BebasNeue-Regular.ttf) format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-Light.otf) format("opentype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-LightItalic.otf) format("opentype"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-Regular.otf) format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-Italic.otf) format("opentype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-Medium.otf) format("opentype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-MediumItalic.otf) format("opentype"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-Bold.otf) format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url(../fonts/NeueMontreal-BoldItalic.otf) format("opentype"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "American"; src: url(../fonts/American-Typewriter-Regular.ttf) format("truetype"); font-weight: 400; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; }
body { margin: 0; background-color: var(--c-bg); font-family: var(--font-serif); color: var(--c-dark); }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(var(--container), 100% - 2rem); margin-inline: auto; }
body:not(.home) .site-main { padding-top: 5rem; } /* replica customCss Bricks */
@media (max-width: 478px) { :root { --band-w: calc(100vw - 32px); } }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 400; margin: 0; line-height: .9; }
.eyebrow { font-family: var(--font-brush); font-weight: 500; font-size: 18px; color: var(--c-accent); text-align: center; margin: 0 0 12px; text-transform: uppercase; }
.contact-list { display: flex; flex-direction: column; align-items: center; gap: 28px; padding-bottom: 140px; margin-top: -60px; }
.contact-list p { margin: 0; text-align: center; }
.contact-list span { display: block; font-family: var(--font-brush); font-weight: 500; font-size: 14px; text-transform: uppercase; color: var(--c-accent); margin-bottom: 6px; }
.contact-list a { font-family: var(--font-serif); font-size: 24px; color: var(--c-dark); text-decoration: none; }
.contact-list a:hover { color: var(--c-brand); text-decoration: underline; }
.btn { display: inline-block; padding: 12px 24px; background: var(--c-dark); color: var(--c-light); text-decoration: none; font-family: var(--font-display); }
@media (max-width: 767px) { .eyebrow { font-size: 14px; } }
.coming-soon { display: flex; }
.coming-soon__panel { min-height: 100dvh; width: 100%; background: var(--c-brand); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0 20px; }
.coming-soon__eyebrow { color: var(--c-light); }
.coming-soon__title { font-size: clamp(64px, 12vw, 160px); color: var(--c-light); text-transform: uppercase; }
.coming-soon__text { font-family: var(--font-serif); font-size: 20px; color: var(--c-light); max-width: 520px; margin: 24px 0 32px; }
.coming-soon__btn { background: var(--c-light); color: var(--c-dark); }

/* Indicatore scroll-down negli hero */
.scroll-down { position: absolute; left: 50%; bottom: 48px; transform: translateX(-50%); z-index: 5;
  display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer;
  transition: opacity .4s ease; }
/* Le pagine interne hanno .site-main con padding-top 5rem: l'hero 100dvh sfora
   sotto la piega, quindi l'indicatore va compensato dello stesso offset */
body:not(.home) .scroll-down { bottom: calc(5rem + 48px); }
.scroll-down__label { font-family: var(--font-brush); font-weight: 500; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-dark); }
.scroll-down__line { width: 1px; height: 44px; background: var(--c-dark); overflow: hidden; position: relative; }
.scroll-down__line::after { content: ""; position: absolute; left: 0; top: -100%; width: 100%; height: 100%;
  background: var(--c-bg); animation: scroll-down-slide 1.8s cubic-bezier(.65,0,.35,1) infinite; }
.scroll-down--light .scroll-down__label { color: var(--c-light); }
.scroll-down--light .scroll-down__line { background: var(--c-light); }
.scroll-down--light .scroll-down__line::after { background: var(--c-brand); }
@keyframes scroll-down-slide { 0% { top: -100%; } 55% { top: 100%; } 100% { top: 100%; } }
body.scrolled .scroll-down { opacity: 0; pointer-events: none; }

/* Pagine legali (privacy, cookie) */
.legal-content { max-width: 800px; margin: -40px auto 0; padding: 0 20px 140px; font-family: var(--font-serif); font-size: 17px; line-height: 1.7; }
.legal-content h2 { font-size: 40px; margin: 48px 0 16px; }
.legal-content p { margin: 0 0 16px; }
.legal-content ul { margin: 0 0 16px; padding-left: 22px; }
.legal-content li { margin-bottom: 10px; }
.legal-content a { color: var(--c-brand); }
.legal-content code { font-family: monospace; font-size: 15px; background: var(--c-light); padding: 1px 6px; }
