@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
  --gold:        #B8960C;
  --gold-light:  #D4AF37;
  --gold-dark:   #8B6914;
  --black:       #0A0A0A;
  --black2:      #111111;
  --black3:      #1A1A1A;
  --white:       #FFFFFF;
  --off-white:   #FAFAFA;
  --cream:       #F7F4EF;
  --gray-light:  #F2F2F2;
  --gray:        #888888;
  --gray-mid:    #555555;
  --border:      #E8E8E8;
  --text:        #1A1A1A;
  --text-muted:  #777777;
  --sidebar-w:   240px;
  --font-display:'Cormorant Garamond', serif;
  --font-body:   'Montserrat', sans-serif;
  --ease:        cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:#fff; color:var(--text); font-family:var(--font-body); font-weight:300; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font-family:var(--font-body); }
img { display:block; width:100%; object-fit:cover; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:#f5f5f5; }
::-webkit-scrollbar-thumb { background:#ccc; }

/* ── ANNOUNCEMENT BAR ── */
.announcement-bar {
  background: var(--black);
  color: rgba(255,255,255,0.85);
  text-align:center;
  padding:9px 20px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:400;
}

/* ── HEADER ── */
.top-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  height:68px;
  background:#fff;
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:150;
}

.hamburger {
  background:none; border:none;
  display:flex; flex-direction:column; gap:5px; padding:4px;
}
.hamburger span {
  display:block; width:22px; height:1px;
  background:var(--text); transition:background 0.2s;
}
.hamburger:hover span { background:var(--gold-dark); }

.logo {
  font-family:var(--font-display);
  font-size:26px; font-weight:300;
  font-style:italic; letter-spacing:6px;
  color:var(--black); text-transform:uppercase;
  position:absolute; left:50%; transform:translateX(-50%);
}
.logo span { color:var(--gold-dark); }
.logo img { height:54px; width:auto; max-width:220px; object-fit:contain; display:block; }
@media (max-width:768px){ .logo img { height:46px; max-width:170px; } }

.header-icons { display:flex; align-items:center; gap:24px; }
.icon-btn {
  background:none; border:none;
  color:var(--text); font-size:18px;
  opacity:0.65; transition:opacity 0.2s,color 0.2s;
  position:relative; padding:4px;
}
.icon-btn:hover { opacity:1; color:var(--gold-dark); }
.cart-badge {
  position:absolute; top:-5px; right:-7px;
  background:var(--black); color:#fff;
  border-radius:50%; width:16px; height:16px;
  font-size:9px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* ── NAV SECONDARIA ── */
.sub-nav {
  background:#fff;
  border-bottom:1px solid var(--border);
  display:flex;
  justify-content:center;
  gap:0;
  padding:0 40px;
  overflow-x:auto;
}
.sub-nav a {
  padding:14px 20px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:500;
  color:var(--text-muted);
  white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:all 0.2s;
}
.sub-nav a:hover { color:var(--text); border-bottom-color:var(--text); }
.sub-nav a.active { color:var(--text); border-bottom-color:var(--black); }

/* ── PAGE WRAPPER ── */
.page-wrapper { display:flex; min-height:calc(100vh - 68px - 38px); }

/* ── SIDEBAR ── */
.sidebar {
  width:var(--sidebar-w);
  min-width:var(--sidebar-w);
  background:#fff;
  border-right:1px solid var(--border);
  padding:28px 0;
  position:sticky;
  top:68px;
  height:calc(100vh - 68px);
  overflow-y:auto;
}
.sidebar-section-title {
  padding:0 24px 10px;
  font-size:9px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:500;
}
.sidebar-nav { list-style:none; }
.sidebar-nav li a,
.sidebar-nav li button {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:10px 24px;
  font-size:11px; letter-spacing:1px;
  text-transform:uppercase; font-weight:400;
  color:var(--gray-mid);
  background:none; border:none; text-align:left;
  transition:all 0.2s;
  border-left:2px solid transparent;
}
.sidebar-nav li a:hover,
.sidebar-nav li button:hover { color:var(--text); background:#fafafa; }
.sidebar-nav li.active > a,
.sidebar-nav li > a.active {
  color:var(--text); font-weight:500;
  border-left-color:var(--black);
  background:#f5f5f5;
}
.sidebar-nav .sub-menu {
  list-style:none; background:#fafafa;
  overflow:hidden; max-height:0; transition:max-height 0.3s ease;
}
.sidebar-nav .sub-menu.open { max-height:300px; }
.sidebar-nav .sub-menu li a {
  padding:9px 24px 9px 36px;
  font-size:10px; letter-spacing:0.5px; text-transform:none;
  border-left:none;
}
.sidebar-divider { height:1px; background:var(--border); margin:14px 24px; }

/* ── MAIN ── */
.main-content { flex:1; min-width:0; background:#fff; }

/* ── HERO ── */
.hero {
  position:relative; min-height:80vh;
  display:flex; align-items:flex-end;
  overflow:hidden; background:#f5f5f5;
}
.hero-img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  transition:transform 8s ease;
}
.hero:hover .hero-img { transform:scale(1.03); }
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
}
.hero-content {
  position:relative; z-index:2;
  padding:52px 60px; max-width:560px;
  animation:fadeUp 1s ease both;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.hero-eyebrow {
  font-size:9px; letter-spacing:4px;
  text-transform:uppercase; color:rgba(255,255,255,0.7);
  margin-bottom:14px; font-weight:500;
}
.hero-title {
  font-family:var(--font-display);
  font-size:clamp(48px,6vw,80px);
  font-weight:300; line-height:0.95;
  color:#fff; margin-bottom:20px;
}
.hero-title em { font-style:italic; color:var(--gold-light); }
.hero-sub {
  font-size:11px; letter-spacing:2px;
  color:rgba(255,255,255,0.55);
  margin-bottom:36px; text-transform:uppercase; font-weight:300;
}
.btn-primary {
  display:inline-block;
  background:#fff; color:var(--black);
  padding:13px 36px;
  font-size:9px; letter-spacing:3px;
  text-transform:uppercase; font-weight:700;
  border:none; transition:all 0.2s;
}
.btn-primary:hover { background:var(--gold-light); color:#fff; }
.btn-secondary {
  display:inline-block;
  background:transparent; color:#fff;
  padding:13px 36px;
  font-size:9px; letter-spacing:3px;
  text-transform:uppercase; font-weight:500;
  border:1px solid rgba(255,255,255,0.5);
  margin-left:12px; transition:all 0.2s;
}
.btn-secondary:hover { border-color:#fff; background:rgba(255,255,255,0.1); }

/* ── INFO STRIP ── */
.info-strip {
  border-bottom:1px solid var(--border);
  display:flex; justify-content:center;
  gap:0; background:#fff;
}
.info-strip-item {
  flex:1; max-width:240px;
  padding:18px 20px;
  text-align:center;
  border-right:1px solid var(--border);
  font-size:9px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--text-muted);
  font-weight:500;
}
.info-strip-item:last-child { border-right:none; }
.info-strip-item strong {
  display:block; font-size:10px;
  color:var(--text); letter-spacing:1px;
  margin-bottom:3px; font-weight:600;
}

/* ── SECTION HEADER ── */
.section-header {
  padding:52px 52px 28px;
  display:flex; align-items:flex-end;
  justify-content:space-between;
}
.section-label {
  font-size:9px; letter-spacing:3px;
  text-transform:uppercase; color:var(--gold-dark);
  margin-bottom:6px; font-weight:500;
}
.section-title {
  font-family:var(--font-display);
  font-size:clamp(28px,3vw,42px);
  font-weight:300; line-height:1.1; color:var(--text);
}
.section-title em { font-style:italic; color:var(--gold-dark); }
.section-link {
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; color:var(--text-muted);
  border-bottom:1px solid var(--border);
  padding-bottom:2px; transition:all 0.2s;
  font-weight:500; white-space:nowrap;
}
.section-link:hover { color:var(--text); border-bottom-color:var(--text); }

/* ── PRODUCT GRID ── */
.product-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
  gap:1px; background:var(--border);
  margin:0 52px 52px;
}

/* ── PRODUCT CARD ── */
.pcard {
  background:#fff;
  position:relative; overflow:hidden;
  cursor:pointer; transition:box-shadow 0.25s;
}
.pcard:hover { box-shadow:0 2px 16px rgba(0,0,0,0.08); z-index:1; }

.pcard-img-wrap {
  position:relative; aspect-ratio:1/1;
  overflow:hidden; background:var(--gray-light);
}
.pcard-img-wrap img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s ease;
}
.pcard:hover .pcard-img-wrap img { transform:scale(1.05); }

.pcard-img-hover {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 0.35s ease, transform 0.6s ease;
}
.pcard:hover .pcard-img-hover { opacity:1; transform:scale(1.05); }
.pcard:hover .pcard-img-main { opacity:0; }


.pcard-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:52px; background:#f5f5f5;
  color:rgba(0,0,0,0.08);
}

.pcard-badge {
  position:absolute; top:12px; left:12px;
  font-size:8px; letter-spacing:1.5px;
  padding:4px 10px; text-transform:uppercase;
  font-weight:700; z-index:2;
  background:var(--black); color:#fff;
}
.pcard-badge.sale { background:#C0392B; }
.pcard-badge.gold { background:var(--gold-dark); color:#fff; }

.pcard-actions {
  position:absolute; bottom:0; left:0; right:0;
  display:flex;
  transform:translateY(100%);
  transition:transform 0.25s var(--ease);
}
.pcard:hover .pcard-actions { transform:translateY(0); }

.btn-add {
  flex:1; background:var(--black); color:#fff;
  border:none; padding:13px;
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; font-weight:600;
  transition:background 0.2s;
}
.btn-add:hover { background:#333; }
.btn-wish {
  background:#fff; color:#bbb;
  border:none; border-left:1px solid var(--border);
  padding:13px 16px; font-size:16px;
  transition:color 0.2s;
}
.btn-wish:hover { color:#e74c3c; }

.pcard-info { padding:14px 14px 18px; }
.pcard-name {
  font-family:var(--font-display);
  font-size:17px; font-weight:400;
  color:var(--text); margin-bottom:6px;
  line-height:1.3;
}
.pcard-price { font-size:14px; color:var(--text); font-weight:500; }
.pcard-price-old {
  font-size:12px; color:#bbb;
  text-decoration:line-through; margin-left:8px;
}

/* ── PROMO BANNER ── */
.promo-banner {
  margin:0 52px 52px;
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid var(--border); overflow:hidden;
}
.promo-img {
  aspect-ratio:16/9; background:#f0f0f0;
  display:flex; align-items:center;
  justify-content:center; overflow:hidden;
}
.promo-img img { width:100%; height:100%; object-fit:cover; }
.promo-text {
  padding:52px 48px;
  display:flex; flex-direction:column; justify-content:center;
  background:#fff;
}
.promo-tag {
  display:inline-block; background:var(--black);
  color:#fff; font-size:8px; letter-spacing:2px;
  padding:5px 14px; text-transform:uppercase;
  font-weight:700; margin-bottom:20px; width:fit-content;
}
.promo-title {
  font-family:var(--font-display);
  font-size:34px; font-weight:300;
  line-height:1.1; margin-bottom:14px; color:var(--text);
}
.promo-title em { font-style:italic; color:var(--gold-dark); }
.promo-desc {
  font-size:12px; color:var(--text-muted);
  line-height:2; margin-bottom:28px; font-weight:300;
}

/* ── TESTIMONIALS ── */
.testi-section { padding:0 52px 60px; }
.testi-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--border);
}
.testi-card {
  background:#fff; padding:32px 28px;
  transition:background 0.2s;
}
.testi-card:hover { background:var(--off-white); }
.stars { color:#D4AF37; font-size:12px; letter-spacing:2px; margin-bottom:14px; }
.testi-text {
  font-family:var(--font-display);
  font-size:17px; font-weight:300; font-style:italic;
  color:var(--text-muted); line-height:1.8; margin-bottom:16px;
}
.testi-author {
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; color:var(--text); font-weight:500;
}

/* ── NEWSLETTER ── */
.newsletter {
  background:var(--black); color:#fff;
  padding:64px 52px; text-align:center;
}
.newsletter .section-label { color:rgba(255,255,255,0.4); }
.newsletter .section-title { color:#fff; margin-bottom:10px; }
.newsletter .section-title em { color:var(--gold-light); }
.newsletter-desc {
  font-size:12px; color:rgba(255,255,255,0.45);
  letter-spacing:1px; margin-bottom:36px;
  line-height:2; font-weight:300;
}
.newsletter-form { display:flex; max-width:420px; margin:0 auto; }
.newsletter-form input {
  flex:1; background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  border-right:none; color:#fff;
  padding:13px 18px; font-size:11px;
  font-family:var(--font-body); letter-spacing:1px; outline:none;
  transition:border-color 0.2s;
}
.newsletter-form input::placeholder { color:rgba(255,255,255,0.3); }
.newsletter-form input:focus { border-color:rgba(255,255,255,0.4); }
.newsletter-form button {
  background:#fff; color:var(--black);
  border:none; padding:13px 24px;
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; font-weight:700;
  white-space:nowrap; transition:background 0.2s;
}
.newsletter-form button:hover { background:var(--gold-light); color:#fff; }

/* ── FOOTER ── */
footer {
  background:var(--black3); border-top:1px solid #222;
  padding:56px 52px 28px;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px; margin-bottom:44px;
}
.footer-logo {
  font-family:var(--font-display);
  font-size:28px; font-weight:300; font-style:italic;
  color:#fff; letter-spacing:5px; margin-bottom:14px;
}
.footer-tagline {
  font-size:11px; color:rgba(255,255,255,0.35);
  line-height:2; font-weight:300; margin-bottom:20px;
}
.footer-social { display:flex; gap:10px; }
.social-btn {
  width:32px; height:32px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  color:rgba(255,255,255,0.4);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; text-decoration:none;
  transition:all 0.2s;
}
.social-btn:hover { border-color:rgba(255,255,255,0.3); color:#fff; }
.footer-col h4 {
  font-size:9px; letter-spacing:2.5px;
  text-transform:uppercase; color:rgba(255,255,255,0.5);
  margin-bottom:18px; font-weight:500;
}
.footer-col a {
  display:block; color:rgba(255,255,255,0.35);
  font-size:11px; margin-bottom:9px; letter-spacing:0.5px;
  transition:color 0.2s;
}
.footer-col a:hover { color:#fff; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:22px;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:12px;
}
.footer-copy { font-size:9px; color:rgba(255,255,255,0.2); letter-spacing:1px; }
.footer-payments { display:flex; gap:6px; }
.pay-tag {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  padding:4px 10px; font-size:8px;
  letter-spacing:1px; color:rgba(255,255,255,0.3);
  text-transform:uppercase;
}

/* ── CART ── */
.cart-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,0.5); z-index:400;
  opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-drawer {
  position:fixed; top:0; right:0; bottom:0; width:380px;
  background:#fff; border-left:1px solid var(--border);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.35s var(--ease); z-index:401;
}
.cart-overlay.open .cart-drawer { transform:translateX(0); }
.cart-head {
  padding:22px 24px; border-bottom:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center;
}
.cart-head h3 {
  font-family:var(--font-display);
  font-size:22px; font-weight:300;
  letter-spacing:2px; color:var(--text);
}
.cart-close {
  background:none; border:none;
  color:var(--text-muted); font-size:18px;
  transition:color 0.2s;
}
.cart-close:hover { color:var(--text); }
.cart-body { flex:1; overflow-y:auto; padding:20px 24px; }
.cart-empty-msg {
  text-align:center; padding:60px 20px;
  color:var(--text-muted); font-size:11px;
  letter-spacing:2px; line-height:2;
}
.cart-item {
  display:flex; gap:14px;
  padding:16px 0; border-bottom:1px solid var(--border);
}
.cart-item-thumb {
  width:64px; height:64px; background:var(--gray-light);
  display:flex; align-items:center;
  justify-content:center; font-size:26px;
  flex-shrink:0; overflow:hidden;
  color:rgba(0,0,0,0.15);
}
.cart-item-thumb img { width:100%; height:100%; object-fit:cover; }
.cart-item-info { flex:1; }
.cart-item-name {
  font-family:var(--font-display);
  font-size:15px; font-weight:400; margin-bottom:3px;
  color:var(--text);
}
.cart-item-price { font-size:12px; color:var(--text-muted); }
.cart-qty {
  display:flex; align-items:center;
  gap:10px; margin-top:8px;
}
.qty-btn {
  background:#f5f5f5; border:1px solid var(--border);
  color:var(--text); width:26px; height:26px;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; transition:all 0.2s;
}
.qty-btn:hover { background:var(--text); color:#fff; border-color:var(--text); }
.qty-num { font-size:12px; min-width:18px; text-align:center; }
.cart-item-remove {
  background:none; border:none; color:#ccc;
  font-size:16px; align-self:flex-start;
  padding:2px; transition:color 0.2s;
}
.cart-item-remove:hover { color:#e74c3c; }
.cart-foot { padding:20px 24px; border-top:1px solid var(--border); }
.cart-subtotal {
  display:flex; justify-content:space-between;
  align-items:baseline; margin-bottom:6px;
}
.cart-subtotal span:first-child {
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; color:var(--text-muted);
}
.cart-subtotal .total-price {
  font-family:var(--font-display);
  font-size:24px; color:var(--text);
}
.cart-shipping-note {
  font-size:9px; color:var(--text-muted);
  letter-spacing:1px; margin-bottom:18px;
}
.btn-checkout {
  width:100%; background:var(--black); color:#fff;
  border:none; padding:15px;
  font-size:9px; letter-spacing:3px;
  text-transform:uppercase; font-weight:700;
  transition:background 0.2s; margin-bottom:10px;
}
.btn-checkout:hover { background:#333; }
.btn-continue {
  width:100%; background:transparent; color:var(--text-muted);
  border:1px solid var(--border); padding:12px;
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; transition:all 0.2s;
}
.btn-continue:hover { color:var(--text); border-color:var(--text); }

/* ── TOAST ── */
.toast {
  position:fixed; bottom:28px; left:50%;
  transform:translateX(-50%) translateY(60px);
  background:var(--black); color:#fff;
  padding:11px 28px; font-size:9px;
  letter-spacing:2px; text-transform:uppercase;
  font-weight:600; z-index:500;
  pointer-events:none; transition:transform 0.3s ease;
  white-space:nowrap;
}
.toast.show { transform:translateX(-50%) translateY(0); }

/* ── BREADCRUMB ── */
.breadcrumb {
  padding:14px 52px;
  font-size:9px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--text-muted);
  border-bottom:1px solid var(--border);
}
.breadcrumb a { color:var(--text-muted); }
.breadcrumb a:hover { color:var(--text); }
.breadcrumb span { margin:0 8px; color:#ccc; }

/* ── CATEGORIA HEADER ── */
.cat-header {
  padding:32px 52px 24px;
  display:flex; align-items:flex-end;
  justify-content:space-between; flex-wrap:wrap; gap:16px;
  border-bottom:1px solid var(--border);
}
.cat-title {
  font-family:var(--font-display);
  font-size:clamp(24px,3vw,38px);
  font-weight:300; color:var(--text); line-height:1;
}
.cat-title em { font-style:italic; color:var(--gold-dark); }
.cat-count {
  font-size:9px; letter-spacing:2px;
  text-transform:uppercase; color:var(--text-muted); margin-top:6px;
}
.filter-row { display:flex; gap:6px; flex-wrap:wrap; }
.filter-chip {
  background:transparent; border:1px solid var(--border);
  color:var(--text-muted); padding:7px 16px;
  font-size:9px; letter-spacing:1.5px;
  text-transform:uppercase; font-family:var(--font-body);
  cursor:pointer; transition:all 0.2s;
}
.filter-chip:hover,
.filter-chip.active {
  background:var(--black); border-color:var(--black); color:#fff;
}

/* ── MOBILE ── */
@media (max-width:768px) {
  .sidebar { position:fixed; top:0; left:0; bottom:0; transform:translateX(-100%); z-index:300; padding-top:80px; }
  .sidebar.open { transform:translateX(0); }
  .product-grid { grid-template-columns:repeat(2,1fr); margin:0 16px 32px; }
  .promo-banner { grid-template-columns:1fr; margin:0 16px 32px; }
  .section-header { padding:32px 16px 20px; }
  .testi-section { padding:0 16px 32px; }
  .testi-grid { grid-template-columns:1fr; }
  .newsletter { padding:40px 20px; }
  footer { padding:40px 20px 20px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .hero-content { padding:32px 20px; }
  .info-strip { flex-wrap:wrap; }
  .info-strip-item { border-right:none; border-bottom:1px solid var(--border); }
  .top-header { padding:0 20px; }
  .breadcrumb { padding:12px 16px; }
  .cat-header { padding:24px 16px 20px; }
}


/* ── LOGO NOXARIA (Cinzel testo) ── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400&display=swap');

.logo { display:none !important; }

.logo-text-noxaria {
  font-family:'Cinzel', serif;
  font-weight:400;
  font-size:52px;
  letter-spacing:10px;
  color:#D4AF37;
  text-decoration:none;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  white-space:nowrap;
}

.top-header {
  height:110px !important;
  position:relative !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.hamburger {
  position:absolute !important;
  left:28px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;
}
.hamburger span { background:#000 !important; }

.header-icons {
  position:absolute !important;
  right:28px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;
}
.icon-btn { color:#000 !important; }

.announcement-bar {
  background:#000 !important;
  color:#fff !important;
}

.footer-logo-img { width:160px; max-width:100%; height:auto; object-fit:contain; margin-bottom:14px; }

@media(max-width:768px){
  .logo-text-noxaria { font-size:24px !important; letter-spacing:3px !important; max-width:calc(100% - 140px) !important; overflow:hidden; }
  .top-header { height:80px !important; }
  .icon-btn-search { display:none !important; }
}

/* ── SIDEBAR OVERLAY MOBILE ── */
.sidebar-overlay {
  display:none;
  position:fixed;inset:0;
  background:rgba(0,0,0,0.5);
  z-index:299;
}
.sidebar-overlay.open { display:block; }

/* ── HAMBURGER → X ── */
.hamburger.active span:nth-child(1) {
  transform:translateY(6px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity:0;
  transform:translateX(-10px);
}
.hamburger.active span:nth-child(3) {
  transform:translateY(-6px) rotate(-45deg);
}
.hamburger span {
  transition:transform 0.25s ease, opacity 0.25s ease;
}

/* ── SIDEBAR TOGGLE DESKTOP ── */
.sidebar.hidden {
  display: none;
}

/* ── FIX PAGINA PRODOTTO ── */
.page-wrapper { display:flex !important; }
.main-content { display:block !important; background:#fff !important; min-height:60vh; }
.sidebar.hidden + .main-content,
.sidebar.hidden ~ .main-content { margin-left:0; }

/* ── PAGINA PRODOTTO — PROPORZIONI ── */
.prod-wrap {
  grid-template-columns: 1fr 380px !important;
  gap: 40px !important;
  padding: 32px 40px 60px !important;
  max-width: 1100px !important;
}
.gallery-main {
  aspect-ratio: 3/4 !important;
  max-height: 560px !important;
}
.gallery-thumbs {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
}
.gallery-thumb {
  aspect-ratio: 1/1 !important;
  max-height: 80px !important;
}

/* ── PRODOTTO — TUTTO VISIBILE SENZA SCROLL ── */
.prod-wrap {
  grid-template-columns: 1fr 340px !important;
  gap: 32px !important;
  padding: 20px 36px 40px !important;
  max-width: 1000px !important;
}
.gallery-main {
  aspect-ratio: 3/4 !important;
  max-height: 460px !important;
}
.gallery-thumb {
  max-height: 70px !important;
}
.prod-name { font-size: 28px !important; }
.prod-price { font-size: 24px !important; }
.btn-cart-big { padding: 13px !important; }
.btn-wish-big { padding: 11px !important; margin-bottom: 16px !important; }
.prod-desc-title { padding: 10px 0 !important; }

/* Sub-nav scorrevole per categorie extra */
.sub-nav {
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  padding: 0 20px !important;
}
.sub-nav a {
  white-space: nowrap !important;
}

/* ── LOGO IMMAGINE ── */
.logo-img-wrap {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
}
.logo-img-full { height:100px;width:auto;object-fit:contain;display:block; }
@media(max-width:768px){
  .logo-img-full { height:100px;width:auto;object-fit:contain;display:block; }
}

/* ── LOGO IMMAGINE ── */
.logo-img-wrap {
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;
}
.logo-img-full { height:100px;width:auto;object-fit:contain;display:block; }
@media(max-width:768px){ .logo-img-full { height:100px;width:auto;object-fit:contain;display:block; } }

/* Bottone secondario hero — nero con scritta bianca */
.hero-content .btn-secondary {
  background: #0A0A0A !important;
  color: #fff !important;
  border-color: #0A0A0A !important;
}
.hero-content .btn-secondary:hover {
  background: #333 !important;
  border-color: #333 !important;
}

/* Hero btn2 — bianco con testo nero */
#hero-btn2 {
  background:#fff !important;
  color:#0A0A0A !important;
  border-color:#fff !important;
}
#hero-btn2:hover {
  background:#f0f0f0 !important;
  border-color:#f0f0f0 !important;
}

/* Hero btn2 hover — dorato */
#hero-btn2:hover {
  background: #B8960C !important;
  border-color: #B8960C !important;
  color: #fff !important;
}

/* Hero btn2 hover — dorato */
#hero-btn2:hover {
  background: #B8960C !important;
  border-color: #B8960C !important;
  color: #fff !important;
}

/* ── FIX FOOTER GRID ── */
.footer-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 40px !important;
}
@media(max-width:768px){
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ══════════════════════════════
   MOBILE FIX COMPLETO
   ══════════════════════════════ */
@media(max-width:768px){

  /* Announcement bar — una riga sola */
  .announcement-bar{
    font-size:9px !important;
    letter-spacing:1px !important;
    padding:8px 12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Header */
  .top-header{
    height:70px !important;
  }

  /* Logo più piccolo */
  .top-header img{
    height:55px !important;
  }

  /* Sub-nav scorrevole orizzontalmente */
  .sub-nav{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
    gap:0 !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .sub-nav::-webkit-scrollbar{display:none !important}
  .sub-nav a{
    white-space:nowrap !important;
    padding:14px 16px !important;
    font-size:9px !important;
    flex-shrink:0 !important;
  }

  /* Hero bottoni — in colonna centrata */
  .hero-content{
    padding:24px 20px 32px !important;
  }
  .hero-content h1{
    font-size:clamp(32px,8vw,52px) !important;
  }
  .hero-buttons{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
  }
  .hero-buttons a,
  .hero-content .btn-primary,
  .hero-content .btn-secondary,
  #hero-btn1, #hero-btn2{
    width:100% !important;
    max-width:300px !important;
    text-align:center !important;
    margin:0 !important;
    display:block !important;
  }

  /* Info strip — 2 colonne */
  .info-strip{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
  }
  .info-strip-item{
    border-right:none !important;
    border-bottom:1px solid var(--border) !important;
    padding:16px 12px !important;
    text-align:center !important;
  }
  .info-strip-item:nth-child(odd){
    border-right:1px solid var(--border) !important;
  }

  /* Prodotti — 2 colonne */
  .product-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:1px !important;
    margin:0 !important;
  }

  /* Promo banner — colonna */
  .promo-banner{
    grid-template-columns:1fr !important;
    margin:0 !important;
  }
  .promo-img{
    min-height:240px !important;
  }
  .promo-content{
    padding:32px 24px !important;
  }

  /* Footer */
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
    padding:32px 20px !important;
  }
  .footer-bottom{
    flex-direction:column !important;
    gap:12px !important;
    text-align:center !important;
    padding:16px 20px !important;
  }
  .footer-payments{
    justify-content:center !important;
  }

  /* Carrello drawer full width */
  .cart-drawer{
    width:100vw !important;
    max-width:100vw !important;
  }

  /* Popup newsletter — full screen mobile */
  #nl-box{
    grid-template-columns:1fr !important;
    max-width:100% !important;
    border-radius:8px !important;
  }
  #nl-box > div:first-child{
    display:none !important;
  }

  /* GDPR banner */
  #gdpr-box{
    border-radius:8px 8px 0 0 !important;
    padding:20px 16px !important;
  }
  .gdpr-btns{
    flex-direction:column !important;
  }
  .gdpr-btn{
    width:100% !important;
    text-align:center !important;
  }
}

@media(max-width:400px){
  .sub-nav a{ padding:14px 12px !important; font-size:8px !important; }
  .top-header img{ height:44px !important; }
}

/* ══ PAGINA PRODOTTO MOBILE ══ */
@media(max-width:768px){
  .prod-wrap{
    grid-template-columns:1fr !important;
    padding:16px 16px 40px !important;
    gap:20px !important;
  }
  .gallery{
    position:static !important;
    width:100% !important;
  }
  .gallery-main{
    aspect-ratio:1/1 !important;
    max-height:none !important;
    width:100% !important;
  }
  .gallery-thumbs{
    grid-template-columns:repeat(4,1fr) !important;
    gap:6px !important;
  }
  .prod-info{
    padding-top:0 !important;
  }
  .prod-name{
    font-size:28px !important;
  }
  .btn-cart-big,.btn-wish-big{
    padding:14px !important;
  }
}

/* ══ HERO BOTTONI MOBILE ══ */
@media(max-width:768px){
  .hero-buttons,
  .hero-content .btn-primary,
  .hero-content .btn-secondary,
  #hero-btn1, #hero-btn2{
    display:block !important;
    width:80% !important;
    margin:0 auto 12px auto !important;
    text-align:center !important;
  }
  #hero-btn2{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* ── SEARCH OVERLAY ── */
#search-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.5);
  z-index:9998;display:none;
}
#search-overlay.open{display:block}
#search-box{
  position:fixed;top:0;left:0;right:0;
  background:#fff;z-index:9999;
  padding:20px 28px;
  box-shadow:0 4px 32px rgba(0,0,0,0.15);
  transform:translateY(-100%);
  transition:transform 0.3s ease;
}
#search-box.open{transform:translateY(0)}
.search-input-wrap{
  display:flex;align-items:center;gap:12px;
  border-bottom:2px solid #0A0A0A;
  padding-bottom:12px;max-width:700px;margin:0 auto;
}
.search-input-wrap svg{color:#aaa;flex-shrink:0}
#search-input{
  flex:1;border:none;outline:none;
  font-family:'Montserrat',sans-serif;
  font-size:18px;font-weight:300;
  color:#0A0A0A;background:transparent;
}
#search-input::placeholder{color:#ccc}
#search-close{
  background:none;border:none;font-size:22px;
  color:#aaa;cursor:pointer;padding:0;
}
#search-close:hover{color:#0A0A0A}
#search-results{
  max-width:700px;margin:16px auto 0;
  max-height:60vh;overflow-y:auto;
}
.search-result{
  display:flex;align-items:center;gap:16px;
  padding:12px 0;border-bottom:1px solid #f5f5f5;
  cursor:pointer;transition:background .15s;
}
.search-result:hover{background:#fafafa;margin:0 -16px;padding:12px 16px}
.search-result:last-child{border-bottom:none}
.sr-img{
  width:56px;height:56px;flex-shrink:0;
  background:#f5f5f5;overflow:hidden;
}
.sr-img img{width:100%;height:100%;object-fit:cover}
.sr-info{flex:1}
.sr-nome{font-size:13px;font-weight:500;color:#0A0A0A;margin-bottom:2px}
.sr-cat{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#aaa}
.sr-prezzo{font-size:13px;font-weight:600;color:#0A0A0A;white-space:nowrap}
.sr-prezzo-old{font-size:11px;color:#ccc;text-decoration:line-through;display:block}
.search-empty{text-align:center;padding:32px;color:#aaa;font-size:13px}
.search-cat-link{
  display:block;padding:10px 0;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:#B8960C;font-weight:600;cursor:pointer;
}
.search-cat-link:hover{text-decoration:underline}
.search-highlight{background:#FFF3CD;border-radius:2px}

/* ── ACCOUNT DROPDOWN ── */
.acc-dropdown{position:relative;display:inline-block}
.acc-dropdown-menu{
  position:absolute;top:calc(100% + 8px);right:0;
  background:#fff;border:1px solid var(--border);
  border-radius:4px;min-width:180px;
  box-shadow:0 4px 20px rgba(0,0,0,0.1);
  z-index:9997;opacity:0;visibility:hidden;
  transform:translateY(-8px);transition:all .2s ease;
}
.acc-dropdown.open .acc-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.acc-dropdown-menu a, .acc-dropdown-menu button{
  display:block;width:100%;text-align:left;
  padding:12px 16px;font-size:11px;letter-spacing:1px;
  text-transform:uppercase;color:var(--text);
  text-decoration:none;background:none;border:none;
  cursor:pointer;font-family:var(--font);font-weight:500;
  border-bottom:1px solid #f5f5f5;transition:background .15s;
}
.acc-dropdown-menu a:last-child, .acc-dropdown-menu button:last-child{border-bottom:none}
.acc-dropdown-menu a:hover, .acc-dropdown-menu button:hover{background:#fafafa}
.acc-dropdown-label{font-size:9px;letter-spacing:1px;color:var(--muted);padding:10px 16px 4px;text-transform:uppercase;display:block}
.acc-dropdown-user{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:12px;font-weight:600}
.acc-btn-label{display:none}
@media(min-width:768px){
  .acc-btn-label{display:inline;font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-left:4px;vertical-align:middle}
}

/* Fix spazio promo-title */
.promo-title em { margin-left: 0.2em; }

/* ── RESPONSIVE FULL WIDTH ── */
.page-wrapper { width: 100%; }
.main-content { width: 100%; }

/* Sub-nav scorrevole quando troppe categorie */
.sub-nav {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  flex-wrap: nowrap !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.sub-nav::-webkit-scrollbar { display: none !important; }
.sub-nav a { flex-shrink: 0 !important; white-space: nowrap !important; }


/* ── FIX MODALE ORDINI ── */
#md-ordine-dinamico .mbox { overflow-y: auto !important; max-height: 80vh !important; }

/* ── FIX MODALE ORDINI ── */
#md-ordine-dinamico .mbox { overflow-y: auto !important; max-height: 80vh !important; }
