
:root{--black:#0A0A0A;--gold:#D4AF37;--gold-2:#E9C96D;--silver:#C0C0C0;--white:#FFFFFF;--border:#1A1A1D;--focus:#2A2A2D;--radius:14px;--container:1180px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 700px at 75% -10%,#141414 0%,#0A0A0A 60%,#070707 100%);color:var(--white);font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.6;scroll-behavior:smooth}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background: rgba(10,10,10,.52);border-bottom: 1px solid rgba(255,255,255,.10)}
.nav-inner{max-width:var(--container);margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.menu{display:flex;flex-wrap:wrap;gap:14px}
.menu a{color:#E6E6E6;text-decoration:none;font-size:14px;padding:10px 12px;border-radius:8px;transition:all .2s}
.menu a:hover{background:var(--focus);color:var(--white)}
.brand img{height:24px}
.hero{max-width:var(--container);margin:34px auto 10px;padding:24px 22px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:14px}}
.hero-card{background:linear-gradient(180deg,rgba(212,175,55,.07),rgba(212,175,55,0) 40%),linear-gradient(180deg,#0F0F10,#0B0B0C);border:1px solid var(--border);border-radius:var(--radius);box-shadow: 0 8px 30px rgba(212,175,55,.14);padding:34px 28px}
.eyebrow{color:var(--silver);font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(34px,5.5vw,60px);line-height:1.1;margin:8px 0 14px;background:linear-gradient(135deg,#FFF,#EDE8D7 35%,var(--gold) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#DEDEDE;margin:0 0 18px;font-size:16px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{padding:12px 16px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid var(--border);color:#fff;background:#111;text-decoration:none;transition:all .2s;cursor:pointer}
.btn:hover{transform:translateY(-1px);background:#161616}
.btn.gold,[data-add-to-cart].btn{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#121212;border:none}
section{padding:56px 22px 22px}
.container{max-width:var(--container);margin:auto}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;border-bottom: 1px solid rgba(255,255,255,.10);padding-bottom:12px}
.section-title{font-family:'Playfair Display',serif;margin:0;line-height:1.1;font-size:clamp(22px,3.5vw,36px)}
.title-gold{color:var(--gold)}.title-silver{color:var(--silver)}.title-white{color:var(--white)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-12{grid-column:span 12}
@media(max-width:900px){.col-4,.col-6{grid-column:span 12}}
.card{background:linear-gradient(180deg,#0E0E0F,#0A0A0B);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow: 0 8px 30px rgba(212,175,55,.15);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-3px);border-color:#2A2A2D}
.thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#1A1A1C,#101012);display:flex;align-items:center;justify-content:center;color:#BFBFBF;font-family:'Playfair Display',serif;letter-spacing:.5px;font-size:18px}
.card-body{padding:14px 14px 16px}
.tag{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:#CFCFCF;background:#121214}
.h{font-family:'Playfair Display',serif;margin:10px 0 6px;font-size:20px;line-height:1.2}
.meta{color:#BDBDBF;font-size:13px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.contact{grid-template-columns:1fr}}
.form{background:#0E0E10;border:1px solid var(--border);border-radius:14px;padding:18px}
footer{margin-top:40px;border-top:1px solid var(--border);background:#0A0A0A;color:#C9C9CC}
.foot-inner{max-width:var(--container);margin:auto;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.social{display:flex;gap:10px}
.icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:#111;background:linear-gradient(180deg,#E9C96D,#D4AF37);transition:transform .2s}
.icon:hover{transform:translateY(-2px)}
.tiny{font-size:12px;color:#9EA0A6}
.divider{height:1px;background:var(--border);margin:10px 0}
.right{text-align:right}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#111214;border:1px solid var(--border);color:#EDEDED;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;box-shadow: 0 10px 30px rgba(212,175,55,.12);transition:all .25s ease;z-index:1100}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .2s ease}
.modal-backdrop.show{opacity:1}
.modal{width:min(520px,90vw);background:linear-gradient(180deg,#0F0F10,#0A0A0B);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.6);overflow:hidden}
.modal-header{padding:16px 18px;border-bottom: 1px solid rgba(255,255,255,.10);display:flex;align-items:center;gap:10px}
.modal-title{margin:0;font-size:18px;color:#fff}
.modal-body{padding:16px 18px;color:#CFCFD4}
.price-tag{display:inline-block;background:#141417;border:1px solid var(--border);padding:8px 12px;border-radius:10px;color:#EDEDED}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--border)}
.btn-ghost{background:#111214;border:1px solid var(--border);color:#EDEDED}
#cart-count{display:inline-block;min-width:18px;text-align:center}

/* === Mejoras recomendadas === */
.btn.gold {
    color: #1a1a1a;
    background-color: #d4af37;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.btn.gold:hover {
    background-color: #bfa133;
    color: #fff;
}
.card:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.section-title {
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 1px;
    font-weight: 600;
}
input:focus, select:focus {
    outline: none;
    border-color: #d4af37;
    box-shadow: 0 0 8px rgba(212,175,55,0.4);
}
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}
.toast.show {
    animation: fadeInUp 0.3s ease;
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.foot-inner {
    padding: 20px;
    gap: 15px;
}
.hero {
    background: radial-gradient(circle at center, #141414 0%, #0A0A0A 70%);
}
.btn {
    padding: 14px 18px;
    font-size: 16px;
}
.qty {
    transition: background-color 0.2s ease;
}
/* === Mejora de texto en calculadora, contacto y carrito === */
.calculadora, .contact-form, .cart-summary {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    color: #e0e0e0;
    line-height: 1.6;
}
.calculadora h2, .contact-form h2, .cart-summary h2 {
    font-weight: 700;
    color: #d4af37;
}


/* 1. Scrollbar Personalizado (Dark Mode Nativo) */
html { scrollbar-width: thin; scrollbar-color: #7A6127 #0C0C0F; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background:#0C0C0F; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg,#5A451A 0%, #8A6B2A 40%, #FFF1C2 50%, #7A6127 60%, #4A3815 100%);
  border-radius: 999px; border: 2px solid #0C0C0F;
}


/* 2. Gradiente "Oro Realista" */
.text-gold {
  background-image: linear-gradient(135deg, #6E5520 0%, #D4AF37 35%, #FFF1C2 50%, #C9A033 65%, #6E5520 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.btn { position: relative; overflow: hidden; }
.btn.gold, [data-add-to-cart].btn {
  background-image: linear-gradient(135deg, #6E5520 0%, #D4AF37 35%, #FFF1C2 50%, #C9A033 65%, #6E5520 100%);
  color: #101010; border: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 36px rgba(212,175,55,.18);
}


/* 4. Tipografía "Editorial" */
.eyebrow, .tag, .small-caps { letter-spacing: 0.15em; text-transform: uppercase; }


/* 5. Micro-interacción elevación y brillo */
.card { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.card:hover { transform: translateY(-3px); border-color: rgba(212,175,55,.35); box-shadow: 0 14px 44px rgba(212,175,55,.18); }
.thumb { transition: transform .3s ease; }
.card:hover .thumb { transform: scale(1.04); }


/* 6. Inputs de Formulario "Atelier" */
input, select, textarea {
  background:#0D0D10; border:none; border-bottom:1px solid #1A1A1D; border-radius:0;
  padding:12px 10px 10px; color:#FFFFFF; transition:border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus {
  outline:none; border-bottom-color:#D4AF37; box-shadow: 0 6px 18px rgba(212,175,55,.12);
}


/* 7. Sombras de Luz (Glow) */
.shadow-glow { box-shadow: 0 10px 34px rgba(212,175,55,.16); }
.hero-card { box-shadow: 0 12px 40px rgba(212,175,55,.14); }


/* 8. Animación de Entrada "Fade Up" */
@keyframes fadeUp { from { opacity:0; transform: translateY(12px); } to { opacity:1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
  .hero h1, .hero p, .cta-row .btn { opacity: 0; transform: translateY(8px); }
  body.animate .hero h1 { animation: fadeUp .8s ease both; }
  body.animate .hero p { animation: fadeUp .8s ease .1s both; }
  body.animate .cta-row .btn:nth-child(1) { animation: fadeUp .8s ease .2s both; }
  body.animate .cta-row .btn:nth-child(2) { animation: fadeUp .8s ease .3s both; }
  body.animate .cta-row .btn:nth-child(3) { animation: fadeUp .8s ease .4s both; }
}


/* 9. Botones con Efecto "Sweep" */
.btn.gold::after, [data-add-to-cart].btn::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.38) 50%, transparent 100%);
  transform: translateX(-120%);
  transition: transform .55s ease;
}
.btn.gold:hover::after, [data-add-to-cart].btn:hover::after{ transform: translateX(120%); }
