/* ============================================================
   BLACK IRON — Component Overrides
   Caricare PER ULTIMO (dopo style.css e custom.css del tema).
   Nota: il tema usa classi custom proprie (non Bootstrap puro);
   gli override agiscono su quelle classi reali.
   ============================================================ */

/* ── Tipografia: forza Inter (esclude i <i> per non rompere le icon-font) ── */
body,
body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6,
body p, body a, body span, body li, body ul, body ol, body div,
body input, body select, body textarea, body button, body label,
body td, body th, body .btn {
  font-family: 'Manrope', 'Inter', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
}

body {
  color: var(--gs-black);
  background: var(--gs-white);
  -webkit-font-smoothing: antialiased;
}

/* Etichetta di sezione (kicker) */
.gs-label {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gs-gray-600);
}

/* ── Bottoni ─────────────────────────────────────────── */
.btn {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  border-radius: 0 !important;
  transition: opacity var(--gs-dur-fast) ease-out, transform 100ms ease-out;
}
.btn:active { transform: scale(0.98); }
.btn:focus-visible {
  outline: 2px solid var(--gs-black);
  outline-offset: 2px;
  box-shadow: none;
}
.btn.btn-primary,
.btn-primary {
  background-color: var(--gs-black);
  border: 1px solid var(--gs-black);
  color: var(--gs-white);
  border-radius: 0;
  padding: 12px 28px;
}
.btn.btn-primary:hover,
.btn-primary:hover {
  background-color: var(--gs-black);
  border-color: var(--gs-black);
  color: var(--gs-white);
  opacity: 0.85;
}
.btn-outline-primary {
  border: 1px solid var(--gs-black);
  color: var(--gs-black);
  background: transparent;
}
.btn-outline-primary:hover {
  background: var(--gs-black);
  color: var(--gs-white);
}
.btn-danger { background-color: var(--gs-black); border-color: var(--gs-black); }

/* ── Badge ───────────────────────────────────────────── */
.badge { border-radius: 0; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.badge.bg-primary { background: var(--gs-black) !important; }

/* ── Header: barra superiore (solo messaggio spedizione, centrato) ──── */
.header-top.bg-black { background: var(--gs-black) !important; }
.gs-header-top { padding: 10px 0; }
.gs-header-top .header-content {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

/* ── Header: fascia centrale (logo, ricerca, azioni) ──── */
.header-middle { background: var(--gs-white); border-bottom: 1px solid var(--gs-gray-200); }

.header-action-wrap a,
.header-action-wrap a i { color: var(--gs-black); }
.header-action-wrap a:hover { opacity: 0.6; }
/* contatore carrello monocromo */
.product-count.bg-theme-color-red,
.header-action-cart .product-count { background: var(--gs-black) !important; border-radius: 0; }

/* ── Header: navigazione principale ──────────────────── */
.header-bottom { background: var(--gs-white) !important; border-top: 1px solid var(--gs-gray-200); border-bottom: 1px solid var(--gs-gray-200); }
.header-bottom .main-menu.main-menu-black > nav > ul > li > a,
.header-bottom .main-menu > nav > ul > li > a {
  color: var(--gs-black);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 12px;
}
.header-bottom .main-menu.menu-line-height-4 > nav > ul > li:hover > a,
.header-bottom .main-menu > nav > ul > li:hover > a {
  background: var(--gs-black);
  color: var(--gs-white);
}
.header-bottom .main-menu.menu-line-height-4 > nav > ul > li.active > a {
  background: var(--gs-black) !important;
  color: var(--gs-white);
}
/* promo item (nth-child 6): monocromo, niente lampeggio rosso */
.header-bottom .main-menu > nav > ul > li:nth-child(6) > a {
  background: var(--gs-black) !important;
  color: var(--gs-white) !important;
  animation: none !important;
}

/* Mega menu a tendina */
.main-menu > nav > ul > li > ul.mega-menu-style-1 {
  background: var(--gs-white);
  border: 1px solid var(--gs-black);
  border-radius: 0;
  padding: var(--gs-space-lg);
}
.main-menu > nav > ul > li > ul.mega-menu-style-1 li a.menu-title,
.main-menu > nav > ul > li > ul.mega-menu-style-1 li a {
  color: var(--gs-black);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
  font-size: 12px;
}
.main-menu > nav > ul > li > ul.mega-menu-style-1 li a:hover { color: var(--gs-gray-600); }

/* Header mobile */
.header-small-device.bg-white { background: var(--gs-white) !important; border-bottom: 1px solid var(--gs-gray-200); }
.mobile-menu a i, .header-small-device .header-action-wrap a i { color: var(--gs-black); }

/* ============================================================
   HERO SLIDER — full-bleed, senza cornice
   ============================================================ */
.slider-padding { padding: 0 !important; }
.slider-area, .slider-area.bg-gray-2 { background: var(--gs-black) !important; }
.hero-slider-active-3 { border-bottom: 0 !important; }
.hero-slider-nav-2 {
  background: rgba(10,10,10,0.6);
  color: var(--gs-white);
  border-radius: 0;
  transition: background var(--gs-dur-fast) var(--gs-ease);
}
.hero-slider-nav-2:hover { background: var(--gs-black); }

/* ============================================================
   TILE CATEGORIE (product-category-area)
   ============================================================ */
.single-category-wrap, .single-category-wrap .category-img a { border-radius: 0 !important; }
.single-category-wrap .category-img a img { transition: transform var(--gs-dur-med) var(--gs-ease); }
.single-category-wrap:hover .category-img a img { transform: scale(1.04); }
.single-category-wrap .category-title-1 h3 a {
  background-color: var(--gs-black);
  color: var(--gs-white);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 0;
}
.single-category-wrap:hover h3 a { background-color: var(--gs-black); opacity: 0.9; }
/* 3ª categoria promo: monocromo, niente lampeggio */
.product-category-area .pt-2 .container-fluid .col-lg-4:nth-child(3) .category-title-1 a {
  background-color: var(--gs-black) !important;
  color: var(--gs-white) !important;
  animation: none !important;
}

/* ============================================================
   TITOLI DI SEZIONE
   ============================================================ */
.section-title-6 h2,
.section-title-6 h2.font-width-inc {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--gs-black);
}
.section-title-6 p { color: var(--gs-gray-600); }

/* ============================================================
   CARD PRODOTTO
   ============================================================ */
.product-wrap {
  border: 1px solid var(--gs-gray-200);
  border-radius: 0;
  padding: 12px;
}
.product-wrap .product-img > a,
.product-wrap .product-img > div.doubleImg {
  border-radius: 0;
  background-color: var(--gs-gray-100);
}
.product-wrap .product-img .product-badge span,
.product-wrap .product-img .product-badge span.red {
  background-color: var(--gs-black);
  color: var(--gs-white);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 11px;
  padding: 4px 10px;
}
/* Barra azioni prodotto (Acquista / wishlist) in nero coeso */
.product-wrap .product-img .product-action-wrap { background: var(--gs-black); }
.product-wrap .product-img .product-action-wrap .product-action-left button { background: transparent; letter-spacing: 0.06em; }
.product-wrap .product-img .product-action-wrap .product-action-left button:hover,
.product-wrap .product-img .product-action-wrap .product-action-right button:hover { background: rgba(255,255,255,0.14); }
.product-wrap .product-content h3.font-dec a { color: var(--gs-black); font-weight: 500; }
.product-wrap .product-content h3.font-dec a:hover { opacity: 0.6; }
.product-wrap .product-content .product-price span.new-price { color: var(--gs-black); font-weight: 700; }
.product-wrap .product-content .product-price span.old-price { color: var(--gs-gray-400); }
._wishlist_added i { color: var(--gs-black) !important; }

/* slider nav dei caroselli prodotto */
.slider-nav-1 { border-radius: 0; }
.slider-nav-1:hover { color: var(--gs-black); }

/* ============================================================
   FEATURE AREA (spedizioni, pagamenti, ...)
   ============================================================ */
.feature-wrap-3 .feature-icon.icon-black i,
.feature-wrap-3 .feature-icon i { color: var(--gs-black); }
.feature-wrap-3:hover .feature-icon { color: var(--gs-black); }
.feature-wrap-3 .feature-content-3 h4 {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 15px;
  color: var(--gs-black);
}
.feature-wrap-3 .feature-content-3 p { color: var(--gs-gray-600); }
.feature-boder-1 { border-color: var(--gs-gray-200) !important; }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.newsletter-area.bg-gray { background: var(--gs-sand) !important; }
.newsletter-area .section-title-black h2,
.newsletter-area .section-title h2 {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--gs-black);
}
.newsletter-area .section-title-black h2 span,
.newsletter-area .section-title h2 span { color: var(--gs-black); }
.subscribe-form input.email {
  border: 0;
  border-bottom: 1px solid var(--gs-black);
  border-radius: 0;
  background: transparent;
  padding-left: 4px;
}
.subscribe-form input.email:focus { border-bottom-width: 2px; box-shadow: none; }
.subscribe-form .button,
.subscribe-form input.button {
  background: var(--gs-black);
  color: var(--gs-white);
  border: 1px solid var(--gs-black);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.subscribe-form .button:hover { opacity: 0.85; }

/* ============================================================
   MINI-CARRELLO (sidebar)
   ============================================================ */
.sidebar-cart-active .sidebar-cart-all { background: var(--gs-white); border-left: 1px solid var(--gs-black); border-radius: 0; }
.sidebar-cart-active .sidebar-cart-all .cart-close { text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; font-size: 12px; }
.cart-content > h3 { text-transform: uppercase; font-weight: 900; letter-spacing: -0.01em; border-bottom: 1px solid var(--gs-gray-200); padding-bottom: 16px; }
.cart-content ul li { border-color: var(--gs-gray-200); }
.cart-content ul li .cart-img a img { border-radius: 0; background: var(--gs-gray-100); }
.cart-content ul li .cart-title h4 a { color: var(--gs-black); font-weight: 500; }
.cart-content ul li .cart-title span { color: var(--gs-gray-600); font-size: 12px; }
.cart-content ul li .cart-delete a:hover { color: var(--gs-black); }
.cart-content .cart-total { border-top: 1px solid var(--gs-black); }
.cart-content .cart-total h4 { text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; }
.cart-content .cart-total h4 span { color: var(--gs-black); font-weight: 900; }
.cart-content .cart-checkout-btn a { border-radius: 0; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.cart-content .cart-checkout-btn a.cart {
  background: var(--gs-white) !important;
  color: var(--gs-black);
  border: 1px solid var(--gs-black);
}
.cart-content .cart-checkout-btn a.cart:hover { background: var(--gs-black) !important; color: var(--gs-white); }
.cart-content .cart-checkout-btn a.checkout {
  background: var(--gs-black) !important;
  color: var(--gs-white);
  border: 1px solid var(--gs-black);
}
.cart-content .cart-checkout-btn a.checkout:hover { background: var(--gs-white) !important; color: var(--gs-black); }

/* ============================================================
   MODALI / DROPDOWN / FORM / TABS / ACCORDION (globali)
   ============================================================ */
.modal-content { border-radius: 0; border: 1px solid var(--gs-black); }
.modal-header { border-bottom: 1px solid var(--gs-gray-200); }
.modal-footer { border-top: 1px solid var(--gs-gray-200); }
.dropdown-menu { border-radius: 0; border: 1px solid var(--gs-black); }
.dropdown-item:hover { background: var(--gs-gray-100); }

.nav-tabs .nav-link { border-radius: 0; text-transform: uppercase; font-weight: 700; letter-spacing: 0.05em; color: var(--gs-black); }
.nav-tabs .nav-link.active { background: var(--gs-black); color: var(--gs-white); border-color: var(--gs-black); }
.nav-pills .nav-link { border-radius: 999px; border: 1px solid var(--gs-black); color: var(--gs-black); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; background: transparent; }
.nav-pills .nav-link.active { background: var(--gs-black); color: var(--gs-white); }

.accordion-item { border-radius: 0 !important; border-color: var(--gs-gray-200); }
.accordion-button { font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.accordion-button:not(.collapsed) { background: var(--gs-black); color: var(--gs-white); }

/* immagini editoriali/foto: cover; le foto prodotto restano "contain" via il tema */
.img-thumbnail { border-radius: 0; }

/* ============================================================
   FASCE EDITORIALI STATICHE — Donna / Uomo, 4 immagini, niente tabber
   ============================================================ */
.gs-editorial { width: 100%; padding: var(--gs-space-xl) 0; background: var(--gs-white); }
.gs-editorial + .gs-editorial { border-top: 1px solid var(--gs-gray-200); }
.gs-editorial__head { width: 100%; margin: 0 0 var(--gs-space-lg); padding: 0 24px; text-align: center; }
.gs-editorial__head h2 {
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.0;
  margin: 8px 0 0;
  color: var(--gs-black);
}

.gs-quad { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; width: 100%; }
.gs-quad__panel { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; background: var(--gs-sand); }
.gs-quad__panel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--gs-dur-med) var(--gs-ease); }
.gs-quad__panel:hover img { transform: scale(1.04); }
.gs-quad__cap {
  position: absolute; left: 16px; bottom: 16px;
  background: var(--gs-white); color: var(--gs-black);
  text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; font-size: 12px;
  padding: 8px 14px;
  transition: background var(--gs-dur-fast) var(--gs-ease), color var(--gs-dur-fast) var(--gs-ease);
}
.gs-quad__panel:hover .gs-quad__cap { background: var(--gs-black); color: var(--gs-white); }

@media (max-width: 991px) { .gs-quad { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .gs-quad { grid-template-columns: 1fr; } }

/* ============================================================
   RESET OMBRE / RAGGI — solo home (.page-home) per non toccare
   pagine non ancora riviste. Eccezione: focus outline.
   ============================================================ */
.page-home *, .page-home *::before, .page-home *::after { box-shadow: none !important; }
.page-home .btn:focus-visible,
.page-home .form-control:focus,
.page-home .form-select:focus,
.page-home input:focus,
.page-home textarea:focus {
  box-shadow: none !important;
  outline: 2px solid var(--gs-black);
  outline-offset: 2px;
}

/* ============================================================
   ICONE — FontAwesome 7 (light/line) al posto di Ionicons
   ============================================================ */
.fa-light, .fa-thin, .fa-regular, .fa-solid, .fa-brands,
i[class*="fa-"] { vertical-align: middle; line-height: 1; }

/* ============================================================
   HERO SPLIT — Donna / Uomo, full-height, overlay gradient
   ============================================================ */
.gs-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  height: clamp(560px, 82vh, 920px);
  background: var(--gs-black);
}
.gs-hero__half { position: relative; display: block; overflow: hidden; }
.gs-hero__half img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--gs-ease);
}
.gs-hero__half:hover img { transform: scale(1.05); }
.gs-hero__half::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(10,10,10,0.78) 0%, rgba(10,10,10,0.20) 45%, rgba(10,10,10,0) 72%);
}
.gs-hero__content {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: clamp(24px, 4vw, 56px);
  color: var(--gs-white);
}
.gs-hero__title {
  font-size: clamp(40px, 6vw, 88px);
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em;
  line-height: 0.95; color: var(--gs-white); margin: 8px 0 20px;
}
.gs-label--light { color: rgba(255,255,255,0.85); }
.gs-hero__cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--gs-white); color: var(--gs-black);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px;
  padding: 13px 24px;
  transition: background var(--gs-dur-fast) var(--gs-ease), color var(--gs-dur-fast) var(--gs-ease);
}
.gs-hero__half:hover .gs-hero__cta { background: var(--gs-black); color: var(--gs-white); }
@media (max-width: 767px) {
  .gs-hero { grid-template-columns: 1fr; height: auto; }
  .gs-hero__half { height: 62vh; min-height: 380px; }
}

/* ============================================================
   TILE CATEGORIE — overlay gradient + contenuto in absolute
   ============================================================ */
.single-category-wrap .category-img a::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(10,10,10,0.66) 0%, rgba(10,10,10,0.05) 55%, rgba(10,10,10,0) 100%);
}
.single-category-wrap .category-title-1 { z-index: 2; left: 24px; bottom: 20px; }
.single-category-wrap .category-title-1 h3 a {
  background: transparent !important;
  color: var(--gs-white) !important;
  padding: 0; transform: none !important;
  font-size: 20px; letter-spacing: 0.04em; animation: none !important;
}
.single-category-wrap:hover .category-title-1 h3 a { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }

/* ============================================================
   GRIGLIA PRODOTTI STATICA + CARD MINIMALE (senza bordi)
   ============================================================ */
.gs-products { width: 100%; padding: var(--gs-space-2xl) 24px; }
.gs-products__head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 16px; margin-bottom: var(--gs-space-xl); flex-wrap: wrap;
}
.gs-products__head h2 {
  font-size: clamp(24px, 3.2vw, 40px);
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; margin: 0; color: var(--gs-black);
}
.gs-products__viewall {
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--gs-black); text-decoration: none; border-bottom: 1px solid var(--gs-black); padding-bottom: 2px;
  white-space: nowrap;
}
.gs-products__viewall:hover { color: var(--gs-gray-600); border-color: var(--gs-gray-600); }
.gs-products__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 20px; }

.gs-card { position: relative; background: transparent; }
.gs-card__media {
  position: relative; display: block;
  aspect-ratio: 3 / 4; background: var(--gs-white); overflow: hidden; margin-bottom: 14px;
}
.gs-card__media .default-img,
.gs-card__media .hover-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; padding: 0;
  transition: opacity 400ms var(--gs-ease);
}
.gs-card__media .hover-img { opacity: 0; }
.gs-card:hover .gs-card__media .default-img { opacity: 0; }
.gs-card:hover .gs-card__media .hover-img { opacity: 1; }

.gs-card__badge {
  position: absolute; top: 12px; left: 12px; z-index: 3;
  background: var(--gs-black); color: var(--gs-white);
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 4px 8px;
}
.gs-card__wish {
  position: absolute; top: 8px; right: 8px; z-index: 3;
  width: 38px; height: 38px; border: 0; background: transparent; cursor: pointer;
  color: var(--gs-black); font-size: 18px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: opacity var(--gs-dur-fast) var(--gs-ease);
}
.gs-card__wish:hover { opacity: 0.6; }
.gs-card__wish._wishlist_added i { color: var(--gs-black); font-weight: 900; }
.gs-card__wish._wishlist_added i::before { content: "\f004"; } /* heart solid quando aggiunto */

.gs-card__quick {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
  background: var(--gs-black); color: var(--gs-white);
  text-align: center; text-decoration: none;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 14px 8px;
  transform: translateY(100%); opacity: 0;
  transition: transform var(--gs-dur-med) var(--gs-ease), opacity var(--gs-dur-med) var(--gs-ease);
}
.gs-card:hover .gs-card__quick { transform: translateY(0); opacity: 1; }
.gs-card__quick:hover { color: var(--gs-white); background: var(--gs-gray-800); }

.gs-card__title { font-size: 14px; font-weight: 500; line-height: 1.35; margin: 0 0 6px; }
.gs-card__title a { color: var(--gs-black); text-decoration: none; }
.gs-card__title a:hover { opacity: 0.6; }
.gs-card__price { font-size: 14px; }
.gs-card__price .old-price { color: var(--gs-gray-400); text-decoration: line-through; margin-right: 10px; }
.gs-card__price .new-price { color: var(--gs-black); font-weight: 700; }

@media (max-width: 991px) { .gs-products__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .gs-products { padding: var(--gs-space-xl) 16px; }
  .gs-products__grid { grid-template-columns: repeat(2, 1fr); gap: 28px 12px; }
  .gs-card__quick { transform: none; opacity: 1; padding: 10px 8px; } /* su mobile sempre visibile */
}

/* ============================================================
   FEATURE — icone FA light
   ============================================================ */
.feature-wrap-3 .feature-icon i { font-size: 30px; color: var(--gs-black); }

/* ── Custom pagina ──────────────────────────────────────
   Note override che richiedono !important perché il tema
   (style.css/custom.css) usa già !important o alta specificità:
   - .header-bottom (bg #2f2f2f !important -> bianco)
   - promo lampeggianti (nav 6° item, 3ª categoria) neutralizzati in nero
   - .newsletter-area.bg-gray (gradiente -> sand)
   Le foto della sezione editoriale/banner promo usano Unsplash:
   sostituibili con asset locali in assets/img/ per performance/persistenza.
   ------------------------------------------------------- */

/* Pesi alleggeriti */
.gs-hero__title { font-weight: 800; }
.gs-products__head h2 { font-weight: 800; }
.section-title-6 h2,
.section-title-6 h2.font-width-inc { font-weight: 800; }
.newsletter-area .section-title-black h2,
.newsletter-area .section-title h2 { font-weight: 800; }
.cart-content > h3 { font-weight: 800; }
.btn { font-weight: 600; }
.gs-label { font-weight: 600; }
.header-bottom .main-menu.main-menu-black > nav > ul > li > a,
.header-bottom .main-menu > nav > ul > li > a { font-weight: 600; }
.gs-hero__cta,
.gs-products__viewall { font-weight: 600; }
.gs-card__title { font-weight: 400; }
.footer-list ul li a { font-weight: 500; }

/* Newsletter: input + bottone a spigolo, monocromo */
.newsletter-area .subscribe-form form .mc-form input {
  border-radius: 0;
  background: var(--gs-white);
  color: var(--gs-black);
}
.newsletter-area .subscribe-form form .mc-form .clear input {
  border-radius: 0;
  background: var(--gs-black);
  color: var(--gs-white);
  font-family: inherit;
}
.newsletter-area .subscribe-form form .mc-form .clear input:hover { background: var(--gs-black); opacity: 0.85; }

/* Scroll-to-top monocromo */
#scrollUp { background-color: var(--gs-black); border-radius: 0; }
#scrollUp:hover { background-color: var(--gs-gray-800); }

/* ============================================================
   RICERCA — modale fixed/absolute (non spinge il layout)
   ============================================================ */
.header-action-wrap .header-action-search-2 { margin: 0 0 0 30px; display: flex; align-items: center; }
.gs-search-toggle { color: var(--gs-black); font-size: 20px; line-height: 1; display: inline-flex; }
.gs-search-toggle:hover { opacity: 0.6; }

.gs-search-panel {
  display: none;
  position: fixed; inset: 0; z-index: 1080;
  background: rgba(10, 10, 10, 0.55);
  align-items: flex-start; justify-content: center;
  padding: 12vh 20px 0;
}
.gs-search-panel.is-open { display: flex; }
.gs-search-box {
  width: 100%; max-width: 640px;
  background: var(--gs-white);
  padding: 8px 28px;
  border: 1px solid var(--gs-black);
}
.gs-search-form { display: flex; align-items: center; gap: 14px; padding: 16px 0; }
.gs-search-form > i { font-size: 18px; color: var(--gs-black); }
.gs-search-form input {
  flex: 1; border: 0; border-bottom: 1px solid var(--gs-black); border-radius: 0;
  background: transparent; font-size: 18px; padding: 8px 2px; color: var(--gs-black);
}
.gs-search-form input:focus { outline: none; border-bottom-width: 2px; }
.gs-search-close { border: 0; background: transparent; cursor: pointer; font-size: 18px; color: var(--gs-black); }
.gs-search-close:hover { opacity: 0.6; }

/* ============================================================
   BANNER PROMO — AI configurator (full-bleed, overlay + absolute content)
   ============================================================ */
.gs-promo-banner { position: relative; display: block; width: 100%; height: clamp(320px, 46vw, 480px); overflow: hidden; background: var(--gs-black); }
.gs-promo-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gs-promo-banner::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(10,10,10,0.75) 0%, rgba(10,10,10,0.25) 55%, rgba(10,10,10,0.05) 100%);
}
.gs-promo-banner__content {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: clamp(20px, 4vw, 48px); text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
.gs-promo-banner__content h2 {
  color: var(--gs-white); font-weight: 800; text-transform: uppercase;
  letter-spacing: -0.01em; font-size: clamp(22px, 3vw, 34px); margin: 8px 0 18px;
}
.gs-promo-banner__cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--gs-white); color: var(--gs-black);
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px;
  padding: 12px 24px; text-decoration: none;
  transition: background var(--gs-dur-fast) var(--gs-ease), color var(--gs-dur-fast) var(--gs-ease);
}
.gs-promo-banner__cta:hover { background: var(--gs-black); color: var(--gs-white); }

/* ============================================================
   CTA FLOTTANTE — "Crea il tuo outfit" (fixed, sito-wide)
   Posizionata sul bordo destro, sopra #scrollUp (bottom:53px right:50px)
   e distante dal widget WhatsApp (bottom-left).
   ============================================================ */
.gs-floating-cta {
  position: fixed; right: 24px; bottom: 130px; z-index: 900;
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--gs-black); color: var(--gs-white);
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 12px 18px; text-decoration: none;
  transition: opacity var(--gs-dur-fast) var(--gs-ease);
}
.gs-floating-cta:hover { opacity: 0.85; color: var(--gs-white); }
.gs-floating-cta i { font-size: 15px; }
@media (max-width: 575px) {
  .gs-floating-cta span { display: none; }
  .gs-floating-cta { right: 16px; bottom: 110px; padding: 12px 14px; }
}

/* ============================================================
   FOOTER — struttura professionale (trust bar + colonne + bottom bar)
   ============================================================ */
.gs-footer { background: var(--gs-white) !important; color: var(--gs-black); border-top: 1px solid var(--gs-gray-200); }
.gs-footer p, .gs-footer a, .gs-footer li, .gs-footer span,
.gs-footer h1, .gs-footer h2, .gs-footer h3, .gs-footer h4 { color: var(--gs-black); }

/* Trust bar: compatta */
.gs-footer__trust { padding: 28px 0; border-bottom: 1px solid var(--gs-gray-200); }
.gs-footer__trust .feature-wrap-3 .feature-icon { margin-right: 16px; }
.gs-footer__trust .feature-icon i { font-size: 24px; }
.gs-footer__trust .feature-content-3 h4 { font-size: 13px; }
.gs-footer__trust .feature-content-3 p { font-size: 13px; }

/* Categorie esplose */
.gs-footer__categories { padding: 24px 0; border-bottom: 1px solid var(--gs-gray-200); }
.gs-footer__categories .gs-label { display: block; margin-bottom: 14px; }
.gs-footer__cat-list { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.gs-footer__cat-list a { color: var(--gs-gray-600); font-size: 13px; text-decoration: none; }
.gs-footer__cat-list a:hover { color: var(--gs-black); text-decoration: underline; text-underline-offset: 3px; }

/* Colonne principali: niente stretch verticale, ritmo compatto */
.gs-footer__main { padding: var(--gs-space-xl) 0; }
.gs-footer__main .row { align-items: flex-start; }
.gs-footer .footer-logo { max-width: 180px; margin-bottom: var(--gs-space-md); }
.gs-footer__blurb { color: var(--gs-gray-600); font-size: 14px; line-height: 1.5; max-width: 320px; margin-bottom: var(--gs-space-md); }
.gs-footer__socials a { color: var(--gs-black); margin-right: var(--gs-space-md); font-size: 15px; transition: opacity var(--gs-dur-fast) ease; }
.gs-footer__socials a:hover { opacity: 0.6; }

.gs-footer .footer-list.mb-40 { margin-bottom: 0 !important; }
.gs-footer .footer-list .gs-label { display: block; margin-bottom: var(--gs-space-sm); }
.gs-footer .footer-list ul { list-style: none; padding: 0; margin: 0; }
.gs-footer .footer-list ul li { margin-bottom: 10px; }
.gs-footer .footer-list ul li a { color: var(--gs-gray-600); font-size: 14px; text-transform: none; letter-spacing: 0; }
.gs-footer .footer-list ul li a:hover { color: var(--gs-black); }

/* Bottom bar */
.gs-footer__bottom { padding: var(--gs-space-md) 0; border-top: 1px solid var(--gs-gray-200); }
.gs-footer__address { color: var(--gs-gray-600); font-size: 12px; margin: 0; }
.gs-footer__payments { text-align: right; font-size: 24px; color: var(--gs-gray-600); }
.gs-footer__payments i { margin-left: 10px; }
.gs-footer__credits { color: var(--gs-gray-400); font-size: 12px; margin: var(--gs-space-sm) 0 0; }
.gs-footer .credits_link { color: var(--gs-black) !important; }
.gs-footer .credits_link:hover { color: var(--gs-gray-600) !important; }

@media (max-width: 767px) {
  .gs-footer__payments { text-align: left; margin-top: 12px; }
  .gs-footer .footer-list.mb-40 { margin-bottom: 28px !important; }
}
