
:root{
  --brand:#111;
  --accent:#1f7a3a;        /* Verde Italia */
  --accent2:#c62828;       /* Rosso Italia */
  --accent3:#f4f1ea;       /* Panna */
  --gold:#b08d57;          /* Oro elegante */
  --soft:#fbfaf7;
  --line:#ece8df;
  --ink:#161616;
  --shadow:0 14px 40px rgba(0,0,0,.08);
}
html,body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
a{color:inherit}
.small-muted{color:#6b7280;font-weight:600;font-size:.9rem}
.shadow-soft{box-shadow:0 14px 40px rgba(0,0,0,.08)!important}
.round-xl{border-radius:18px!important}
.round-lg{border-radius:14px!important}
.bg-soft{background:var(--soft)!important}
.border-line{border-color:var(--line)!important}
.topbar{background:#0b0b0b;color:#fff;font-size:13px;}
.topbar a{color:#fff}
.topbar .badge-pill{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18)}
.navbar-qf{
  position:sticky;top:0;z-index:1030;
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.navbar-qf .form-control{border-radius:999px;}
.btn-pill{border-radius:999px!important;font-weight:800}
.btn-brand{background:var(--brand);color:#fff;border:1px solid rgba(0,0,0,.12)}
.btn-brand:hover{color:#fff;filter:brightness(.98)}
.badge-accent{background:rgba(42,122,59,.12);border:1px solid rgba(42,122,59,.25);color:var(--accent);font-weight:800}
.badge-soft{background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.08);color:#111;font-weight:800}
.catnav{background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);}
.catnav .nav-link{
  white-space:nowrap;border:1px solid var(--line);border-radius:999px;margin-right:.5rem;
  background:#fff;font-weight:800;font-size:.8rem;box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.catnav .nav-link.active{background:rgba(42,122,59,.10);border-color:rgba(42,122,59,.3);}
.hero{background:linear-gradient(180deg,#ffffff 0%,#fbfbfa 60%,#ffffff 100%);}
.hero-card{border:1px solid var(--line);background:#fff}
.product-card{border:1px solid var(--line)}
.product-card .card-img-top{
  background:
    radial-gradient(circle at 20% 10%, rgba(42,122,59,.12), transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(185,28,28,.10), transparent 55%),
    linear-gradient(180deg, #fff, #f6f6f5);
  height:180px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.product-card .card-img-top img{max-width:150px}
.footer{background:#0d0d0d;color:#fff;}
.footer a{color:rgba(255,255,255,.86);font-weight:700}
.footer a:hover{color:#fff;text-decoration:underline}


/* Italian style */
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 10%, rgba(31,122,58,.06), transparent 40%),
    radial-gradient(circle at 90% 20%, rgba(198,40,40,.06), transparent 44%),
    linear-gradient(180deg, #ffffff, var(--soft));
}
h1,h2,h3,h4,h5,.navbar-brand{
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing:-.02em;
}
.navbar-qf{
  border-bottom:1px solid var(--line);
}
.navbar-qf:after{
  content:"";
  position:absolute;left:0;right:0;bottom:-1px;height:4px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent) 33.3%, #ffffff 33.3%, #ffffff 66.6%, var(--accent2) 66.6%, var(--accent2) 100%);
  opacity:.9;
}
.btn-brand{
  background:linear-gradient(180deg, #111, #0d0d0d);
  color:#fff;border:1px solid rgba(0,0,0,.12);
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.btn-brand:hover{color:#fff;transform:translateY(-1px)}
.badge-accent{
  background:rgba(31,122,58,.12);
  border:1px solid rgba(31,122,58,.25);
  color:var(--accent);
}
.badge-soft{
  background:rgba(0,0,0,.05);
  border:1px solid rgba(0,0,0,.08);
}
.hero{
  position:relative;
  background:
    radial-gradient(circle at 25% 15%, rgba(176,141,87,.10), transparent 48%),
    radial-gradient(circle at 75% 20%, rgba(31,122,58,.10), transparent 52%),
    linear-gradient(180deg,#ffffff 0%,#fbfaf7 60%,#ffffff 100%);
}
.hero:before{
  content:"";
  position:absolute;inset:0;
  background-image:
    radial-gradient(rgba(0,0,0,.05) 1px, transparent 1px);
  background-size:18px 18px;
  opacity:.14;
  pointer-events:none;
}
.hero .container{position:relative}
.product-card{
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  transition:transform .15s ease, box-shadow .15s ease;
}
.product-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 50px rgba(0,0,0,.10);
}
.product-card .card-img-top{
  background:
    radial-gradient(circle at 20% 10%, rgba(31,122,58,.12), transparent 52%),
    radial-gradient(circle at 80% 30%, rgba(198,40,40,.10), transparent 56%),
    linear-gradient(180deg, #fff, #f7f4ee);
}
.footer{
  background:
    linear-gradient(180deg,#0d0d0d 0%, #0b0b0b 100%);
}
.footer:before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg, var(--accent), #ffffff, var(--accent2));
  opacity:.95;
}

/* Slider / Carousel */
.hero-carousel{padding-top:18px;padding-bottom:6px;background:transparent}
.hero-carousel .carousel-inner{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.hero-carousel .carousel-indicators li{background:#111;opacity:.25}
.hero-carousel .carousel-indicators .active{opacity:.65}
.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{width:52px}
.hero-carousel .carousel-control-prev-icon,.hero-carousel .carousel-control-next-icon{
  filter:invert(1);
  background-color:rgba(0,0,0,.55);
  border-radius:999px;
  background-size:50%,50%;
  padding:18px;
}

/* Carousel with real HTML overlay */
.hero-slide{
  min-height: 420px;
  background-size: cover;
  background-position: center;
  border-radius: 22px;
  position: relative;
}
.hero-overlay{
  position:absolute; inset:0;
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.hero-panel{
  background: rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 26px;
  max-width: 760px;
}
.hero-title{
  margin:0 0 6px 0;
  font-weight:800;
  font-size: clamp(28px, 4vw, 56px);
  line-height:1.05;
}
.hero-sub{
  margin:0 0 16px 0;
  color:#4b5563;
  font-weight:600;
  font-size: clamp(14px, 1.8vw, 18px);
}
.hero-sidecard{
  background: rgba(255,255,255,.70);
  border:1px solid var(--line);
  border-radius: 26px;
  padding: 20px 22px;
  align-items:center;
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  min-width: 270px;
}
.hero-sideicon{
  width:56px;height:56px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(31,122,58,.16), rgba(198,40,40,.12));
  border:1px solid rgba(0,0,0,.06);
  margin-right:14px;
  font-size: 22px;
}
.hero-sidetxt .small-muted{font-size:.82rem}
@media (max-width: 575.98px){
  .hero-overlay{padding:14px}
  .hero-panel{padding:18px}
  .hero-slide{min-height: 360px}
}

/* Italy tricolor background (subtle but visible) */
.italy-bg{
  background:
    linear-gradient(90deg,
      rgba(31,122,58,.16) 0%,
      rgba(31,122,58,.10) 18%,
      rgba(255,255,255,.80) 50%,
      rgba(198,40,40,.10) 82%,
      rgba(198,40,40,.16) 100%
    );
}
body{
  background:
    linear-gradient(90deg,
      rgba(31,122,58,.10) 0%,
      rgba(31,122,58,.06) 18%,
      rgba(255,255,255,.92) 50%,
      rgba(198,40,40,.06) 82%,
      rgba(198,40,40,.10) 100%
    ),
    radial-gradient(circle at 12% 18%, rgba(31,122,58,.10), transparent 48%),
    radial-gradient(circle at 88% 22%, rgba(198,40,40,.10), transparent 52%),
    linear-gradient(180deg,#ffffff, var(--soft));
}
.hero-carousel{
  position:relative;
}
.hero-carousel:before{
  content:"";
  position:absolute;
  inset:-14px 0 -10px 0;
  background:
    linear-gradient(90deg,
      rgba(31,122,58,.18) 0%,
      rgba(255,255,255,.70) 50%,
      rgba(198,40,40,.18) 100%
    );
  filter: blur(18px);
  opacity:.55;
  pointer-events:none;
}
