:root {
  /* === PALETA CLARA (Swarovski-like) === */
  --ivory:    #FAFAF8;
  --ivory-2:  #F3F1EB;
  --ivory-3:  #EAE7DF;
  --charcoal: #111111;
  --char-2:   #1E1E1E;
  --char-3:   #2E2E2E;
  --text:     #111111;
  --text-dim: rgba(17,17,17,0.55);
  --text-mut: rgba(17,17,17,0.32);
  /* === ORO (ajustado para fondos claros) === */
  --gold:        #9A7530;
  --gold-mid:    #B8963E;
  --gold-bright: #C9A84C;
  --gold-pale:   #F5EDD4;
  /* === SECCIONES OSCURAS === */
  --dk:      #111111;
  --dk-2:    #191919;
  --dk-text: #F5F0E8;
  --dk-dim:  rgba(245,240,232,0.60);
  /* === BORDES === */
  --br:     rgba(17,17,17,0.08);
  --br-mid: rgba(17,17,17,0.15);
  --br-str: rgba(17,17,17,0.25);
  /* === TIPOGRAFÍA === */
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Montserrat', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--ivory); color:var(--text); font-family:var(--sans); font-weight:300; overflow-x:hidden; cursor:none; }

/* ── CURSOR ── */
.cursor { width:8px; height:8px; background:var(--charcoal); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9999; mix-blend-mode:difference; }
.cursor-ring { width:36px; height:36px; border:1px solid rgba(17,17,17,0.38); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transition:width 0.3s,height 0.3s,opacity 0.3s; opacity:0.5; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--ivory); }
::-webkit-scrollbar-thumb { background:var(--gold-mid); }

/* ══════════════════════════════════════
   HEADER / NAV
══════════════════════════════════════ */
#navbar { position:fixed; top:0; left:0; right:0; z-index:1000; transition:box-shadow 0.4s; }
#navbar.scrolled { box-shadow:0 2px 28px rgba(0,0,0,0.08); }

.announce-bar {
  background:var(--charcoal);
  color:var(--dk-dim);
  font-size:0.565rem;
  letter-spacing:0.26em;
  text-transform:uppercase;
  text-align:center;
  padding:9px 16px;
  line-height:1;
}
.announce-bar em { color:var(--gold-bright); font-style:normal; font-weight:500; }

nav.main-nav {
  padding:0 60px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(250,250,248,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--br);
}
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-logo-text { font-family:var(--serif); font-size:1.05rem; font-weight:400; letter-spacing:0.32em; color:var(--charcoal); text-transform:uppercase; }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.nav-links a {
  color:var(--text-dim);
  text-decoration:none;
  font-size:0.645rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:500;
  transition:color 0.3s;
  position:relative;
}
.nav-links a::after {
  content:'';
  position:absolute;
  bottom:-4px; left:0; right:0;
  height:1px;
  background:var(--charcoal);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease;
}
.nav-links a:hover { color:var(--charcoal); }
.nav-links a:hover::after { transform:scaleX(1); }

.nav-actions { display:flex; align-items:center; gap:18px; }
.nav-icon-btn {
  background:none; border:none; cursor:none;
  color:var(--text-dim);
  transition:color 0.3s;
  padding:4px;
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.nav-icon-btn:hover { color:var(--charcoal); }
.cart-badge {
  position:absolute; top:-5px; right:-5px;
  width:15px; height:15px;
  background:var(--charcoal); color:var(--ivory);
  border-radius:50%;
  font-size:0.56rem;
  display:flex; align-items:center; justify-content:center;
  font-weight:600;
}
.nav-cta {
  border:1px solid var(--charcoal);
  color:var(--charcoal);
  padding:8px 20px;
  font-size:0.59rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  text-decoration:none;
  font-family:var(--sans);
  font-weight:500;
  transition:background 0.3s,color 0.3s;
  cursor:none;
}
.nav-cta:hover { background:var(--charcoal); color:var(--ivory); }
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:none; padding:4px; }
.hamburger span { display:block; width:24px; height:1px; background:var(--charcoal); transition:0.3s; }

/* Botón primario — secciones claras */
.btn-primary {
  background:var(--charcoal); color:#FFFFFF;
  padding:14px 42px;
  font-size:0.61rem; letter-spacing:0.24em; text-transform:uppercase;
  text-decoration:none; font-weight:500; font-family:var(--sans);
  transition:background 0.3s,transform 0.2s;
  display:inline-block; cursor:none;
}
.btn-primary:hover { background:var(--char-3); transform:translateY(-2px); }

/* Botón ghost — secciones claras */
.btn-ghost {
  border:1px solid var(--br-str); color:var(--charcoal);
  padding:14px 42px;
  font-size:0.61rem; letter-spacing:0.24em; text-transform:uppercase;
  text-decoration:none; font-weight:500; font-family:var(--sans);
  transition:border-color 0.3s,background 0.3s,color 0.3s;
  cursor:none; display:inline-block;
}
.btn-ghost:hover { background:var(--charcoal); color:#FFFFFF; border-color:var(--charcoal); }


/* ══════════════════════════════════════
   MARQUEE — franja oscura contrastante
══════════════════════════════════════ */
.marquee-strip { border-top:1px solid rgba(255,255,255,0.06); border-bottom:1px solid rgba(255,255,255,0.06); padding:12px 0; overflow:hidden; background:var(--charcoal); }
.marquee-track { display:flex; animation:marquee 30s linear infinite; white-space:nowrap; }
.marquee-item { display:flex; align-items:center; gap:26px; padding:0 26px; font-size:0.57rem; letter-spacing:0.28em; text-transform:uppercase; color:rgba(245,240,232,0.5); font-weight:500; flex-shrink:0; }
.marquee-dot { width:3px; height:3px; border-radius:50%; background:var(--gold-bright); flex-shrink:0; opacity:0.6; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══════════════════════════════════════
   SECCIONES — sistema base
══════════════════════════════════════ */
.section { padding:110px 60px; }
.section-label { font-size:0.575rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--gold); font-weight:500; margin-bottom:14px; display:flex; align-items:center; gap:14px; }
.section-label::before { content:''; display:block; width:32px; height:1px; background:var(--gold-mid); }
.section-title { font-family:var(--serif); font-size:clamp(2.2rem,5vw,4.5rem); font-weight:300; line-height:1.05; color:var(--charcoal); margin-bottom:18px; }
.section-title em { font-style:italic; color:var(--gold); }
.section-desc { color:var(--text-dim); font-size:0.84rem; line-height:1.85; max-width:460px; letter-spacing:0.02em; }

/* ══════════════════════════════════════
   CATEGORÍAS
══════════════════════════════════════ */
.categories-section { padding:90px 60px; background:var(--ivory-2); }
.categories-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; gap:40px; flex-wrap:wrap; }
.categories-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; grid-template-rows:520px; gap:4px; }
.cat-card { position:relative; overflow:hidden; cursor:none; background:var(--ivory-3); }
.cat-card-bg { position:absolute; inset:0; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); background-size:cover; background-position:center; }
.cat-card:hover .cat-card-bg { transform:scale(1.05); }
/* Joyería: tonos dorado/cálido */
.cat-jewelry .cat-card-bg { background:linear-gradient(160deg,rgba(196,168,90,0.45) 0%,transparent 55%),radial-gradient(ellipse at 35% 65%,rgba(180,140,50,0.35) 0%,transparent 65%),linear-gradient(to bottom,#C4A84A,#7A5A1E); }
/* Esmeraldas: verde profundo */
.cat-emerald .cat-card-bg { background:linear-gradient(140deg,rgba(50,120,60,0.7) 0%,rgba(15,60,25,0.9) 100%),radial-gradient(ellipse at 60% 40%,rgba(70,160,80,0.3) 0%,transparent 60%),linear-gradient(to bottom,#2E6635,#163A1C); }
/* Moda: violeta/malva elegante */
.cat-fashion .cat-card-bg { background:linear-gradient(140deg,rgba(170,145,195,0.6) 0%,rgba(90,68,118,0.88) 100%),radial-gradient(ellipse at 42% 58%,rgba(196,168,90,0.12) 0%,transparent 55%),linear-gradient(to bottom,#9080AA,#4E3868); }
.cat-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.78) 0%,rgba(0,0,0,0.12) 52%,transparent 100%); }
.cat-content { position:absolute; bottom:0; left:0; right:0; padding:36px 32px; }
.cat-tag { display:inline-block; font-size:0.55rem; letter-spacing:0.26em; text-transform:uppercase; color:rgba(255,255,255,0.72); font-weight:500; margin-bottom:10px; border:1px solid rgba(255,255,255,0.28); padding:4px 10px; }
.cat-name { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:300; line-height:1.1; color:#FFFFFF; margin-bottom:14px; }
.cat-link { display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,0.82); text-decoration:none; font-size:0.59rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:500; transition:gap 0.3s; cursor:none; }
.cat-link::after { content:'→'; transition:transform 0.3s; }
.cat-card:hover .cat-link { gap:16px; color:#FFFFFF; }
.cat-card:hover .cat-link::after { transform:translateX(4px); }
.gem-icon { position:absolute; top:28px; right:28px; opacity:0.1; font-size:2.5rem; transition:opacity 0.4s,transform 0.4s; }
.cat-card:hover .gem-icon { opacity:0.2; transform:rotate(12deg) scale(1.08); }

/* ══════════════════════════════════════
   PRODUCTOS
══════════════════════════════════════ */
.products-section { background:var(--ivory); }
.products-tabs { display:flex; gap:0; margin-bottom:50px; border-bottom:1px solid var(--br-mid); }
.tab-btn { background:none; border:none; color:var(--text-dim); font-size:0.61rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:500; padding:12px 24px; cursor:none; transition:color 0.3s; font-family:var(--sans); position:relative; }
.tab-btn::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:1px; background:var(--charcoal); transform:scaleX(0); transition:transform 0.3s; }
.tab-btn.active { color:var(--charcoal); }
.tab-btn.active::after { transform:scaleX(1); }
.tab-btn:hover { color:var(--charcoal); }

.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.product-card { position:relative; cursor:none; background:var(--ivory-2); overflow:hidden; }
.product-img { aspect-ratio:3/4; background:var(--ivory-3); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.product-img-placeholder { font-size:4rem; opacity:0.15; transition:opacity 0.4s,transform 0.5s; position:absolute; z-index:1; }
.product-card:hover .product-img-placeholder { opacity:0.25; transform:scale(1.05); }
.product-img-bg { position:absolute; inset:0; transition:transform 0.5s; background-size:cover; background-position:center; }
.product-card:hover .product-img-bg { transform:scale(1.04); }

/* Imágenes reales de la carpeta multimedia */
.p1 .product-img-bg { background-image:url('/multimedia/2022/04/Gemini_Generated_Image_75mxpm75mxpm75mx-500x500.webp'); }
.p2 .product-img-bg { background-image:url('/multimedia/2022/04/Gemini_Generated_Image_75mxpm75mxpm75mx-e1763790250879-500x500.webp'); }
.p3 .product-img-bg { background-image:url('/multimedia/2022/05/Gemini_Generated_Image_9olj4l9olj4l9olj-500x500.webp'); }
.p4 .product-img-bg { background-image:url('/multimedia/2022/05/Gemini_Generated_Image_cowtvpcowtvpcowt-500x500.webp'); }
.p5 .product-img-bg { background-image:url('/multimedia/2022/05/Gemini_Generated_Image_ozhvyozhvyozhvyo-500x500.webp'); }
.p6 .product-img-bg { background-image:url('/multimedia/2022/05/Gemini_Generated_Image_x7j1ylx7j1ylx7j1-500x500.webp'); }

.product-badge { position:absolute; top:13px; left:13px; background:var(--charcoal); color:#FFFFFF; font-size:0.52rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; padding:4px 9px; z-index:2; }
.product-badge.sale { background:#B84040; }
.product-badge.excl { background:var(--gold); }
.product-actions { position:absolute; bottom:13px; right:13px; display:flex; flex-direction:column; gap:6px; transform:translateX(52px); opacity:0; transition:transform 0.4s ease,opacity 0.4s ease; z-index:2; }
.product-card:hover .product-actions { transform:translateX(0); opacity:1; }
.action-btn { width:38px; height:38px; background:rgba(250,250,248,0.94); border:1px solid var(--br-mid); color:var(--charcoal); cursor:none; display:flex; align-items:center; justify-content:center; font-size:0.82rem; transition:background 0.3s,border-color 0.3s,color 0.3s; }
.action-btn:hover { background:var(--charcoal); color:#FFFFFF; border-color:var(--charcoal); }
.product-info { padding:17px 17px 21px; background:var(--ivory); }
.product-meta { font-size:0.55rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-mut); margin-bottom:5px; font-weight:500; }
.product-name { font-family:var(--serif); font-size:1.06rem; font-weight:400; color:var(--charcoal); margin-bottom:9px; line-height:1.3; }
.product-price { display:flex; align-items:center; gap:9px; }
.price-current { font-size:0.85rem; font-weight:500; color:var(--gold); letter-spacing:0.04em; }
.price-old { font-size:0.75rem; color:var(--text-mut); text-decoration:line-through; }

/* ══════════════════════════════════════
   HISTORIA
══════════════════════════════════════ */
.story-section { background:var(--ivory-2); padding:110px 60px; display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.story-visual { position:relative; height:580px; }
.story-img-main { position:absolute; inset:0; background:url('/multimedia/2022/04/home-hero-image-1.jpg') center/cover no-repeat; overflow:hidden; }
.story-img-main::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,0.12); }
.story-img-accent { position:absolute; bottom:-24px; right:-24px; width:185px; height:265px; background:url('/multimedia/2022/04/Gemini_Generated_Image_75mxpm75mxpm75mx-500x500.webp') center/cover no-repeat; border:4px solid var(--ivory-2); box-shadow:0 8px 32px rgba(0,0,0,0.12); }
.story-frame { position:absolute; top:-16px; left:-16px; right:52px; bottom:52px; border:1px solid var(--br-mid); pointer-events:none; }
.story-number { position:absolute; top:-32px; left:-14px; font-family:var(--serif); font-size:7rem; font-weight:300; color:rgba(17,17,17,0.04); line-height:1; z-index:-1; }
.story-quote { font-family:var(--serif); font-size:clamp(1.4rem,2.3vw,2.1rem); font-style:italic; font-weight:300; color:var(--gold); line-height:1.4; margin-bottom:34px; }
.story-text { color:var(--text-dim); font-size:0.84rem; line-height:1.9; margin-bottom:20px; letter-spacing:0.02em; }
.story-stats { display:flex; gap:36px; margin-top:44px; padding-top:34px; border-top:1px solid var(--br-mid); }
.stat { text-align:center; }
.stat-number { font-family:var(--serif); font-size:2.4rem; font-weight:300; color:var(--charcoal); line-height:1; margin-bottom:5px; }
.stat-label { font-size:0.57rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); font-weight:500; }

/* ══════════════════════════════════════
   ESMERALDAS
══════════════════════════════════════ */
.emerald-section { padding:110px 60px; background:var(--ivory); display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.emerald-text { order:2; }
.emerald-visual { order:1; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:270px 170px; gap:4px; }
.em-block { background:var(--ivory-3); display:flex; align-items:center; justify-content:center; font-size:2.8rem; position:relative; overflow:hidden; }
.em-block:first-child { grid-column:span 2; background:linear-gradient(135deg,rgba(40,100,50,0.18),rgba(10,55,22,0.28)), var(--ivory-3); }
.em-block:nth-child(2) { background:linear-gradient(135deg,rgba(30,82,42,0.14),rgba(5,38,16,0.22)), var(--ivory-3); }
.em-block:nth-child(3) { background:linear-gradient(135deg,rgba(184,150,62,0.12),rgba(120,90,20,0.14)), var(--ivory-3); }
.em-block-label { position:absolute; bottom:12px; left:12px; font-size:0.55rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.em-icon { opacity:0.2; }
.emerald-origin { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.origin-text { font-size:0.57rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.em-tags { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px; margin-top:22px; }
.em-tag { border:1px solid var(--br-mid); padding:7px 15px; font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--charcoal); transition:border-color 0.3s,background 0.3s; cursor:default; }
.em-tag:hover { border-color:var(--gold-mid); background:var(--gold-pale); }

/* ══════════════════════════════════════
   SUBASTAS
══════════════════════════════════════ */
.auctions-section { background:var(--ivory-2); padding:100px 60px; }
.auctions-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; flex-wrap:wrap; gap:28px; }
.auction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.auction-card { background:var(--ivory); overflow:hidden; cursor:none; border:1px solid var(--br); transition:border-color 0.3s,box-shadow 0.3s; }
.auction-card:hover { border-color:var(--br-mid); box-shadow:0 4px 24px rgba(0,0,0,0.07); }
.auction-img { height:270px; position:relative; display:flex; align-items:center; justify-content:center; font-size:4rem; }
.a1 .auction-img { background:linear-gradient(135deg,rgba(196,174,110,0.38) 0%,rgba(140,105,35,0.22) 100%),var(--ivory-3); }
.a2 .auction-img { background:linear-gradient(135deg,rgba(50,130,62,0.28) 0%,rgba(18,78,30,0.18) 100%),var(--ivory-3); }
.a3 .auction-img { background:linear-gradient(135deg,rgba(130,110,170,0.22) 0%,rgba(80,58,104,0.14) 100%),var(--ivory-3); }
.auction-img-icon { opacity:0.22; }
.auction-timer { position:absolute; top:13px; right:13px; background:rgba(250,250,248,0.94); border:1px solid var(--br-mid); padding:6px 12px; font-size:0.66rem; letter-spacing:0.1em; color:var(--charcoal); font-weight:500; font-family:var(--sans); }
.auction-live { position:absolute; top:13px; left:13px; background:#B84040; padding:4px 9px; font-size:0.52rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; display:flex; align-items:center; gap:5px; color:#FFFFFF; }
.live-dot { width:5px; height:5px; border-radius:50%; background:white; animation:blink 1s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.auction-info { padding:22px; }
.auction-name { font-family:var(--serif); font-size:1.15rem; font-weight:400; color:var(--charcoal); margin-bottom:7px; }
.auction-bid-row { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding-top:14px; border-top:1px solid var(--br); }
.bid-label { font-size:0.55rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-dim); }
.bid-amount { font-size:1.05rem; font-weight:500; color:var(--gold); font-family:var(--serif); margin-top:2px; }
.bid-btn { background:var(--charcoal); color:#FFFFFF; border:none; padding:10px 20px; font-size:0.57rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; cursor:none; font-family:var(--sans); transition:background 0.3s,transform 0.2s; }
.bid-btn:hover { background:var(--char-3); transform:translateY(-1px); }

/* ══════════════════════════════════════
   TESTIMONIOS
══════════════════════════════════════ */
.testimonials-section { padding:110px 60px; background:var(--ivory); text-align:center; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:65px; }
.testimonial-card { padding:36px; border:1px solid var(--br); text-align:left; transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s; background:var(--ivory); }
.testimonial-card:hover { border-color:var(--br-str); transform:translateY(-4px); box-shadow:0 8px 32px rgba(0,0,0,0.07); }
.testimonial-quote-mark { font-family:var(--serif); font-size:4rem; line-height:0.5; color:var(--gold-mid); opacity:0.22; margin-bottom:18px; }
.testimonial-text { font-family:var(--serif); font-size:0.95rem; font-style:italic; line-height:1.75; color:var(--charcoal); margin-bottom:22px; font-weight:300; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.author-avatar { width:42px; height:42px; border-radius:50%; border:1px solid var(--br-mid); background:var(--ivory-3); display:flex; align-items:center; justify-content:center; font-size:1rem; }
.author-name { font-size:0.72rem; font-weight:500; color:var(--charcoal); }
.author-location { font-size:0.59rem; color:var(--gold); letter-spacing:0.08em; }
.stars { color:var(--gold-mid); font-size:0.67rem; margin-bottom:14px; }

/* ══════════════════════════════════════
   CONFIANZA
══════════════════════════════════════ */
.trust-section { padding:65px 60px; background:var(--ivory-2); border-top:1px solid var(--br); border-bottom:1px solid var(--br); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.trust-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; }
.trust-icon { width:54px; height:54px; border:1px solid var(--br-mid); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--charcoal); transition:border-color 0.3s,transform 0.3s; }
.trust-item:hover .trust-icon { border-color:var(--gold-mid); transform:scale(1.1); }
.trust-title { font-size:0.69rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--charcoal); }
.trust-desc { font-size:0.7rem; color:var(--text-dim); line-height:1.65; }

/* ══════════════════════════════════════
   NEWSLETTER — sección oscura (contraste)
══════════════════════════════════════ */
.newsletter-section { padding:110px 60px; background:var(--dk); text-align:center; position:relative; overflow:hidden; }
.newsletter-bg { position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(201,168,76,0.06) 0%,transparent 70%); pointer-events:none; }
.newsletter-content { position:relative; z-index:1; }
.newsletter-title { font-family:var(--serif); font-size:clamp(2rem,5vw,4rem); font-weight:300; margin-bottom:14px; color:var(--dk-text); }
.newsletter-title em { font-style:italic; color:var(--gold-bright); }
.newsletter-sub { color:var(--dk-dim); font-size:0.84rem; margin-bottom:46px; letter-spacing:0.04em; }
.newsletter-form { display:flex; max-width:480px; margin:0 auto; border:1px solid rgba(245,240,232,0.2); }
.newsletter-input { flex:1; background:transparent; border:none; outline:none; color:var(--dk-text); padding:15px 22px; font-family:var(--sans); font-size:0.77rem; letter-spacing:0.04em; }
.newsletter-input::placeholder { color:rgba(245,240,232,0.3); }
.newsletter-btn { background:var(--dk-text); color:var(--dk); border:none; padding:15px 28px; font-size:0.57rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:600; cursor:none; font-family:var(--sans); transition:background 0.3s; white-space:nowrap; }
.newsletter-btn:hover { background:rgba(245,240,232,0.86); }
.newsletter-note { margin-top:14px; font-size:0.62rem; color:rgba(245,240,232,0.24); }

/* ══════════════════════════════════════
   FOOTER — oscuro
══════════════════════════════════════ */
footer { background:var(--dk-2); padding:75px 60px 38px; border-top:1px solid rgba(255,255,255,0.05); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:55px; margin-bottom:55px; }
.footer-logo-text { font-family:var(--serif); font-size:1.3rem; letter-spacing:0.18em; color:var(--gold-bright); text-transform:uppercase; margin-bottom:18px; display:block; }
.footer-tagline { color:var(--dk-dim); font-size:0.77rem; line-height:1.8; margin-bottom:28px; font-style:italic; font-family:var(--serif); }
.footer-social { display:flex; gap:12px; }
.social-btn { width:36px; height:36px; border:1px solid rgba(245,240,232,0.13); display:flex; align-items:center; justify-content:center; color:var(--dk-dim); text-decoration:none; font-size:0.88rem; transition:border-color 0.3s,color 0.3s; cursor:none; }
.social-btn:hover { border-color:var(--gold-bright); color:var(--gold-bright); }
.footer-col-title { font-size:0.58rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold-bright); font-weight:600; margin-bottom:22px; display:block; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer-links a { color:var(--dk-dim); text-decoration:none; font-size:0.77rem; transition:color 0.3s; letter-spacing:0.03em; cursor:none; }
.footer-links a:hover { color:var(--dk-text); }
.footer-bottom { padding-top:34px; border-top:1px solid rgba(255,255,255,0.05); display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.footer-legal { font-size:0.62rem; color:rgba(245,240,232,0.24); letter-spacing:0.08em; }
.footer-legal a { color:inherit; text-decoration:none; }
.footer-legal a:hover { color:var(--dk-dim); }
.footer-payment { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.payment-badge { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); padding:4px 10px; font-size:0.57rem; color:var(--dk-dim); letter-spacing:0.08em; }

/* ══════════════════════════════════════
   NAV MÓVIL
══════════════════════════════════════ */
.mobile-nav { position:fixed; top:0; left:0; right:0; bottom:0; background:var(--ivory); z-index:999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; transform:translateX(100%); transition:transform 0.5s cubic-bezier(0.76,0,0.24,1); }
.mobile-nav.open { transform:translateX(0); }
.mobile-nav a { font-family:var(--serif); font-size:2.4rem; font-weight:300; color:var(--charcoal); text-decoration:none; transition:color 0.3s; }
.mobile-nav a:hover { color:var(--gold); }
.mobile-close { position:absolute; top:22px; right:22px; background:none; border:none; color:var(--charcoal); font-size:1.4rem; cursor:none; }

/* ══════════════════════════════════════
   REVEAL ANIMATION
══════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* ══════════════════════════════════════
   PÁGINAS INTERNAS — page-hero (Swarovski)
══════════════════════════════════════ */
.page-hero { padding:150px 60px 72px; background:var(--ivory-2); border-bottom:1px solid var(--br-mid); }
.page-hero-label { font-size:0.56rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold); font-weight:500; margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.page-hero-label::before { content:''; display:block; width:26px; height:1px; background:var(--gold-mid); }
.page-hero h1 { font-family:var(--serif); font-size:clamp(2.6rem,5.5vw,4.8rem); color:var(--charcoal); font-weight:300; margin-bottom:16px; line-height:1.05; }
.page-hero p { color:var(--text-dim); max-width:560px; font-size:0.88rem; line-height:1.8; }

/* ── Filtros ── */
.filters { display:flex; gap:10px; flex-wrap:wrap; padding:36px 60px 0; background:var(--ivory); }
.filter-btn { background:none; border:1px solid var(--br-mid); color:var(--text-dim); padding:8px 20px; border-radius:100px; font-family:var(--sans); font-size:0.69rem; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; }
.filter-btn:hover, .filter-btn.active { background:var(--charcoal); border-color:var(--charcoal); color:#FFFFFF; font-weight:500; }

/* ── Grid interno de productos ── */
.products-section-inner { padding:40px 60px 80px; background:var(--ivory); }

/* ── Banners de categoría (joyería) ── */
.category-banner { display:flex; gap:4px; padding:0 0 0; flex-wrap:wrap; margin:0 60px 60px; }
.cat-banner-card { flex:1; min-width:280px; background:var(--ivory-2); border:1px solid var(--br-mid); padding:36px; transition:border-color 0.3s,box-shadow 0.3s; }
.cat-banner-card:hover { border-color:var(--gold-mid); box-shadow:0 4px 20px rgba(0,0,0,0.06); }
.cat-banner-card h3 { font-family:var(--serif); font-size:1.65rem; color:var(--charcoal); margin-bottom:10px; font-weight:300; }
.cat-banner-card p { color:var(--text-dim); font-size:0.82rem; line-height:1.65; margin-bottom:18px; }
.cat-banner-card ul { list-style:none; padding:0; margin:0 0 22px; }
.cat-banner-card ul li { color:var(--text-dim); font-size:0.78rem; padding:5px 0; border-bottom:1px solid var(--br); }
.cat-banner-card ul li::before { content:'·  '; color:var(--gold); }

/* ── Nota de tallas ── */
.sizes-note { background:var(--ivory-2); border:1px solid var(--br-mid); padding:20px 28px; margin:0 60px 48px; display:flex; align-items:center; gap:16px; }
.sizes-note p { color:var(--text-dim); font-size:0.82rem; line-height:1.5; margin:0; }
.sizes-note a { color:var(--gold); text-decoration:none; white-space:nowrap; font-size:0.8rem; }

/* ── Subastas — cómo funciona ── */
.section-inner { padding:60px; background:var(--ivory); }
.section-inner h2 { font-family:var(--serif); font-size:2.1rem; color:var(--charcoal); margin-bottom:32px; font-weight:300; }
.section-inner.dk-bg { background:var(--charcoal); }
.section-inner.dk-bg h2 { color:var(--gold-bright); }
.how-steps { display:flex; gap:0; flex-wrap:wrap; }
.how-step { flex:1; min-width:155px; text-align:center; padding:26px 14px; position:relative; }
.how-step::after { content:'→'; position:absolute; right:-10px; top:50%; transform:translateY(-50%); color:var(--text-mut); font-size:1rem; }
.how-step:last-child::after { display:none; }
.step-num { width:44px; height:44px; border-radius:50%; background:var(--charcoal); color:#FFFFFF; font-weight:600; font-size:0.9rem; display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.step-label { color:var(--text-dim); font-size:0.78rem; line-height:1.55; }

/* ── Blog ── */
.blog-section { padding:0 60px 60px; background:var(--ivory); }
.blog-featured { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-bottom:60px; background:var(--ivory-2); border:1px solid var(--br-mid); overflow:hidden; }
.blog-featured-img { background:linear-gradient(135deg,rgba(50,100,60,0.4),rgba(10,42,20,0.65)),var(--ivory-3); display:flex; align-items:center; justify-content:center; font-size:5rem; min-height:280px; }
.blog-featured-content { padding:42px; }
.blog-cat-tag { display:inline-block; background:var(--gold-pale); color:var(--gold); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; padding:4px 12px; margin-bottom:16px; }
.blog-title { font-family:var(--serif); font-size:1.75rem; color:var(--charcoal); line-height:1.3; margin-bottom:12px; font-weight:300; }
.blog-excerpt { color:var(--text-dim); font-size:0.84rem; line-height:1.65; margin-bottom:20px; }
.blog-meta { font-size:0.69rem; color:var(--text-mut); letter-spacing:0.08em; text-transform:uppercase; }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:4px; }
.blog-card { background:var(--ivory-2); overflow:hidden; border:1px solid var(--br); transition:border-color 0.3s,box-shadow 0.3s; }
.blog-card:hover { border-color:var(--br-str); box-shadow:0 4px 20px rgba(0,0,0,0.07); }
.blog-card-img { height:165px; background:var(--ivory-3); display:flex; align-items:center; justify-content:center; font-size:3rem; }
.blog-card-body { padding:22px; background:var(--ivory); }
.blog-categories { display:flex; gap:10px; flex-wrap:wrap; padding:40px 60px 36px; background:var(--ivory); }
.cat-pill { background:none; border:1px solid var(--br-mid); color:var(--text-dim); padding:7px 18px; border-radius:100px; font-size:0.7rem; font-family:var(--sans); letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; }
.cat-pill:hover, .cat-pill.active { background:var(--charcoal); border-color:var(--charcoal); color:#FFFFFF; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 1024px) {
  nav.main-nav { padding:0 28px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .section,.categories-section,.story-section,.emerald-section,.auctions-section,.testimonials-section,.trust-section,.newsletter-section { padding:72px 28px; }
  .categories-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .categories-grid .cat-card:first-child { grid-column:span 2; height:380px; }
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .story-section { grid-template-columns:1fr; gap:50px; }
  .story-visual { height:320px; }
  .emerald-section { grid-template-columns:1fr; }
  .emerald-text { order:-1; }
  .auction-grid { grid-template-columns:1fr 1fr; }
  .testimonials-grid { grid-template-columns:1fr 1fr; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .filters,.products-section-inner,.blog-section,.blog-categories,.page-hero,.section-inner,.category-banner { padding-left:28px; padding-right:28px; }
  .sizes-note,.category-banner { margin-left:0; margin-right:0; }
  .blog-featured { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .categories-grid { grid-template-columns:1fr; }
  .categories-grid .cat-card:first-child { grid-column:span 1; }
  .products-grid { grid-template-columns:1fr; }
  .auction-grid { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .story-stats { gap:18px; flex-wrap:wrap; }
  .hero-actions { flex-direction:column; align-items:center; }
  .products-tabs { overflow-x:auto; }
  .newsletter-form { flex-direction:column; }
  .how-step::after { display:none; }
}

/* ══════════════════════════════════════
   CARRUSEL DE VIDEOS — Estilo Rolex
══════════════════════════════════════ */
.video-carousel {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 620px;
  overflow: hidden;
  background: #000;
}

/* Slides */
.vc-slide {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.4s ease;
  pointer-events: none;
  overflow: hidden;
}
.vc-slide.active {
  opacity: 1;
  pointer-events: all;
}

/* Video — posicionado absolutamente para llenar el slide */
.vc-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
}

/* Overlay oscuro para legibilidad */
.vc-overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    105deg,
    rgba(0,0,0,0.62) 0%,
    rgba(0,0,0,0.32) 55%,
    rgba(0,0,0,0.18) 100%
  );
  z-index: 2;
}

/* Contenido del slide */
.vc-content {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 80px 120px;
  z-index: 3;
  box-sizing: border-box;
}
.vc-slide.active .vc-content {
  animation: vcContentIn 1s 0.3s ease both;
}
@keyframes vcContentIn {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}

.vc-eyebrow {
  font-size: 0.58rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  font-weight: 500;
  margin-bottom: 20px;
  font-family: var(--sans);
}

.vc-title {
  font-family: var(--serif);
  font-size: clamp(3rem, 7vw, 7.5rem);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 0.95;
  margin-bottom: 40px;
  max-width: 720px;
}

.vc-btn {
  display: inline-block;
  border: 1px solid rgba(255,255,255,0.55);
  color: #FFFFFF;
  padding: 14px 44px;
  font-size: 0.61rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  text-decoration: none;
  font-family: var(--sans);
  font-weight: 500;
  transition: background 0.35s, border-color 0.35s;
  cursor: none;
  align-self: flex-start;
}
.vc-btn:hover {
  background: rgba(255,255,255,0.14);
  border-color: #FFFFFF;
}

/* Indicadores — líneas discretas */
.vc-dots {
  position: absolute;
  bottom: 52px;
  right: 80px;
  display: flex;
  gap: 8px;
  z-index: 10;
  align-items: center;
}
.vc-dot {
  width: 24px;
  height: 1.5px;
  background: rgba(255,255,255,0.3);
  border: none;
  cursor: none;
  transition: background 0.35s, width 0.35s;
  padding: 0;
}
.vc-dot.active {
  background: #FFFFFF;
  width: 40px;
}

/* Flechas de navegación */
.vc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 1px solid rgba(255,255,255,0.28);
  color: #FFFFFF;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
  z-index: 10;
  transition: border-color 0.3s, background 0.3s;
}
.vc-arrow:hover {
  border-color: rgba(255,255,255,0.75);
  background: rgba(255,255,255,0.08);
}
.vc-prev { left: 40px; }
.vc-next { right: 40px; }
.vc-arrow svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.4; fill:none; }

/* Número de slide */
.vc-counter {
  position: absolute;
  bottom: 48px;
  left: 80px;
  font-size: 0.56rem;
  letter-spacing: 0.3em;
  color: rgba(255,255,255,0.45);
  font-family: var(--sans);
  z-index: 10;
}
.vc-counter em { color: rgba(255,255,255,0.75); font-style: normal; }

/* Barra de progreso */
.vc-progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background: rgba(255,255,255,0.25);
  z-index: 10;
  width: 0%;
}

/* Responsive carrusel */
@media (max-width: 1024px) {
  .vc-content { padding: 0 40px 100px; }
  .vc-dots { right: 40px; bottom: 40px; }
  .vc-counter { left: 40px; }
  .vc-arrow { display: none; }
}
@media (max-width: 640px) {
  .vc-content { padding: 0 24px 90px; }
  .vc-title { font-size: clamp(2.4rem, 8vw, 4rem); }
  .vc-dots { right: 24px; bottom: 32px; }
  .vc-counter { left: 24px; bottom: 32px; }
}

/* ── Categorías con imágenes reales ── */
.cat-card-bg {
  background-size: cover !important;
  background-position: center !important;
}
