/* ============================================================
   FORMAGGI & LATTICINI — stile coerente con il catalogo TREVANI
   ============================================================ */

:root {
  /* Palette dedicata formaggi (toni crema/oro) */
  --cat-alpe-ticino: linear-gradient(135deg, #FFF1C9, #F0CC6E);
  --cat-dop-italia: linear-gradient(135deg, #FFE3B8, #E8A552);
  --cat-svizzeri: linear-gradient(135deg, #FBE2C2, #D49B5F);
  --cat-freschi: linear-gradient(135deg, #FBF8EE, #E8DDC4);
  --cat-bio-splugen: linear-gradient(135deg, #DDEDD3, #88A78F);
}

/* --- HERO formaggi --- */
.form-hero {
  background: linear-gradient(135deg, #F5EDD9 0%, #E8D9B3 100%);
  padding: 64px 0 56px;
  position: relative;
  overflow: hidden;
}
.form-hero::before {
  content: ""; position: absolute; right: -100px; top: -80px;
  width: 360px; height: 360px; border-radius: 50%;
  background: radial-gradient(circle, rgba(240,204,110,0.4) 0%, transparent 70%);
  pointer-events: none;
}
.form-hero::after {
  content: "🧀"; position: absolute; right: 80px; bottom: -40px;
  font-size: 220px; opacity: 0.10; transform: rotate(-12deg);
  pointer-events: none;
}
.form-hero-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 56px; align-items: center;
  position: relative; z-index: 1;
}
.form-hero-text .section-eyebrow { text-align: left; color: #8B6914; }
.form-hero-title {
  font-family: var(--font-serif); font-size: 54px; font-weight: 500;
  line-height: 1.06; color: var(--green-darker); margin: 12px 0 22px;
}
.form-hero-title em { font-style: italic; color: #8B6914; }
.form-hero-lead {
  font-size: 17px; line-height: 1.65; color: var(--ink);
  max-width: 600px; margin-bottom: 36px;
}
.form-hero-stats {
  display: flex; gap: 16px; flex-wrap: wrap;
}
.form-hero-stats .stat-block {
  background: rgba(255,255,255,0.85); 
  backdrop-filter: blur(6px);
  border-color: rgba(139,105,20,0.18);
  padding: 14px 18px; min-width: 110px;
}
.form-hero-stats .stat-num { font-size: 34px; color: #6B4A12; }

.form-hero-card {
  background: var(--green-darker); color: white;
  border-radius: 18px; padding: 32px 30px;
  box-shadow: 0 14px 36px rgba(42,63,49,0.18);
}
.form-hero-card h3 {
  font-family: var(--font-serif); font-size: 22px; font-weight: 500;
  color: #F3D9A8; margin-bottom: 16px;
}
.form-hero-card p {
  font-size: 14.5px; line-height: 1.65;
  color: rgba(255,255,255,0.92); margin-bottom: 14px;
}
.form-hero-card p strong { color: #F3D9A8; font-weight: 600; }
.form-hero-card-meta {
  display: flex; flex-direction: column; gap: 6px;
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 14px; margin-top: 6px;
}
.form-hero-card-meta span {
  font-size: 13px; color: rgba(255,255,255,0.78);
}

/* --- CARD FORMAGGIO: backgrounds per categoria --- */
.formaggio-emoji-wrap.cat-alpe-ticino { background: var(--cat-alpe-ticino); }
.formaggio-emoji-wrap.cat-dop-italia  { background: var(--cat-dop-italia); }
.formaggio-emoji-wrap.cat-svizzeri    { background: var(--cat-svizzeri); }
.formaggio-emoji-wrap.cat-freschi     { background: var(--cat-freschi); }
.formaggio-emoji-wrap.cat-bio-splugen { background: var(--cat-bio-splugen); }

.formaggio-emoji-wrap {
  position: relative;
}

/* --- BADGE DOP / BIO / STG --- */
.badge-dop {
  position: absolute; top: 12px; right: 12px;
  background: var(--terracotta);
  color: white;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: 0.12em;
  padding: 5px 10px;
  border-radius: 100px;
  box-shadow: 0 4px 10px rgba(201,123,91,0.4);
  text-transform: uppercase;
}
.badge-bio {
  background: var(--green-dark);
  box-shadow: 0 4px 10px rgba(61,90,69,0.4);
}
.badge-stg {
  background: #5C6660;
  box-shadow: 0 4px 10px rgba(92,102,96,0.4);
}

/* --- TERRITORIO --- */
.formaggio-territorio {
  font-size: 12.5px;
  color: var(--ink-soft);
  margin-bottom: 14px;
  padding: 6px 10px;
  background: var(--green-bg);
  border-radius: 8px;
  border: 1px solid var(--line);
  display: inline-block;
  font-weight: 500;
}

/* --- LINK Google Maps --- */
.gmaps-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 8px 14px;
  background: linear-gradient(135deg, #E9EFEA, #C8D7CC);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  color: var(--green-darker);
  text-decoration: none;
  border: 1px solid var(--line);
  transition: all 0.15s ease;
  align-self: flex-start;
}
.gmaps-link:hover {
  background: var(--green-dark);
  color: white;
  border-color: var(--green-dark);
  transform: translateY(-1px);
}
.gmaps-link .gmaps-icon {
  font-size: 14px;
}

/* --- TAGLIERE SECTION --- */
.form-tagliere {
  background: var(--green-darker);
  color: white;
  padding: 80px 24px;
}
.form-tagliere-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.form-tagliere .section-eyebrow {
  color: #F3D9A8;
}
.form-tagliere .section-title {
  color: white;
  margin-bottom: 18px;
}
.form-tagliere .section-title em {
  color: #F3D9A8;
}
.form-tagliere p {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,0.88);
  margin-bottom: 30px;
}
.form-tagliere-buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
  .form-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .form-hero-title { font-size: 38px; }
  .form-hero-stats .stat-block { padding: 12px 14px; min-width: 90px; }
  .form-tagliere { padding: 56px 24px; }
}
@media (max-width: 560px) {
  .form-hero { padding: 40px 0 36px; }
  .form-hero-title { font-size: 30px; }
  .form-hero::after { font-size: 140px; right: 0; }
  .badge-dop { font-size: 9.5px; padding: 4px 8px; top: 8px; right: 8px; }
}
