@charset "UTF-8";
/* =========================
   Palette & Typography
========================= */
/* active */
/* hover on active / accent */
/* =========================
   Base
========================= */
html {
  scroll-behavior: smooth;
}
body {
  width: 100%;
  height: 100%;
}
h1, h2, h3, h4, h5, h6 {
  color: #3e3e3e;
}
#main {
  padding: clamp(3rem, 5vw, 5rem) 0;
}
legend {
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}
label {
  font-size: 12px;
  font-weight: normal;
}
button:focus {
  outline: none !important;
}
#container {
  min-height: 100dvh;
  /* copre tutta l’altezza visibile */
  display: flex;
  flex-direction: column;
  position: static !important;
  /* override dei vecchi hack */
  margin-bottom: 0 !important;
}
#container > main {
  flex: 1 1 auto;
}
/* Il footer resta sotto, senza essere fixed */
#container > footer {
  margin-top: auto;
  position: static;
  z-index: auto;
}
/* Rimuovi vecchi “spessori” ereditati */
#content, #column-left, #column-right {
  padding-bottom: 0 !important;
}
.menu-container {
  background-color: #FFFFFF;
}
@media (min-width: 576px) {
  #content, #column-left, #column-right {
    padding-bottom: 400px;
  }
}
/* =========================
   Alerts — Palette FBC
   Compatibile con scssphp
========================= */
#alert {
  position: fixed;
  z-index: 9999;
  top: 28%;
  left: 50%;
  width: min(92vw, 620px);
  transform: translateX(-50%);
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  pointer-events: none;
}
#alert .alert {
  position: relative;
  margin-bottom: 15px;
  padding: 18px 52px 18px 22px;
  border-radius: 14px;
  border: 1px solid transparent;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #3e3e3e;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
  pointer-events: auto;
}
#alert .alert i {
  margin-right: 8px;
}
#alert .alert .btn-close {
  opacity: 0.62;
}
#alert .alert .btn-close:hover {
  opacity: 1;
}
/* Success — premium review/message style */
#alert .alert-success {
  background-color: #f7f4ec;
  border-color: rgba(207, 175, 92, 0.35);
  border-left: 4px solid #cfaf5c;
  color: #2f2b20;
}
#alert .alert-success i {
  color: #cfaf5c;
}
/* Other alert states */
#alert .alert-primary {
  background-color: #A8B59E;
  color: #f9f7f4;
  box-shadow: 0 0 0 5px rgba(168, 181, 158, 0.15);
}
#alert .alert-secondary {
  background-color: #8E9986;
  color: #f9f7f4;
  box-shadow: 0 0 0 5px rgba(142, 153, 134, 0.15);
}
#alert .alert-warning {
  background-color: #f8faf5;
  color: #3e3e3e;
  box-shadow: 0 0 0 5px rgba(247, 249, 244, 0.4);
}
#alert .alert-danger {
  background-color: #b86b57;
  color: #f9f7f4;
  box-shadow: 0 0 0 5px rgba(184, 107, 87, 0.15);
}
#alert .alert-info {
  background-color: #a0b8c5;
  color: #f9f7f4;
  box-shadow: 0 0 0 5px rgba(160, 184, 197, 0.15);
}
#alert .alert-light {
  background-color: #f9f7f4;
  color: #3e3e3e;
  box-shadow: 0 0 0 5px rgba(249, 247, 244, 0.4);
}
#alert .alert-dark {
  background-color: #3e3e3e;
  color: #f9f7f4;
  box-shadow: 0 0 0 5px rgba(62, 62, 62, 0.15);
}
/* Link visibility inside alerts */
#alert .alert a {
  color: #1c4d2a;
  font-weight: 700;
  text-decoration: underline;
}
#alert .alert a:hover {
  color: #14381f;
}
@media (max-width: 575.98px) {
  #alert {
    top: 18%;
    width: calc(100vw - 28px);
  }
  #alert .alert {
    padding: 16px 46px 16px 18px;
    font-size: 0.9rem;
  }
}
/* =========================
   Top bar
========================= */
#top {
  background-color: #4f5338;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 0 !important;
  position: relative;
  padding: 4px 0;
  color: #f7f9f4;
}
#top .container, #top .container-fluid {
  max-width: none;
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;
}
#top .topbar-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  min-height: 28px;
}
#top .topbar-left {
  justify-self: start;
  text-align: left;
}
#top .topbar-center {
  justify-self: center;
  text-align: center;
}
#top .topbar-right {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  text-align: right;
}
#top .topbar-company {
  display: flex;
  align-items: center;
  gap: 6px;
}
#top .topbar-left, #top .topbar-center, #top .topbar-right {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #f7f9f4;
  white-space: nowrap;
}
#top .topbar-left i, #top .topbar-center i, #top .topbar-right i {
  margin-right: 6px;
  color: #f7f9f4 !important;
}
#top .topbar-left span, #top .topbar-center span, #top .topbar-right span {
  color: #f7f9f4 !important;
}
#top .fbc-topbar-language {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 2px;
  font-family: "Inter", sans-serif;
}
#top .fbc-topbar-language a {
  color: rgba(247, 249, 244, 0.68);
  text-decoration: none;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.25s ease;
}
#top .fbc-topbar-language a:hover {
  color: #d6b36a;
}
#top .fbc-topbar-language a.active {
  color: #ffffff;
  font-weight: 400;
}
#top .fbc-topbar-language span {
  color: rgba(247, 249, 244, 0.35) !important;
  font-size: 11px;
  line-height: 1;
}
/* Mobile */
@media (max-width: 991.98px) {
  #top .topbar-inner {
    grid-template-columns: 1fr auto;
    gap: 10px;
  }
  #top .topbar-center {
    display: none !important;
  }
  #top .topbar-left {
    justify-self: start;
  }
  #top .topbar-right {
    justify-self: end;
    gap: 0;
  }
  #top .topbar-company {
    display: none;
  }
  #top .topbar-left, #top .topbar-right {
    font-size: 0.72rem;
    white-space: normal;
  }
  #top .fbc-topbar-language {
    gap: 7px;
  }
  #top .fbc-topbar-language a {
    font-size: 11px;
    letter-spacing: 0.1em;
  }
}
/* =========================
   Search
========================= */
#search {
  margin-bottom: 10px;
}
#search .form-control-lg {
  height: 40px;
  font-size: 12px;
  line-height: 20px;
  padding: 0 10px;
}
#search .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 0.57rem 35px;
  text-shadow: 0 1px 0 #FFF;
}
/* =========================
   Navbar menu centred
========================= */
.navbar-collapse {
  flex-grow: 0 !important;
  justify-content: center !important;
}
.navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 28px;
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 auto !important;
}
.navbar-nav .nav-item {
  list-style: none !important;
}
.navbar .menu {
  white-space: nowrap;
  letter-spacing: 0.08em;
  font-weight: 400;
}
.cart-container {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
}
#cart .btn {
  font-size: 14px;
  opacity: 0.85;
}
/* =========================
   Menu
========================= */
#menu {
  background-color: #f7f9f4;
  background-image: none;
  border: 0px;
  min-height: 40px;
  border-radius: 4px;
  padding: 0 1rem;
}
#menu, .menu-wrapper {
  background-color: #FFFFFF;
  justify-content: center;
}
/* blocco menu centrato e 8 per riga su desktop */
#menu .navbar-collapse {
  width: 100%;
}
#menu .navbar-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 16px 24px;
  width: 100%;
  margin: 0 auto;
  padding: 10px 0;
}
#menu .navbar-nav > li {
  text-align: center;
}
/* Aggiornamento menu-cat-img con transizioni */
.menu-cat-img {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin: 0 auto 8px;
  transition: transform 0.35s ease, filter 0.35s ease;
}
/* Hover su link categoria */
#menu .navbar-nav > li > a {
  display: block;
  text-align: center;
  color: #1f2a1a;
  transition: color 0.3s ease, transform 0.3s ease;
}
#menu .navbar-nav > li > a:hover {
  color: #2f3a2a;
}
#menu .navbar-nav > li > a:hover .menu-cat-img {
  transform: scale(1.05);
  filter: brightness(1.1);
}
/* 8 per riga su desktop largo */
@media (min-width: 1200px) {
  #menu .navbar-nav {
    flex-wrap: nowrap;
  }
  #menu .navbar-nav > li {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  #menu .navbar-nav > li > a {
    display: block;
  }
}
/* link principali */
#menu .navbar-nav > li > a {
  color: #1f2a1a;
  text-shadow: none;
  padding: 10px 12px;
  background-color: transparent;
}
/* immagini categoria sopra al testo (100x100) */
.menu-cat-img {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin: 0 auto 8px;
}
/* dropdown */
#menu .dropdown-menu {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#menu .dropdown-inner {
  display: flex;
  flex-direction: column;
}
#menu .dropdown-inner ul {
  width: 100%;
  min-width: 200px;
}
@media (min-width: 960px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
  #menu .dropdown-inner {
    flex-direction: row;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-2 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -600px;
  }
}
/* =========================
   Page container (category)
========================= */
.category-container {
  background-color: #f9f7f4;
  padding: 0px;
  /* respiro ai contenuti */
  margin: 0 !important;
}
/* =========================
   FBC Home Hero
========================= */
.fbc-hero {
  position: relative;
  min-height: 620px;
  background-image: url("/image/catalog/home/fbc-hero-products.webp");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}
.fbc-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.62) 32%, rgba(0, 0, 0, 0.25) 58%, rgba(0, 0, 0, 0.05) 100%);
  z-index: 1;
}
.fbc-hero-content {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin-left: 6vw;
  padding: 70px 20px;
  color: #f7f1e6;
}
.fbc-hero-kicker {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d6b36a;
  margin-bottom: 18px;
}
.fbc-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 1.05;
  font-weight: 400;
  margin: 0 0 24px;
  color: #f7f1e6;
}
.fbc-hero h1 em, .fbc-hero .accent {
  color: #a8b56f;
  font-style: normal;
}
.fbc-hero-subtitle {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.55;
  max-width: 520px;
  color: rgba(247, 241, 230, 0.92);
  margin-bottom: 30px;
}
.fbc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 34px;
}
.fbc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  padding: 14px 24px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 0;
  transition: all 0.25s ease;
}
.fbc-btn-primary {
  background: #606445;
  border: 1px solid #606445;
  color: #f7f1e6 !important;
}
.fbc-btn-primary:hover {
  background: #d6b36a;
  border-color: #d6b36a;
  color: #111 !important;
}
.fbc-btn-outline {
  background: transparent;
  border: 1px solid rgba(247, 241, 230, 0.7);
  color: #f7f1e6 !important;
}
.fbc-btn-outline:hover {
  background: rgba(247, 241, 230, 0.12);
  border-color: #d6b36a;
  color: #d6b36a !important;
}
.fbc-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(247, 241, 230, 0.88);
}
.fbc-hero-points span::before {
  content: "•";
  color: #d6b36a;
  margin-right: 8px;
}
/* Tablet */
@media (max-width: 991.98px) {
  .fbc-hero {
    min-height: 560px;
    background-position: 68% center;
  }
  .fbc-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 55%, rgba(0, 0, 0, 0.22) 100%);
  }
  .fbc-hero-content {
    margin-left: 4vw;
    max-width: 560px;
  }
}
/* Mobile */
@media (max-width: 575.98px) {
  .fbc-hero {
    min-height: 640px;
    background-position: 72% center;
    align-items: flex-end;
  }
  .fbc-hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.55) 35%, rgba(0, 0, 0, 0.86) 100%);
  }
  .fbc-hero-content {
    margin-left: 0;
    padding: 40px 22px 46px;
    max-width: 100%;
  }
  .fbc-hero-kicker {
    font-size: 0.75rem;
  }
  .fbc-hero h1 {
    font-size: 2.45rem;
  }
  .fbc-hero-actions {
    flex-direction: column;
  }
  .fbc-btn {
    width: 100%;
  }
  .fbc-hero-points {
    gap: 10px;
    font-size: 0.72rem;
  }
}
/* =========================
   Home products section
========================= */
.fbc-product-panel-bg {
  transition: transform 0.45s ease, box-shadow 0.45s ease, background-color 0.45s ease;
  will-change: transform;
}
.fbc-product-panel-bg:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
  background-color: #f9f5ed;
}
.fbc-home-products {
  background: #f7f1e6;
  padding: 64px 0 56px;
}
.fbc-section-heading {
  text-align: center;
  margin-bottom: 38px;
}
.fbc-section-heading h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #2c2c2c;
  margin: 0;
}
.fbc-section-heading .fbc-heading-ornament {
  color: #b99b5f;
  font-size: 1.2rem;
  margin-top: 8px;
}
.fbc-product-panel-bg {
  position: relative;
  aspect-ratio: 1.4624860022;
  min-height: 446px;
  padding: 40px 34px 28px;
  background-color: #f7f1e6;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.fbc-panel-oil {
  background-image: url("/image/catalog/home/panel-oil.webp");
}
.fbc-panel-vinegar {
  background-image: url("/image/catalog/home/panel-vinegar.webp");
}
.fbc-product-panel-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(247, 241, 230, 0.96) 0%, rgba(247, 241, 230, 0.88) 38%, rgba(247, 241, 230, 0.22) 68%, rgba(247, 241, 230, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
.fbc-product-copy {
  position: relative;
  z-index: 2;
  width: 60%;
  height: 100%;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fbc-product-copy h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 2.25vw, 2.45rem);
  font-weight: 400;
  line-height: 1.12;
  text-transform: uppercase;
  color: #2c2c2c;
  margin: 0 0 18px;
}
.fbc-product-copy p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0 0 20px;
  max-width: 420px;
}
/* Certificazioni olio */
.fbc-certifications {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 4px 0 18px;
}
.fbc-cert-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fbc-cert-dop {
  width: 72px;
  height: auto;
  display: block;
}
.fbc-cert-icea {
  width: 92px;
  height: auto;
  display: block;
}
/* Bullet points olio */
.fbc-oil-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 34px;
}
.fbc-oil-bullets li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.92rem;
  line-height: 1.35;
  color: #4a4a4a;
  letter-spacing: 0.02em;
}
.fbc-oil-bullets li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #606445;
  font-size: 1.1rem;
  line-height: 1;
}
/* Icone aceto */
.fbc-feature-icons {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin: 8px 0 20px;
}
.fbc-feature-item {
  width: 86px;
  text-align: center;
}
.fbc-feature-item img {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
  margin: 0 auto 10px;
  opacity: 0.9;
}
.fbc-feature-item span {
  display: block;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.72rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #5a4a35;
}
.fbc-product-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #606445;
  border: 1px solid #606445;
  color: #f7f1e6 !important;
  padding: 13px 24px;
  min-width: 170px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.86rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}
.fbc-product-btn:hover {
  background: #d6b36a;
  border-color: #d6b36a;
  color: #111 !important;
}
.fbc-product-btn.dark {
  background: #2c2118;
  border-color: #2c2118;
}
.fbc-product-btn.dark:hover {
  background: #d6b36a;
  border-color: #d6b36a;
  color: #111 !important;
}
/* Tablet / Mobile */
@media (max-width: 991.98px) {
  .fbc-home-products {
    padding: 48px 0 42px;
  }
  .fbc-product-panel-bg {
    aspect-ratio: auto;
    min-height: 560px;
    padding: 40px 34px 28px;
    background-size: cover;
    background-position: center bottom;
  }
  .fbc-product-panel-bg::before {
    background: linear-gradient(180deg, rgba(247, 241, 230, 0.98) 0%, rgba(247, 241, 230, 0.9) 48%, rgba(247, 241, 230, 0.35) 78%, rgba(247, 241, 230, 0) 100%);
  }
  .fbc-product-copy {
    width: 100%;
    max-width: 420px;
    min-height: auto;
    text-align: center;
    align-items: center;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .fbc-product-copy h3 {
    font-size: clamp(1.7rem, 8vw, 2.3rem);
  }
  .fbc-product-copy p {
    font-size: 1rem;
  }
  .fbc-certifications, .fbc-feature-icons {
    justify-content: center;
  }
  .fbc-oil-bullets {
    text-align: left;
  }
  .fbc-product-btn {
    margin-top: auto;
  }
}
.fbc-panel-vinegar .fbc-feature-item img {
  height: 42px;
}
/* =========================
   Our land / promise section
========================= */
.fbc-land-promise {
  position: relative;
  min-height: 360px;
  background-image: url("/image/catalog/home/fbc-land-promise.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
/* Overlay unico su tutta la larghezza */
.fbc-land-promise::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14, 14, 12, 0.18) 0%, rgba(14, 14, 12, 0.35) 38%, rgba(14, 14, 12, 0.78) 58%, rgba(14, 14, 12, 0.98) 72%, #0e0e0c 100%);
  z-index: 1;
}
/* Light boost sulla zona uliveto */
.fbc-land-promise::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(circle at 32% 42%, rgba(255, 214, 140, 0.075) 0%, rgba(255, 214, 140, 0.045) 22%, rgba(255, 214, 140, 0.015) 42%, rgba(255, 214, 140, 0) 62%);
  pointer-events: none;
}
.fbc-land-image {
  display: none;
}
.fbc-land-content {
  position: relative;
  z-index: 2;
  width: 44%;
  min-height: 360px;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px 8vw 64px 64px;
  color: #f7f1e6;
  background: transparent;
}
.fbc-land-content .fbc-land-kicker {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d6b36a;
  margin: 0 0 14px;
}
.fbc-land-content h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  font-weight: 400;
  line-height: 1.05;
  text-transform: uppercase;
  color: #f7f1e6;
  margin: 0 0 24px;
}
.fbc-land-content p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(247, 241, 230, 0.86);
  max-width: 520px;
  margin: 0 0 30px;
}
.fbc-land-btn {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  background: #606445;
  border: 1px solid #606445;
  color: #f7f1e6 !important;
  padding: 13px 24px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.fbc-land-btn:hover {
  background: #d6b36a;
  border-color: #d6b36a;
  color: #111 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}
@media (max-width: 991.98px) {
  .fbc-land-promise {
    min-height: auto;
    background-position: center;
  }
  .fbc-land-promise::before {
    background: linear-gradient(180deg, rgba(14, 14, 12, 0.45) 0%, rgba(14, 14, 12, 0.92) 55%, #0e0e0c 100%);
  }
  .fbc-land-content {
    width: 100%;
    min-height: 420px;
    margin-left: 0;
    padding: 56px 24px;
    text-align: center;
    align-items: center;
  }
}
/* =========================
   Brand values section
========================= */
.fbc-brand-values {
  background: #f7f1e6;
  padding: 76px 0;
  border-top: 1px solid rgba(182, 150, 92, 0.16);
  border-bottom: 1px solid rgba(182, 150, 92, 0.16);
}
.fbc-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.fbc-value-card {
  position: relative;
  min-height: 220px;
  padding: 34px 26px 30px;
  text-align: center;
  background: rgba(255, 250, 240, 0.42);
  border: 1px solid rgba(96, 100, 69, 0.14);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.035);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.fbc-value-card img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
  margin: 0 auto 22px;
  opacity: 0.82;
}
.fbc-value-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  line-height: 1.18;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  color: #3e3e3e;
  margin: 0 0 12px;
}
.fbc-value-card p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.94rem;
  line-height: 1.55;
  color: #5f5a50;
  margin: 0 auto;
  max-width: 210px;
}
.fbc-value-card:hover {
  transform: translateY(-4px);
  border-color: rgba(182, 150, 92, 0.34);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.07);
}
@media (max-width: 991.98px) {
  .fbc-brand-values {
    padding: 54px 0;
  }
  .fbc-values-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .fbc-value-card {
    min-height: 210px;
    padding: 28px 18px;
  }
  .fbc-value-card img {
    width: 62px;
    height: 62px;
  }
}
@media (max-width: 575.98px) {
  .fbc-values-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================
   Trust / reviews section
========================= */
.fbc-trust-section {
  background: #0e0e0c;
  padding: 70px 0;
  border-top: 1px solid rgba(214, 179, 106, 0.35);
  border-bottom: 1px solid rgba(214, 179, 106, 0.25);
}
.fbc-trust-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr 1fr;
  gap: 48px;
  align-items: center;
}
.fbc-review-card {
  color: #f7f1e6;
}
.fbc-review-card .fbc-review-text {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2vw, 1.9rem);
  line-height: 1.35;
  margin: 0 0 18px;
}
.fbc-review-card .fbc-stars {
  color: #d6b36a;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}
.fbc-review-card .fbc-review-author {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.86rem;
  color: rgba(247, 241, 230, 0.72);
  margin: 0;
}
.fbc-brand-seal {
  text-align: center;
  color: #d6b36a;
}
.fbc-brand-seal img {
  width: 150px;
  max-width: 100%;
  margin-bottom: 16px;
}
.fbc-brand-seal p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0;
}
/* ================= PRODUCT REVIEW FORM - EDITORIAL HORIZONTAL ================= */
.fbc-product-reviews {
  background: #f7f4ec;
  padding: 42px clamp(28px, 4vw, 64px) !important;
}
.fbc-product-reviews .fbc-review-form {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.fbc-review-heading {
  text-align: center;
  margin-bottom: 22px;
}
.fbc-review-existing, .fbc-review-empty {
  margin-bottom: 10px;
  color: rgba(47, 43, 32, 0.68);
  font-size: 14px;
}
.fbc-review-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2vw, 36px);
  font-weight: 400;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #25231d;
}
.fbc-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(280px, 0.8fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: start;
  width: 100%;
}
.fbc-review-left {
  min-width: 0;
}
.fbc-review-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.fbc-review-field {
  margin-bottom: 18px;
}
.fbc-review-field label, .fbc-review-rating > span {
  display: block;
  margin-bottom: 8px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 18px;
  letter-spacing: 0.12em;
  color: #2f2b20;
}
.fbc-review-field input.form-control, .fbc-review-field textarea.form-control, .fbc-review-captcha input.form-control {
  width: 100%;
  border-radius: 0;
  border: 1px solid rgba(47, 43, 32, 0.38);
  background: #fffdf8;
  color: #2f2b20;
  box-shadow: none;
}
.fbc-review-field input.form-control {
  min-height: 42px;
}
.fbc-review-field textarea.form-control {
  min-height: 118px;
  resize: vertical;
}
.fbc-review-rating {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 6px;
}
.fbc-rating-stars {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.fbc-rating-stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.fbc-rating-stars label {
  cursor: pointer;
  font-size: 38px;
  line-height: 1;
  color: #4d493e;
  transition: color 0.18s ease, transform 0.18s ease;
}
.fbc-rating-stars label.is-selected {
  color: #cfaf5c;
}
.fbc-rating-stars label:hover, .fbc-rating-stars label:hover ~ label {
  color: #cfaf5c;
}
.fbc-rating-stars input:checked + label {
  color: #cfaf5c;
}
.fbc-review-right {
  padding-top: 0px;
}
.fbc-review-captcha {
  width: 100%;
}
.fbc-review-captcha legend, .fbc-review-captcha h2, .fbc-review-captcha h3 {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  color: #2f2b20;
}
.fbc-review-captcha label, .fbc-review-captcha .form-label, .fbc-review-captcha .col-form-label {
  display: block;
  margin-bottom: 8px;
  color: rgba(47, 43, 32, 0.78);
  font-size: 14px;
  font-weight: 400;
}
.fbc-review-captcha input.form-control {
  max-width: 100%;
  min-height: 42px;
  margin-bottom: 12px;
}
.fbc-review-captcha img {
  display: block;
  max-height: 48px;
  width: auto;
  margin: 8px 0 22px;
}
.fbc-review-submit {
  width: 100%;
  min-height: 58px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #e2c875, #cfaf5c);
  color: #312713;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fbc-review-submit:hover {
  filter: brightness(1.04);
}
@media (max-width: 991.98px) {
  .fbc-review-layout {
    grid-template-columns: 1fr;
  }
  .fbc-review-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575.98px) {
  .fbc-product-reviews {
    padding: 34px 18px !important;
  }
  .fbc-review-heading h2 {
    font-size: 30px;
  }
  .fbc-review-rating {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.fbc-review-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  max-width: 1180px;
  margin: 0 auto 36px;
}
.fbc-review-item {
  padding: 20px 18px;
  background: rgba(255, 250, 242, 0.72);
  border: 1px solid rgba(88, 76, 52, 0.14);
  text-align: center;
}
.fbc-review-item__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  color: #2f2b20;
}
.fbc-review-item__meta strong {
  font-weight: 700;
}
.fbc-review-item__meta span {
  font-size: 12px;
  opacity: 0.7;
}
.fbc-review-item__rating {
  color: #cfaf5c;
  margin-bottom: 10px;
  letter-spacing: 0.08em;
}
.fbc-review-item p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(47, 43, 32, 0.78);
}
@media (max-width: 991.98px) {
  .fbc-review-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fbc-review-list {
    grid-template-columns: 1fr;
  }
}
/* =========================
   Home newsletter section
========================= */
.fbc-home-newsletter {
  background: #0e0e0c;
  padding: 42px 0 52px;
  text-align: center;
  color: #f7f1e6;
}
.fbc-newsletter-inner {
  max-width: 720px;
  margin: 0 auto;
}
.fbc-newsletter-inner h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
}
.fbc-newsletter-inner p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.95rem;
  color: rgba(247, 241, 230, 0.75);
  margin: 0 0 22px;
}
.fbc-newsletter-form {
  display: flex;
  max-width: 560px;
  margin: 0 auto;
}
.fbc-newsletter-form input {
  flex: 1;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(214, 179, 106, 0.35);
  background: #f7f1e6;
  color: #111;
  font-size: 0.95rem;
}
.fbc-newsletter-form button {
  padding: 14px 26px;
  border: 1px solid #606445;
  background: #606445;
  color: #f7f1e6;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.84rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.fbc-newsletter-form button:hover {
  background: #d6b36a;
  border-color: #d6b36a;
  color: #111;
}
/* =========================
   Service strip section
========================= */
.fbc-service-strip {
  background: #0e0e0c;
  padding: 34px 0 44px;
  border-top: 1px solid rgba(214, 179, 106, 0.18);
}
.fbc-service-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #f7f1e6;
}
.fbc-service-item img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  opacity: 0.75;
}
.fbc-service-item h3 {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #d6b36a;
  margin: 0 0 4px;
}
.fbc-service-item p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.84rem;
  color: rgba(247, 241, 230, 0.72);
  margin: 0;
}
/* Mobile */
@media (max-width: 991.98px) {
  .fbc-brand-values {
    padding: 52px 0;
  }
  .fbc-value-item {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .fbc-trust-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 34px;
  }
  .fbc-newsletter-form {
    flex-direction: column;
    gap: 10px;
  }
  .fbc-service-item {
    flex-direction: column;
    text-align: center;
  }
}
/* =========================
   Category title (legacy)
========================= */
#category {
  float: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 40px;
  color: #1f2a1a;
  text-shadow: none;
}
#menu .navbar-toggler i {
  color: #1f2a1a;
  border-color: #1f2a1a;
  font-size: 0.9em;
}
/* required */
label:has(+ div *[required]):before, label.required:before, label:has(+ input:required):before, label:has(+ select:required):before, label:has(+ textarea:required):before {
  content: "* ";
  color: red;
  font-weight: bold;
}
/* form switches / tabs */
.form-switch-lg {
  font-size: 20px;
  min-height: 30px;
  line-height: 30px;
}
.nav-tabs {
  margin-bottom: 15px;
}
.form-check .form-check-input {
  margin-top: 0.25rem;
}
@media (min-width: 768px) {
  .col-form-label {
    text-align: right;
  }
}
/* =========================
   Category page refinements
========================= */
/* Titolo categoria */
#product-category h1 {
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 2.6rem;
  color: #3e3e3e;
  margin-bottom: 1rem;
}
/* Rimuovere sfondo e bordo dalle immagini categoria */
#product-category .img-thumbnail {
  background-color: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
/* Testo descrizione categoria più leggibile */
#product-category .col-9 p {
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #3e3e3e;
}
/* =========================
   Footer premium
========================= */
.fbc-footer {
  background: #0a0a09;
  color: #f7f1e6;
  padding: 76px 0 28px;
  border-top: 1px solid rgba(214, 179, 106, 0.22);
}
.fbc-footer-main {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1.1fr;
  gap: 48px;
  align-items: start;
}
.fbc-footer-brand img {
  width: 170px;
  height: auto;
  margin-bottom: 24px;
}
.fbc-footer-brand .fbc-footer-vat {
  margin-top: 12px;
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: rgba(247, 241, 230, 0.46);
}
.fbc-footer-brand p {
  max-width: 280px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  line-height: 1.55;
  color: rgba(247, 241, 230, 0.78);
  margin: 0;
}
.fbc-footer-col h3 {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d6b36a;
  margin: 0 0 22px;
}
.fbc-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fbc-footer-col li {
  margin-bottom: 11px;
}
.fbc-footer-col a {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.95rem;
  color: rgba(247, 241, 230, 0.72);
  text-decoration: none;
  transition: color 0.25s ease, padding-left 0.25s ease;
}
.fbc-footer-col a:hover {
  color: #d6b36a;
  padding-left: 4px;
}
.fbc-footer-col p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(247, 241, 230, 0.72);
  margin: 0 0 20px;
}
.fbc-footer-social {
  display: flex;
  gap: 14px;
}
.fbc-footer-social a {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(214, 179, 106, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f7f1e6;
  transition: all 0.3s ease;
}
.fbc-footer-social a:hover {
  background: #d6b36a;
  color: #111;
  padding-left: 0;
  border-color: #d6b36a;
  transform: translateY(-2px);
}
.fbc-footer-bottom {
  margin-top: 58px;
  padding-top: 22px;
  border-top: 1px solid rgba(247, 241, 230, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.fbc-footer-bottom p {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.82rem;
  color: rgba(247, 241, 230, 0.52);
  margin: 0;
}
.fbc-footer-legal {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fbc-footer-legal a, .fbc-footer-legal span {
  font-family: "Futura PT", Arial, sans-serif;
  font-size: 0.82rem;
  color: rgba(247, 241, 230, 0.52);
  text-decoration: none;
}
.fbc-footer-legal a:hover {
  color: #d6b36a;
}
@media (max-width: 991.98px) {
  .fbc-footer {
    padding: 58px 0 26px;
  }
  .fbc-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 38px 28px;
  }
  .fbc-footer-brand {
    grid-column: 1 / -1;
    text-align: center;
  }
  .fbc-footer-brand img {
    margin-left: auto;
    margin-right: auto;
  }
  .fbc-footer-brand p {
    margin-left: auto;
    margin-right: auto;
  }
  .fbc-footer-bottom {
    flex-direction: column;
    text-align: center;
    margin-top: 44px;
  }
}
@media (max-width: 575.98px) {
  .fbc-footer-main {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .fbc-footer-social {
    justify-content: center;
  }
}
/* =========================
   Breadcrumb – minimal
========================= */
.breadcrumb {
  margin: 0 0 15px 0;
  padding: 4px 0;
  background: none;
  border: none;
  border-radius: 0;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #6c757d;
}
.breadcrumb i {
  font-size: 13px;
}
.breadcrumb > li.breadcrumb-item {
  padding: 0;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.breadcrumb > li.breadcrumb-item > a {
  text-decoration: none;
  color: #6c757d;
  transition: color 0.2s ease-in-out;
}
.breadcrumb > li.breadcrumb-item > a:hover {
  color: #3e3e3e;
}
.breadcrumb > li.breadcrumb-item + li::before {
  content: "›";
  color: #b3b3b3;
  padding: 0 0.7rem;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
/* =========================
   Buttons & Controls – palette FBC
========================= */
/* Primario in salvia */
.btn-primary {
  background-color: #A8B59E;
  border-color: #A0AC96;
  /* approx darken($col-sage-1, 5%) */
  color: #f9f7f4;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #8E9986;
  border-color: #87917F;
  /* approx darken($col-sage-2, 5%) */
  color: #f9f7f4;
}
.btn-primary:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(168, 181, 158, 0.35);
}
.btn-primary:active {
  background-color: #87917F;
  /* approx darken($col-sage-2, 5%) */
  border-color: #808A79;
  /* approx darken($col-sage-2, 10%) */
}
/* Neutro elegante per bottoni “light” (List/Grid) */
.btn-light {
  background-color: #f7f9f4;
  border-color: rgba(62, 62, 62, 0.12);
  color: #3e3e3e;
}
.btn-light:hover {
  background-color: #F8FAF5;
  /* hover soft coerente con palette */
  color: #3e3e3e;
}
.btn-light:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(168, 181, 158, 0.25);
}
.btn-light.active, .btn-light[aria-pressed="true"] {
  background-color: #f9f7f4;
  border-color: #A8B59E;
  color: #3e3e3e;
  box-shadow: inset 0 0 0 1px #A8B59E;
}
/* Gruppo toggle List/Grid: stato attivo più leggibile */
#button-list.active i, #button-grid.active i {
  filter: none;
  opacity: 1;
}
/* Sort By / Show – input group */
#product-category .input-group-text {
  background-color: #f7f9f4;
  color: #3e3e3e;
  border-color: rgba(62, 62, 62, 0.12);
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
#product-category .form-select {
  background-color: #fff;
  color: #3e3e3e;
  border-color: rgba(62, 62, 62, 0.18);
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  /* freccia salvia (compatibile scssphp) */
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238E9986' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
#product-category .form-select:hover {
  border-color: #A8B59E;
}
#product-category .form-select:focus {
  border-color: #A8B59E;
  box-shadow: 0 0 0 0.25rem rgba(168, 181, 158, 0.25);
}
/* Tooltip Bootstrap in palette */
.tooltip-inner {
  background-color: #3e3e3e;
  color: #f9f7f4;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before, .bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #3e3e3e;
}
/* =========================
   Product cards
========================= */
.product-thumb {
  border: 1px solid #ddd;
  position: relative;
  height: 100%;
}
.product-thumb .image {
  text-align: center;
  background: #FFFFFF;
}
.product-thumb .image a:hover {
  opacity: 0.8;
}
.product-thumb .description {
  padding: 15px;
  margin-bottom: 45px;
}
.product-thumb .description h4 {
  font-weight: 700;
}
/* Titoli prodotto: base grigio scuro + hover salvia */
.product-thumb .description h4, .product-thumb .description h4 a {
  color: #3e3e3e;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  text-decoration: none;
  transition: color 0.2s ease;
}
.product-thumb .description h4 a:hover {
  color: #8E9986;
  text-decoration: none;
}
.product-thumb .button {
  display: flex;
  position: absolute;
  width: 100%;
  bottom: 0;
}
.product-thumb .button button {
  width: 33.33%;
  border: none;
  border-top: 1px solid var(--bs-border-color);
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-gray-600);
  line-height: 38px;
  text-align: center;
}
.product-thumb .button button:hover {
  color: var(--bs-gray-600);
  background-color: #ddd;
  text-decoration: none;
  cursor: pointer;
}
.product-thumb .button button + button {
  border-left: 1px solid var(--bs-border-color);
}
@media (min-width: 960px) {
  .product-list .product-thumb {
    display: flex;
  }
  .product-list .product-thumb .image {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .product-list .product-thumb .content {
    flex-direction: column;
    flex: 75%;
    position: relative;
  }
  .product-list .product-thumb .button {
    border-left: 1px solid #ddd;
    width: calc(100% -  15px);
    margin-left: 15px;
  }
}
.rating .fa-stack {
  width: 20px;
}
.rating .fa-star {
  color: #FC0;
  font-size: 15px;
}
.rating .fa-star + .fa-star {
  color: #E69500;
}
/* product list */
.price {
  color: #3e3e3e;
}
.price-new {
  font-weight: 400;
}
.price-old {
  color: #b86b57;
  text-decoration: line-through;
}
.price-tax {
  color: #999;
  font-size: 12px;
  display: block;
}
/* =========================
   Blog cards
========================= */
.blog-thumb {
  border: 1px solid #ddd;
  margin-bottom: 15px;
}
.blog-thumb h4 {
  font-weight: bold;
}
.blog-thumb .image {
  text-align: center;
  margin-bottom: 15px;
}
.blog-thumb .image a:hover {
  opacity: 0.8;
}
.blog-thumb .description {
  padding: 15px;
}
/* =========================
   Cookie bar
========================= */
#cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  opacity: 0.95;
  color: #ecf0f1;
  background: #343a40;
}
#cookie div {
  font-size: 16px;
  color: #FFFFFF;
}
/* =========================
   LEFT SIDEBAR – Category list
   Elegant: no outer border, only row separators, FuturaPT
========================= */
#column-left {
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
#column-left .list-group {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-bottom: 1.25rem;
  /* compensa la padding-left .ps-3 sui link (≈1rem) */
}
#column-left .list-group .list-group-item {
  background: transparent;
  border: 0;
  /* rimuove i bordi bootstrap */
  border-radius: 0;
  border-top: 1px solid rgba(62, 62, 62, 0.08);
  /* solo divisorio tra righe */
  color: #3e3e3e;
  padding: 0.6rem 0;
  /* aria verticale, laterali a filo */
  display: block;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  /* nasconde l'animazione che entra da sinistra */
  z-index: 0;
  transition: color 180ms ease;
  /* pannello che entra "da fuori" */
  /* niente linea sopra la prima */
  /* Hover: solo il pannello ::before entra */
  /* Attivo: sfondo pieno salvia, testo chiaro */
}
#column-left .list-group .list-group-item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1rem;
  width: calc(100% + 1rem);
  background-color: #f7f9f4;
  /* hover bg */
  transform: translateX(-100%);
  transform-origin: left center;
  transition: transform 220ms ease;
  will-change: transform;
  z-index: -1;
  /* dietro al testo */
  border-radius: 0;
}
#column-left .list-group .list-group-item:first-child {
  border-top: 0;
}
#column-left .list-group .list-group-item:hover {
  color: #3e3e3e;
  text-decoration: none;
}
#column-left .list-group .list-group-item:hover::before {
  transform: translateX(0);
}
#column-left .list-group .list-group-item:focus, #column-left .list-group .list-group-item:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(168, 181, 158, 0.25);
  /* sage soft */
}
#column-left .list-group .list-group-item.active {
  color: #f9f7f4;
  /* testo chiaro */
  font-weight: 400;
  border-top-color: transparent;
  /* sfondo tramite pannello per coerenza con animazione */
}
#column-left .list-group .list-group-item.active::before {
  background-color: #A8B59E;
  transform: translateX(0);
}
#column-left .list-group .list-group-item.active:hover::before {
  background-color: #8E9986;
}
/* opzionale: leggero padding destro su md+ per respiro */
@media (min-width: 768px) {
  #column-left {
    padding-right: 0rem;
  }
}
/* =========================
   Pagination (coerenza palette)
========================= */
.pagination .page-link {
  color: #3e3e3e;
  border-color: rgba(62, 62, 62, 0.12);
}
.pagination .page-link:hover {
  color: #3e3e3e;
  background-color: #f7f9f4;
  border-color: #A8B59E;
}
.pagination .page-item.active .page-link {
  background-color: #A8B59E;
  border-color: #A8B59E;
  color: #f9f7f4;
}
/* =========================
   Choices.js – reset dimensioni + solo hover personalizzato
========================= */
.choices {
  margin: 0;
}
.choices, .choices__inner, .choices__list--single, .choices__list--dropdown {
  font: inherit;
}
/* Contenitore visivo del select */
.choices__inner {
  min-height: auto;
  padding: 0;
  background: inherit;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}
/* Padding come .form-select Bootstrap */
.choices[data-type*="select-one"] .choices__inner {
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
}
/* Testo selezionato */
.choices__list--single {
  padding: 0;
}
.choices__list--single .choices__item {
  padding: 0;
  margin: 0;
}
/* Freccia (caret) */
.choices[data-type*="select-one"]::after {
  right: 0.75rem;
  margin-top: -0.125rem;
  border-color: currentColor transparent transparent;
}
/* Focus */
.choices.is-open .choices__inner, .choices.is-focused .choices__inner {
  border-color: var(--bs-border-color);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0);
  /* niente alone blu */
}
/* SOLO colore hover nel dropdown */
.choices__list--dropdown .choices__item--selectable:hover {
  background-color: #f7f9f4 !important;
  color: #3e3e3e !important;
}
/* === Sort By & Show (Choices.js) — dropdown più compatto === */
/* Font più piccolo SOLO nel menu a tendina, niente impatto sul selettore chiuso */
.oc-form-sort .choices__list--dropdown, .oc-form-limit .choices__list--dropdown {
  font-size: 0.875rem !important;
  /* ~14px su base 16 */
  line-height: 1.3;
}
/* Gli item ereditano la dimensione e restano su una riga */
.oc-form-sort .choices__list--dropdown .choices__item, .oc-form-limit .choices__list--dropdown .choices__item {
  font-size: inherit !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Evita a-capo forzati: lascia che il dropdown si allarghi al contenuto (con limite) */
.oc-form-sort .choices__list--dropdown, .oc-form-limit .choices__list--dropdown {
  min-width: max-content;
  max-width: 90vw;
  /* sicurezza su schermi piccoli */
}
/* Selettore SOLO di "Sort By" un filo più largo, senza toccare il padding */
@media (min-width: 992px) {
  /* ~216px, regola liberamente */
  .oc-form-sort .choices__inner {
    min-width: 13.5rem;
  }
}
/* Offset dell’anchor in base all’header sticky */
:root {
  scroll-padding-top: 70px;
}
@media (min-width: 768px) {
  :root {
    scroll-padding-top: 100px;
  }
}
@media (min-width: 1200px) {
  :root {
    scroll-padding-top: 120px;
  }
}
/* Nessuno smooth globale per evitare “saltelli” post-caricamento */
/* Niente freccette native dentro l'input number */
.quantity-selector__input[type=number]::-webkit-outer-spin-button, .quantity-selector__input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-selector__input[type=number] {
  -moz-appearance: textfield;
}
.link-inherit {
  font: inherit !important;
  color: #a8b59e !important;
  /* salvia chiaro */
  text-decoration: none !important;
  position: relative;
  transition: color 0.3s ease;
  /* transizione colore */
}
.link-inherit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  /* distanza underline dal testo */
  width: 0;
  height: 1px;
  /* spessore underline */
  background-color: currentColor;
  /* linea del colore del testo */
  transition: width 0.3s ease;
}
.link-inherit:hover {
  color: #495057 !important;
  /* grigio scuro su hover */
}
.link-inherit:hover::after {
  width: 100%;
  /* linea da sinistra a destra */
}
/* =========================
   Product Tabs — FBC Palette
========================= */
#product-info {
  /* attivo: testo scuro + underline piena in salvia */
  /* Tab content */
  /* Tipografia base dentro i tab */
  /* Tab: Specifiche tecniche (tabella) */
  /* Tab: Review — margini coerenti */
}
#product-info .nav-tabs {
  --_divider: rgba(62,62,62,.12);
  border-bottom: 1px solid var(--_divider);
  margin-bottom: 15px;
  gap: 0.25rem 0.75rem;
  background: transparent;
  /* mobile: scroll orizzontale pulito */
}
@media (max-width: 575.98px) {
  #product-info .nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #product-info .nav-tabs::-webkit-scrollbar {
    display: none;
  }
}
#product-info .nav-tabs .nav-item {
  /* opzionale: compattazione click target */
  display: flex;
  align-items: stretch;
}
#product-info .nav-tabs .nav-link {
  position: relative;
  border: 0 !important;
  /* niente bordi Bootstrap */
  border-radius: 0;
  /* look piatto/elegante */
  background: transparent;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 400;
  color: #6c757d;
  /* inattivo */
  padding: 0.5rem 0.25rem;
  /* compatto, la hitbox la fa l’item */
  transition: color 0.22s ease;
  /* underline animata 1px, left→right */
}
#product-info .nav-tabs .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  width: 0%;
  margin: 0 auto;
  background-color: currentColor;
  /* coeso con il testo */
  transition: width 0.22s ease;
}
#product-info .nav-tabs .nav-link:hover {
  color: #495057;
  /* richiesto */
}
#product-info .nav-tabs .nav-link:hover::after {
  width: 100%;
}
#product-info .nav-tabs .nav-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(168, 181, 158, 0.28);
  /* soft sage */
  border-radius: 0.25rem;
}
#product-info .nav-tabs .nav-link.active, #product-info .nav-tabs .nav-link.active:hover {
  color: #3e3e3e;
}
#product-info .nav-tabs .nav-link.active::after {
  width: 100%;
  background-color: #A8B59E;
}
#product-info .tab-content {
  padding-top: 0.75rem;
  color: #3e3e3e;
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
#product-info .tab-pane p, #product-info .tab-pane li {
  color: #3e3e3e;
}
#product-info .tab-pane a {
  text-decoration: none;
}
#product-info #tab-specification .table {
  --_divider: rgba(62,62,62,.12);
  border-color: var(--_divider);
}
#product-info #tab-specification .table th, #product-info #tab-specification .table td {
  border-color: var(--_divider);
}
#product-info #tab-specification .table thead td {
  background-color: #f7f9f4;
  color: #3e3e3e;
  font-weight: 400;
}
#product-info #tab-specification .table tbody tr:hover td {
  background-color: rgba(168, 181, 158, 0.08);
  /* leggerissimo highlight */
}
#product-info #tab-review {
  margin-bottom: 1rem;
}
/* Se vuoi un tab “pill” alternativo (toggle facile)
#product-info .nav-tabs.is-pill .nav-link {
  padding: .35rem .75rem;
  border-radius: 999px;
}
#product-info .nav-tabs.is-pill .nav-link.active {
  background: $col-cream-2;
  box-shadow: inset 0 0 0 1px $col-sage-1;
}
*/
/* =========================
   Product Description — stessa tipografia category description
========================= */
#product-info #tab-description p:not(:has(a.link-inherit)) {
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #3e3e3e;
}
/* ===== Trust Strip (Valori & Certificazioni) ===== */
.trust-strip {
  --bg: #FFFFFF;
  /* palette del tema */
  --fg: #3e3e3e;
  --fg-soft: #495057;
  --ring: #e6e9e1;
  --tile-bg: #fff;
  background: var(--bg);
  border-top: 1px solid var(--ring);
  padding: clamp(36px, 6vw, 56px) 0;
  /* ← raddoppiato rispetto a prima */
  color: var(--fg);
}
.trust-strip .container {
  /* opzionale se la tua .container ha già padding */
  padding-left: 12px;
  padding-right: 12px;
}
.trust-strip__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: clamp(12px, 2.5vw, 20px);
  align-items: stretch;
}
@media (min-width: 768px) {
  .trust-strip__list {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }
}
.trust-strip__item {
  display: flex;
}
/* Card icona+testo */
.badge-tile {
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: 12px;
  width: 100%;
  background: #f9f7f4;
  border: 1px solid var(--ring);
  border-radius: 16px;
  padding: 12px 14px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
@media (min-width: 992px) {
  .badge-tile {
    grid-template-columns: 64px 1fr;
    padding: 14px 16px;
  }
}
.badge-tile:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--fg) 10%, var(--ring));
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
/* Icona */
.badge-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--bg);
  color: var(--fg);
  /* usata dagli SVG inline */
  overflow: hidden;
}
.badge-icon img {
  width: 70%;
  height: 70%;
  object-fit: contain;
  display: block;
  filter: saturate(0.9) contrast(1);
}
/* Testo */
.badge-text {
  display: grid;
  gap: 2px;
  line-height: 1.2;
}
.badge-text strong {
  font-weight: 400;
  color: var(--fg);
  font-size: clamp(14px, 1.6vw, 15px);
  transition: color 0.2s ease;
}
.badge-text small {
  color: var(--fg-soft);
  font-size: 12px;
  opacity: 0.9;
}
/* Hover: coerenza con i tuoi link (cambio colore + eleganza) */
.badge-tile:hover .badge-text strong {
  color: var(--fg-soft);
}
/* Accessibilità: riduci motion */
@media (prefers-reduced-motion: reduce) {
  .badge-tile {
    transition: border-color 0.2s ease;
  }
  .badge-tile:hover {
    transform: none;
    box-shadow: none;
  }
}
/* Recipe modal (framework-agnostic) */
.recipe-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  z-index: 1050;
  transition: opacity 0.2s ease;
  opacity: 0;
  pointer-events: none;
}
.recipe-modal[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}
.recipe-modal__dialog {
  background: #fff;
  border-radius: 1rem;
  max-width: 680px;
  width: 100%;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.recipe-modal__dialog h3 {
  margin-bottom: 0.25rem;
}
.recipe-modal__dialog h4 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.recipe-modal__dialog p.text-muted {
  margin-bottom: 0.75rem;
}
.recipe-modal__dialog ul, .recipe-modal__dialog ol {
  padding-left: 1.25rem;
}
.recipe-modal__close {
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
  border: 0;
  background: transparent;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  color: #3e3e3e;
}
/* Stile bottone Print nel popup */
.recipe-modal__print {
  position: absolute;
  right: 3rem;
  top: 0.55rem;
  border: 0;
  background: transparent;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  color: #3e3e3e;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.recipe-modal__print i {
  font-size: 1rem;
}
.recipe-modal__print:hover {
  text-decoration: underline;
}
/* Stampa: mostra SOLO la ricetta aperta */
@media print {
  body * {
    visibility: hidden !important;
  }
  .recipe-modal[aria-hidden="false"], .recipe-modal[aria-hidden="false"] * {
    visibility: visible !important;
  }
  .recipe-modal[aria-hidden="false"] {
    position: static !important;
    inset: auto !important;
    background: none !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .recipe-modal__dialog {
    box-shadow: none !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
  }
  .recipe-modal__close, .recipe-modal__print {
    display: none !important;
  }
}
/* Nutrition block */
.recipe-nutrition {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 0.75rem;
  list-style: none;
  padding-left: 0;
  margin: 0.5rem 0 0;
}
.recipe-nutrition li {
  font-size: 0.95rem;
  color: #3e3e3e;
}
/* Piccola rifinitura titoli dentro modal */
.recipe-modal__dialog h4 {
  font-weight: 400;
}
.col.mb-3 > .product-thumb {
  background-color: transparent;
}
/* Category grid override */
@media (min-width: 768px) {
  .category-grid-menu .category-grid-row.row-cols-4 > .category-grid-item.col {
    width: 12.5%;
    flex: 0 0 auto;
    max-width: 12.5%;
  }
}
/* Category grid image sizing */
.category-grid-menu {
  /* Tablet & below */
  /* Phones very small */
}
.category-grid-menu .category-grid-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  display: block;
}
@media (max-width: 767.98px) {
  .category-grid-menu .category-grid-img {
    width: 60px;
    height: 60px;
  }
  .category-grid-menu .category-grid-title {
    font-size: 0.9rem;
    line-height: 1.1;
  }
}
@media (max-width: 575.98px) {
  .category-grid-menu .category-grid-img {
    width: 52px;
    height: 52px;
  }
}
/* =========================================================
   FBC PRODUCT PAGE PREMIUM / EDITORIAL
   Append after the existing theme SCSS.
========================================================= */
#main.fbc-product-page {
  padding: 0 !important;
  background: #fbf8f1;
  color: #2d2a22;
  overflow-x: hidden;
}
.fbc-product {
  font-family: "Futura PT", "FuturaPT", "Futura", "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: #fbf8f1;
}
.fbc-product .row {
  margin-left: 0;
  margin-right: 0;
}
.fbc-product #content {
  padding: 0 !important;
}
.fbc-product-breadcrumb-wrap {
  max-width: 1560px;
  margin: 0 auto;
  padding: 14px clamp(18px, 3vw, 54px);
  background: #fbf8f1;
}
.fbc-product-breadcrumb {
  margin: 0;
  font-size: 12px;
  color: rgba(45, 42, 34, 0.58);
}
.fbc-product-breadcrumb a {
  color: rgba(45, 42, 34, 0.68);
  text-decoration: none;
}
.fbc-product-breadcrumb a:hover {
  color: #4f5338;
}
/* ================= HERO =================
   L'immagine hero arriva dal Twig tramite:
   style="--fbc-product-hero-bg: url('...')"
   In backend: immagine aggiuntiva con Sort Order = 0.
================= */
.fbc-product-hero {
  position: relative;
  min-height: min(760px, calc(100vh - 120px));
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(430px, 0.96fr);
  align-items: center;
  gap: clamp(24px, 4vw, 72px);
  padding: clamp(34px, 5vw, 80px) clamp(18px, 5vw, 84px);
  color: #fff;
  isolation: isolate;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.58) 42%, rgba(0, 0, 0, 0.82) 100%), var(--fbc-product-hero-bg, linear-gradient(90deg, #030402 0%, #10150d 45%, #090b08 100%)) center center / cover no-repeat;
  background-attachment: scroll;
}
.fbc-product-hero.is-vinegar {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.52) 42%, rgba(0, 0, 0, 0.82) 100%), var(--fbc-product-hero-bg, linear-gradient(90deg, #040403 0%, #12120c 48%, #0a0805 100%)) center center / cover no-repeat;
}
.fbc-product-hero.is-oil {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.84) 0%, rgba(0, 0, 0, 0.56) 42%, rgba(0, 0, 0, 0.82) 100%), var(--fbc-product-hero-bg, linear-gradient(90deg, #030402 0%, #10150d 45%, #090b08 100%)) center center / cover no-repeat;
}
.fbc-product-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 22% 76%, rgba(217, 184, 95, 0.16), transparent 25%), radial-gradient(circle at 72% 16%, rgba(168, 181, 158, 0.12), transparent 28%), linear-gradient(180deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.35));
  pointer-events: none;
}
.fbc-product-hero.is-vinegar::before {
  background: radial-gradient(circle at 24% 72%, rgba(201, 104, 41, 0.22), transparent 27%), radial-gradient(circle at 78% 20%, rgba(217, 184, 95, 0.16), transparent 26%), linear-gradient(180deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.36));
}
.fbc-product-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32%;
  z-index: -1;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.88)), radial-gradient(ellipse at center, rgba(117, 70, 22, 0.28), transparent 64%);
  pointer-events: none;
}
.fbc-product-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.fbc-product-hero__gallery {
  position: relative;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  min-width: 0;
}
.fbc-product-thumbs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 2;
}
.fbc-thumb {
  width: 72px;
  height: 72px;
  padding: 3px;
  border: 1px solid rgba(217, 184, 95, 0.42);
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.fbc-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fbc-thumb.active, .fbc-thumb:hover {
  border-color: #d9b85f;
  background: rgba(217, 184, 95, 0.16);
  transform: translateX(3px);
}
.fbc-product-main-image {
  margin: 0;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  filter: drop-shadow(0 38px 45px rgba(0, 0, 0, 0.72));
}
.fbc-product-main-image a {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
.fbc-product-main-image img {
  max-width: min(88%, 560px);
  max-height: 650px;
  width: auto;
  height: auto;
  object-fit: contain;
  transform: translateY(10px);
}
.fbc-product-hero__content {
  position: relative;
  z-index: 2;
  max-width: 610px;
}
.fbc-product-kicker {
  margin-bottom: 12px;
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 400;
}
.fbc-product-title {
  margin: 0 0 8px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5.3vw, 82px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}
.fbc-product-subtitle {
  margin-bottom: 16px;
  color: #e7c978;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.18;
  font-weight: 400;
}
.fbc-product-intro {
  max-width: 520px;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.55;
}
/* ================= BUY CARD ================= */
.fbc-buy-card {
  border: 1px solid rgba(217, 184, 95, 0.52);
  background: rgba(9, 9, 6, 0.58);
  backdrop-filter: blur(10px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}
.fbc-buy-card__top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;
  padding: 24px 26px 18px;
}
.fbc-product-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fbc-product-price .price-new {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1;
  white-space: nowrap;
}
.fbc-product-price .price-old {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: line-through;
  font-size: 16px;
}
.fbc-product-price .fbc-tax-note {
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
}
.fbc-stock-note {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.88);
  border-left: 1px solid rgba(217, 184, 95, 0.28);
  padding-left: 20px;
}
.fbc-stock-note > span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #74a35a;
  box-shadow: 0 0 14px rgba(116, 163, 90, 0.7);
}
.fbc-stock-note strong {
  display: block;
  font-size: 13px;
}
.fbc-stock-note small {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
}
.fbc-product-options {
  padding: 0 26px 16px;
}
.fbc-option-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.fbc-option-row label {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 400;
}
.fbc-option-row .form-select, .fbc-option-row .form-control {
  min-height: 44px;
  border-radius: 0;
  border: 1px solid rgba(217, 184, 95, 0.34);
  background-color: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 13px;
}
.fbc-option-row .form-select option {
  color: #1f1b12;
}
.fbc-radio-options, .fbc-check-options {
  display: grid;
  gap: 8px;
}
.fbc-radio-options .form-check, .fbc-check-options .form-check {
  padding: 9px 12px 9px 36px;
  border: 1px solid rgba(217, 184, 95, 0.28);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}
.fbc-radio-options .form-check-label, .fbc-check-options .form-check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}
.fbc-radio-options img, .fbc-check-options img {
  object-fit: cover;
}
.fbc-buy-actions {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 16px;
  align-items: end;
  padding: 0 26px 24px;
}
.fbc-qty-wrap label {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 400;
}
.fbc-qty {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  height: 52px;
  border: 1px solid rgba(217, 184, 95, 0.36);
}
.fbc-qty button, .fbc-qty input {
  border: 0;
  background: transparent;
  color: #fff;
  text-align: center;
}
.fbc-qty button {
  font-size: 20px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.fbc-qty button:hover {
  background: rgba(217, 184, 95, 0.14);
}
.fbc-qty button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.fbc-qty input {
  width: 100%;
}
.fbc-add-cart {
  height: 52px;
  border: 0;
  background: linear-gradient(180deg, #e7c978, #d9b85f);
  color: #312713;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}
.fbc-add-cart:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 14px 28px rgba(217, 184, 95, 0.22);
}
.fbc-buy-card__services {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(217, 184, 95, 0.22);
}
.fbc-buy-card__services div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 72px;
  padding: 12px;
  color: rgba(255, 255, 255, 0.78);
  border-right: 1px solid rgba(217, 184, 95, 0.16);
  font-size: 12px;
  line-height: 1.35;
}
.fbc-buy-card__services div:last-child {
  border-right: 0;
}
.fbc-buy-card__services i {
  color: #d9b85f;
  font-size: 18px;
}
.fbc-secondary-actions {
  display: flex;
  gap: 9px;
  margin-top: 14px;
}
.fbc-secondary-actions button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(217, 184, 95, 0.38);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.78);
}
.fbc-secondary-actions button:hover {
  color: #d9b85f;
}
/* ================= STRIPS AND SECTIONS ================= */
.fbc-product-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: linear-gradient(90deg, #f8f4ec, #fffdf8, #f8f4ec);
  border-bottom: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-product-trust-strip article {
  min-height: 128px;
  padding: 26px 20px;
  text-align: center;
  border-right: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-product-trust-strip article:last-child {
  border-right: 0;
}
.fbc-product-trust-strip i {
  color: #9f8b61;
  font-size: 28px;
  margin-bottom: 12px;
}
.fbc-product-trust-strip h3 {
  margin: 0 0 8px;
  color: #5b563f;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.fbc-product-trust-strip p {
  margin: 0 auto;
  max-width: 230px;
  color: #635d4e;
  font-size: 13px;
  line-height: 1.45;
}
.fbc-product-dark-section {
  min-height: 300px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 5vw, 80px);
  align-items: center;
  padding: clamp(46px, 6vw, 86px) clamp(24px, 6vw, 96px);
  background: radial-gradient(circle at 48% 42%, rgba(217, 184, 95, 0.14), transparent 18%), linear-gradient(90deg, #070908 0%, #12170f 54%, #050605 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.fbc-product-dark-section::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 40%;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.35));
  pointer-events: none;
}
.fbc-product-dark-section h2, .fbc-product-dark-section h3 {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
.fbc-product-dark-section h2 {
  font-size: clamp(31px, 3vw, 46px);
  margin: 0 0 18px;
}
.fbc-product-dark-section h3 {
  font-size: clamp(22px, 2vw, 30px);
  margin: 0 0 10px;
}
.fbc-product-dark-section p, .fbc-product-dark-section li {
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  line-height: 1.7;
}
.fbc-product-dark-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fbc-product-dark-section li {
  margin: 8px 0;
  padding-left: 28px;
  position: relative;
}
.fbc-product-dark-section li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #d9b85f;
}
.fbc-product-dark-section span {
  color: #e7c978;
}
.fbc-dark-copy {
  max-width: 540px;
  position: relative;
  z-index: 1;
}
.fbc-dark-copy--right {
  justify-self: center;
}
.fbc-product-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background: #fbf8f1;
}
.fbc-detail-card {
  min-height: 360px;
  padding: clamp(34px, 4vw, 58px);
  background: linear-gradient(180deg, #fffaf2, #f6f0e6);
  border-right: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-detail-card h2 {
  color: #5a3e2a;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(24px, 2.2vw, 34px);
  margin: 0 0 26px;
}
.fbc-detail-card p, .fbc-detail-card li {
  color: #4b463a;
  font-size: 15px;
  line-height: 1.6;
}
.fbc-detail-card strong {
  color: #6c5b35;
}
.fbc-detail-card--dark {
  background: radial-gradient(circle at 8% 75%, rgba(217, 184, 95, 0.18), transparent 24%), linear-gradient(180deg, #080b08, #11170e);
}
.fbc-detail-card--dark h2, .fbc-detail-card--dark p, .fbc-detail-card--dark strong {
  color: #fff;
}
.fbc-detail-card--dark p {
  color: rgba(255, 255, 255, 0.84);
}
.fbc-detail-card--dark strong {
  color: #e7c978;
}
.fbc-use-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 13px;
}
.fbc-use-list li {
  display: flex;
  align-items: center;
  gap: 14px;
}
.fbc-use-list i {
  width: 24px;
  color: #998760;
}
.fbc-small-claim {
  margin-top: 24px;
  font-weight: 700;
  text-align: center;
}
.fbc-detail-card--trace {
  position: relative;
  overflow: hidden;
}
.fbc-cert-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.fbc-cert-row span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 36px;
  padding: 6px 10px;
  border-radius: 2px;
  background: #fff;
  border: 1px solid rgba(88, 76, 52, 0.16);
  color: #7b4f21;
  font-weight: 800;
  font-size: 12px;
}
.fbc-product-description-panel {
  padding: clamp(38px, 6vw, 84px) clamp(18px, 5vw, 84px);
  background: #fffdf8;
}
.fbc-product-description-panel__inner {
  max-width: 1260px;
  margin: 0 auto;
}
.fbc-product-description-panel__inner > h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: #4b3d24;
  font-weight: 400;
  margin-bottom: 24px;
}
.fbc-backend-description {
  color: #38342b;
  font-size: 15px;
  line-height: 1.75;
}
.fbc-backend-description h1, .fbc-backend-description h2, .fbc-backend-description h3, .fbc-backend-description h4 {
  color: #3f392d;
}
.fbc-backend-description table {
  width: 100%;
}
.fbc-product-land-story {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) 1.15fr;
  min-height: 270px;
  background: #f7f1e7;
  border-top: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-land-image {
  min-height: 270px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.05), rgba(247, 241, 231, 0.92)), radial-gradient(circle at 40% 55%, rgba(91, 103, 65, 0.42), transparent 28%), linear-gradient(135deg, #655f3c, #1f3218 45%, #c2a66d);
}
.fbc-land-copy {
  padding: clamp(34px, 5vw, 66px);
  align-self: center;
}
.fbc-land-copy h2 {
  margin: 0 0 16px;
  color: #5a3e2a;
  font-family: Georgia, "Times New Roman", serif;
  text-transform: uppercase;
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: 400;
}
.fbc-land-copy p {
  max-width: 650px;
  color: #494438;
  line-height: 1.7;
}
.fbc-story-link, .fbc-final-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 28px;
  background: #4f5338;
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: transform 0.22s ease, background 0.22s ease;
}
.fbc-story-link:hover {
  background: #30341f;
  transform: translateY(-2px);
}
.fbc-review-panel {
  padding: 48px 24px;
  text-align: center;
  background: #fffdf8;
}
.fbc-review-panel h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: #5a3e2a;
  font-weight: 400;
  text-transform: uppercase;
}
.fbc-product-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 28px clamp(22px, 7vw, 120px);
  background: linear-gradient(90deg, #0b1707, #1c2b12);
  color: #fff;
}
.fbc-product-final-cta strong, .fbc-product-final-cta span {
  display: block;
}
.fbc-product-final-cta strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 31px);
  font-weight: 400;
}
.fbc-product-final-cta span {
  color: rgba(255, 255, 255, 0.74);
}
.fbc-final-btn {
  background: linear-gradient(180deg, #e7c978, #d9b85f);
  color: #312713 !important;
}
.fbc-final-btn:hover {
  transform: translateY(-2px);
}
/* Hide old tab nav if anything from modules injects it inside product page */
.fbc-product-page .nav-tabs {
  display: none;
}
/* ================= BACKEND EDITORIAL CONTENT =================
   Queste classi servono per l'HTML inserito in OpenCart > Product > Description.
   Così olio e aceto possono essere diversi senza modificare il Twig.
================= */
.fbc-product-editorial {
  background: #fbf8f1;
  overflow: hidden;
}
.fbc-product-editorial .container-fluid {
  padding: 0 !important;
}
.fbc-backend-description {
  color: #38342b;
  font-size: 15px;
  line-height: 1.75;
}
.fbc-backend-description > p:first-child {
  margin-top: 0;
}
.fbc-backend-description h1, .fbc-backend-description h2, .fbc-backend-description h3, .fbc-backend-description h4 {
  color: #3f392d;
}
.fbc-backend-description table {
  width: 100%;
}
/* Strip chiara tipo anteprima */
.fbc-editorial-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: linear-gradient(90deg, #f8f4ec, #fffdf8, #f8f4ec);
  border-bottom: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-editorial-trust-strip article {
  min-height: 128px;
  padding: 26px 20px;
  text-align: center;
  border-right: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-editorial-trust-strip article:last-child {
  border-right: 0;
}
.fbc-editorial-trust-strip i {
  color: #9f8b61;
  font-size: 28px;
  margin-bottom: 12px;
}
.fbc-editorial-trust-strip h3 {
  margin: 0 0 8px;
  color: #5b563f;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.fbc-editorial-trust-strip p {
  margin: 0 auto;
  max-width: 230px;
  color: #635d4e;
  font-size: 13px;
  line-height: 1.45;
}
/* Sezione scura cinematografica */
.fbc-editorial-dark {
  min-height: 300px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 5vw, 80px);
  align-items: center;
  padding: clamp(46px, 6vw, 86px) clamp(24px, 6vw, 96px);
  background: radial-gradient(circle at 48% 42%, rgba(217, 184, 95, 0.14), transparent 18%), linear-gradient(90deg, #070908 0%, #12170f 54%, #050605 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.fbc-editorial-dark h2, .fbc-editorial-dark h3 {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
.fbc-editorial-dark h2 {
  font-size: clamp(31px, 3vw, 46px);
  margin: 0 0 18px;
}
.fbc-editorial-dark h3 {
  font-size: clamp(22px, 2vw, 30px);
  margin: 0 0 10px;
}
.fbc-editorial-dark p, .fbc-editorial-dark li {
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  line-height: 1.7;
}
.fbc-editorial-dark ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fbc-editorial-dark li {
  margin: 8px 0;
  padding-left: 28px;
  position: relative;
}
.fbc-editorial-dark li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #d9b85f;
}
.fbc-editorial-dark span {
  color: #e7c978;
}
.fbc-editorial-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #fbf8f1;
}
.fbc-editorial-card {
  min-height: 360px;
  padding: clamp(34px, 4vw, 58px);
  background: linear-gradient(180deg, #fffaf2, #f6f0e6);
  border-right: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-editorial-card .fbc_editorial-certification {
  min-height: 80px;
}
.fbc-editorial-card h2 {
  color: #5a3e2a;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(24px, 2.2vw, 34px);
  margin: 0 0 26px;
}
.fbc-editorial-card p, .fbc-editorial-card li {
  color: #4b463a;
  font-size: 15px;
  line-height: 1.6;
}
.fbc-editorial-card strong {
  color: #6c5b35;
}
.fbc-editorial-card--dark {
  background: radial-gradient(circle at 8% 75%, rgba(217, 184, 95, 0.18), transparent 24%), linear-gradient(180deg, #080b08, #11170e);
}
.fbc-editorial-card--dark h2, .fbc-editorial-card--dark p, .fbc-editorial-card--dark strong {
  color: #fff;
}
.fbc-editorial-card--dark p {
  color: rgba(255, 255, 255, 0.84);
}
.fbc-editorial-card--dark strong {
  color: #e7c978;
}
.fbc-editorial-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 13px;
}
.fbc-editorial-list li {
  display: flex;
  align-items: center;
  gap: 14px;
}
.fbc-editorial-list i {
  width: 24px;
  color: #998760;
}
.fbc-editorial-small-claim {
  margin-top: 24px;
  font-weight: 700;
  text-align: center;
}
.fbc-editorial-story {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) 1.15fr;
  min-height: 270px;
  background: #f7f1e7;
  border-top: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-editorial-story__image {
  min-height: 270px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.fbc-editorial-story__copy {
  padding: clamp(34px, 5vw, 66px);
  align-self: center;
}
.fbc-editorial-story__copy h2 {
  margin: 0 0 16px;
  color: #5a3e2a;
  font-family: Georgia, "Times New Roman", serif;
  text-transform: uppercase;
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: 400;
}
.fbc-editorial-story__copy p {
  max-width: 650px;
  color: #494438;
  line-height: 1.7;
}
.fbc-editorial-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 28px;
  background: #4f5338;
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: transform 0.22s ease, background 0.22s ease;
}
.fbc-editorial-btn:hover {
  background: #30341f;
  transform: translateY(-2px);
}
.fbc-editorial-reviews {
  padding: 48px 24px;
  text-align: center;
  background: #fffdf8;
}
.fbc-editorial-reviews h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: #5a3e2a;
  font-weight: 400;
  text-transform: uppercase;
}
.fbc-product-reviews {
  text-align: center;
}
.fbc-editorial-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 28px clamp(22px, 7vw, 120px);
  background: linear-gradient(90deg, #0b1707, #1c2b12);
  color: #fff;
}
.fbc-editorial-final-cta strong, .fbc-editorial-final-cta span {
  display: block;
}
.fbc-editorial-final-cta strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 31px);
  font-weight: 400;
}
.fbc-editorial-final-cta span {
  color: rgba(255, 255, 255, 0.74);
}
.fbc-editorial-final-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 34px;
  background: linear-gradient(180deg, #e7c978, #d9b85f);
  color: #312713 !important;
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: transform 0.22s ease;
}
.fbc-editorial-final-cta__btn:hover {
  transform: translateY(-2px);
}
/* ================= RESPONSIVE ================= */
@media (max-width: 1199.98px) {
  .fbc-product-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .fbc-product-hero__content {
    max-width: 760px;
  }
  .fbc-product-main-image {
    min-height: 430px;
  }
  .fbc-product-main-image img {
    max-height: 500px;
  }
}
@media (max-width: 991.98px) {
  .fbc-product-hero {
    padding-top: 30px;
  }
  .fbc-product-hero__gallery {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .fbc-product-thumbs {
    order: 2;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }
  .fbc-thumb:hover, .fbc-thumb.active {
    transform: translateY(-2px);
  }
  .fbc-product-main-image {
    min-height: 360px;
  }
  .fbc-product-main-image img {
    max-width: 80%;
    max-height: 430px;
  }
  .fbc-product-trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .fbc-product-detail-grid {
    grid-template-columns: 1fr;
  }
  .fbc-detail-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(88, 76, 52, 0.14);
  }
  .fbc-product-land-story {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575.98px) {
  .fbc-product-breadcrumb-wrap {
    padding: 10px 16px;
  }
  .fbc-product-hero {
    padding: 24px 16px 34px;
  }
  .fbc-product-main-image {
    min-height: 300px;
  }
  .fbc-product-main-image img {
    max-width: 92%;
    max-height: 340px;
  }
  .fbc-product-title {
    font-size: clamp(36px, 14vw, 54px);
  }
  .fbc-buy-card__top, .fbc-buy-actions, .fbc-product-options {
    padding-left: 16px;
    padding-right: 16px;
  }
  .fbc-buy-card__top {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .fbc-stock-note {
    border-left: 0;
    padding-left: 0;
  }
  .fbc-option-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .fbc-buy-actions {
    grid-template-columns: 1fr;
  }
  .fbc-buy-card__services {
    grid-template-columns: repeat(2, 1fr);
  }
  .fbc-product-trust-strip {
    grid-template-columns: 1fr;
  }
  .fbc-product-dark-section {
    grid-template-columns: 1fr;
    padding: 42px 20px;
  }
  .fbc-detail-card {
    padding: 34px 22px;
  }
  .fbc-product-final-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .fbc-final-btn {
    width: 100%;
    justify-content: center;
  }
}
/* Responsive backend editorial blocks */
@media (max-width: 991.98px) {
  .fbc-editorial-trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .fbc-editorial-dark, .fbc-editorial-detail-grid, .fbc-editorial-story {
    grid-template-columns: 1fr;
  }
  .fbc-editorial-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(88, 76, 52, 0.14);
  }
}
@media (max-width: 575.98px) {
  .fbc-editorial-trust-strip {
    grid-template-columns: 1fr;
  }
  .fbc-editorial-dark {
    padding: 42px 20px;
  }
  .fbc-editorial-card {
    padding: 34px 22px;
  }
  .fbc-editorial-final-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .fbc-editorial-final-cta__btn {
    width: 100%;
  }
}
/* ==========================================================
   FBC PRODUCT GALLERY - CINEMATIC OVERRIDES
   ----------------------------------------------------------
   Obiettivo:
   - miniature meno "catalogo/Amazon"
   - immagine grande più integrata nel mood scuro della hero
   - nessuna necessità di PNG trasparente: WebP con sfondo coerente va benissimo.
========================================================== */
.fbc-product-thumbs {
  gap: 14px;
}
.fbc-thumb {
  width: 76px;
  height: 76px;
  padding: 0;
  border: 1px solid rgba(210, 176, 94, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)), rgba(8, 10, 7, 0.62);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42), inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(4px);
  overflow: hidden;
  opacity: 0.76;
}
.fbc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78) contrast(1.12) saturate(0.92);
  transform: scale(1.04);
  transition: transform 0.35s ease, filter 0.35s ease, opacity 0.35s ease;
}
.fbc-thumb:hover, .fbc-thumb.active {
  opacity: 1;
  border-color: rgba(210, 176, 94, 0.88);
  background: linear-gradient(180deg, rgba(210, 176, 94, 0.18), rgba(255, 255, 255, 0.03)), rgba(8, 10, 7, 0.78);
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.54), 0 0 0 1px rgba(210, 176, 94, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  transform: translateX(4px);
}
.fbc-thumb:hover img, .fbc-thumb.active img {
  filter: brightness(0.98) contrast(1.12) saturate(1.02);
  transform: scale(1.09);
}
/* Immagine grande nella hero */
.fbc-product-main-image {
  position: relative;
  min-height: clamp(430px, 58vh, 680px);
  align-items: center;
  justify-content: center;
  padding: clamp(14px, 2vw, 28px);
  filter: none;
}
.fbc-product-main-image::before {
  content: "";
  position: absolute;
  inset: 8% 7%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(210, 176, 94, 0.18) 0%, rgba(168, 181, 158, 0.08) 35%, transparent 70%);
  filter: blur(18px);
  opacity: 0.82;
  pointer-events: none;
}
.fbc-product-main-image a {
  position: relative;
  z-index: 1;
  width: min(92%, 620px);
  min-height: clamp(360px, 52vh, 640px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018)), rgba(5, 6, 4, 0.22);
  border: 1px solid rgba(210, 176, 94, 0.18);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.62), inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  overflow: hidden;
}
/* Se l'immagine caricata ha sfondo bianco, questa regola la rende meno aggressiva.
   Non la elimina, ma la integra meglio nel nero/oro della hero. */
.fbc-product-main-image img {
  display: block;
  max-width: 100%;
  max-height: clamp(360px, 54vh, 650px);
  width: auto;
  height: auto;
  object-fit: contain;
  transform: translateY(0);
  filter: brightness(0.92) contrast(1.08) saturate(0.96) drop-shadow(0 28px 34px rgba(0, 0, 0, 0.58));
  transition: opacity 0.25s ease, transform 0.35s ease, filter 0.35s ease;
}
.fbc-product-main-image:hover img {
  transform: scale(1.012);
  filter: brightness(0.98) contrast(1.09) saturate(1) drop-shadow(0 32px 38px rgba(0, 0, 0, 0.64));
}
/* Variante: se in futuro carichi immagini già scontornate o su fondo scuro,
   aggiungi la classe .is-cutout al figure via Twig o manualmente se serve.
   Il box diventa più leggero. */
.fbc-product-main-image.is-cutout a {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.fbc-product-main-image.is-cutout img {
  filter: drop-shadow(0 38px 45px rgba(0, 0, 0, 0.72)) brightness(0.98) contrast(1.04) saturate(1);
}
/* Mobile: miniature orizzontali sotto/sopra, più leggere */
@media (max-width: 991.98px) {
  .fbc-product-hero__gallery {
    grid-template-columns: 1fr;
  }
  .fbc-product-thumbs {
    order: 2;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }
  .fbc-thumb {
    width: 68px;
    height: 68px;
  }
  .fbc-thumb:hover, .fbc-thumb.active {
    transform: translateY(-2px);
  }
  .fbc-product-main-image {
    order: 1;
    min-height: 380px;
  }
  .fbc-product-main-image a {
    width: min(96%, 560px);
    min-height: 360px;
  }
}
@media (max-width: 575.98px) {
  .fbc-thumb {
    width: 58px;
    height: 58px;
  }
  .fbc-product-main-image {
    min-height: 310px;
    padding: 8px;
  }
  .fbc-product-main-image a {
    min-height: 300px;
  }
  .fbc-product-main-image img {
    max-height: 300px;
  }
}
/* =========================
   Contact Page — FBC Premium
========================= */
.fbc-contact-page {
  background: #f7f4ec;
  color: #2f2b20;
}
.fbc-contact-hero {
  padding: clamp(70px, 8vw, 120px) 24px clamp(44px, 5vw, 70px);
  background: linear-gradient(90deg, rgba(5, 13, 5, 0.86), rgba(12, 22, 9, 0.72)), radial-gradient(circle at 20% 50%, rgba(207, 175, 92, 0.16), transparent 34%), #071006;
  color: #f7f4ec;
  text-align: center;
}
.fbc-contact-hero__inner {
  max-width: 900px;
  margin: 0 auto;
}
.fbc-contact-kicker {
  margin: 0 0 14px;
  color: #cfaf5c;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-contact-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 6vw, 78px);
  font-weight: 400;
  line-height: 0.95;
}
.fbc-contact-intro {
  max-width: 620px;
  margin: 22px auto 0;
  color: rgba(247, 244, 236, 0.82);
  font-size: 17px;
  line-height: 1.65;
}
.fbc-contact-main {
  padding: clamp(46px, 6vw, 86px) clamp(24px, 5vw, 72px) clamp(70px, 8vw, 110px);
}
.fbc-contact-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.55fr);
  gap: clamp(34px, 5vw, 76px);
  max-width: 1820px;
  margin: 0 auto;
  align-items: start;
}
.fbc-contact-card {
  padding: clamp(28px, 4vw, 42px);
  background: #0a0d08;
  color: #f7f4ec;
  border: 1px solid rgba(207, 175, 92, 0.28);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.16);
}
.fbc-contact-logo {
  max-width: 150px;
  height: auto;
  margin-bottom: 26px;
}
.fbc-contact-card h2 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 400;
}
.fbc-contact-card address {
  margin: 0 0 24px;
  color: rgba(247, 244, 236, 0.78);
  font-style: normal;
  line-height: 1.7;
}
.fbc-contact-line {
  padding: 16px 0;
  border-top: 1px solid rgba(207, 175, 92, 0.18);
}
.fbc-contact-line span {
  display: block;
  margin-bottom: 4px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fbc-contact-line strong {
  font-weight: 500;
}
.fbc-contact-note {
  margin: 18px 0 0;
  color: rgba(247, 244, 236, 0.72);
  font-size: 14px;
  line-height: 1.6;
}
.fbc-contact-map-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 26px;
  padding: 13px 22px;
  background: linear-gradient(180deg, #e2c875, #cfaf5c);
  color: #312713;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
}
.fbc-contact-map-link:hover {
  color: #312713;
  filter: brightness(1.04);
}
.fbc-contact-form {
  padding: 0;
  background: transparent;
}
.fbc-contact-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
.fbc-contact-form legend {
  margin: 0 0 0px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 400;
  color: #2f2b20;
}
.fbc-contact-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.fbc-contact-field {
  margin-bottom: 22px;
}
.fbc-contact-field label {
  display: block;
  margin-bottom: 9px;
  color: #2f2b20;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fbc-contact-field .form-control, .fbc-contact-captcha .form-control {
  width: 100%;
  min-height: 48px;
  border-radius: 0;
  border: 1px solid rgba(47, 43, 32, 0.25);
  background: #fffdf8;
  color: #2f2b20;
  box-shadow: none;
}
.fbc-contact-field textarea.form-control {
  min-height: 180px;
  resize: vertical;
}
.fbc-contact-field .form-control:focus, .fbc-contact-captcha .form-control:focus {
  border-color: rgba(207, 175, 92, 0.9);
  box-shadow: 0 0 0 3px rgba(207, 175, 92, 0.16);
}
.fbc-contact-captcha {
  max-width: 480px;
  margin-top: 6px;
}
.fbc-contact-captcha legend, .fbc-contact-captcha h2, .fbc-contact-captcha h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  color: #2f2b20;
}
.fbc-contact-actions {
  margin-top: 26px;
}
.fbc-contact-submit {
  min-width: 220px;
  min-height: 56px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #e2c875, #cfaf5c);
  color: #312713;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-contact-submit:hover {
  color: #312713;
  filter: brightness(1.04);
}
.fbc-contact-locations {
  padding: 0 clamp(24px, 5vw, 72px) clamp(54px, 6vw, 90px);
  max-width: 1320px;
  margin: 0 auto;
}
.fbc-contact-locations h2 {
  margin-bottom: 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 4vw, 50px);
  color: #2f2b20;
}
.fbc-contact-accordion .accordion-item, .fbc-contact-accordion .accordion-button {
  border-radius: 0;
}
.fbc-contact-accordion .accordion-button {
  background: #fffdf8;
  color: #2f2b20;
  font-weight: 800;
}
.fbc-contact-grid {
  align-items: stretch;
}
.fbc-contact-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 991.98px) {
  .fbc-contact-grid {
    grid-template-columns: 1fr;
  }
  .fbc-contact-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 575.98px) {
  .fbc-contact-main {
    padding-left: 18px;
    padding-right: 18px;
  }
  .fbc-contact-card {
    padding: 26px 22px;
  }
  .fbc-contact-submit {
    width: 100%;
  }
}
/* =========================
   Mini Cart Offcanvas — FBC Premium
========================= */
.fbc-cart {
  position: relative;
  z-index: 1040;
}
.fbc-cart-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(207, 175, 92, 0.28);
  background: rgba(5, 8, 5, 0.32);
  color: #f7f4ec;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.fbc-cart-trigger:hover {
  color: #cfaf5c;
  border-color: rgba(207, 175, 92, 0.55);
}
.fbc-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 1045;
  background: rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.fbc-cart-drawer {
  position: fixed;
  z-index: 1050;
  top: 0;
  right: 0;
  width: min(92vw, 460px);
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)), #070a06;
  color: #f7f4ec;
  border-left: 1px solid rgba(207, 175, 92, 0.22);
  box-shadow: -28px 0 80px rgba(0, 0, 0, 0.38);
  transform: translateX(105%);
  visibility: hidden;
  transition: transform 0.34s ease, visibility 0.34s ease;
}
.fbc-cart-open .fbc-cart-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.fbc-cart-open .fbc-cart-drawer {
  transform: translateX(0);
  visibility: visible;
}
.fbc-cart-drawer__handle {
  display: none;
}
.fbc-cart-drawer__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 30px 30px 22px;
  border-bottom: 1px solid rgba(207, 175, 92, 0.16);
}
.fbc-cart-drawer__header p {
  margin: 0 0 7px;
  color: #cfaf5c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-cart-drawer__header h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1;
  color: #f7f4ec;
}
.fbc-cart-close {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(207, 175, 92, 0.22);
  background: transparent;
  color: #f7f4ec;
}
.fbc-cart-close:hover {
  color: #cfaf5c;
  border-color: rgba(207, 175, 92, 0.5);
}
.fbc-cart-items {
  flex: 1;
  overflow-y: auto;
  padding: 22px 24px;
}
.fbc-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 32px;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(247, 244, 236, 0.1);
}
.fbc-cart-item:first-child {
  padding-top: 0;
}
.fbc-cart-item__image {
  display: block;
  width: 82px;
  height: 98px;
  background: #f7f4ec;
  overflow: hidden;
}
.fbc-cart-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fbc-cart-item__body {
  min-width: 0;
}
.fbc-cart-item__title {
  display: inline-block;
  margin-bottom: 8px;
  color: #f7f4ec;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}
.fbc-cart-item__title:hover {
  color: #cfaf5c;
}
.fbc-cart-item__meta {
  display: grid;
  gap: 3px;
  margin-bottom: 12px;
  color: rgba(247, 244, 236, 0.58);
  font-size: 12px;
  line-height: 1.35;
}
.fbc-cart-item__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.fbc-cart-item__qty {
  color: rgba(247, 244, 236, 0.72);
  font-size: 12px;
  font-weight: 800;
}
.fbc-cart-item__bottom strong {
  color: #cfaf5c;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.fbc-cart-remove {
  margin: 0;
}
.fbc-cart-remove button {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(247, 244, 236, 0.12);
  background: transparent;
  color: rgba(247, 244, 236, 0.65);
}
.fbc-cart-remove button:hover {
  color: #cfaf5c;
  border-color: rgba(207, 175, 92, 0.4);
}
.fbc-cart-summary {
  padding: 22px 30px 30px;
  border-top: 1px solid rgba(207, 175, 92, 0.16);
  background: rgba(0, 0, 0, 0.22);
}
.fbc-cart-totals {
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
}
.fbc-cart-totals div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: rgba(247, 244, 236, 0.7);
  font-size: 13px;
}
.fbc-cart-totals div:last-child {
  padding-top: 10px;
  border-top: 1px solid rgba(247, 244, 236, 0.12);
  color: #f7f4ec;
}
.fbc-cart-totals div:last-child strong {
  color: #cfaf5c;
  font-size: 19px;
}
.fbc-cart-actions {
  display: grid;
  gap: 12px;
}
.fbc-cart-checkout, .fbc-cart-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.fbc-cart-checkout {
  gap: 10px;
  background: linear-gradient(180deg, #e2c875, #cfaf5c);
  color: #312713;
}
.fbc-cart-checkout:hover {
  color: #312713;
  filter: brightness(1.04);
}
.fbc-cart-view {
  border: 1px solid rgba(207, 175, 92, 0.28);
  color: #f7f4ec;
}
.fbc-cart-view:hover {
  color: #cfaf5c;
  border-color: rgba(207, 175, 92, 0.5);
}
.fbc-cart-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 40px 34px;
  text-align: center;
}
.fbc-cart-empty i {
  color: #cfaf5c;
  font-size: 40px;
}
.fbc-cart-empty h4 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
  color: #f7f4ec;
}
.fbc-cart-empty p {
  max-width: 300px;
  margin: 0;
  color: rgba(247, 244, 236, 0.66);
  line-height: 1.6;
}
@media (max-width: 575.98px) {
  .fbc-cart-drawer {
    top: auto;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: min(88vh, 760px);
    border-left: 0;
    border-top: 1px solid rgba(207, 175, 92, 0.22);
    border-radius: 24px 24px 0 0;
    transform: translateY(105%);
    transition: transform 0.34s ease, visibility 0.34s ease;
  }
  .fbc-cart-open .fbc-cart-drawer {
    transform: translateY(0);
  }
  .fbc-cart-drawer__handle {
    display: block;
    width: 52px;
    height: 4px;
    margin: 12px auto 0;
    border-radius: 999px;
    background: rgba(247, 244, 236, 0.35);
  }
  .fbc-cart-drawer__header {
    padding: 20px 22px 18px;
  }
  .fbc-cart-drawer__header h3 {
    font-size: 30px;
  }
  .fbc-cart-items {
    padding: 18px 20px;
  }
  .fbc-cart-summary {
    padding: 18px 22px 24px;
  }
  .fbc-cart-item {
    grid-template-columns: 72px minmax(0, 1fr) 30px;
    gap: 14px;
  }
  .fbc-cart-item__image {
    width: 72px;
    height: 88px;
  }
}
/* =========================
   Cart Page — FBC Premium
========================= */
.fbc-cart-page {
  background: #f7f4ec;
  color: #2f2b20;
}
.fbc-cart-page-hero {
  position: relative;
  padding: clamp(72px, 8vw, 120px) clamp(24px, 5vw, 72px) clamp(90px, 8vw, 130px);
  background: linear-gradient(90deg, rgba(3, 8, 3, 0.92), rgba(8, 18, 7, 0.72)), radial-gradient(circle at 28% 44%, rgba(207, 175, 92, 0.16), transparent 36%), #071006;
  color: #f7f4ec;
  overflow: hidden;
}
.fbc-cart-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.38) 100%);
  pointer-events: none;
}
.fbc-cart-page-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
}
.fbc-cart-page-kicker {
  margin: 0 0 12px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-cart-page-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 400;
  line-height: 0.95;
}
.fbc-cart-page-hero p:not(.fbc-cart-page-kicker) {
  max-width: 620px;
  margin: 20px 0 0;
  color: rgba(247, 244, 236, 0.82);
  font-size: 18px;
}
.fbc-cart-page-trust {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 1180px;
  margin: -52px auto 0;
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.1);
}
.fbc-cart-page-trust article {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 28px;
  border-right: 1px solid rgba(88, 76, 52, 0.1);
}
.fbc-cart-page-trust article:last-child {
  border-right: 0;
}
.fbc-cart-page-trust i {
  color: #8b8064;
  font-size: 28px;
}
.fbc-cart-page-trust span {
  color: #3d392e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.fbc-cart-page-main {
  padding: clamp(34px, 0vw, 70px) clamp(18px, 4vw, 58px) clamp(60px, 0vw, 110px);
}
.fbc-cart-page-main .container-fluid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0;
}
.fbc-cart-page-shell {
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.08);
}
.fbc-cart-page-table-head {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) 0.55fr 0.65fr 0.55fr;
  gap: 24px;
  padding: 24px 34px;
  border-bottom: 1px solid rgba(88, 76, 52, 0.1);
  color: rgba(47, 43, 32, 0.68);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-cart-page-item {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) 0.55fr 0.65fr 0.55fr;
  gap: 24px;
  align-items: center;
  padding: 30px 34px;
  border-bottom: 1px solid rgba(88, 76, 52, 0.1);
}
.fbc-cart-page-item__product {
  display: flex;
  align-items: center;
  gap: 26px;
  min-width: 0;
}
.fbc-cart-page-item__image {
  display: block;
  width: 118px;
  height: 138px;
  flex: 0 0 118px;
  background: #f7f4ec;
  overflow: hidden;
}
.fbc-cart-page-item__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fbc-cart-page-item__title {
  display: inline-block;
  margin-bottom: 10px;
  color: #2f2b20;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 400;
  line-height: 1.05;
  text-decoration: none;
}
.fbc-cart-page-item__title:hover {
  color: #4f5338;
}
.fbc-cart-page-item__meta {
  display: grid;
  gap: 3px;
  color: rgba(47, 43, 32, 0.74);
  font-size: 14px;
  line-height: 1.45;
}
.fbc-cart-page-item__links {
  margin-top: 16px;
}
.fbc-cart-page-item__links a {
  color: #4f5338;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.fbc-cart-page-item__price, .fbc-cart-page-item__total {
  color: #2f2b20;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
}
.fbc-cart-page-qty {
  display: inline-grid;
  grid-template-columns: 42px 54px 42px;
  height: 48px;
  border: 1px solid rgba(88, 76, 52, 0.18);
  background: #fff;
}
.fbc-cart-page-qty button {
  border: 0;
  background: transparent;
  color: #2f2b20;
  font-size: 20px;
}
.fbc-cart-page-qty button:hover {
  background: rgba(207, 175, 92, 0.12);
}
.fbc-cart-page-qty input {
  border: 0;
  border-left: 1px solid rgba(88, 76, 52, 0.12);
  border-right: 1px solid rgba(88, 76, 52, 0.12);
  text-align: center;
  box-shadow: none;
}
.fbc-cart-page-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 70px;
  padding: 34px;
}
.fbc-cart-page-coupon-card {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  max-width: 560px;
  padding: 28px;
  background: #f7f4ec;
}
.fbc-cart-page-coupon-icon {
  color: #8b8064;
  font-size: 44px;
}
.fbc-cart-page-coupon-content h2, .fbc-cart-page-coupon-content h3 {
  margin-top: 0;
  font-family: Georgia, "Times New Roman", serif;
}
.fbc-cart-page-coupon-content .input-group {
  max-width: 420px;
}
.fbc-cart-page-coupon-content .form-control {
  border-radius: 0;
  border: 1px solid rgba(88, 76, 52, 0.18);
  background: #fffdf8;
}
.fbc-cart-page-coupon-content .btn {
  border-radius: 0;
  border: 0;
  background: #4f5338;
  color: #f7f4ec;
  font-weight: 800;
}
.fbc-cart-page-summary {
  padding: 30px;
  background: #f7f4ec;
  border: 1px solid rgba(88, 76, 52, 0.1);
}
.fbc-cart-page-summary h2 {
  margin: 0 0 22px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-cart-page-totals {
  display: grid;
  gap: 13px;
  margin-bottom: 24px;
}
.fbc-cart-page-totals div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(47, 43, 32, 0.72);
  font-size: 15px;
}
.fbc-cart-page-totals div:last-child {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(88, 76, 52, 0.16);
  color: #2f2b20;
}
.fbc-cart-page-totals div:last-child strong {
  color: #2f2b20;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
}
.fbc-cart-page-checkout, .fbc-cart-page-continue {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-cart-page-checkout {
  gap: 10px;
  background: #4f5338;
  color: #f7f4ec;
}
.fbc-cart-page-checkout:hover {
  color: #f7f4ec;
  filter: brightness(1.05);
}
.fbc-cart-page-continue {
  margin-top: 12px;
  color: #4f5338;
}
.fbc-cart-page-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(70px, 8vw, 120px) 24px;
  text-align: center;
}
.fbc-cart-page-empty i {
  margin-bottom: 18px;
  color: #cfaf5c;
  font-size: 46px;
}
.fbc-cart-page-empty h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 72px);
}
@media (max-width: 991.98px) {
  .fbc-cart-page-trust {
    grid-template-columns: repeat(2, 1fr);
    margin-left: 18px;
    margin-right: 18px;
  }
  .fbc-cart-page-table-head {
    display: none;
  }
  .fbc-cart-page-item {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .fbc-cart-page-bottom {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .fbc-cart-page-summary {
    max-width: none;
  }
}
@media (max-width: 575.98px) {
  .fbc-cart-page-trust {
    grid-template-columns: 1fr;
  }
  .fbc-cart-page-trust article {
    border-right: 0;
    border-bottom: 1px solid rgba(88, 76, 52, 0.1);
  }
  .fbc-cart-page-item__product {
    align-items: flex-start;
    gap: 18px;
  }
  .fbc-cart-page-item__image {
    width: 88px;
    height: 108px;
    flex-basis: 88px;
  }
  .fbc-cart-page-item__price, .fbc-cart-page-item__total {
    font-size: 24px;
  }
  .fbc-cart-page-bottom {
    padding: 24px 18px;
  }
}
/* Fix horizontal overflow cart page - scoped, not global */
.fbc-cart-page {
  max-width: 100%;
  overflow-x: clip;
}
.fbc-cart-page, .fbc-cart-page * {
  box-sizing: border-box;
}
.fbc-cart-page-main, .fbc-cart-page-main .container-fluid, .fbc-cart-page-shell {
  max-width: 100%;
  overflow-x: hidden;
}
/* =========================
   Cart bottom strip
========================= */
.fbc-cart-page-security-strip {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(20px, 3vw, 50px);
  width: 100%;
  margin: 0;
  padding: 34px 34px;
  background: transparent;
  border-top: 1px solid rgba(88, 76, 52, 0.06);
  border-bottom: 1px solid rgba(88, 76, 52, 0.06);
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.02), 0 10px 30px rgba(0, 0, 0, 0.02);
}
.fbc-cart-page-security-strip__left, .fbc-cart-page-security-strip__right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.fbc-cart-page-security-strip__right {
  justify-content: flex-end;
  text-align: right;
}
.fbc-cart-page-security-strip i {
  color: #8b8064;
  font-size: 30px;
  flex-shrink: 0;
}
.fbc-cart-page-security-strip h3 {
  margin: 0 0 4px;
  color: #4f5338;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-cart-page-security-strip p {
  margin: 0;
  color: rgba(47, 43, 32, 0.72);
  font-size: 13px;
  line-height: 1.45;
}
/* Payment logos */
.fbc-cart-page-payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.5vw, 18px);
  flex-wrap: nowrap;
}
.fbc-cart-page-payments img {
  display: block;
  width: auto;
  height: 26px;
  max-width: 64px;
  object-fit: contain;
  opacity: 0.95;
  filter: grayscale(8%);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fbc-cart-page-payments img:hover {
  opacity: 1;
  transform: translateY(-1px);
}
/* Mobile */
@media (max-width: 991.98px) {
  .fbc-cart-page-security-strip {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .fbc-cart-page-security-strip__left, .fbc-cart-page-security-strip__right {
    justify-content: center;
    text-align: center;
  }
  .fbc-cart-page-payments {
    flex-wrap: wrap;
  }
}
/* =========================================================
   CHECKOUT PAGE — FBC PREMIUM
   OpenCart 4 / Bell Casolino
   ---------------------------------------------------------
   Struttura:
   01. Base
   02. Hero
   03. Steps
   04. Layout
   05. Cards / Sections
   06. Typography
   07. Forms
   08. Register blocks / section titles
   09. Newsletter + Terms checkboxes
   10. Shipping / Payment method
   11. Order summary / Confirm
   12. Trust block
   13. Native table fallback
   14. Responsive
========================================================= */
/* =========================================================
   01. BASE
========================================================= */
.fbc-checkout-page, .fbc-checkout-page * {
  box-sizing: border-box;
}
.fbc-checkout-page {
  background: #f7f4ec;
  color: #2f2b20;
  overflow-x: hidden;
}
/* =========================================================
   02. HERO
========================================================= */
.fbc-checkout-hero {
  position: relative;
  padding: clamp(72px, 8vw, 118px) clamp(24px, 5vw, 72px) clamp(86px, 8vw, 124px);
  background: linear-gradient(90deg, rgba(3, 8, 3, 0.92), rgba(8, 18, 7, 0.72)), radial-gradient(circle at 28% 44%, rgba(207, 175, 92, 0.16), transparent 36%), #071006;
  color: #f7f4ec;
  overflow: hidden;
}
.fbc-checkout-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.36) 100%);
  pointer-events: none;
}
.fbc-checkout-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
}
.fbc-checkout-kicker {
  margin: 0 0 12px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-checkout-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 400;
  line-height: 0.95;
}
.fbc-checkout-hero p:not(.fbc-checkout-kicker) {
  max-width: 620px;
  margin: 20px 0 0;
  color: rgba(247, 244, 236, 0.82);
  font-size: 18px;
  line-height: 1.55;
}
/* =========================================================
   03. STEPS
========================================================= */
.fbc-checkout-steps {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1180px;
  margin: -52px auto 0;
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.1);
}
.fbc-checkout-steps article {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 26px;
  border-right: 1px solid rgba(88, 76, 52, 0.1);
}
.fbc-checkout-steps article:last-child {
  border-right: 0;
}
.fbc-checkout-steps article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  border: 1px solid rgba(79, 83, 56, 0.24);
  color: #4f5338;
  font-weight: 900;
  font-size: 13px;
}
.fbc-checkout-steps article.is-active > span {
  background: #4f5338;
  border-color: #4f5338;
  color: #f7f4ec;
}
.fbc-checkout-steps strong {
  display: block;
  color: #2f2b20;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-checkout-steps small {
  display: block;
  margin-top: 3px;
  color: rgba(47, 43, 32, 0.64);
  font-size: 12px;
  line-height: 1.35;
}
/* =========================================================
   04. MAIN LAYOUT
========================================================= */
.fbc-checkout-main {
  padding: clamp(38px, 5vw, 70px) clamp(18px, 4vw, 58px) clamp(60px, 7vw, 110px);
}
.fbc-checkout-container {
  max-width: 1240px;
  margin: 0 auto;
}
.fbc-checkout-container > .row {
  margin: 0;
}
.fbc-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.72fr);
  gap: clamp(30px, 4vw, 54px);
  align-items: start;
}
.fbc-checkout-left {
  display: grid;
  gap: 26px;
}
.fbc-checkout-right {
  position: relative;
}
@media (min-width: 992px) {
  .fbc-checkout-summary-card {
    position: sticky;
    top: 108px;
  }
}
/* =========================================================
   05. CARDS / SECTIONS
========================================================= */
.fbc-checkout-block, .fbc-checkout-section, .fbc-checkout-summary-card {
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 22px 68px rgba(0, 0, 0, 0.07);
}
.fbc-checkout-block, .fbc-checkout-section {
  padding: clamp(24px, 4vw, 38px);
}
.fbc-checkout-section + .fbc-checkout-section {
  margin-top: 24px;
}
.fbc-checkout-fieldset, .fbc-checkout-block fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
/* =========================================================
   06. TYPOGRAPHY / HEADINGS
========================================================= */
.fbc-checkout-section__heading {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.fbc-checkout-section__heading--small {
  margin-bottom: 16px;
}
.fbc-checkout-section__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  background: #4f5338;
  color: #f7f4ec;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.fbc-checkout-section h2, .fbc-checkout-section legend, .fbc-checkout-block h2, .fbc-checkout-block legend {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: #2f2b20;
}
.fbc-checkout-section__heading p, .fbc-checkout-section p, .fbc-checkout-block p {
  margin: 6px 0 0;
  color: rgba(47, 43, 32, 0.62);
  font-size: 13px;
  line-height: 1.55;
}
/* =========================================================
   07. FORMS
========================================================= */
.fbc-checkout-page label, .fbc-checkout-page .form-label, .fbc-checkout-page .col-form-label {
  display: block;
  margin-bottom: 7px;
  color: #3b372c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-checkout-page .form-control, .fbc-checkout-page .form-select {
  min-height: 48px;
  border-radius: 0;
  border: 1px solid rgba(88, 76, 52, 0.22);
  background-color: #fffdf8;
  color: #2f2b20;
  box-shadow: none;
  font-size: 14px;
}
.fbc-checkout-page textarea.form-control {
  min-height: 126px;
  resize: vertical;
}
.fbc-checkout-page .form-control:focus, .fbc-checkout-page .form-select:focus {
  border-color: rgba(207, 175, 92, 0.9);
  box-shadow: 0 0 0 3px rgba(207, 175, 92, 0.16);
}
.fbc-checkout-page .row {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 16px;
}
.fbc-checkout-field, .fbc-checkout-page .mb-3 {
  margin-bottom: 18px !important;
}
.fbc-checkout-page .required label::after, .fbc-checkout-page label.required::after {
  content: " *";
  color: #9b4d3d;
}
.fbc-checkout-page .invalid-feedback {
  color: #9b4d3d;
  font-size: 12px;
}
.fbc-checkout-page .form-check-input {
  border-color: rgba(88, 76, 52, 0.36);
}
.fbc-checkout-page .form-check-input:checked {
  background-color: #4f5338;
  border-color: #4f5338;
}
/* Buttons inside checkout */
.fbc-checkout-page .btn, .fbc-checkout-page button[type="button"], .fbc-checkout-page button[type="submit"] {
  border-radius: 0;
}
.fbc-checkout-page .btn-primary, .fbc-checkout-primary-btn {
  border: 0;
  background: #4f5338;
  color: #f7f4ec;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-checkout-page .btn-primary:hover, .fbc-checkout-primary-btn:hover {
  background: #3e422d;
  color: #f7f4ec;
}
.fbc-checkout-page .btn-light, .fbc-checkout-page .btn-outline-secondary {
  border: 1px solid rgba(88, 76, 52, 0.18);
  background: #fffdf8;
  color: #4f5338;
  font-weight: 800;
}
/* =========================================================
   08. REGISTER HEADINGS / SECTION TITLES
========================================================= */
.fbc-checkout-block-heading {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 24px;
}
.fbc-checkout-block-icon {
  flex: 0 0 24px;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4f5338;
  font-size: 17px;
  margin-top: 3px;
}
.fbc-checkout-block-heading-content h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 500;
  line-height: 1.08;
  color: #2f2b20;
}
.fbc-checkout-block-heading-content p {
  margin: 7px 0 0;
  color: rgba(47, 43, 32, 0.62);
  font-size: 13px;
  line-height: 1.5;
}
.fbc-checkout-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 18px;
}
.fbc-checkout-section-title__icon {
  flex: 0 0 24px;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4f5338;
  font-size: 16px;
}
.fbc-checkout-section-title__content h3, .fbc-checkout-section-title h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 500;
  line-height: 1.1;
  color: #2f2b20;
}
.input-checkout-agree.a {
  font-size: 12px;
}
/* =========================
   Inline password block
========================= */
.fbc-checkout-password-row {
  margin-top: 10px;
}
.fbc-checkout-password-row .fbc-checkout-section-title {
  margin-bottom: 0;
}
.fbc-checkout-password-row .form-control {
  margin-bottom: 0;
}
.fbc-checkout-password-input .form-control {
  margin-bottom: 0;
}
/* Mobile */
@media (max-width: 767.98px) {
  .fbc-checkout-password-inline {
    grid-template-columns: 1fr;
    row-gap: 14px;
  }
}
/* =========================================================
   09. NEWSLETTER + TERMS — CHECKBOX STYLE
   Nota: sostituisce i vecchi toggle/switch Bootstrap.
========================================================= */
.fbc-checkout-switches {
  display: grid;
  gap: 13px;
  margin-top: 28px;
}
.fbc-checkout-switch {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  max-width: 100%;
}
.fbc-checkout-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.fbc-checkout-switch-slider {
  position: relative;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid rgba(79, 83, 56, 0.42);
  background: #fffdf8;
  box-shadow: inset 0 0 0 2px #fffdf8;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.fbc-checkout-switch-slider::before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7f4ec;
  font-size: 10px;
  line-height: 1;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fbc-checkout-switch input:checked + .fbc-checkout-switch-slider {
  background: #4f5338;
  border-color: #4f5338;
  box-shadow: none;
}
.fbc-checkout-switch input:checked + .fbc-checkout-switch-slider::before {
  opacity: 1;
  transform: scale(1);
}
.fbc-checkout-switch input:focus + .fbc-checkout-switch-slider {
  box-shadow: 0 0 0 3px rgba(207, 175, 92, 0.16);
}
.fbc-checkout-switch-text {
  display: block;
  color: #4a463d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  text-transform: none;
}
.fbc-checkout-switch-text a {
  color: #4f5338;
  font-weight: 900;
  text-decoration: none;
}
.fbc-checkout-switch-text a:hover {
  text-decoration: underline;
}
.fbc-checkout-switches .fbc-checkout-primary-btn {
  width: fit-content;
  min-height: 46px;
  margin-top: 8px;
  padding: 0 22px;
}
/* Safety override: hide old Bootstrap switch styling only inside our custom switch */
.fbc-checkout-switch.form-check, .fbc-checkout-switch.form-switch {
  padding-left: 0;
}
.fbc-checkout-switch .form-check-input {
  float: none;
  margin: 0;
}
/* =========================================================
   10. SHIPPING / PAYMENT METHOD
========================================================= */
.fbc-checkout-shipping-method .form-check, .fbc-checkout-payment-method .form-check {
  margin: 0 0 12px;
  padding: 16px 18px 16px 44px;
  border: 1px solid rgba(88, 76, 52, 0.14);
  background: rgba(247, 244, 236, 0.45);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.fbc-checkout-shipping-method .form-check:hover, .fbc-checkout-payment-method .form-check:hover {
  border-color: rgba(207, 175, 92, 0.42);
  background: #fffdf8;
  transform: translateY(-1px);
}
.fbc-checkout-shipping-method .form-check-label, .fbc-checkout-payment-method .form-check-label {
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 700;
}
.fbc-checkout-payment-select {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  border: 1px solid rgba(88, 76, 52, 0.18);
  background: #fffdf8;
}
.fbc-checkout-payment-select .form-select {
  border: 0;
  background-color: transparent;
}
.fbc-checkout-payment-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 50px;
  border-right: 1px solid rgba(88, 76, 52, 0.12);
  color: #8b8064;
}
.fbc-checkout-payment-notice {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  color: rgba(47, 43, 32, 0.72);
  font-size: 13px;
}
.fbc-checkout-payment-notice i {
  color: #8b8064;
}
.fbc-checkout-payment-method, .fbc-checkout-comment-section {
  box-shadow: none;
  background: transparent;
  border: 0;
  padding: 0;
}
/* =========================
   Payment / Comment clean layout
========================= */
.fbc-checkout-payment-method {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(88, 76, 52, 0.14);
}
.fbc-checkout-comment-section {
  margin-top: 0;
  padding-top: 0;
}
/* Heading alignment */
.fbc-checkout-payment-method .fbc-checkout-section__heading, .fbc-checkout-comment-section .fbc-checkout-section__heading {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}
/* Number circles */
.fbc-checkout-payment-method .fbc-checkout-section__number, .fbc-checkout-comment-section .fbc-checkout-section__number {
  flex: 0 0 38px;
  margin-top: 0;
}
/* Title consistency */
.fbc-checkout-payment-method .fbc-checkout-section__heading h2, .fbc-checkout-comment-section .fbc-checkout-section__heading h2 {
  margin: 0;
  line-height: 1.05;
}
/* Remove nested card feeling */
.fbc-checkout-payment-method .fbc-checkout-fieldset {
  padding: 0;
  border: 0;
  background: transparent;
}
/* =========================================================
   11. ORDER SUMMARY / CONFIRM
========================================================= */
.fbc-checkout-summary-card {
  padding: 28px;
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 22px 68px rgba(0, 0, 0, 0.09);
}
.fbc-checkout-summary-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(88, 76, 52, 0.12);
}
.fbc-checkout-summary-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 400;
  line-height: 1;
  color: #2f2b20;
}
.fbc-checkout-summary-heading span {
  color: #4f5338;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.fbc-checkout-confirm-products {
  display: grid;
  gap: 0;
}
.fbc-checkout-confirm-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(88, 76, 52, 0.1);
}
.fbc-checkout-confirm-item:first-child {
  padding-top: 0;
}
.fbc-checkout-confirm-item__main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.fbc-checkout-confirm-item__qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 28px;
  padding: 0 8px;
  background: #f7f4ec;
  color: #4f5338;
  font-size: 12px;
  font-weight: 900;
}
.fbc-checkout-confirm-item__title {
  display: inline-block;
  color: #2f2b20;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  text-decoration: none;
}
.fbc-checkout-confirm-item__title:hover {
  color: #4f5338;
}
.fbc-checkout-confirm-item__meta {
  display: grid;
  gap: 2px;
  margin-top: 5px;
  color: rgba(47, 43, 32, 0.62);
  font-size: 12px;
  line-height: 1.35;
}
.fbc-checkout-confirm-item__total {
  color: #2f2b20;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}
.fbc-checkout-confirm-totals {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}
.fbc-checkout-confirm-totals div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(47, 43, 32, 0.72);
  font-size: 14px;
}
.fbc-checkout-confirm-totals div:last-child {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(88, 76, 52, 0.16);
  color: #2f2b20;
}
.fbc-checkout-confirm-totals div:last-child strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
}
.fbc-checkout-payment-confirm {
  margin-top: 22px;
}
.fbc-checkout-payment-confirm .btn, .fbc-checkout-confirm-button, #button-confirm {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 0;
  background: #4f5338;
  color: #f7f4ec;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-checkout-payment-confirm .btn:hover, .fbc-checkout-confirm-button:hover, #button-confirm:hover {
  background: #3e422d;
  color: #f7f4ec;
}
.fbc-checkout-payment-confirm .btn:disabled, .fbc-checkout-confirm-button:disabled, #button-confirm:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
/* =========================================================
   12. RIGHT COMMENTS + TRUST BLOCK
========================================================= */
#checkout-comments-right {
  margin-top: 22px;
}
#checkout-comments-right .mb-3, #checkout-comments-right .form-group, #checkout-comments-right .form-check {
  margin-bottom: 16px !important;
}
#checkout-comments-right label, #checkout-comments-right .form-label {
  color: #2f2b20;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
#checkout-comments-right textarea {
  min-height: 104px;
  border-radius: 0;
}
.fbc-checkout-trust {
  display: grid;
  gap: 14px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(88, 76, 52, 0.12);
}
.fbc-checkout-trust article {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.fbc-checkout-trust i {
  width: 24px;
  flex: 0 0 24px;
  color: #8b8064;
  font-size: 20px;
  line-height: 1.2;
}
.fbc-checkout-trust strong {
  display: block;
  margin-bottom: 3px;
  color: #2f2b20;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.fbc-checkout-trust p {
  margin: 0;
  color: rgba(47, 43, 32, 0.66);
  font-size: 12px;
  line-height: 1.45;
}
/* =========================================================
   13. NATIVE TABLE FALLBACK
========================================================= */
.fbc-checkout-page .table-responsive {
  border: 1px solid rgba(88, 76, 52, 0.12);
  background: #fffdf8;
}
.fbc-checkout-page .table {
  margin-bottom: 0;
  color: #2f2b20;
}
.fbc-checkout-page .table th {
  border-color: rgba(88, 76, 52, 0.1);
  color: rgba(47, 43, 32, 0.68);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-checkout-page .table td {
  border-color: rgba(88, 76, 52, 0.1);
}
/* =========================================================
   14. RESPONSIVE
========================================================= */
@media (max-width: 1199.98px) {
  .fbc-checkout-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr);
  }
  .fbc-checkout-steps article {
    padding: 22px 18px;
  }
}
@media (max-width: 991.98px) {
  .fbc-checkout-steps {
    grid-template-columns: repeat(2, 1fr);
    margin-left: 18px;
    margin-right: 18px;
  }
  .fbc-checkout-steps article:nth-child(2) {
    border-right: 0;
  }
  .fbc-checkout-steps article:nth-child(1), .fbc-checkout-steps article:nth-child(2) {
    border-bottom: 1px solid rgba(88, 76, 52, 0.1);
  }
  .fbc-checkout-grid {
    grid-template-columns: 1fr;
  }
  .fbc-checkout-summary-card {
    position: static;
  }
}
@media (max-width: 575.98px) {
  .fbc-checkout-hero {
    padding-left: 18px;
    padding-right: 18px;
  }
  .fbc-checkout-steps {
    grid-template-columns: 1fr;
  }
  .fbc-checkout-steps article {
    border-right: 0;
    border-bottom: 1px solid rgba(88, 76, 52, 0.1);
  }
  .fbc-checkout-steps article:last-child {
    border-bottom: 0;
  }
  .fbc-checkout-main {
    padding-left: 14px;
    padding-right: 14px;
  }
  .fbc-checkout-block, .fbc-checkout-section, .fbc-checkout-summary-card {
    padding: 22px 18px;
  }
  .fbc-checkout-section__heading, .fbc-checkout-block-heading {
    gap: 12px;
  }
  .fbc-checkout-section__number {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
  .fbc-checkout-summary-heading {
    flex-direction: column;
    gap: 8px;
  }
  .fbc-checkout-confirm-totals div:last-child strong {
    font-size: 28px;
  }
  .fbc-checkout-switches .fbc-checkout-primary-btn {
    width: 100%;
  }
}
/* =========================================================
   CHECKOUT COMPACT 3-COLUMN DESKTOP PATCH — FBC
   Add after the current checkout SCSS.
========================================================= */
.fbc-checkout-page--compact {
  --fbc-checkout-gap: clamp(18px, 1.7vw, 28px);
}
/* Desktop: keep everything tighter and more visible */
@media (min-width: 1200px) {
  .fbc-checkout-hero--compact {
    padding-top: 42px;
    padding-bottom: 64px;
  }
  .fbc-checkout-hero--compact h1 {
    font-size: clamp(36px, 3.2vw, 54px);
  }
  .fbc-checkout-hero--compact p:not(.fbc-checkout-kicker) {
    margin-top: 10px;
    font-size: 15px;
  }
  .fbc-checkout-steps--compact {
    max-width: 1320px;
    margin-top: -34px;
  }
  .fbc-checkout-steps--compact article {
    padding: 15px 18px;
  }
  .fbc-checkout-steps--compact article > span {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
  .fbc-checkout-main--compact {
    padding-top: 28px;
    padding-bottom: 34px;
  }
  .fbc-checkout-container--compact {
    max-width: 1480px;
  }
  .fbc-checkout-grid--three {
    display: grid;
    grid-template-columns: minmax(420px, 1.18fr) minmax(360px, 0.9fr) minmax(330px, 0.78fr);
    gap: var(--fbc-checkout-gap);
    align-items: start;
  }
  .fbc-checkout-column {
    min-width: 0;
  }
  .fbc-checkout-block--compact, .fbc-checkout-summary-card--compact {
    padding: 24px;
  }
  .fbc-checkout-block--compact + .fbc-checkout-block--compact, .fbc-checkout-column--methods .fbc-checkout-block--compact + .fbc-checkout-block--compact {
    margin-top: 18px;
  }
  .fbc-checkout-block-heading, .fbc-checkout-section__heading, .fbc-checkout-section-title {
    margin-bottom: 16px;
  }
  .fbc-checkout-section-title {
    margin-top: 18px;
  }
  .fbc-checkout-section h2, .fbc-checkout-section legend, .fbc-checkout-block h2, .fbc-checkout-block legend, .fbc-checkout-block-heading-content h2 {
    font-size: clamp(20px, 1.55vw, 26px);
  }
  .fbc-checkout-section-title__content h3, .fbc-checkout-section-title h3 {
    font-size: clamp(18px, 1.35vw, 22px);
  }
  .fbc-checkout-page .form-control, .fbc-checkout-page .form-select {
    min-height: 42px;
    font-size: 13px;
  }
  .fbc-checkout-page textarea.form-control {
    min-height: 96px;
  }
  .fbc-checkout-field, .fbc-checkout-page .mb-3 {
    margin-bottom: 13px !important;
  }
  .fbc-checkout-page .row {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 12px;
  }
  .fbc-checkout-payment-select {
    grid-template-columns: 46px minmax(0, 1fr);
  }
  .fbc-checkout-payment-icon {
    min-height: 42px;
  }
  .fbc-checkout-comment-section {
    margin-top: 18px;
  }
  .fbc-checkout-summary-card--compact {
    position: sticky;
    top: 94px;
  }
  .fbc-checkout-summary-heading {
    margin-bottom: 15px;
    padding-bottom: 14px;
  }
  .fbc-checkout-summary-heading h2 {
    font-size: clamp(24px, 2vw, 34px);
  }
  .fbc-checkout-confirm-item {
    padding: 11px 0;
  }
  .fbc-checkout-confirm-item__title {
    font-size: 13px;
  }
  .fbc-checkout-confirm-item__meta {
    font-size: 11px;
  }
  .fbc-checkout-confirm-totals {
    gap: 8px;
    margin-top: 14px;
  }
  .fbc-checkout-confirm-totals div:last-child {
    padding-top: 13px;
  }
  .fbc-checkout-confirm-totals div:last-child strong {
    font-size: 28px;
  }
  .fbc-checkout-payment-confirm .btn, .fbc-checkout-confirm-button, #button-confirm {
    min-height: 48px;
  }
  .fbc-checkout-trust--compact {
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
  }
  .fbc-checkout-trust--compact i {
    font-size: 17px;
  }
  .fbc-checkout-trust--compact strong {
    font-size: 11px;
  }
  .fbc-checkout-trust--compact p {
    font-size: 11px;
  }
}
/* Medium desktop/tablet keeps 2-column to avoid squeezing */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .fbc-checkout-grid--three {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.78fr);
  }
  .fbc-checkout-column--methods {
    grid-column: 1 / 2;
  }
  .fbc-checkout-column--summary {
    grid-column: 2 / 3;
    grid-row: 1 / span 2;
  }
}
/* Mobile remains stacked */
@media (max-width: 991.98px) {
  .fbc-checkout-grid--three {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   Checkbox style for newsletter / terms
   Works with the custom Twig block:
   .fbc-checkout-switch > input + .fbc-checkout-switch-slider + text
========================================================= */
.fbc-checkout-switches {
  display: grid;
  gap: 11px;
  margin-top: 22px;
}
.fbc-checkout-switch {
  position: relative;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.fbc-checkout-switch input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  pointer-events: none;
}
.fbc-checkout-switch-slider {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border: 1px solid rgba(79, 83, 56, 0.48);
  background: #fffdf8;
  box-shadow: inset 0 0 0 2px #fffdf8;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.fbc-checkout-switch-slider::before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7f4ec;
  font-size: 9px;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fbc-checkout-switch input[type="checkbox"]:checked + .fbc-checkout-switch-slider {
  background: #4f5338;
  border-color: #4f5338;
  box-shadow: none;
}
.fbc-checkout-switch input[type="checkbox"]:checked + .fbc-checkout-switch-slider::before {
  opacity: 1;
  transform: scale(1);
}
.fbc-checkout-switch input[type="checkbox"]:focus + .fbc-checkout-switch-slider {
  box-shadow: 0 0 0 3px rgba(207, 175, 92, 0.16);
}
.fbc-checkout-switch-text {
  display: block;
  min-width: 0;
  color: #4a463d;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1.38;
  text-transform: none;
}
.fbc-checkout-switch-text a {
  color: #4f5338;
  font-weight: 850;
  text-decoration: none;
}
.fbc-checkout-switch-text a:hover {
  text-decoration: underline;
}
.fbc-checkout-switches .fbc-checkout-primary-btn {
  width: fit-content;
  min-height: 44px;
  margin-top: 6px;
  padding: 0 22px;
}
@media (min-width: 1200px) {
  .fbc-checkout-grid--three {
    align-items: stretch;
  }
  .fbc-checkout-column {
    display: flex;
    flex-direction: column;
  }
  .fbc-checkout-column--details > .fbc-checkout-block, .fbc-checkout-column--methods > .fbc-checkout-block, .fbc-checkout-column--summary > .fbc-checkout-summary-card {
    height: 100%;
  }
  .fbc-checkout-column--methods {
    gap: 18px;
  }
  .fbc-checkout-column--methods > .fbc-checkout-block {
    height: auto;
  }
  .fbc-checkout-column--methods > .fbc-checkout-block:last-of-type {
    flex: 1;
  }
}
.fbc-checkout-mini-secure {
  margin-top: 18px;
  padding: 18px 20px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
}
.fbc-checkout-mini-secure i {
  color: #4f5338;
  font-size: 16px;
  margin-top: 2px;
}
.fbc-checkout-mini-secure strong {
  display: block;
  margin-bottom: 4px;
  color: #2f2b20;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-checkout-mini-secure p {
  margin: 0;
  color: rgba(47, 43, 32, 0.65);
  font-size: 12px;
  line-height: 1.45;
}
.fbc-checkout-confirm-item__image {
  width: 54px;
  height: 68px;
  flex: 0 0 54px;
  display: block;
  background: #f7f4ec;
  border: 1px solid rgba(88, 76, 52, 0.1);
  overflow: hidden;
}
.fbc-checkout-confirm-item__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fbc-checkout-confirm-item__main {
  align-items: flex-start;
}
.fbc-checkout-confirm-item__qty {
  margin-bottom: 4px;
}
/* =========================================================
   Checkout origin card
========================================================= */
.fbc-checkout-origin-card {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  padding: 0px;
  background: #f7f4ec;
}
/* Image */
.fbc-checkout-origin-card__image {
  flex: 0 0 92px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fbc-checkout-origin-card__image img {
  width: 92px;
  height: auto;
  display: block;
  object-fit: contain;
}
/* Content */
.fbc-checkout-origin-card__content {
  flex: 1;
  min-width: 0;
}
.fbc-checkout-origin-card__content h4 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #2f2b20;
}
.fbc-checkout-origin-card__content p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(47, 43, 32, 0.78);
}
/* Mobile */
@media (max-width: 767.98px) {
  .fbc-checkout-origin-card {
    padding: 18px;
    gap: 16px;
  }
  .fbc-checkout-origin-card__image {
    flex-basis: 62px;
  }
  .fbc-checkout-origin-card__image img {
    width: 62px;
  }
  .fbc-checkout-origin-card__content h4 {
    font-size: 18px;
  }
  .fbc-checkout-origin-card__content p {
    font-size: 13px;
    line-height: 1.6;
  }
}
/* =========================================================
   Address match checkbox
========================================================= */
#input-address-match + .form-check-label, .form-check-label[for="input-address-match"] {
  margin: 0;
}
.form-check {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 100%;
  margin: 0;
}
.form-check-input {
  margin: 0;
  flex-shrink: 0;
}
.form-check-label {
  display: flex;
  align-items: center;
  margin: 0;
  line-height: 1.45;
}
/* =========================
   Success Page — FBC Premium
========================= */
.fbc-success-page {
  padding: 50px 0 90px;
}
.fbc-success-hero {
  max-width: 1180px;
  margin: 0 auto;
  padding: 70px 60px;
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  display: flex;
  align-items: flex-start;
  gap: 46px;
}
.fbc-success-icon {
  width: 86px;
  height: 86px;
  min-width: 86px;
  border-radius: 50%;
  background: #4f5338;
  color: #fffdf8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}
.fbc-success-content {
  max-width: 780px;
}
.fbc-success-subtitle {
  display: inline-block;
  margin-bottom: 14px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.fbc-success-content h1 {
  margin: 0 0 26px;
  color: #2f2b20;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 56px;
  font-weight: 400;
  line-height: 1.05;
}
.fbc-success-message {
  margin-bottom: 38px;
  color: rgba(47, 43, 32, 0.82);
  font-size: 17px;
  line-height: 1.8;
}
.fbc-success-message p {
  margin: 0 0 12px;
}
.fbc-success-message a {
  color: #4f5338;
  font-weight: 800;
  text-decoration: underline;
}
.fbc-success-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 38px;
}
.fbc-success-info-card {
  padding: 22px;
  background: #f7f4ec;
  border: 1px solid rgba(88, 76, 52, 0.1);
  display: flex;
  gap: 14px;
}
.fbc-success-info-card i {
  color: #8b8064;
  font-size: 20px;
  margin-top: 3px;
}
.fbc-success-info-card h4 {
  margin: 0 0 6px;
  color: #2f2b20;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-success-info-card p {
  margin: 0;
  color: rgba(47, 43, 32, 0.74);
  font-size: 13px;
  line-height: 1.55;
}
.fbc-success-btn {
  min-width: 230px;
  min-height: 54px;
  background: #4f5338;
  border-color: #4f5338;
  color: #fffdf8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-success-btn:hover {
  background: #3f432d;
  border-color: #3f432d;
  color: #fffdf8;
}
@media (max-width: 991px) {
  .fbc-success-hero {
    padding: 48px 32px;
    flex-direction: column;
  }
  .fbc-success-content h1 {
    font-size: 42px;
  }
  .fbc-success-info-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .fbc-success-page {
    padding: 30px 0 55px;
  }
  .fbc-success-hero {
    padding: 34px 22px;
  }
  .fbc-success-content h1 {
    font-size: 34px;
  }
  .fbc-success-btn {
    width: 100%;
  }
}
/* =========================
   404 Not Found — FBC Premium
========================= */
.fbc-not-found-page {
  background: #f7f4ec;
  padding: 70px 18px 100px;
}
.fbc-not-found-hero {
  max-width: 980px;
  margin: 0 auto;
}
.fbc-not-found-card {
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  padding: clamp(46px, 7vw, 86px);
  text-align: center;
}
.fbc-not-found-kicker {
  display: inline-block;
  margin-bottom: 16px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-not-found-card h1 {
  margin: 0 0 22px;
  color: #2f2b20;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 76px);
  font-weight: 400;
  line-height: 1;
}
.fbc-not-found-text {
  max-width: 620px;
  margin: 0 auto 12px;
  color: rgba(47, 43, 32, 0.78);
  font-size: 17px;
  line-height: 1.7;
}
.fbc-not-found-subtext {
  max-width: 620px;
  margin: 0 auto 34px;
  color: rgba(47, 43, 32, 0.62);
  font-size: 15px;
  line-height: 1.65;
}
.fbc-not-found-btn {
  min-width: 220px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #4f5338;
  border-color: #4f5338;
  color: #fffdf8;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-not-found-btn:hover {
  background: #3f432d;
  border-color: #3f432d;
  color: #fffdf8;
}
@media (max-width: 575.98px) {
  .fbc-not-found-page {
    padding: 42px 14px 70px;
  }
  .fbc-not-found-btn {
    width: 100%;
  }
}
/* =========================
   FBC Story / Information Page
========================= */
/* =========================
   STORY HERO
========================= */
.fbc-story-hero {
  position: relative;
  width: 100%;
  min-height: 78vh;
  display: flex;
  align-items: center;
  padding: clamp(120px, 10vw, 180px) clamp(24px, 6vw, 90px);
  background: linear-gradient(90deg, rgba(8, 10, 8, 0.82) 0%, rgba(8, 10, 8, 0.58) 38%, rgba(8, 10, 8, 0.18) 100%), url("/image/website-img/portocannone-ls.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.fbc-story-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 820px;
  margin: 0;
}
.fbc-story-kicker {
  display: block;
  margin: 0 0 18px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.fbc-story-hero h1 {
  margin: 0 0 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 6.2rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: #f8f4ec;
}
.fbc-story-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(248, 244, 236, 0.88);
  font-size: clamp(17px, 1.3vw, 22px);
  line-height: 1.8;
}
/* Mobile */
@media (max-width: 991.98px) {
  .fbc-story-hero {
    min-height: 68vh;
    align-items: flex-end;
    padding: 120px 24px 60px;
    background-position: center center;
  }
  .fbc-story-hero h1 {
    font-size: clamp(2.6rem, 12vw, 4.6rem);
    line-height: 1.02;
  }
  .fbc-story-hero p {
    font-size: 16px;
    line-height: 1.7;
  }
}
.fbc-story-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
  padding: 16px 24px;
  background: #fffdf8;
  border-bottom: 1px solid rgba(88, 76, 52, 0.12);
}
.fbc-story-nav a {
  color: #4f5338;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}
.fbc-story-section {
  padding: clamp(70px, 8vw, 120px) clamp(22px, 5vw, 72px);
}
.fbc-story-section--soft {
  background: #fffdf8;
}
.fbc-story-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(36px, 5vw, 76px);
  align-items: center;
}
.fbc-story-grid--reverse .fbc-story-image {
  order: 2;
}
.fbc-story-image {
  margin: 0;
  min-height: 420px;
  background: #ebe6d8;
  overflow: hidden;
}
.fbc-story-image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
}
.fbc-story-copy h2, .fbc-story-centered h2 {
  margin: 0 0 24px;
  font-size: clamp(38px, 5vw, 68px);
  color: #2f2b20;
}
.fbc-story-copy p, .fbc-story-centered p {
  color: rgba(47, 43, 32, 0.78);
  font-size: 17px;
  line-height: 1.85;
}
.fbc-story-copy ul {
  margin: 26px 0 0;
  padding-left: 20px;
  color: rgba(47, 43, 32, 0.78);
  font-size: 16px;
  line-height: 1.8;
}
.fbc-story-centered {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.fbc-story-team {
  max-width: 1180px;
  margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.fbc-story-team article {
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.12);
  padding: 18px;
  text-align: center;
}
.fbc-story-team img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  margin-bottom: 18px;
}
.fbc-story-team h3 {
  margin: 0 0 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
}
.fbc-story-team p {
  margin: 0;
  color: rgba(47, 43, 32, 0.68);
  font-size: 14px;
}
.fbc-story-trust {
  max-width: 1080px;
  margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.fbc-story-trust article {
  background: #f7f4ec;
  border: 1px solid rgba(88, 76, 52, 0.12);
  padding: 30px;
}
.fbc-story-trust i {
  color: #8b8064;
  font-size: 28px;
  margin-bottom: 18px;
}
.fbc-story-trust h3 {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fbc-story-trust p {
  margin: 0;
  color: rgba(47, 43, 32, 0.72);
  font-size: 14px;
  line-height: 1.7;
}
@media (max-width: 991.98px) {
  .fbc-story-grid, .fbc-story-team, .fbc-story-trust {
    grid-template-columns: 1fr;
  }
  .fbc-story-grid--reverse .fbc-story-image {
    order: 0;
  }
  .fbc-story-nav {
    position: static;
  }
}
/* =========================
   Account Login / Register — FBC Premium
========================= */
.fbc-account-page {
  background: #f7f4ec;
  color: #2f2b20;
}
.fbc-account-page .breadcrumb {
  display: none;
}
.fbc-account-hero {
  padding: clamp(70px, 8vw, 120px) 24px clamp(44px, 5vw, 76px);
  text-align: center;
  background: linear-gradient(90deg, rgba(5, 8, 4, 0.92), rgba(12, 18, 8, 0.74)), radial-gradient(circle at 50% 40%, rgba(207, 175, 92, 0.14), transparent 34%), #071006;
  color: #f7f4ec;
}
.fbc-account-kicker {
  margin: 0 0 14px;
  color: #cfaf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fbc-account-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 78px);
  font-weight: 400;
  line-height: 1;
  color: #f7f4ec;
}
.fbc-account-hero__text {
  max-width: 720px;
  margin: 20px auto 0;
  color: rgba(247, 244, 236, 0.82);
  font-size: 16px;
  line-height: 1.7;
}
.fbc-account-hero__text a {
  color: #cfaf5c;
  font-weight: 800;
  text-decoration: none;
}
.fbc-account-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(42px, 6vw, 80px) clamp(18px, 4vw, 46px);
}
.fbc-account-alert-wrap {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 0 24px;
}
.fbc-account-grid {
  display: grid;
  gap: 28px;
}
.fbc-account-grid--login {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fbc-account-card, .fbc-account-register-card {
  background: #fffdf8;
  border: 1px solid rgba(88, 76, 52, 0.13);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.08);
}
.fbc-account-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(30px, 4vw, 48px);
}
.fbc-account-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 22px;
  color: #cfaf5c;
  border: 1px solid rgba(207, 175, 92, 0.28);
}
.fbc-account-card h2, .fbc-account-register-card legend {
  margin: 0 0 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 400;
  line-height: 1.05;
  color: #2f2b20;
}
.fbc-account-card__subtitle {
  margin-bottom: 14px;
  color: #4f5338;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-account-card p {
  color: rgba(47, 43, 32, 0.74);
  line-height: 1.75;
}
.fbc-account-field, .fbc-account-register-card .row.mb-3 {
  margin-bottom: 22px !important;
}
.fbc-account-field label, .fbc-account-register-card label {
  margin-bottom: 8px;
  color: #2f2b20;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-account-page .form-control, .fbc-account-page .form-select {
  min-height: 52px;
  border-radius: 0;
  border: 1px solid rgba(88, 76, 52, 0.18);
  background-color: #fffdf8;
  color: #2f2b20;
  box-shadow: none;
}
.fbc-account-page .form-control:focus, .fbc-account-page .form-select:focus {
  border-color: rgba(207, 175, 92, 0.72);
  box-shadow: 0 0 0 4px rgba(207, 175, 92, 0.12);
}
.fbc-account-forgotten {
  display: inline-block;
  margin-top: 10px;
  color: #4f5338;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.fbc-account-forgotten:hover {
  color: #cfaf5c;
}
.fbc-account-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin-top: auto;
  padding: 0 30px;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fbc-account-btn--primary {
  background: #4f5338;
  color: #f7f4ec;
}
.fbc-account-btn--primary:hover, .fbc-account-btn--primary:focus {
  background: #5f6645;
  color: #f7f4ec;
}
.fbc-account-register-card {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 58px);
}
.fbc-account-register-card fieldset {
  margin: 0 0 34px;
  padding: 0 0 30px;
  border-bottom: 1px solid rgba(88, 76, 52, 0.12);
}
.fbc-account-register-card fieldset:last-of-type {
  border-bottom: 0;
}
.fbc-account-register-card legend {
  width: 100%;
  padding: 0 0 16px;
  border-bottom: 0;
}
.fbc-account-register-card .col-sm-2, .fbc-account-register-card .col-sm-10 {
  width: 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
.fbc-account-register-card .row {
  margin-left: 0;
  margin-right: 0;
}
.fbc-account-register-card .row > * {
  padding-left: 0;
  padding-right: 0;
}
.fbc-account-register-card .text-end {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}
.fbc-account-register-card .form-check-input {
  border-radius: 0;
  border-color: rgba(88, 76, 52, 0.28);
}
.fbc-account-register-card .form-check-input:checked {
  background-color: #4f5338;
  border-color: #4f5338;
}
.fbc-account-register-card .form-check-label a, .fbc-account-register-card p a {
  color: #4f5338;
  font-weight: 800;
  text-decoration: none;
}
.fbc-account-register-card .form-check-label a:hover, .fbc-account-register-card p a:hover {
  color: #cfaf5c;
}
@media (max-width: 991.98px) {
  .fbc-account-grid--login {
    grid-template-columns: 1fr;
  }
  .fbc-account-shell {
    padding: 34px 18px 60px;
  }
  .fbc-account-card, .fbc-account-register-card {
    padding: 28px 22px;
  }
  .fbc-account-register-card .text-end {
    justify-content: stretch;
  }
  .fbc-account-register-card .text-end .fbc-account-btn {
    width: 100%;
  }
}
