/* ============================================
   Frigogel Friuli — Custom Theme
   Bootstrap 5 + custom overrides
   ============================================ */

:root {
  --fg-primary:       #00b7e2;
  --fg-primary-hover: #00a3ce;
  --fg-primary-muted: #ebf9fe;
  --fg-dark:          #333333;
  --fg-secondary:     #666666;
  --fg-border:        #f0f0f0;
  --fg-bg-light:      #f6f6f6;
}

/* ---- Bootstrap color overrides ---- */
.btn-primary {
  --bs-btn-bg:              var(--fg-primary);
  --bs-btn-border-color:    var(--fg-primary);
  --bs-btn-hover-bg:        var(--fg-primary-hover);
  --bs-btn-hover-border-color: var(--fg-primary-hover);
  --bs-btn-active-bg:       var(--fg-primary-hover);
}
.btn-outline-primary {
  --bs-btn-color:            var(--fg-primary);
  --bs-btn-border-color:     var(--fg-primary);
  --bs-btn-hover-bg:         var(--fg-primary);
  --bs-btn-hover-border-color: var(--fg-primary);
}
.bg-primary  { background-color: var(--fg-primary) !important; }
.text-primary { color: var(--fg-primary) !important; }
.border-primary { border-color: var(--fg-primary) !important; }
a { color: var(--fg-primary); }
a:hover { color: var(--fg-primary-hover); }

/* ---- Navbar ---- */
.navbar .nav-link        { color: #4c5867; font-weight: 500; }
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--fg-primary); }
.dropdown-item:hover,
.dropdown-item.active {
  background-color: var(--fg-primary);
  color: #fff;
}

/* ---- Topbar ---- */
.topbar {
  font-size: .85rem;
  background-color: var(--fg-primary-muted) !important;
  color: var(--fg-dark);
}
.topbar a { color: var(--fg-secondary); }
.topbar a:hover { color: var(--fg-primary) !important; }
.lang-btn { color: var(--fg-secondary) !important; }
.lang-btn.fw-bold { color: var(--fg-primary) !important; }

/* ---- Hero ---- */
.hero h1 { text-shadow: 0 1px 4px rgba(0,0,0,.4); }

/* ---- Product cards ---- */
.product-card {
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
}
.product-card-img-wrapper {
  position: relative;
  overflow: hidden;
  height: 220px;
}
.product-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.product-card:hover .product-card-img-wrapper img { transform: scale(1.04); }
.product-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,183,226,0);
  transition: background .3s ease;
}
.product-card:hover .product-card-overlay { background: rgba(0,183,226,.1); }

/* Product category landing cards */
.product-category-card { transition: transform .2s ease, box-shadow .2s ease; }
.product-category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,.10) !important;
}

/* ---- Article cards ---- */
.card .card-title a { color: var(--fg-dark); }
.card .card-title a:hover { color: var(--fg-primary); }

/* ---- Pagination ---- */
.pagination .page-link { color: var(--fg-primary); }
.pagination .page-item.active .page-link {
  background-color: var(--fg-primary);
  border-color: var(--fg-primary);
}

/* ---- Breadcrumb ---- */
.breadcrumb-item a { color: var(--fg-primary); text-decoration: none; }
.breadcrumb-item a:hover { color: var(--fg-primary-hover); }

/* ---- Footer ---- */
.footer a { color: rgba(255,255,255,.7); text-decoration: none; }
.footer a:hover { color: var(--fg-primary); }
.footer h5::first-letter { color: var(--fg-primary); }

/* ---- Content text ---- */
.content-text h2,
.content-text h3 { color: var(--fg-dark); margin-top: 1.5rem; }
.content-text blockquote {
  border-left: 4px solid var(--fg-primary);
  padding-left: 1rem;
  color: var(--fg-secondary);
  font-style: italic;
}
.content-text img { max-width: 100%; height: auto; border-radius: .375rem; }
.content-text figure { text-align: center; margin: 1.5rem 0; }

/* ---- Badge ---- */
.badge.bg-primary { background-color: var(--fg-primary) !important; }


/* ---- Service cards ---- */
.service-card { transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.10) !important; }

/* ---- p-lg-6 spacing ---- */
.p-lg-6 { padding: 4rem !important; }
@media (max-width: 991px) { .p-lg-6 { padding: 2.5rem !important; } }

/* ---- Responsive tweaks ---- */
@media (max-width: 768px) {
  .hero { min-height: 420px !important; }
  .hero h1 { font-size: 1.5rem; }
}

/* ---- Azienda page images ---- */
.azienda-header-logo { text-align: center; margin-bottom: 2rem; }
.azienda-header-logo img { max-width: 400px; width: 100%; height: auto; }
.azienda-loghi { text-align: center; margin-top: 2rem; }
.azienda-loghi img { max-width: 100%; height: auto; }
