/*
Theme Name: BRAND
Theme URI: https://example.com/
Author: BRAND
Description: Tema WordPress personalizzato per BRAND.
Version: 1.0.0
Text Domain: brand
*/

:root { --ink: #21150e; --cream: #f5efe4; --terracotta: #a84422; --ochre: #c58a34; --leather: #63351f; --white: #fffdf8; --basalt: #343534; --myrtle: #4d5a3a; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { margin: 0; color: var(--ink); background: var(--cream); font-family: Georgia, 'Times New Roman', serif; font-size: 17px; line-height: 1.55; }

a { color: inherit; transition: color .2s ease, opacity .2s ease; }

.site-header, .site-footer { padding: 1.4rem clamp(1.5rem, 5vw, 6rem); }
.site-main { padding: 0 clamp(1.5rem, 5vw, 6rem); }

.site-header, .site-footer { border-color: #b89b74; border-style: solid; border-width: 0; }
.site-header { border-bottom-width: 1px; display: flex; justify-content: space-between; align-items: center; }
.site-footer { border-top-width: 1px; margin-top: 3rem; }
.footer-logo { display: inline-block; }.footer-logo img { display: block; width: 42px; max-width: 42px; height: 42px; max-height: 42px; object-fit: contain; border-radius: 8px; }

.site-branding a { text-decoration: none; font-size: 1.3rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.brand-logo { display: inline-flex; align-items: center; gap: .7rem; }.brand-logo img { display: block; width: 36px; max-width: 36px; height: 36px; max-height: 36px; object-fit: contain; border-radius: 8px; }.brand-logo span { max-width: 230px; }

.site-navigation ul {
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0 0;
  list-style: none;
}
.site-navigation a { text-decoration: none; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }.site-navigation a:hover { color: var(--terracotta); }
h1, h2, h3, p { margin-top: 0; } h1 { font-size: clamp(2.8rem, 6vw, 6.4rem); line-height: .96; letter-spacing: -.045em; } h2 { font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.04em; }
.hero { min-height: 75vh; display: flex; align-items: end; padding: clamp(3rem, 8vw, 8rem) 0; background: radial-gradient(circle at 78% 65%, #b96d2e 0 4%, transparent 4.3%), radial-gradient(circle at 68% 42%, #d19242 0 7%, transparent 7.3%), radial-gradient(circle at 80% 32%, #9f5527 0 10%, transparent 10.4%), linear-gradient(115deg, #21150e 20%, #63351f 58%, #9b5a2e 100%); margin: 0 calc(clamp(1.5rem, 5vw, 6rem) * -1); padding-left: clamp(1.5rem, 5vw, 6rem); padding-right: clamp(1.5rem, 5vw, 6rem); color: var(--white); }
.hero-copy { max-width: 700px; position: relative; z-index: 1; } .hero-copy p:not(.eyebrow) { max-width: 570px; font-size: 1.2rem; }.hero-art { position: absolute; right: clamp(1rem, 9vw, 9rem); bottom: 8%; width: min(35vw, 430px); filter: drop-shadow(0 25px 22px rgba(0,0,0,.28)); }
.eyebrow { color: var(--terracotta); font-family: Arial, sans-serif; font-size: .72rem; font-weight: bold; letter-spacing: .14em; text-transform: uppercase; } .hero .eyebrow, .cta .eyebrow { color: #f1c57c; }
.button { display: inline-block; padding: .95rem 1.35rem; background: var(--terracotta); color: white; text-decoration: none; font-family: Arial, sans-serif; font-size: .8rem; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; border: 0; border-radius: 8px; box-shadow: 0 5px 0 rgba(33,21,14,.22); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; cursor: pointer; } .button:hover, button:hover { background: var(--leather); transform: translateY(-3px); box-shadow: 0 9px 16px rgba(33,21,14,.22); } .button-light { background: var(--cream); color: var(--ink); }
.story { max-width: 860px; padding: 8rem 0 5rem; } .story p:not(.eyebrow), .page-intro p { font-size: 1.3rem; }
.heritage { min-height: 670px; margin: 1rem calc(clamp(1.5rem, 5vw, 6rem) * -1) 0; padding: clamp(2rem, 6vw, 6rem); display: flex; align-items: end; background: linear-gradient(90deg, rgba(26,22,15,.92) 0%, rgba(26,22,15,.73) 44%, rgba(26,22,15,.18) 100%), url('assets/images/pascolo-campanacci.svg') center/cover, var(--myrtle); color: var(--white); }.heritage-panel { max-width: 620px; }.heritage-panel p:not(.eyebrow) { font-size: 1.08rem; }.heritage h2 { margin-bottom: 1.25rem; }.tradition { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; padding: 7rem 0; }.tradition > p { max-width: 530px; margin: 0; font-size: 1.2rem; }
.featured-products { padding: 3rem 0 6rem; } .section-heading { display: flex; justify-content: space-between; align-items: baseline; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }.product-card { overflow: hidden; background: var(--white); border-radius: 8px; box-shadow: 0 1px 0 rgba(33,21,14,.08); transition: transform .3s ease, box-shadow .3s ease; }.product-card:hover { transform: translateY(-8px); box-shadow: 0 18px 35px rgba(33,21,14,.16); }.product-card-image { aspect-ratio: 4 / 4.6; display: flex; place-items: center; justify-content: center; overflow: hidden; background: #d7c2a5; color: var(--leather); text-align: center; font-size: 1.45rem; text-decoration: none; }.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.product-card:hover .product-card-image img { transform: scale(1.07); }.product-card-content { padding: 1.35rem; }.product-card h3 { margin-bottom: .3rem; font-size: 1.5rem; }.product-card h3 a { text-decoration: none; }.product-card h3 a:hover, .text-link:hover { color: var(--terracotta); }.product-price { color: var(--terracotta); font-family: Arial, sans-serif; font-weight: bold; }.text-link { color: var(--leather); font-family: Arial, sans-serif; font-size: .78rem; font-weight: bold; text-decoration: none; text-transform: uppercase; }
.craft-proof { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 10rem); padding: 7rem 0; border-top: 1px solid #b89b74; }.craft-proof > div { max-width: 560px; }.craft-art { display: block; width: min(100%, 470px); margin-top: 2rem; }.craft-proof ol { margin: 0; padding: 0; list-style: none; }.craft-proof li { display: flex; gap: 1.3rem; padding: 1.2rem 0; border-top: 1px solid #b89b74; align-items: baseline; }.craft-proof b { color: var(--terracotta); font-family: Arial, sans-serif; }.craft-proof span { font-size: 1.15rem; }.reviews { margin: 0 calc(clamp(1.5rem, 5vw, 6rem) * -1); padding: 6rem clamp(1.5rem, 5vw, 6rem); color: var(--white); background: var(--basalt); }.reviews h2 { max-width: 600px; }.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: #656663; }.review-grid blockquote { margin: 0; padding: 2rem; background: var(--basalt); font-size: 1.25rem; }.review-grid cite { display: block; margin-top: 1.5rem; color: #e8c67f; font-family: Arial, sans-serif; font-size: .76rem; font-style: normal; letter-spacing: .05em; text-transform: uppercase; }.review-note { margin: 1.5rem 0 0; color: #d1cdc5; font-size: .86rem; }
.cta { margin: 0 calc(clamp(1.5rem, 5vw, 6rem) * -1); padding: 5rem clamp(1.5rem, 5vw, 6rem); background: var(--leather); color: var(--white); text-align: center; }.cta h2 { margin: .3rem auto 1.5rem; max-width: 700px; }
.catalog, .form-page { max-width: 1300px; margin: auto; padding-top: 5rem; }.page-intro { max-width: 780px; margin-bottom: 3rem; }.product-single { max-width: 1200px; margin: 5rem auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); }.product-image img { width: 100%; height: auto; }.product-single h1 { font-size: clamp(2.7rem, 5vw, 4.7rem); }
.contact-page { max-width: 1250px; margin: auto; padding-top: 5rem; }.contact-intro { max-width: 760px; margin-bottom: 5rem; }.contact-intro > p:not(.eyebrow) { font-size: 1.2rem; }.contact-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 8rem); padding: 4rem 0; border-top: 1px solid #b89b74; border-bottom: 1px solid #b89b74; }.contact-story h2, .contact-details h2, .contact-form h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); }.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 8rem); padding: 5rem 0; }.contact-details { padding: 2rem; align-self: start; color: var(--white); background: var(--myrtle); border-radius: 8px; }.contact-details .eyebrow { color: #e8c67f; }.contact-details a { color: #fff; }.contact-details a:hover { color: #e8c67f; }.contact-form .request-form { margin-top: 1.5rem; }
.form-page { max-width: 780px; }.form-page > p:not(.eyebrow) { font-size: 1.2rem; }.request-form { display: grid; gap: 1rem; padding: 2rem; background: var(--white); border-radius: 8px; margin-top: 2.5rem; }.form-brand-mark { display: flex; justify-content: center; padding-bottom: .5rem; }.form-brand-mark img { display: block; width: 48px; max-width: 48px; height: 48px; max-height: 48px; object-fit: contain; border-radius: 8px; }.request-form label { font-family: Arial, sans-serif; font-size: .78rem; font-weight: bold; letter-spacing: .05em; text-transform: uppercase; }.request-form input, .request-form select, .request-form textarea { display: block; width: 100%; margin-top: .4rem; padding: .85rem; color: var(--ink); background: #fff; border: 1px solid #c8b49b; border-radius: 8px; font: inherit; }.request-form button, .revolut-form button { justify-self: start; padding: .95rem 1.35rem; color: white; background: var(--terracotta); border: 0; border-radius: 8px; font-family: Arial, sans-serif; font-size: .8rem; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.revolut-form { margin-top: 1rem; }.revolut-form button { background: var(--basalt); }.form-notice { padding: 1rem; border-radius: 8px; background: #dfe9d1; }
@media (max-width: 900px) { .hero-art { opacity: .36; width: min(55vw, 380px); }.product-grid, .review-grid { grid-template-columns: repeat(2, 1fr); }.review-grid blockquote:last-child { grid-column: span 2; }.craft-proof { gap: 3rem; } }
@media (max-width: 700px) { body { font-size: 16px; }.site-header { display: block; }.brand-logo img { width: 32px; max-width: 32px; height: 32px; max-height: 32px; }.brand-logo span { font-size: 1rem; }.footer-logo img { width: 38px; max-width: 38px; height: 38px; max-height: 38px; }.form-brand-mark img { width: 42px; max-width: 42px; height: 42px; max-height: 42px; }.site-navigation ul { flex-wrap: wrap; gap: .75rem 1rem; }.site-main { padding-left: 1.25rem; padding-right: 1.25rem; }.hero { min-height: 68svh; padding-left: 1.25rem; padding-right: 1.25rem; }.hero-art { right: -1rem; width: 75vw; opacity: .24; }.product-grid, .product-single, .craft-proof, .review-grid, .tradition { grid-template-columns: 1fr; }.review-grid blockquote:last-child { grid-column: auto; }.craft-proof { padding: 4.5rem 0; }.story { padding: 5rem 0 3rem; }.heritage { min-height: 610px; margin-left: -1.25rem; margin-right: -1.25rem; padding: 2.5rem 1.25rem; background-position: 60% center; }.tradition { gap: 1.5rem; padding: 4.5rem 0; }.section-heading { display: block; }.product-card-image { aspect-ratio: 1 / .9; }.request-form { padding: 1.25rem; }.cta, .reviews { margin-left: -1.25rem; margin-right: -1.25rem; padding-left: 1.25rem; padding-right: 1.25rem; } }
@media (max-width: 700px) { .contact-page { padding-top: 3.5rem; }.contact-intro { margin-bottom: 3rem; }.contact-story, .contact-layout { grid-template-columns: 1fr; gap: 1.5rem; }.contact-story { padding: 3rem 0; }.contact-layout { padding: 3rem 0; }.contact-details { padding: 1.5rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
