/* Tema Boutique — Bottega Italiana
   Quicksand + PT Sans. Borgogna #7C2D36 + terracotta #C4703B + avorio #FAFAF8.
   Per botteghe, merceria, artigianato, commercio raffinato di quartiere.

   FIRMA VISIVA UNICA:
   - Hero centered con cornici verticali decorative ai lati (stile vetrina)
   - Service grid 2 colonne, CARD ORIZZONTALI (flex-direction:row) con icona a sinistra
   - Bordi morbidi 18px con ombre brunite
   - Offerte stile "cartellino prezzo" con tag inclinato
   - Section divider decorativo (linea con diamante centrale)
   - Font Quicksand rotondo + PT Sans body serif-ish
   - About: sfondo borgogna con pattern a puntini sottili */

/* === FONTS === */
@font-face{font-family:'Quicksand';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/quicksand-400.ttf') format('truetype')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/quicksand-500.ttf') format('truetype')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/quicksand-600.ttf') format('truetype')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/quicksand-700.ttf') format('truetype')}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/pt-sans-400.ttf') format('truetype')}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/pt-sans-700.ttf') format('truetype')}

/* === VARIABLES === */
:root {
  --bg:#FAFAF8;--card:#FFFFFF;--ink:#3B1A11;--green:#7C2D36;--green-light:#943640;
  --green-pale:#F9ECEC;--gold:#C4703B;--gold-light:#FBF0E8;--muted:#7A5C50;
  --border:#E8DDD6;--cream:#F5F0EB;
  --font-serif:'Quicksand','Nunito',sans-serif;
  --font-sans:'PT Sans','Segoe UI',sans-serif;
}
::selection{background:#7C2D36;color:#FAFAF8}

body{
  background:
    radial-gradient(at 15% 10%,rgba(124,45,54,.03) 0%,transparent 40%),
    radial-gradient(at 85% 90%,rgba(196,112,59,.04) 0%,transparent 40%),
    #FAFAF8;
  color:#3B1A11;font-family:'PT Sans',sans-serif;
}
h1,h2,h3,h4,h5,h6{font-family:'Quicksand',sans-serif!important;color:#3B1A11;font-weight:700;letter-spacing:-.01em}

/* === GLOBAL CARDS — Rounded with warm shadows === */
.svc-card,.review-card,.team-card,.offerta-card,.blog-card,.contact-card,.orari-card,.faq-item{
  border-radius:18px!important;
  border:none!important;
  background:#fff;
  box-shadow:0 6px 22px rgba(124,45,54,.08);
  transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.svc-card:hover,.review-card:hover,.team-card:hover,.offerta-card:hover,.blog-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 44px -12px rgba(124,45,54,.2);
  background:#FBF0E8;
}
.svc-card::after{display:none!important}

/* === Service grid — 2 COL HORIZONTAL CARDS (flex-row icon+content) === */
.svc-grid{
  grid-template-columns:1fr 1fr!important;
  gap:1.4rem!important;
}
.svc-card{
  padding:2rem 2.2rem!important;
  display:flex!important;flex-direction:row!important;
  align-items:flex-start!important;gap:1.4rem!important;text-align:left!important;
}
.svc-icon{
  flex-shrink:0!important;
  width:60px;height:60px;
  border-radius:18px!important;
  background:linear-gradient(135deg,#F9ECEC,#FBF0E8);
  color:#7C2D36;
  border:2px solid #C4703B;
}
.svc-card:hover .svc-icon{background:linear-gradient(135deg,#7C2D36,#943640);color:#FAFAF8;border-color:#7C2D36}
.svc-card h3{font-size:1.25rem!important;font-family:'Quicksand',sans-serif!important;color:#3B1A11;font-weight:700;margin-top:0}
.svc-card p{color:#7A5C50;font-size:.95rem;line-height:1.7}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr!important}}
@media(max-width:600px){.svc-card{flex-direction:column!important;text-align:center!important}}

/* === Buttons — Rounded with burgundy gradient === */
.btn-hero,.nav-cta,.filter-btn,.page-btn{border-radius:14px!important}
.btn-hero-primary{
  background:linear-gradient(135deg,#7C2D36,#943640)!important;
  color:#FAFAF8!important;padding:1rem 2.4rem!important;
  font-weight:700;font-size:.9rem;
  border:none;box-shadow:0 8px 20px -6px rgba(124,45,54,.4);
  letter-spacing:.02em;
}
.btn-hero-primary:hover{
  background:linear-gradient(135deg,#C4703B,#E88950)!important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px -6px rgba(196,112,59,.5);
}
.btn-hero-outline{
  border:2px solid #7C2D36!important;color:#7C2D36;
  padding:1rem 2.4rem!important;background:transparent;font-weight:700;font-size:.9rem;
}
.btn-hero-outline:hover{background:#7C2D36;color:#FAFAF8!important}

/* === Hero badge === */
.hero-badge{
  border-radius:50px;background:#F9ECEC;color:#7C2D36;
  padding:.5rem 1.3rem;letter-spacing:.08em;font-size:.78rem;font-weight:600;
  text-transform:uppercase;border:1px solid #7C2D36;
}
.hero-badge::before{background:#C4703B;width:6px;height:6px;border-radius:50%}

/* === Sections === */
.services,.orari,.reviews,.team,.contact,.gallery,.faq,.offerte-preview,.offerte-section,.turni-section,.booking-section,.blog-section{
  padding:6rem 2.5rem!important;background:transparent;
}
.reviews{background:#F5F0EB}

/* === Hero — CENTERED with VERTICAL FRAME LINES === */
.hero{
  padding:10rem 2.5rem 6rem!important;
  background:linear-gradient(180deg,#FAFAF8 0%,#F5F0EB 100%);
  position:relative;overflow:hidden;
}
/* Sbarrette laterali rimosse */
.hero-inner{
  grid-template-columns:1fr!important;
  max-width:900px!important;
  text-align:center;gap:2rem!important;
}
.hero-content{text-align:center;max-width:720px;margin:0 auto}
.hero-visual{display:none}
.hero-sub{margin:0 auto!important;text-align:center}
.hero-buttons{justify-content:center!important}
.hero-stats{justify-content:center!important}
.hero h1{
  font-size:clamp(3rem,6vw,5rem)!important;
  color:#3B1A11!important;
  font-family:'Quicksand',sans-serif!important;
  font-weight:700!important;line-height:1.05!important;
  letter-spacing:-.02em!important;
}
.hero h1 em{color:#7C2D36;font-style:italic;font-weight:500}
.hero .lead,.hero-sub{color:#7A5C50;font-weight:400;font-size:1.12rem}
.hero-stat-num{color:#7C2D36;font-size:2.4rem!important;font-family:'Quicksand',sans-serif!important;font-weight:700}
.hero-stat-label{color:#7A5C50;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}

/* === Section headings with diamond divider === */
.section-heading{
  font-size:clamp(2.2rem,4.5vw,3.4rem)!important;
  color:#3B1A11!important;
  font-family:'Quicksand',sans-serif!important;
  font-weight:700!important;line-height:1.1!important;
  letter-spacing:-.01em!important;
  position:relative;padding-top:1.8rem;
}
.section-heading::before{
  content:'';display:block;
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:80px;height:1px;background:#C4703B;
}
.section-heading::after{
  content:'';display:block;
  position:absolute;top:-4px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:8px;height:8px;background:#C4703B;
}
.section-heading em,.about-title em{color:#7C2D36;font-style:italic;font-weight:500}
.section-tag,.contact-tag{
  color:#C4703B!important;font-size:.76rem!important;
  letter-spacing:.18em!important;text-transform:uppercase!important;
  font-weight:700!important;font-family:'Quicksand',sans-serif!important;
}
.section-tag::before,.contact-tag::before{content:'';width:24px;height:2px;background:#7C2D36;border-radius:2px}

/* === Nav === */
.nav{background:rgba(250,250,248,.94)!important;backdrop-filter:blur(12px);border-bottom:1px solid #E8DDD6!important}
.nav-name,.nav .brand{color:#3B1A11!important;font-family:'Quicksand',sans-serif!important;font-weight:700}
.nav-links a:not(.nav-cta){color:#7A5C50!important;font-weight:600}
.nav-links a:not(.nav-cta):hover{color:#7C2D36!important}
.nav-cross::before,.nav-cross::after{background:#7C2D36}
.nav-cta{
  background:linear-gradient(135deg,#7C2D36,#943640)!important;
  color:#FAFAF8!important;
  font-size:.78rem!important;padding:.7rem 1.6rem!important;
  border-radius:14px!important;font-weight:700;
  box-shadow:0 6px 16px -4px rgba(124,45,54,.35);
}
.nav-cta:hover{transform:translateY(-1px)}
.nav.scrolled{background:rgba(250,250,248,.98);box-shadow:0 4px 24px rgba(124,45,54,.08)}
.mobile-overlay{background:#3B1A11}
.mobile-overlay a{color:#F9ECEC}
.mobile-overlay a:hover{color:#C4703B}

/* === About — Burgundy with subtle dot pattern === */
.about{
  background:
    radial-gradient(circle,#FAFAF8 1px,transparent 1.5px) 0 0 / 20px 20px,
    linear-gradient(135deg,#7C2D36,#5B1F27)!important;
  background-blend-mode:soft-light,normal;
  color:#F5F0EB!important;border-radius:0;
  padding:7rem 3rem!important;
}
.about::before,.about::after{border-color:rgba(196,112,59,.2)!important}
.about h1,.about h2,.about h3,.about-title{color:#FAFAF8!important}
.about-title em{color:#C4703B;font-style:italic}
.about-stat-num{color:#C4703B;font-family:'Quicksand',sans-serif;font-weight:700}
.about-quote{border-color:#C4703B;color:#F9ECEC;border-left-width:4px}
.about-values li{color:#F9ECEC}
.about-values li::before{background:#C4703B;border-radius:50%}

/* === Reviews === */
.review-card{padding:2.4rem 2rem!important;text-align:center}
.review-stars{color:#C4703B;font-size:1.15rem;letter-spacing:.25em}
.review-author{color:#7C2D36;font-weight:700;font-family:'Quicksand',sans-serif}
.review-text{color:#5A3D33;font-style:italic;font-size:1rem;line-height:1.75}

/* === Team === */
.team-photo{
  border-radius:50%!important;
  width:140px!important;height:140px!important;
  border:5px solid #FBF0E8;
  box-shadow:0 10px 28px rgba(124,45,54,.15);
}
.team-card:hover .team-photo{border-color:#C4703B}
.team-card{text-align:center;padding:2.2rem 1.6rem!important}
.team-role{color:#C4703B;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.team-name{font-family:'Quicksand',sans-serif;color:#3B1A11;font-size:1.32rem;font-weight:700}

/* === Gallery === */
.gallery-grid{gap:1rem!important}
.gallery-grid img,.gallery-grid a{
  border-radius:18px!important;
  border:3px solid #fff;
  box-shadow:0 10px 28px rgba(124,45,54,.1);
  transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.gallery-grid img:hover,.gallery-grid a:hover{
  transform:scale(1.03);
  box-shadow:0 18px 40px rgba(124,45,54,.2);
  border-color:#C4703B;
}

/* === Offerte — "cartellino prezzo" style === */
.offerta-badge{
  background:linear-gradient(135deg,#C4703B,#E88950);
  color:#FAFAF8;border-radius:0;
  padding:.5rem 1.2rem .5rem .8rem;
  font-weight:700;font-size:.75rem;
  clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%);
  text-transform:uppercase;letter-spacing:.1em;
}
.offerta-scadenza{color:#7C2D36;font-weight:600}
.offerta-title{font-family:'Quicksand',sans-serif;color:#3B1A11;font-weight:700}

/* === Blog === */
.cat-news,.cat-offerta,.cat-blog{
  background:#F9ECEC;color:#7C2D36;
  border-radius:14px;padding:.3rem .9rem;
  font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
}
.cat-offerta{background:#FBF0E8;color:#C4703B}
.blog-card h3{font-family:'Quicksand',sans-serif;color:#3B1A11;font-weight:700}

/* === Contact === */
.contact{background:#F5F0EB}
.contact-card{background:#fff}
.contact-card a{color:#3B1A11}
.contact-card a:hover{color:#7C2D36}

/* === Footer === */
.site-footer{
  background:linear-gradient(135deg,#3B1A11,#2B0F0A)!important;
  color:#F9ECEC;
  border-top:4px solid #C4703B;padding-top:5rem!important;
}
.site-footer a{color:#F9ECEC}
.site-footer a:hover{color:#C4703B}
.footer-logo{color:#C4703B;font-family:'Quicksand',sans-serif;font-weight:700}
.footer-cross::before,.footer-cross::after{background:#C4703B}
.footer-col h4{color:#FAFAF8;font-family:'Quicksand',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.86rem}
.footer-bottom{border-top:1px solid rgba(196,112,59,.2)}
.footer-bottom a{color:#C4703B}

/* === FAQ === */
.faq-item{background:#fff;border:none;box-shadow:0 4px 18px rgba(124,45,54,.06);border-radius:18px!important;margin-bottom:1rem}
.faq-item.open{box-shadow:0 8px 28px rgba(124,45,54,.15);background:linear-gradient(135deg,#fff,#FBF0E8)}
.faq-item.open .faq-question{color:#7C2D36}
.faq-question{font-family:'Quicksand',sans-serif;color:#3B1A11;font-weight:700}

/* === Turni === */
.turni-day.today{outline-color:#C4703B;outline-width:3px}
.turni-event{border-left-color:#7C2D36;border-radius:14px}

/* === Forms === */
.booking-form input,.booking-form textarea,.booking-form select{
  border-radius:14px!important;border:2px solid #E8DDD6!important;background:#fff;
  padding:.9rem 1.2rem;font-family:'PT Sans',sans-serif;
}
.booking-form input:focus,.booking-form textarea:focus{
  border-color:#7C2D36;outline:none;
  box-shadow:0 0 0 4px rgba(124,45,54,.08);
}
.booking-form label{color:#7C2D36;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}

/* === Brands === */
.brands{border-color:#E8DDD6;background:#F5F0EB}

/* === Filter / Pagination === */
.filter-btn{border:2px solid #E8DDD6;background:#fff;color:#7A5C50;border-radius:14px;font-weight:600}
.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,#7C2D36,#943640);color:#FAFAF8;border-color:transparent}
.page-btn{border:2px solid #E8DDD6;border-radius:12px;background:#fff}
.page-btn.active,.page-btn:hover{background:#7C2D36;color:#FAFAF8;border-color:#7C2D36}

/* === Cookie === */
.cookie-banner{background:#3B1A11;color:#F9ECEC;border-top:3px solid #C4703B}
.cookie-banner button{background:linear-gradient(135deg,#7C2D36,#943640);color:#FAFAF8;border-radius:14px;font-weight:700}
.cookie-banner button:hover{background:linear-gradient(135deg,#C4703B,#E88950)}

/* === Links === */
a{color:#7C2D36;transition:color .2s}
a:hover{color:#C4703B}

/* === Mobile === */
@media(max-width:768px){
  .hero{padding:8rem 1.5rem 3rem!important}
  .hero::before,.hero::after{display:none}
  .services,.orari,.reviews,.team,.contact,.faq,.about{padding:4rem 1.5rem!important}
}
