/*
 * NOVOTTICA CONTI — RESTYLING CSS
 * File di override grafico. Reversibile: rimuovere questo file per tornare al design precedente.
 * Ispirazione: Oliver Peoples · Celine · Persol · Ray-Ban
 * -------------------------------------------------------------------------
 */

/* =========================================================
   1. CSS VARIABLES — Design Tokens
   ========================================================= */
:root {
  --nc-black:        #0f0f0f;
  --nc-dark:         #1a1a1a;
  --nc-gold:         #c9a96e;
  --nc-gold-light:   #e8d5b0;
  --nc-beige:        #f5f0e8;
  --nc-cream:        #faf8f5;
  --nc-white:        #ffffff;
  --nc-text:         #1a1a1a;
  --nc-text-mid:     #5a5a5a;
  --nc-text-light:   #9a9a9a;
  --nc-children:     #5c7a5e;
  --nc-children-bg:  #eef4ee;
  --nc-border:       #e8e4df;
  --nc-radius:       0px;
  --nc-transition:   0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --nc-font-heading: 'Cormorant Garamond', 'Georgia', serif;
  --nc-font-body:    'EB Garamond', 'Georgia', serif;
}

/* =========================================================
   2. GLOBAL RESETS & BASE — VB-inspired typography
   ========================================================= */
body {
  font-family: var(--nc-font-body) !important;
  color: var(--nc-text) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  background-color: var(--nc-white) !important;
  -webkit-font-smoothing: antialiased;
}

/* Corpo testo — sottile ed editoriale come VB */
p, li, td, span, a, label, input, button {
  font-family: var(--nc-font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.nc-heading {
  font-family: var(--nc-font-heading) !important;
  color: var(--nc-black) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em;
  line-height: 1.15 !important;
}

/* Italic serif per i titoli editoriali — signature VB */
h2 em, h1 em, .nc-italic-heading {
  font-style: italic;
  font-weight: 400;
  color: var(--nc-gold);
}

.btn-primary{
  background-color: var(--nc-gold);
}

/* =========================================================
   3. ANNOUNCEMENT BAR
   ========================================================= */
.announcement-bar.bg-1 {
  background-color: var(--nc-dark) !important;
  border-bottom: 1px solid #2a2a2a;
}

.announcement-text {
  /*color: var(--nc-gold-light) !important;*/
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.announcement-bar .announcement-call a {
  color: var(--nc-gold) !important;
}

/* Top bar — pulsanti telefono / login / registrati più grandi ed evidenti */
.announcement-call-link,
.announcement-login {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.announcement-call-link .icon-phone,
.announcement-login .icon-user {
  width: 15px !important;
  height: 15px !important;
  margin-right: 0 !important;
  color: var(--nc-gold) !important;
}
.announcement-login .icon-user path {
  fill: var(--nc-gold) !important;
}

/* Social icons in top bar */
.nc-bar-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 14px;
}

.nc-bar-social-link {
  display: inline-flex;
  align-items: center;
  color: rgba(201,169,110,0.65) !important;
  transition: color var(--nc-transition) !important;
  text-decoration: none !important;
}

.nc-bar-social-link:hover {
  color: var(--nc-gold) !important;
}

/* Thin separator between social and login meta */
.nc-bar-sep {
  display: inline-block;
  width: 1px;
  height: 12px;
  background: rgba(255,255,255,0.15);
  margin-right: 14px;
  flex-shrink: 0;
}

/* ── Mobile: tutto su una riga, solo icona utente ── */
@media (max-width: 575px) {
  /* forza flex su una riga */
  .announcement-bar .row {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
  }
  /* cancella col-12 dalla colonna centrale (testo vuoto) */
  .announcement-bar .col-lg-6 {
    display: none !important;
  }
  /* phone e meta: auto-width invece di col-12 */
  .announcement-bar .col-lg-3 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  /* font ancora più compatto */
  .announcement-text {
    font-size: 10px !important;
    letter-spacing: 0.05em !important;
  }
  /* nasconde le label testuali accanto alle icone */
  .announcement-login span,
  .announcement-call-link span {
    display: none !important;
  }
  /* nasconde il separatore | tra login e registrati */
  .separator-login {
    display: none !important;
  }
  /* nasconde il secondo link login (Registrati) — stessa pagina */
  .announcement-login ~ .announcement-login {
    display: none !important;
  }
  /* icone leggermente più grandi senza testo */
  .announcement-call-link .icon-phone,
  .announcement-login .icon-user {
    width: 14px !important;
    height: 14px !important;
  }
  /* social più ravvicinato su mobile */
  .nc-bar-social {
    margin-right: 10px;
    gap: 8px;
  }
  .nc-bar-sep {
    margin-right: 10px;
  }
}

/* =========================================================
   4. HEADER & NAVIGATION — Layout luxury: logo centrato + menu sotto
   ========================================================= */
.sticky-header.header-1 {
  background-color: var(--nc-white) !important;
  border-bottom: 1px solid var(--nc-border) !important;
  box-shadow: none !important;
}

.sticky-header.header-1.sticky-active,
.sticky-header.header-1.is-sticky {
  background-color: var(--nc-white) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
}

/* ── Two-row header layout ── */

/* Row wrapper: allow wrapping so nav goes to second line */
.sticky-header.header-1 .header-bottom .container > .row {
  flex-wrap: wrap !important;
  position: relative !important;
  align-items: flex-start !important;
}

/* 1. Logo: full width, centered */
.sticky-header.header-1 .header-bottom .col-xl-3,
.sticky-header.header-1 .header-bottom .col-lg-2,
.sticky-header.header-1 .header-bottom [class^="col-"]:first-child {
  order: 1 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding-top: 22px !important;
  padding-bottom: 0 !important;
}

/* 2. Actions: absolute top-right over logo row */
.sticky-header.header-1 .header-bottom .col-lg-auto {
  order: 2 !important;
  position: absolute !important;
  top: 18px !important;
  right: 12px !important;
  flex: none !important;
  width: auto !important;
}

/* 3. Nav: full width second row, centered, with top border */
.sticky-header.header-1 .header-bottom .col-lg.d-lg-block {
  order: 3 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  border-top: 1px solid var(--nc-border) !important;
  margin-top: 16px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Logo sizing — più grande per look luxury */
.header-logo {
  display: flex !important;
  justify-content: center !important;
}
.header-logo img {
  max-height: 42px !important;
  width: auto !important;
  transition: opacity 0.3s !important;
}
.header-logo img:hover {
  opacity: 0.75 !important;
}

/* Sotto i 991px la colonna azioni (ricerca/carrello/hamburger) resta in
   posizione assoluta in alto a destra: il logo, centrato su tutta la riga,
   può finire sotto quei pulsanti. Lo allineiamo a sinistra e gli riserviamo
   spazio a destra così non si sovrappone mai all'hamburger. */
@media (max-width: 991px) {
  .sticky-header.header-1 .header-bottom .col-xl-3,
  .sticky-header.header-1 .header-bottom .col-lg-2,
  .sticky-header.header-1 .header-bottom [class^="col-"]:first-child {
    justify-content: flex-start !important;
    padding-right: 150px !important;
    padding-bottom: 25px !important;
  }
  .sticky-header {
      height: 90px;
  }
  .header-bottom {
        padding-bottom: 0px;
  }
  .header-logo {
    justify-content: flex-start !important;
  }
  .homeslide .content-slide {
      padding-left: 30px !important;
      padding-right: 30px !important;
  }
}

/* Nav links — il flex orizzontale è solo per il menu desktop: il drawer
   mobile (hamburger) riusa le stesse classi .site-navigation .main-menu e
   deve restare impilato verticalmente (comportamento di default, come nel
   tema originale che scopa questa regola a min-width:992px) */
@media (min-width: 992px) {
  .site-navigation .main-menu {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    row-gap: 6px !important;
    gap: 0 !important;
  }
}
/* Laptop/schermi piccoli (992-1200px): con testo bold a 13px le voci
   possono avvicinarsi al limite di spazio disponibile — restringiamo
   leggermente il padding per evitare che vadano a capo inutilmente */
@media (min-width: 992px) and (max-width: 1200px) {
  .site-navigation .main-menu .nav-link {
    padding: 14px 12px !important;
    font-size: 12px !important;
  }
}

.site-navigation .main-menu .nav-link {
  font-family: var(--nc-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--nc-dark) !important;
  padding: 14px 8px !important;
  transition: color var(--nc-transition) !important;
  position: relative;
  white-space: nowrap;
}

.site-navigation .main-menu .nav-link::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 18px;
  width: 0;
  height: 1px;
  background-color: var(--nc-gold);
  transition: width var(--nc-transition);
}

.site-navigation .main-menu .menu-list-item:hover .nav-link::after,
.site-navigation .main-menu .menu-list-item.active .nav-link::after {
  width: calc(100% - 36px);
}

.site-navigation .main-menu .menu-list-item:hover .nav-link,
.site-navigation .main-menu .menu-list-item.active .nav-link {
  color: var(--nc-gold) !important;
}

/* Dropdown chevron — minimal (solo desktop: il menu desktop apre i
   sottomenu al passaggio del mouse, quindi la freccia non serve).
   Su mobile invece è l'UNICO elemento cliccabile che apre il sottomenu
   nel drawer (vedi main.js: click su .open-submenu -> .submenu-transform
   .active): nasconderla sempre rendeva impossibile aprire i sottomenu
   nel menu hamburger. */
@media (min-width: 992px) {
  .site-navigation .open-submenu {
    display: none !important;
  }
}

/* Submenu (posizionamento sotto la voce di menu: solo desktop — nel
   drawer mobile lo stesso elemento è il pannello che scorre da destra
   e deve restare a top:0 come definito dal tema base) */
@media (min-width: 992px) {
  .submenu-transform-desktop {
    top: 100% !important;
  }
}
.submenu-transform-desktop .submenu {
  background-color: var(--nc-white) !important;
  border: 1px solid var(--nc-border) !important;
  border-top: 2px solid var(--nc-gold) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08) !important;
  border-radius: 0 0 var(--nc-radius) var(--nc-radius) !important;
  min-width: 180px !important;
}

.nav-item-sub{
  padding: 4px 16px;
}

.nav-link-sub, .nav-text-sub {
  font-family: var(--nc-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-text-mid) !important;
  transition: color var(--nc-transition) !important;
  padding: 5px 20px !important;
  display: block !important;
  font-weight: 500;
  line-height: 1.3;
}

.nav-link-sub:hover, .nav-text-sub:hover {
  color: var(--nc-gold) !important;
}

/* Header action icons */
.header-action-item svg path,
.header-action-item svg line,
.header-action-item svg polyline {
  stroke: var(--nc-dark);
  fill: none;
}

.header-action-item svg path[fill="black"] {
  fill: var(--nc-dark) !important;
  stroke: none;
}

/* Cart badge */
.cart-amount {
  background-color: var(--nc-gold) !important;
  color: var(--nc-white) !important;
  font-size: 10px !important;
}

/* Sticky: torna a layout compatto */
.sticky-header.header-1.is-sticky .header-bottom .container > .row,
.sticky-header.header-1.sticky-active .header-bottom .container > .row {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.sticky-header.header-1.is-sticky .header-bottom .col-xl-3,
.sticky-header.header-1.sticky-active .header-bottom .col-xl-3 {
  flex: 0 0 auto !important;
  max-width: none !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  justify-content: flex-start !important;
}
.sticky-header.header-1.is-sticky .header-bottom .col-lg-auto,
.sticky-header.header-1.sticky-active .header-bottom .col-lg-auto {
  position: static !important;
}
.sticky-header.header-1.is-sticky .header-bottom .col-lg.d-lg-block,
.sticky-header.header-1.sticky-active .header-bottom .col-lg.d-lg-block {
  border-top: none !important;
  margin-top: 0 !important;
  flex: 1 !important;
}
.sticky-header.header-1.is-sticky .site-navigation .nav-link,
.sticky-header.header-1.sticky-active .site-navigation .nav-link {
  padding: 8px 12px !important;
}
.sticky-header.header-1.is-sticky .header-logo img,
.sticky-header.header-1.sticky-active .header-logo img {
  max-height: 36px !important;
}

/* =========================================================
   5. BUTTONS
   ========================================================= */
.btn-primary-custom {
  background-color: var(--nc-dark) !important;
  color: var(--nc-white) !important;
  border: 1px solid var(--nc-dark) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 14px 30px !important;
  border-radius: 0 !important;
  transition: all var(--nc-transition) !important;
}

@media (max-width: 767px) {
 .btn-primary-custom{
  font-size: 12px !important;
 } 
}

.btn-primary-custom:hover {
  background-color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
  color: var(--nc-white) !important;
}

.btn-secondary-custom,
.btn-outline-nc {
  background-color: transparent !important;
  color: #00000096 !important;
  border: 1px solid #00000096 !important;
  font-family: var(--nc-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 13px 34px !important;
  border-radius: 0 !important;
  transition: all var(--nc-transition) !important;
  display: inline-block;
}

.btn-outline-nc:hover {
  background-color: var(--nc-dark) !important;
  color: var(--nc-white) !important;
}

.btn-gold {
  background-color: var(--nc-gold) !important;
  color: var(--nc-white) !important;
  border: 1px solid var(--nc-gold) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 14px 36px !important;
  border-radius: 0 !important;
  transition: all var(--nc-transition) !important;
  display: inline-block;
  text-decoration: none !important;
}

.btn-gold:hover {
  background-color: var(--nc-dark) !important;
  border-color: var(--nc-dark) !important;
  color: var(--nc-white) !important;
}

/* =========================================================
   6. HOME SLIDESHOW
   ========================================================= */
.homeslide .slide-heading {
  font-family: var(--nc-font-heading) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  line-height: 1.1 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

@media (max-width: 768px) {
  .homeslide .slide-heading {
    font-size: 30px !important;
  }
}

.homeslide .content-absolute {
  background: linear-gradient(
    to right,
    rgba(15,15,15,0.65) 0%,
    rgba(15,15,15,0.1) 100%
  ) !important;
}

/* Slider dots */
.slick-dots li button:before {
  color: var(--nc-gold) !important;
}
.slick-dots li.slick-active button:before {
  color: var(--nc-gold) !important;
  opacity: 1 !important;
}

/* =========================================================
   7. SECTION TITLES & EYEBROWS
   ========================================================= */
.nc-eyebrow {
  display: block;
  font-family: var(--nc-font-body);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nc-gold);
  margin-bottom: 12px;
}

.nc-section-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 42px;
  font-weight: 600;
  color: var(--nc-black) !important;
  line-height: 1.15;
  margin-bottom: 0;
}

.nc-section-subtitle {
  font-family: var(--nc-font-body);
  font-size: 15px;
  color: var(--nc-text-mid);
  max-width: 580px;
  margin: 16px auto 0;
  line-height: 1.7;
}

.nc-divider {
  width: 40px;
  height: 1px;
  background-color: var(--nc-gold);
  margin: 20px auto;
}

/* =========================================================
   8. BRAND LOGOS SECTION — layout editoriale su bianco
   ========================================================= */
.brand-logo-section {
  background-color: var(--nc-white) !important;
  padding: 48px 0 56px !important;
  border-top: 1px solid var(--nc-border) !important;
  border-bottom: 1px solid var(--nc-border) !important;
}

/* Titolo "I nostri marchi" */
h4.text-center.mt-4,
.brand-logo-section ~ h4,
.brand-logo-section h4 {
  font-family: var(--nc-font-body) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-light) !important;
  margin-bottom: 28px !important;
}

/* Contenitore loghi */
.brand-logo-inner {
  padding: 0 !important;
}

/* Loghi: nero su bianco, hover a colori */
.multiple-items img {
  /*filter: grayscale(100%) !important;*/
  opacity: 0.75 !important;
  max-height: 32px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: filter 0.4s ease, opacity 0.4s ease !important;
  padding: 0 !important;
}
.multiple-items .slick-slide:hover img {
  filter: grayscale(0%) brightness(1) !important;
  opacity: 0.9 !important;
}
@media (max-width: 480px) {
  .multiple-items img {
    max-height: 45px !important;
  }
}

/* Celle logo — allineamento */
.multiple-items .slick-slide > div,
.multiple-items .slick-slide a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 64px !important;
  padding: 8px 20px !important;
}

/* Arrows slider loghi */
.brand-logo-inner .slick-prev,
.brand-logo-inner .slick-next {
  display: none !important;
}

/* Override for dark background brands */
.brand-logo-dark img {
  filter: grayscale(100%) brightness(2) !important;
  opacity: 0.7 !important;
}

/* =========================================================
   9. PRODUCT CARDS
   ========================================================= */
.product-card-wrapper,
.product-item {
  border-radius: 0 !important;
  overflow: hidden;
  transition: transform var(--nc-transition) !important;
}

.product-card-wrapper:hover,
.product-item:hover {
  transform: translateY(-4px) !important;
}

.product-card-img-wrapper,
.img-box {
  background-color: var(--nc-beige) !important;
  border-radius: 0 !important;
}

.product-card-title,
.product-item .product-title {
  font-family: var(--nc-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  color: var(--nc-dark) !important;
  margin-top: 0 !important;
}

.product-card-price .price,
.price-regular,
.product-price {
  font-family: var(--nc-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--nc-dark) !important;
}

.price-sale {
  color: #b84040 !important;
}

/* Sale badges */
.product-badge {
  background-color: var(--nc-dark) !important;
  color: var(--nc-white) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  border-radius: 0 !important;
  padding: 4px 10px !important;
}

/* =========================================================
   10. TRUSTED BADGES (Spedizioni / Reso / Pagamento)
   ========================================================= */
.trusted-section {
  background-color: var(--nc-beige) !important;
  border-top: 1px solid var(--nc-border);
  border-bottom: 1px solid var(--nc-border);
  padding: 48px 0 !important;
}

.trusted-heading {
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nc-dark) !important;
  margin-top: 16px !important;
}

/* =========================================================
   11. FOOTER
   ========================================================= */
.footer-style-2 {
  background-color: var(--nc-dark) !important;
}

.footer-style-2 .footer-bottom {
  background-color: var(--nc-dark) !important;
  border-top: 1px solid #2a2a2a !important;
  padding: 32px 0 !important;
}

.footer-style-2 .footer-text,
.footer-style-2 .copyright {
  color: var(--nc-text-light) !important;
  font-size: 12px !important;
  line-height: 1.9 !important;
}

.footer-style-2 .footer-text a {
  color: var(--nc-gold-light) !important;
  transition: color var(--nc-transition) !important;
}

.footer-style-2 .footer-text a:hover {
  color: var(--nc-gold) !important;
}

/* Footer social */
.footer-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 24px;
}

.footer-social-link {
  color: var(--nc-text-light) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color var(--nc-transition) !important;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-social-link:hover {
  color: var(--nc-gold) !important;
}

.footer-social-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* Pre-footer links */
.pre_footer {
  background-color: var(--nc-dark) !important;
  border-top: 1px solid #2a2a2a;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 30px;
}

.pre_footer a {
  color: var(--nc-text-light) !important;
  font-size: 12px !important;
  padding: 0 12px;
  border-right: 1px solid #3a3a3a;
  text-decoration: none !important;
  transition: color var(--nc-transition) !important;
}

.pre_footer a:last-child {
  border-right: none;
}

.pre_footer a:hover {
  color: var(--nc-gold) !important;
}

/* =========================================================
   12. SCROLLUP / WHATSAPP
   ========================================================= */
#scrollup {
  background-color: var(--nc-gold) !important;
  border-radius: 0 !important;
}

.whatsapp_btn {
  background-color: #25D366 !important;
  bottom: 55px;
    left: 6px;
}

@media (max-width: 576px) {

  .whatsapp_btn{
            bottom: 55px;
        left: 12px;
  }
  
}

/* =========================================================
   13. CHI SIAMO PAGE — Hero elegante con frame decorativo
   ========================================================= */

/* Hero: più alto, overlay sfumato più raffinato */
.chi-siamo__page .page-hero {
  position: relative;
  height: 540px !important;
  overflow: hidden;
  background-color: var(--nc-dark);
}

.chi-siamo__page .page-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.5;
  filter: saturate(0.6);
  transition: transform 8s ease;
}
.chi-siamo__page .page-hero:hover img {
  transform: scale(1.04);
}

/* Overlay a gradiente diagonale luxury */
.chi-siamo__page .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(15,15,15,0.7) 0%,
    rgba(15,15,15,0.2) 50%,
    rgba(15,15,15,0.5) 100%
  );
  z-index: 1;
}

/* Frame decorativo (cornice dorata angolare) */
.chi-siamo__page .page-hero::after {
  content: '';
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(201,169,110,0.3);
  pointer-events: none;
  z-index: 2;
}

.chi-siamo__page .page-hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 64px 64px 60px;
  z-index: 3;
}

/* Testo hero */
.chi-siamo__page .page-hero-content .nc-eyebrow {
  color: var(--nc-gold) !important;
  margin-bottom: 10px;
}

.servizio-hero h1 {
  color: #fff !important;
}

/* Hero servizi — la sezione ha altezza fissa (inline) + overflow:hidden:
   sui titoli lunghi in mobile portrait il testo può tagliarsi. Su schermi
   stretti passiamo ad altezza automatica (min-height come pavimento) e
   riduciamo titolo/padding perché il testo abbia sempre spazio a sufficienza. */
@media (max-width: 576px) {
  .servizio-hero {
    height: auto !important;
    min-height: 300px !important;
  }
  .servizio-hero-content {
    padding: 32px 24px !important;
  }
  .servizio-hero-content h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }
}
/* Mobile in landscape: larghezza ampia ma altezza dello schermo ridotta,
   l'hero a tutta altezza spingerebbe il contenuto troppo in basso */
@media (orientation: landscape) and (max-height: 500px) {
  .servizio-hero {
    height: auto !important;
    min-height: 240px !important;
  }
  .servizio-hero-content {
    padding: 24px 32px !important;
  }
}

.chi-siamo__page .page-hero-content h1 {
  font-family: var(--nc-font-heading) !important;
  font-size: clamp(52px, 7vw, 88px) !important;
  color: var(--nc-white) !important;
  font-weight: 600 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 4px 40px rgba(0,0,0,0.4);
  margin: 0 !important;
}

@media (max-width: 768px) {
  .chi-siamo__page .page-hero { height: 360px !important; }
  .chi-siamo__page .page-hero-content { padding: 32px; }
  .chi-siamo__page .page-hero::after { inset: 12px; }
}

/* About intro */
.about-intro {
  padding: 80px 0;
  background-color: var(--nc-white);
}

.about-intro-lead {
  font-family: var(--nc-font-heading) !important;
  font-size: 26px !important;
  color: var(--nc-dark) !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

.about-intro-text {
  font-family: var(--nc-font-body);
  font-size: 15px;
  color: var(--nc-text-mid);
  line-height: 1.85;
}

/* Values cards */
.values-section {
  background-color: var(--nc-beige);
  padding: 80px 0;
}

.value-card {
  padding: 40px 32px;
  background-color: var(--nc-white);
  border-top: 3px solid var(--nc-gold);
  height: 100%;
}

.value-card-number {
  font-family: var(--nc-font-heading);
  font-size: 60px;
  color: var(--nc-gold);
  opacity: 0.3;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 8px;
}

.value-card-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 22px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.value-card-text {
  font-family: var(--nc-font-body);
  font-size: 14px;
  color: var(--nc-text-mid);
  line-height: 1.75;
  margin: 0;
}

/* Timeline */
.timeline-section {
  padding: 80px 0;
  background-color: var(--nc-white);
}

.timeline-item {
  display: flex;
  gap: 32px;
  margin-bottom: 48px;
  position: relative;
}

.timeline-item::before {
  content: '';
  position: absolute;
  left: 59px;
  top: 48px;
  bottom: -48px;
  width: 1px;
  background-color: var(--nc-border);
}

.timeline-item:last-child::before {
  display: none;
}

.timeline-year {
  flex-shrink: 0;
  width: 120px;
  font-family: var(--nc-font-heading);
  font-size: 32px;
  color: var(--nc-gold);
  font-weight: 700;
  line-height: 1;
  padding-top: 4px;
}

.timeline-dot {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--nc-gold);
  margin-top: 8px;
  position: relative;
  z-index: 1;
}

.timeline-content h4 {
  font-family: var(--nc-font-heading) !important;
  font-size: 20px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

.timeline-content p {
  font-family: var(--nc-font-body);
  font-size: 14px;
  color: var(--nc-text-mid);
  line-height: 1.75;
  margin: 0;
}

/* About gallery */
.__about_gal img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  filter: grayscale(20%);
  transition: all var(--nc-transition);
}

.__about_gal img:hover {
  filter: grayscale(0%);
  transform: scale(1.02);
}

/* About video */
.__about video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================================================
   14. SERVIZI PAGE
   ========================================================= */
.servizi__page .page-hero,
.servizi-hero {
  position: relative;
  height: 320px;
  overflow: hidden;
  background-color: var(--nc-dark);
  display: flex;
  align-items: flex-end;
}

.servizi-hero-content {
  padding: 48px;
}

.servizi-hero-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 64px !important;
  color: var(--nc-white) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.servizi-grid {
  padding: 80px 0;
}

/* Service card */
.service-card {
  position: relative;
  overflow: hidden;
  height: calc(100% - 30px);
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  background-color: var(--nc-white);
  border: 1px solid var(--nc-border);
  transition: all var(--nc-transition);
}

.service-card:hover {
  box-shadow: 0 12px 48px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}

.service-card-img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  filter: grayscale(10%);
  transition: all var(--nc-transition);
}

.service-card:hover .service-card-img {
  filter: grayscale(0%);
  transform: scale(1.03);
}

.service-card-img-wrapper {
  overflow: hidden;
}

.service-card-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-card-body .btn-outline-nc {
  align-self: flex-start;
  margin-top: auto !important;
  color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
}

.service-card-body .btn-outline-nc:hover {
  background-color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
  color: var(--nc-white) !important;
}

.service-card-icon {
  width: 44px;
  height: 44px;
  background-color: var(--nc-beige);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.service-card-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 22px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
}

.service-card-text {
  font-family: var(--nc-font-body);
  font-size: 14px;
  color: var(--nc-text-mid);
  line-height: 1.8;
  margin-bottom: 0;
}

.service-card-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--nc-gold);
  border: 1px solid var(--nc-gold);
  padding: 4px 12px;
  margin-bottom: 16px;
}

/* Children special section */
.children-section {
  background-color: var(--nc-children-bg);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.children-section::before {
  content: '♥';
  position: absolute;
  right: -20px;
  top: -40px;
  font-size: 300px;
  color: var(--nc-children);
  opacity: 0.04;
  line-height: 1;
  pointer-events: none;
}

.children-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--nc-children);
  color: var(--nc-white);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 6px 16px;
  margin-bottom: 20px;
}

.children-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 44px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.children-text {
  font-family: var(--nc-font-body);
  font-size: 17px;
  color: var(--nc-text-mid);
  line-height: 1.85;
}

.btn-children {
  background-color: var(--nc-children) !important;
  color: var(--nc-white) !important;
  border: 1px solid var(--nc-children) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 14px 36px !important;
  border-radius: 0 !important;
  transition: all var(--nc-transition) !important;
  display: inline-block;
  text-decoration: none !important;
}

.btn-children:hover {
  background-color: var(--nc-dark) !important;
  border-color: var(--nc-dark) !important;
  color: var(--nc-white) !important;
}

/* Partners strip */
.partners-strip {
  background-color: var(--nc-dark);
  padding: 24px 0;
  text-align: center;
}

.partners-strip-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nc-text-light);
  margin-bottom: 12px;
}

.partners-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.partners-list li {
  font-family: var(--nc-font-heading);
  font-size: 16px;
  color: var(--nc-gold-light);
  letter-spacing: 0.08em;
}

.partners-list li::before {
  content: '·';
  margin-right: 24px;
  color: var(--nc-gold);
  opacity: 0.4;
}

.partners-list li:first-child::before {
  display: none;
}

/* =========================================================
   14b. HOME — RESTYLING SEZIONI ESISTENTI
   ========================================================= */

/* ── Hero Slider ── */
.homeslide .slide-item {
  position: relative;
  overflow: hidden;
}
.homeslide .slide-img {
  width: 100%;
  max-height: 680px;
  min-height: 420px;
  object-fit: cover;
  display: block;
  filter: brightness(0.72);
}
.homeslide .content-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: 80px;
}
.homeslide .slide-heading {
  font-family: var(--nc-font-heading) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 40px rgba(0,0,0,0.3);
  margin-bottom: 24px !important;
}
.homeslide .btn-primary-custom.slide-btn {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  transition: all 0.3s !important;
}
.homeslide .btn-primary-custom.slide-btn:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #fff !important;
}
/* Slick dots — minimal */
.homeslide .slick-dots li button:before {
  color: rgba(255,255,255,0.5) !important;
  font-size: 8px !important;
}
.homeslide .slick-dots li.slick-active button:before {
  color: var(--nc-gold) !important;
}
/* Arrows */
.homeslide .slick-prev, .homeslide .slick-next {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 0 !important;
  z-index: 10 !important;
  transition: border-color 0.3s !important;
}
.homeslide .slick-prev { left: 24px !important; }
.homeslide .slick-next { right: 24px !important; }

/* ── Featured Collection Banners (box-home) ── */
.featured-collection .box-home {
  position: relative;
  overflow: hidden;
}
.featured-collection .box-home-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  filter: brightness(0.7);
}
.featured-collection .box-home:hover .box-home-img img {
  transform: scale(1.04);
  filter: brightness(0.6);
}
.featured-collection .box-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 40px 36px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%) !important;
}
.featured-collection .box-content h3 {
  font-family: var(--nc-font-heading) !important;
  font-size: 34px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 12px !important;
}
.featured-collection .box-content hr {
  border-color: rgba(255,255,255,0.3) !important;
  margin: 12px 0 !important;
}
.featured-collection .btn-ban {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(201,169,110,0.6) !important;
  padding-bottom: 2px !important;
  background: transparent !important;
  transition: color 0.3s, border-color 0.3s !important;
}
.featured-collection .btn-ban:hover {
  color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
}

/* ── Section Headings ── */
.section-heading.primary-color {
  font-family: var(--nc-font-heading) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--nc-gold) !important;
  margin-bottom: 32px !important;
}
.section-header {
  padding-bottom: 0 !important;
}

/* ── Product Cards ── */
.product-card {
  border: none !important;
  background: transparent !important;
  transition: var(--nc-transition) !important;
}
.product-card-img {
  overflow: hidden !important;
  background: var(--nc-cream) !important;
}
.product-card-img img.primary-img {
  width: 100% !important;
  height: 280px !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform 0.6s ease !important;
  padding: 16px !important;
  background: var(--nc-cream) !important;
}
.product-card:hover .primary-img {
  transform: scale(1.05) !important;
}
.product-card-details {
  padding: 16px 4px 0 !important;
}
.product-card-title a {
  font-family: var(--nc-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--nc-black) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.product-card-title a:hover {
  color: var(--nc-gold) !important;
}
.product-card-details hr {
  border-color: var(--nc-border) !important;
  margin: 10px 0 !important;
}
.card-price-regular {
  font-family: var(--nc-font-body) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: var(--nc-black) !important;
}
.card-price-compare {
  font-size: 13px !important;
  color: var(--nc-text-light) !important;
  margin-left: 8px !important;
}
.badge-percentage {
  background: var(--nc-black) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  border-radius: 0 !important;
}
.addtocart-btn, .quickview-btn {
  background: var(--nc-black) !important;
  border: none !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  border-radius: 0 !important;
  padding: 10px 16px !important;
  transition: background 0.3s !important;
}
.addtocart-btn:hover, .quickview-btn:hover {
  background: var(--nc-gold) !important;
}

/* ── Featured (Shopping) product section bg ── */
.featured-collection.mt-100 {
  background: var(--nc-cream) !important;
  padding: 60px 0 80px !important;
  margin-top: 0 !important;
}

/* "Gli ultimi arrivi" — su mobile portrait le card prodotto (2 per riga)
   si incolonnano a piena larghezza invece di restare affiancate */
@media (max-width: 576px) {
  .featured-collection.mt-50 .row.justify-content-center > div:has(> .product-card) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ── "Vai al catalogo" CTA ── */
.view-all .btn-primary-custom {
  background: transparent !important;
  border: 1px solid var(--nc-black) !important;
  color: var(--nc-black) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  padding: 14px 40px !important;
  border-radius: 0 !important;
  margin-top: 40px !important;
  transition: all 0.3s !important;
}
.view-all .btn-primary-custom:hover {
  background: var(--nc-black) !important;
  color: #fff !important;
}

/* ── Single Banner "Visita il nostro shop" ── */
.single-banner-section .banner-img {
  min-height: 480px !important;
  background-size: cover !important;
  background-position: center !important;
}
.single-banner-section .banner-img::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.55) !important;
}
.single-banner-section .content-absolute {
  z-index: 2 !important;
}
.single-banner-heading {
  font-family: var(--nc-font-heading) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 28px !important;
}
.single-banner-btn {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  border-radius: 0 !important;
  padding: 14px 40px !important;
  transition: all 0.3s !important;
}
.single-banner-btn:hover {
  background: rgba(255,255,255,0.12) !important;
}

/* ── Brand Logos Carousel — restyling editoriale ── */

/* Sezione wrapper brand logos */
.nc-brands-section,
div:has(> .section-header + div > .activate-arrows),
.featured-collection.overflow-hidden:last-of-type {
  background: var(--nc-white) !important;
  padding: 48px 0 !important;
  border-top: 1px solid var(--nc-border);
  border-bottom: 1px solid var(--nc-border);
}

/* Titolo sezione "I nostri marchi" */
.section-header p.section-heading.primary-color,
p.section-heading.primary-color {
  font-family: var(--nc-font-body) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-light) !important;
  margin-bottom: 24px !important;
}

/* Loghi: grayscale + hover a colori */
.owl-carousel img,
[class*="marchi"] img,
[class*="brand"] img {
  /*filter: grayscale(100%) !important;*/
  opacity: 0.75 !important;
  max-height: 45px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: filter 0.4s ease, opacity 0.4s ease !important;
}
.owl-carousel .owl-item:hover img,
[class*="marchi"] a:hover img,
[class*="brand"] a:hover img {
  filter: grayscale(0%) brightness(1) !important;
  opacity: 0.85 !important;
}

/* Padding cella logo */
.owl-carousel .owl-item > div,
.owl-carousel .owl-item a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 24px !important;
  min-height: 64px !important;
}

/* =========================================================
   15. HOME — NEW SECTIONS
   ========================================================= */

/* ── Store Hero Section ── */
.store-hero-section {
  position: relative;
  overflow: hidden;
}
.store-hero-inner {
  display: flex;
  min-height: 560px;
}
.store-hero-img-col {
  flex: 0 0 55%;
  position: relative;
  overflow: hidden;
}
.store-hero-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.8s ease;
}
.store-hero-section:hover .store-hero-img {
  transform: scale(1.03);
}
.store-hero-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%);
}
.store-hero-content-col {
  flex: 0 0 45%;
  background: var(--nc-beige);
  display: flex;
  align-items: center;
  padding: 60px 64px;
}
.store-hero-content {
  max-width: 420px;
}
.store-hero-title {
  font-family: var(--nc-font-heading) !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  font-weight: 600 !important;
  color: var(--nc-black) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em;
  margin: 12px 0 0 !important;
}
.store-hero-divider {
  width: 40px;
  height: 1px;
  background: var(--nc-gold);
  margin: 24px 0;
}
.store-hero-text {
  font-size: 17px;
  color: var(--nc-text-mid);
  line-height: 1.8;
  margin-bottom: 28px;
}
.store-hero-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 36px;
  padding: 20px;
  background: rgba(0,0,0,0.04);
  border-left: 2px solid var(--nc-gold);
}
.store-hero-info-item {
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.store-hero-info-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--nc-gold);
  min-width: 70px;
}
.store-hero-info-value {
  font-size: 17px;
  color: var(--nc-text);
}
.store-hero-ctas {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 991px) {
  .store-hero-inner { flex-direction: column; }
  .store-hero-img-col { flex: 0 0 280px; min-height: 280px; }
  .store-hero-content-col { flex: none; padding: 48px 32px; }
}

/* ── Instagram Fashion Section ── */
.nc-instagram-fashion {
  display: flex;
  min-height: 480px;
  overflow: hidden;
}
.nc-ig-grid {
  flex: 0 0 50%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 3px;
  overflow: hidden;
}
.nc-ig-cell {
  position: relative;
  overflow: hidden;
}
.nc-ig-cell--1 { background: #1a1a1a; }
.nc-ig-cell--2 { background: var(--nc-gold); opacity: 0.9; }
.nc-ig-cell--3 { background: #2d2d2d; }
.nc-ig-cell--4 { background: var(--nc-beige); }
.nc-ig-cell--5 { background: #0f0f0f; }
.nc-ig-cell--6 { background: #c9a96e; opacity: 0.6; }

/* Overlay immagini quando disponibili */
.nc-ig-cell--1 { background-image: url('../images/servizi/_4.jpg'); background-size: cover; background-position: center; }
.nc-ig-cell--2 { background-image: url('../images/servizi/_1.jpg'); background-size: cover; background-position: center; filter: brightness(0.7) saturate(0.8); }
.nc-ig-cell--3 { background-image: url('../images/servizi/_2.jpg'); background-size: cover; background-position: center; filter: brightness(0.6); }
.nc-ig-cell--4 { background-image: url('../images/servizi/_3.jpg'); background-size: cover; background-position: center; filter: brightness(0.65) saturate(0.7); }
.nc-ig-cell--5 { background-image: url('../images/_about/3.jpg'); background-size: cover; background-position: center; filter: brightness(0.5); }
.nc-ig-cell--6 { background-image: url('../images/_about/4.jpg'); background-size: cover; background-position: center; filter: brightness(0.6) saturate(0.5); }

.nc-ig-content {
  flex: 0 0 50%;
  background: var(--nc-black);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 64px;
}
.nc-ig-overline {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nc-gold);
  margin-bottom: 16px;
}
.nc-ig-headline {
  font-family: var(--nc-font-heading) !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  font-weight: 600 !important;
  color: var(--nc-white) !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
}
.nc-ig-headline em {
  font-style: italic;
  color: var(--nc-gold);
}
.nc-ig-body {
  font-size: 17px;
  color: rgba(255,255,255,0.55);
  line-height: 1.8;
  margin-bottom: 24px;
}
.nc-ig-body strong {
  color: var(--nc-gold);
  font-weight: 600;
}
.nc-ig-hashtag {
  font-family: var(--nc-font-heading);
  font-size: 22px;
  font-weight: 600;
  font-style: italic;
  color: rgba(255,255,255,0.2);
  letter-spacing: 0.02em;
  margin-bottom: 32px;
}
.nc-ig-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  border: 1px solid rgba(255,255,255,0.25);
  color: var(--nc-white) !important;
  text-decoration: none !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.3s;
  align-self: flex-start;
}
.nc-ig-cta:hover {
  background: var(--nc-gold);
  border-color: var(--nc-gold);
  color: var(--nc-white) !important;
}
.nc-ig-cta-icon { display: flex; align-items: center; }
.nc-ig-cta-arrow { margin-left: 4px; transition: transform 0.3s; }
.nc-ig-cta:hover .nc-ig-cta-arrow { transform: translateX(4px); }
@media (max-width: 991px) {
  .nc-instagram-fashion { flex-direction: column; }
  .nc-ig-grid { flex: 0 0 200px; height: 200px; }
  .nc-ig-content { flex: none; padding: 48px 32px; }
}

/* ── Brand Identity Strip ── */
.nc-brand-strip {
  background: var(--nc-black);
  padding: 28px 0;
  border-bottom: 1px solid rgba(201,169,110,0.2);
}
.nc-brand-strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.nc-brand-strip-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 40px;
  text-align: center;
}
.nc-brand-strip-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 32px;
  font-weight: 600;
  color: var(--nc-gold);
  line-height: 1;
  letter-spacing: -0.01em;
}
.nc-brand-strip-label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-top: 6px;
}
.nc-brand-strip-divider {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.15);
  flex-shrink: 0;
}
@media (max-width: 576px) {
  .nc-brand-strip-item { padding: 12px 20px; }
  .nc-brand-strip-divider { display: none; }
}

 .site-navigation .main-menu .menu-list-item.active .nav-link::after{
  display: none !important;
 }

.section-heading{
  font-size: 19px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}

/* Dual section: Fisico vs Online */
.dual-section {
  padding: 80px 0;
  background-color: var(--nc-beige);
}

.dual-card {
  position: relative;
  overflow: hidden;
  height: 480px;
  display: flex;
  align-items: flex-end;
  text-decoration: none !important;
}

.dual-card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
}

.dual-card:hover .dual-card-bg {
  transform: scale(1.04);
}

.dual-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,15,15,0.8) 0%, rgba(15,15,15,0.1) 60%);
}

.dual-card-content {
  position: relative;
  z-index: 2;
  padding: 40px;
  width: 100%;
}

.dual-card-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nc-gold);
  border: 1px solid var(--nc-gold);
  padding: 4px 14px;
  margin-bottom: 14px;
}

.dual-card-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 36px !important;
  color: var(--nc-white) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  margin-bottom: 8px !important;
}

.dual-card-sub {
  font-size: 13px;
  color: rgba(255,255,255,0.75);
  line-height: 1.6;
  margin-bottom: 20px;
}

.dual-card-cta {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nc-white) !important;
  border-bottom: 1px solid var(--nc-gold);
  padding-bottom: 2px;
  text-decoration: none !important;
}

/* Focus Bambini Home Section */
.bambini-focus-section {
  padding: 0;
  background-color: var(--nc-children-bg);
  overflow: hidden;
}

.bambini-focus-section .bambini-text-col {
  padding: 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bambini-focus-section .bambini-img-col {
  position: relative;
  min-height: 520px;
  overflow: hidden;
}

.bambini-focus-section .bambini-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

@media (max-width: 991px) {
  .bambini-focus-section .bambini-text-col {
    padding: 48px 24px;
  }
  .bambini-focus-section .bambini-img-col {
    min-height: 300px;
    position: relative;
  }
  .bambini-focus-section .bambini-img-col img {
    position: relative;
    height: 300px;
  }
}

/* Outlet Banner Section */
.outlet-section {
  position: relative;
  height: 380px;
  overflow: hidden;
  display: flex;
  align-items: center;
  background-color: var(--nc-dark);
}

.outlet-bg {
  position: absolute;
  inset: 0;
  background-image: url('../images/_about/5.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.25;
}

.outlet-content {
  position: relative;
  z-index: 2;
  text-align: center;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}

.outlet-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--nc-gold);
  border: 1px solid var(--nc-gold);
  padding: 6px 18px;
  margin-bottom: 20px;
}

.outlet-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 58px !important;
  color: var(--nc-white) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  margin-bottom: 16px !important;
}

.outlet-sub {
  font-size: 17px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .outlet-title {
    font-size: 36px !important;
  }
}

/* Social Section */
.social-nc-section {
  padding: 80px 0;
  background-color: var(--nc-dark);
  text-align: center;
}

.social-nc-section .nc-eyebrow {
  color: var(--nc-gold) !important;
}

.social-nc-section .nc-section-title {
  color: var(--nc-white) !important;
  font-size: 48px;
}

.social-nc-section .nc-section-subtitle {
  color: rgba(255,255,255,0.6) !important;
}

.social-nc-section .hashtag {
  font-family: var(--nc-font-heading);
  font-size: 22px;
  color: var(--nc-gold);
  font-style: italic;
  display: block;
  margin: 16px 0 32px;
}

.btn-instagram {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  color: var(--nc-white) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 16px 40px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
  transition: opacity var(--nc-transition) !important;
}

.btn-instagram:hover {
  opacity: 0.88 !important;
  color: var(--nc-white) !important;
}

.btn-instagram svg {
  width: 18px;
  height: 18px;
  fill: var(--nc-white);
}

/* =========================================================
   16. L'OTTICO CONSIGLIA PAGE
   ========================================================= */
.ottico-consiglia__page .page-hero,
.consiglia-hero {
  background-color: var(--nc-beige);
  /*padding: 80px 0 60px;*/
  border-bottom: 1px solid var(--nc-border);
}

.consiglia-hero-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 64px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.consiglia-hero-sub {
  font-size: 15px;
  color: var(--nc-text-mid);
}

/* Article card */
.article-card {
  background-color: var(--nc-white);
  border: 1px solid var(--nc-border);
  overflow: hidden;
  transition: all var(--nc-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none !important;
}

.article-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}

.article-card-img-wrapper {
  overflow: hidden;
  height: 220px;
}

.article-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.article-card:hover .article-card-img {
  transform: scale(1.05);
}

.article-card-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.article-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.article-category {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--nc-gold);
}

.article-date {
  font-size: 12px;
  color: var(--nc-text-light);
}

.article-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 20px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
}

.article-excerpt {
  font-size: 14px;
  color: var(--nc-text-mid);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 20px;
}

.article-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nc-dark) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--nc-gold);
  padding-bottom: 2px;
  transition: color var(--nc-transition) !important;
  align-self: flex-start;
}

.article-cta:hover {
  color: var(--nc-gold) !important;
}

/* Article detail */
.article-detail-hero {
  padding: 60px 0 40px;
  border-bottom: 1px solid var(--nc-border);
}

.article-detail-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 56px !important;
  color: var(--nc-dark) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  max-width: 820px;
}

@media (max-width: 768px) {
  .article-detail-title {
    font-size: 36px !important;
  }
}

.article-detail-content {
  font-family: var(--nc-font-body);
  font-size: 16px;
  color: var(--nc-text);
  line-height: 1.9;
  max-width: 720px;
  margin: 0 auto;
  padding: 60px 0;
}

.article-detail-content h2,
.article-detail-content h3 {
  font-family: var(--nc-font-heading) !important;
  color: var(--nc-dark) !important;
  margin-top: 40px !important;
  margin-bottom: 12px !important;
}

.article-share {
  border-top: 1px solid var(--nc-border);
  border-bottom: 1px solid var(--nc-border);
  padding: 24px 0;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.share-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--nc-text-mid);
}

.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 20px;
  border: 1px solid var(--nc-border);
  text-decoration: none !important;
  transition: all var(--nc-transition);
  color: var(--nc-dark) !important;
}

.share-btn:hover {
  background-color: var(--nc-dark);
  color: var(--nc-white) !important;
  border-color: var(--nc-dark);
}

.share-btn.share-instagram:hover { background-color: #e1306c; border-color: #e1306c; }
.share-btn.share-facebook:hover  { background-color: #1877f2; border-color: #1877f2; }
.share-btn.share-whatsapp:hover  { background-color: #25D366; border-color: #25D366; }

/* Filter tabs */
.filter-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--nc-border);
  margin-bottom: 48px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.filter-tab {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nc-text-mid);
  padding: 14px 24px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all var(--nc-transition);
  white-space: nowrap;
  text-decoration: none !important;
}

.filter-tab:hover,
.filter-tab.active {
  color: var(--nc-dark);
  border-bottom-color: var(--nc-gold);
}

/* =========================================================
   17. MOBILE DRAWER UPDATES
   ========================================================= */
.offcanvas .nav-link {
  font-family: var(--nc-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-dark) !important;
}

/* =========================================================
   18. MISC UTILITY CLASSES
   ========================================================= */
.nc-section {
  padding: 80px 0;
}

.nc-section-sm {
  padding: 48px 0;
}

.nc-bg-beige  { background-color: var(--nc-beige) !important; }
.nc-bg-dark   { background-color: var(--nc-dark) !important; }
.nc-bg-cream  { background-color: var(--nc-cream) !important; }
.nc-text-gold { color: var(--nc-gold) !important; }
.nc-text-dark { color: var(--nc-dark) !important; }

.text-gold { color: var(--nc-gold) !important; }

/* Section dividers */
.nc-hr {
  border: none;
  height: 1px;
  background-color: var(--nc-border);
  margin: 0;
}

/* Breadcrumb */
.nc-breadcrumb {
  font-size: 12px;
  color: var(--nc-text-light);
  padding: 16px 0;
  letter-spacing: 0.06em;
}

.nc-breadcrumb a {
  color: var(--nc-text-light);
  text-decoration: none !important;
}

.nc-breadcrumb a:hover {
  color: var(--nc-gold);
}

.nc-breadcrumb .sep {
  margin: 0 8px;
  opacity: 0.5;
}

/* =========================================================
   19. VB-INSPIRED REFINEMENTS
   ========================================================= */

/* ── 1. HEADER SLIM ALLO SCROLL ── */
.sticky-header.header-1.is-sticky .header-bottom,
.sticky-header.header-1.sticky-active .header-bottom {
  padding: 0 !important;
}
.sticky-header.header-1.is-sticky .header-bottom .container > .row,
.sticky-header.header-1.sticky-active .header-bottom .container > .row {
  flex-wrap: nowrap !important;
  align-items: center !important;
  padding: 6px 0 !important;
}
.sticky-header.header-1.is-sticky .col-xl-3,
.sticky-header.header-1.sticky-active .col-xl-3 {
  flex: 0 0 auto !important;
  max-width: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  justify-content: flex-start !important;
}
.sticky-header.header-1.is-sticky .col-lg.d-lg-block,
.sticky-header.header-1.sticky-active .col-lg.d-lg-block {
  border-top: none !important;
  margin-top: 0 !important;
  flex: 1 1 auto !important;
}
.sticky-header.header-1.is-sticky .col-lg-auto,
.sticky-header.header-1.sticky-active .col-lg-auto {
  position: static !important;
}
.sticky-header.header-1.is-sticky .header-logo img,
.sticky-header.header-1.sticky-active .header-logo img {
  max-height: 28px !important;
}
.sticky-header.header-1.is-sticky .site-navigation .nav-link,
.sticky-header.header-1.sticky-active .site-navigation .nav-link {
  font-size: 10px !important;
  padding: 10px 12px !important;
}
.sticky-header.header-1.is-sticky .site-navigation .nav-link::after,
.sticky-header.header-1.sticky-active .site-navigation .nav-link::after {
  left: 12px;
}
/* Header slim con transizione fluida */
.sticky-header.header-1 .header-bottom {
  transition: padding 0.3s ease, box-shadow 0.3s ease !important;
}

/* ── 2. TRUSTED BADGES — NASCOSTI ── */
.trusted-section,
.trusted-section-inner,
.trusted-badge,
.trusted-content {
  display: none !important;
}

/* ── 3. BRAND LOGOS — rimuovi etichette testo grey ── */
.multiple-items .slick-slide span,
.multiple-items span.p-5,
.brand-logo-section .multiple-items span {
  display: none !important;
}
.brand-logo-section h4.text-center {
  font-family: var(--nc-font-body) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-light) !important;
  margin: 0 0 20px !important;
}

/* ── 4. PRODUCT CARDS VB-STYLE ── */
/* Nascondi bottoni azione hover */
.product-card-action,
.product-card-action-2,
.addtocart-btn,
.quickview-btn {
  display: none !important;
}

/* Wishlist icon — sottile, solo su hover (mobile: sempre visibile) */
.wishlist-btn.card-wishlist {
  opacity: 0 !important;
  transition: opacity 0.3s !important;
  background: transparent !important;
  border: none !important;
}
.product-card:hover .wishlist-btn.card-wishlist {
  opacity: 1 !important;
}

@media (max-width: 991px) {
  .wishlist-btn.card-wishlist {
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Immagine prodotto — editorial, pulizia VB */
.product-card-img {
  background: var(--nc-white) !important;
  overflow: hidden !important;
}
.product-card-img img.primary-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #ffffff !important;
  padding: 20px !important;
  transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
.product-card:hover .primary-img {
  transform: scale(1.04) !important;
}

/* Dettagli prodotto VB — minimal */
.product-card-details {
  padding: 15px !important;
  background: var(--nc-white) !important;
}
.product-card-title a {
  font-family: var(--nc-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--nc-black) !important;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}
.card-price-regular {
  font-family: var(--nc-font-body) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  color: var(--nc-text-mid) !important;

}
.product-card-details hr {
  display: none !important;
}
/* Badge sconto piccolo e discreto */
.badge-percentage {
  font-size: 17px !important;
  padding: 3px 7px !important;
  background: var(--nc-text) !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
}

/* ── 5. PRE-FOOTER — pulito ── */
.pre_footer {
  /*display: none !important;*/ 
}

/* ── 6. FOOTER VB-STYLE ── */
.footer-style-2 {
  background: var(--nc-white) !important;
  border-top: 1px solid var(--nc-border) !important;
  /*padding: 60px 0 0 !important;*/
  padding: 0 !important;
  margin-top: 0 !important;
}
.footer-bottom.bg-5 {
  background: var(--nc-white) !important;
  padding: 0 !important;
}
.footer-bottom .container {
  max-width: 1200px !important;
}

/* Grid footer 4 colonne */
.footer-bottom-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 40px !important;
  padding: 0 0 48px !important;
  border-bottom: 1px solid var(--nc-border) !important;
}

/* Social link nel footer */
.footer-social-links {
  padding-bottom: 48px !important;
  border-bottom: 1px solid var(--nc-border) !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 24px !important;
  padding-top: 0 !important;
}
.footer-social-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-mid) !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.footer-social-link:hover {
  color: var(--nc-black) !important;
}
.footer-social-link svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

/* Copyright VB-style */
.copyright.footer-text {
  font-size: 11px !important;
  color: var(--nc-text-light) !important;
  line-height: 1.8 !important;
  text-align: center !important;
  padding: 24px 0 16px !important;
  letter-spacing: 0.02em !important;
}
.copyright.footer-text a {
  color: var(--nc-text-light) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.footer-bottom p.text-center {
  font-size: 17px !important;
  color: rgba(0,0,0,0.8) !important;
  padding-bottom: 24px !important; 
}

@media (max-width: 767px) {
 .footer-bottom p.text-center{
      font-size: 15px !important;
 } 
}


.footer-bottom p.text-center a {
  color: inherit !important;
  text-decoration: none !important;
}

/* ── 7. SLIDER HERO "WOW" — testo posizionato in basso centrato ── */
.homeslide .content-slide {
  align-items: flex-end !important;
  padding-bottom: 80px !important;
  padding-left: 80px !important;
}

@media (max-width: 991px) {
    .homeslide .content-slide {
      padding-left: 30px !important;
      padding-right: 30px !important;
  }
}

.homeslide .slide-heading {
  font-family: var(--nc-font-heading) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
  text-shadow: 0 2px 40px rgba(0,0,0,0.25);
}

/* ── 8. NAV - font VB (thin + spaced uppercase) ── */
.site-navigation .main-menu .nav-link {
  font-family: var(--nc-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
}

/* Logo — più grande e sottile stile VB */
.header-logo img {
  max-height: 36px !important;
  filter: none !important;
}

/* ── 9. ANNOUNCEMENT BAR VB ── */
.announcement-bar.bg-1 {
  padding: 10px 0 !important;
}
.announcement-text {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
}

/* ── 10. SECTION HEADINGS — VB italic serif ── */
.nc-section-title {
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: 0 !important;
}

/* ── 11. FILTRI "OTTICO CONSIGLIA" ── */
.filter-tab {
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
}

/* ── 12. EDITORIAL BANNER — "Le nuove tendenze" ── */
.nc-editorial-banner {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1.2fr;
  min-height: 680px;
  overflow: hidden;
  position: relative;
}

/* Immagine grande sinistra */
.nc-eb-main {
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none !important;
}
.nc-eb-main-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 20%;
  transition: transform 0.9s cubic-bezier(0.25,0.46,0.45,0.94);
}
.nc-eb-main:hover .nc-eb-main-img {
  transform: scale(1.05);
}
.nc-eb-main-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.1) 50%,
    rgba(0,0,0,0) 100%
  );
}
.nc-eb-main-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px;
  z-index: 2;
}
.nc-eb-tag {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--nc-gold) !important;
  margin-bottom: 8px !important;
}
.nc-eb-name {
  font-family: var(--nc-font-heading) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
  font-style: italic !important;
}
.nc-eb-cta {
  display: inline-block;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  border-bottom: 1px solid rgba(201,169,110,0.6) !important;
  padding-bottom: 2px !important;
  transition: color 0.3s, border-color 0.3s !important;
}
.nc-eb-main:hover .nc-eb-cta {
  color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
}

/* Colonna centrale: headline editoriale */
.nc-eb-center {
  background: var(--nc-beige);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
}
.nc-eb-center-inner {
  max-width: 280px;
}
.nc-eb-overline {
  display: block !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-light) !important;
  margin-bottom: 20px !important;
}
.nc-eb-headline {
  font-family: var(--nc-font-heading) !important;
  font-size: clamp(36px, 3.5vw, 54px) !important;
  font-weight: 400 !important;
  color: var(--nc-black) !important;
  line-height: 1.05 !important;
  margin-bottom: 0 !important;
}
.nc-eb-headline em {
  font-style: italic;
  color: var(--nc-gold);
}
.nc-eb-divider {
  width: 32px;
  height: 1px;
  background: var(--nc-gold);
  margin: 24px 0;
}
.nc-eb-body {
  font-size: 17px !important;
  color: var(--nc-text-mid) !important;
  line-height: 1.75 !important;
  margin-bottom: 28px !important;
}
.nc-eb-shop-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--nc-black) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--nc-black) !important;
  padding-bottom: 3px !important;
  transition: color 0.3s, border-color 0.3s !important;
}
.nc-eb-shop-link:hover {
  color: var(--nc-gold) !important;
  border-color: var(--nc-gold) !important;
}
.nc-eb-shop-arrow {
  transition: transform 0.3s;
}
.nc-eb-shop-link:hover .nc-eb-shop-arrow {
  transform: translateX(4px);
}

/* Colonna destra: due prodotti impilati */
.nc-eb-side {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.nc-eb-side-item {
  flex: 1;
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none !important;
  background: #f0ede8;
}
.nc-eb-side-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.8s ease;
  background-color: #e8e4de;
}
.nc-eb-side-item:hover .nc-eb-side-img {
  transform: scale(1.06);
}
.nc-eb-side-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.5) 0%,
    transparent 60%
  );
}
.nc-eb-side-name {
  position: absolute;
  bottom: 16px;
  left: 20px;
  right: 20px;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.9) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  z-index: 2;
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* Separatore tra le due celle destra */
.nc-eb-side-item:first-child {
  border-bottom: 2px solid var(--nc-white);
}

/* Responsive */
@media (max-width: 991px) {

  .filter-sort-wrapper{
  
    top: 90px;

    background: #ebebebeb;
    backdrop-filter: blur(4px);
    padding: 10px 10px;
    margin-left: -16px;
    margin-right: -16px;

    .filter-sorting{
      width: auto !important;
    }
  }


  .nc-editorial-banner {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    min-height: auto;
  }
  .nc-eb-main { min-height: 420px; }
  .nc-eb-center { grid-column: 1 / 3; padding: 40px 32px; }
  .nc-eb-center-inner { max-width: 100%; }
  .nc-eb-side { grid-column: 1 / 3; grid-template-columns: 1fr 1fr; display: grid; }
  .nc-eb-side-item { min-height: 240px; }


  .menu-list-item{
    padding-top: 0;
    padding-bottom: 0;
  }
  .nav-link-sub, .nav-text-sub {
        font-size: 14px !important;
    padding: 10px 20px !important;
  }
  .collection-title-wrap, .filter-sorting {
        padding: 30px 0 10px;
    }
}
@media (max-width: 576px) {

  .collection-title-wrap, .filter-sorting {
    padding: 0;
  }

  .collection.mt-100, .account-page.mt-100 {
      margin-top: 0px !important;
  }

  .collection-title.heading_24{
    font-size: 20px;
  }

  .nc-editorial-banner { grid-template-columns: 1fr; }
  .nc-eb-main { min-height: 320px; }
  .nc-eb-center { grid-column: 1; }
  .nc-eb-side {
    grid-column: 1;
    display: flex;
    flex-direction: column;
  }
}

/* ── 12. FOOTER VB 4-COLONNE ── */
.nc-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 56px 0 48px;
  border-bottom: 1px solid var(--nc-border);
}
.nc-footer-col-title {
  font-family: var(--nc-font-body) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--nc-black) !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--nc-border) !important;
}
.nc-footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.nc-footer-links li {
  margin-bottom: 10px !important;
}
.nc-footer-links a {
  font-family: var(--nc-font-body) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--nc-text-mid) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: color 0.3s !important;
}
.nc-footer-links a:hover {
  color: var(--nc-black) !important;
}
.nc-footer-address {
  font-size: 17px !important;
  color: var(--nc-text-mid) !important;
  line-height: 1.8 !important;
}
.nc-footer-address a {
  color: var(--nc-text-mid) !important;
  text-decoration: none !important;
}
.nc-footer-address a:hover { color: var(--nc-black) !important; }
.nc-footer-ig {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--nc-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--nc-text-mid) !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.nc-footer-ig:hover { color: var(--nc-black) !important; }
@media (max-width: 768px) {
  .nc-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; padding: 40px 0 36px; }
}
@media (max-width: 480px) {
  .nc-footer-grid { grid-template-columns: 1fr; }
}

/* ── 13. INSTAGRAM COMPOSIZIONI FOTO ── */
/* Griglia più articolata a 3x2 con celle di dimensione variabile */
.nc-ig-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 3px !important;
}
.nc-ig-cell--1 {
  grid-row: 1 / 3 !important; /* cella grande a sinistra, occupa 2 righe */
}
.nc-ig-cell--2 { grid-column: 2; grid-row: 1; }
.nc-ig-cell--3 { grid-column: 3; grid-row: 1; }
.nc-ig-cell--4 { grid-column: 2; grid-row: 2; }
.nc-ig-cell--5 { grid-column: 3; grid-row: 2; }
.nc-ig-cell--6 { display: none !important; } /* nascosta per layout 5-celle */

/* Effetto hover sulle celle */
.nc-ig-cell {
  overflow: hidden !important;
  cursor: pointer !important;
  transition: filter 0.4s !important;
}
.nc-ig-cell:hover {
  filter: brightness(0.8) !important;
}

/* ── 14. FAQ — Accordion ── */
.nc-faq-section-title {
  font-family: var(--nc-font-heading) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--nc-black) !important;
  margin-bottom: 8px !important;
}
.nc-faq-accordion {
  border-top: 1px solid var(--nc-border);
}
.nc-faq-item {
  border-bottom: 1px solid var(--nc-border);
}
.nc-faq-question {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 22px 4px !important;
  margin: 0 !important;
  cursor: pointer !important;
  font-family: var(--nc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--nc-black) !important;
  transition: color 0.3s !important;
}
.nc-faq-question:hover {
  color: var(--nc-gold) !important;
}
.nc-faq-icon {
  flex-shrink: 0;
  color: var(--nc-gold);
  transition: transform 0.3s ease;
}
.nc-faq-question:not(.collapsed) .nc-faq-icon {
  transform: rotate(180deg);
}
.nc-faq-answer {
  font-family: var(--nc-font-body) !important;
  font-size: 16px !important;
  color: var(--nc-text-mid) !important;
  line-height: 1.8 !important;
  padding: 0 4px 24px !important;
  margin: 0 !important;
}

.filter-lists{
  padding-bottom: 15px;
}

.article-card-img[src="assets/images/logo.png"]{
  object-fit: contain !important;
  opacity: 0.5;
}

@media (max-width: 767px) {
  /* Trasforma la riga e le celle in blocchi tradizionali */
  .cart-item {
    display: block !important;
  }
  
  .cart-item > td {
    display: block !important;
    width: 100% !important;
    text-align: left; /* Allinea il testo a sinistra */
    margin-bottom: 8px; /* Spazio verticale tra un elemento e l'altro */
  }

  /* Opzionale: azzera il margine dell'ultimo elemento */
  .cart-item > td:last-child {
    margin-bottom: 0;
  }

  .cart-total-box #no-more-tables td[data-title="Codice coupon"]{

    padding-top: 40px;
  }

  .cart-total-box #no-more-tables td{
    padding-left: 10px;
    padding-right: 10px;
  }

  .cart-page-wrapper .cart-total-box {
      padding: 15px;
  }

}

.megamenu-container{
  margin-left: 0;
  width: 100%;
  justify-content: space-between;
  border: 0   !important;
}

/* =========================================================
   DETTAGLIO — gallery slider mobile (sostituisce overflow-x scroll)
   ========================================================= */
@media (max-width: 991px) {
  /* quando Slick è attivo azzera il layout flex/overflow del contenitore */
  .img-large-list.slick-initialized {
    display: block !important;
    overflow: visible !important;
    margin: 0 !important;
  }
  /* ogni slide occupa tutta la larghezza */
  .img-large-list.slick-initialized .img-large-wrapper {
    min-width: 0 !important;
    padding: 0 !important;
  }
  /* contenitore slide: aspect ratio quadrato */
  .img-large-list.slick-initialized .img-large-wrapper a {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--nc-cream);
  }
  .img-large-list.slick-initialized img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  /* dots — dorati come il resto del sito */
  .img-large-list .slick-dots {
    position: relative;
    bottom: auto;
    margin-top: 10px;
    line-height: 1;
  }
  .img-large-list .slick-dots li button:before {
    color: var(--nc-gold);
    font-size: 8px;
    opacity: 0.35;
  }
  .img-large-list .slick-dots li.slick-active button:before {
    color: var(--nc-gold);
    opacity: 1;
  }
}

/* =========================================================
   CATALOGO — 1 articolo per riga su mobile
   ========================================================= */
@media (max-width: 575px) {
  .collection-product-container .col-6,
  .collection-product-container [class*="col-6"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}