@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#101010; --ink-soft:#1a1a1a; --paper:#f3f1ed; --muted:#aaa69f; --line:#343434; --acid:#d8ff33; --orange:#ff5c35; --ok:#84a866; --radio:0px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Manrope,system-ui,sans-serif; line-height:1.5; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; opacity:.05; background-image:linear-gradient(#fff 1px, transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:48px 48px; }
h1,h2,h3 { font-family:'Archivo Black',sans-serif; font-weight:400; line-height:.96; text-transform:uppercase; margin:0; letter-spacing:-.035em; }
a { color:inherit; }
.mono { font-family:'DM Mono',monospace; }
::selection { background:var(--acid); color:var(--ink); }

.cinta-peligro { height:7px; background:repeating-linear-gradient(-45deg,var(--acid) 0 13px,var(--ink) 13px 26px); }
.header { min-height:76px; display:flex; align-items:center; justify-content:space-between; padding:18px clamp(20px,4vw,64px); border-bottom:1px solid var(--line); position:relative; z-index:2; }
.marca { font-family:'Archivo Black',sans-serif; font-size:24px; text-decoration:none; letter-spacing:-.06em; }
.marca span { color:var(--acid); }
.header nav { display:flex; gap:25px; align-items:center; font-family:'DM Mono',monospace; text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.header nav a { text-decoration:none; color:var(--ink); padding:8px 11px; border:1px solid #4a4a4a; background:var(--paper); }
.header nav a:hover { color:var(--ink); border-color:var(--acid); background:var(--acid); }
.header #zona-usuario { display:flex; align-items:center; gap:18px; }
.header #zona-usuario a { padding:8px 11px; border:1px solid #4a4a4a; background:var(--paper); color:var(--ink); }.header #zona-usuario a:hover { background:var(--acid); border-color:var(--acid); color:var(--ink); }
.badge-carrito { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:5px; padding:0 5px; border-radius:50%; background:var(--acid); color:var(--ink); font-size:10px; }

.hero { min-height:560px; padding:26px clamp(20px,7vw,112px) 20px; display:flex; flex-direction:column; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.hero::after { content:'NC'; position:absolute; right:-.07em; bottom:-.42em; color:transparent; -webkit-text-stroke:1px #2c2c2c; font:clamp(230px,38vw,580px)/.8 'Archivo Black',sans-serif; letter-spacing:-.14em; pointer-events:none; }
.hero__eyebrow,.hero__footer,.section-kicker { font:10px 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.hero__eyebrow { display:flex; gap:10px; align-items:center; color:var(--muted); }
.hero__eyebrow span { width:38px; height:1px; background:var(--acid); }
.hero__content { display:flex; justify-content:space-between; gap:40px; align-items:end; z-index:1; }
.sello { display:inline-block; padding:7px 10px; margin-bottom:22px; background:var(--acid); color:var(--ink); font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.hero h1 { font-size:clamp(57px,10.4vw,154px); max-width:1000px; }
.hero h1 span { color:var(--acid); }
.hero__copy { width:290px; padding-bottom:8px; }
.hero__copy p { font-size:14px; color:#cbc8c2; margin:0 0 24px; }
.hero__link { font:11px 'DM Mono',monospace; color:var(--acid); text-transform:uppercase; text-decoration:none; letter-spacing:.09em; border-bottom:1px solid #59611e; padding-bottom:8px; display:flex; justify-content:space-between; }
.hero__link b { font-size:18px; line-height:.6; }
.hero__footer { z-index:1; display:flex; justify-content:space-between; gap:15px; color:var(--muted); padding-top:32px; border-top:1px solid var(--line); }
.hero-metal { min-height:calc(100vh - 83px); display:grid; place-items:center; padding:clamp(48px,8vw,100px) 24px; isolation:isolate; border-bottom:0; background:#101010; }
.liquid-metal { position:absolute; inset:-16%; z-index:-1; overflow:hidden; background:radial-gradient(circle at 20% 25%,#f3f1ed 0 2%,transparent 18%),radial-gradient(circle at 83% 72%,#d8ff33 0 1%,transparent 18%),conic-gradient(from 160deg at 55% 50%,#0d0d0d,#5e5d58 10%,#e8e5de 18%,#242421 31%,#9c9a93 43%,#111 55%,#d8ff33 66%,#66645f 76%,#0d0d0d 88%); filter:contrast(1.22) saturate(.8); animation:liquid-metal-flow 10s ease-in-out infinite alternate; transform:translate3d(var(--metal-x,0),var(--metal-y,0),0) scale(var(--metal-scale,1)); will-change:transform; }
.liquid-metal::before,.liquid-metal::after { content:''; position:absolute; inset:-10%; border-radius:42%; mix-blend-mode:overlay; }.liquid-metal::before { background:repeating-radial-gradient(ellipse at 48% 45%,transparent 0 5%,rgba(255,255,255,.55) 6%,transparent 8%); transform:rotate(-20deg) scale(1.6); filter:blur(11px); animation:metal-ripples 7s ease-in-out infinite alternate; }.liquid-metal::after { background:linear-gradient(110deg,transparent 21%,rgba(255,255,255,.7) 42%,transparent 54%); transform:translateX(-80%) skewX(-18deg); animation:metal-glint 4.5s ease-in-out infinite; }
.hero-metal__content { width:min(920px,100%); text-align:center; position:relative; z-index:1; animation:hero-appear .7s cubic-bezier(.25,.1,.25,1) both; }.sello-metal { background:rgba(16,16,16,.74); border:1px solid rgba(243,241,237,.45); color:var(--paper); border-radius:999px; backdrop-filter:blur(12px); margin-bottom:28px; }.hero-metal h1 { font-size:clamp(58px,10vw,142px); color:#f7f6f2; text-shadow:0 4px 35px rgba(0,0,0,.5); }.hero-metal h1 span { color:var(--acid); }.hero-metal p { max-width:660px; margin:28px auto; color:#f3f1ed; font-size:clamp(16px,2vw,21px); font-weight:600; text-shadow:0 2px 12px rgba(0,0,0,.6); }.hero-metal__actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }.hero-metal .btn { min-width:190px; padding:16px 22px; font-size:11px; border-radius:2px; }.btn-metal-primary { background:var(--paper); color:var(--ink); border-color:var(--paper); box-shadow:0 12px 28px rgba(0,0,0,.28); }.btn-metal-primary:hover { color:var(--ink); background:var(--acid); border-color:var(--acid); transform:translateY(-2px); }.btn-metal-secondary { background:rgba(16,16,16,.36); color:var(--paper); border-color:rgba(243,241,237,.55); backdrop-filter:blur(12px); }.btn-metal-secondary:hover { background:rgba(243,241,237,.17); color:var(--paper); border-color:var(--paper); }.hero-metal__features { margin:clamp(46px,8vw,84px) auto 0; max-width:720px; padding:22px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; border:1px solid rgba(243,241,237,.27); background:rgba(10,10,10,.25); box-shadow:0 16px 42px rgba(0,0,0,.2); backdrop-filter:blur(13px); color:var(--paper); font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.hero-metal__features span+span { border-left:1px solid rgba(243,241,237,.22); }
@keyframes liquid-metal-flow { 0% { background-position:0% 50%; filter:contrast(1.15) saturate(.7) hue-rotate(0deg); } 100% { background-position:100% 50%; filter:contrast(1.3) saturate(1) hue-rotate(12deg); } } @keyframes metal-ripples { to { transform:rotate(26deg) scale(1.85) translate(4%,3%); } } @keyframes metal-glint { 0%,20% { transform:translateX(-110%) skewX(-18deg); } 65%,100% { transform:translateX(120%) skewX(-18deg); } } @keyframes hero-appear { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
.marquee { overflow:hidden; background:var(--acid); color:var(--ink); white-space:nowrap; padding:8px 0; font:15px 'Archivo Black',sans-serif; letter-spacing:.02em; }
.marquee div { width:max-content; animation:marquee 22s linear infinite; }.marquee i { font-style:normal; color:var(--orange); padding:0 18px; }
@keyframes marquee { to { transform:translateX(-50%); } }

.contenedor { max-width:1320px; margin:auto; padding:clamp(55px,8vw,110px) clamp(20px,4vw,64px) 110px; position:relative; }
.catalogo-head { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:36px; }
.catalogo-head h2 { margin-top:10px; font-size:clamp(35px,5vw,66px); }
.catalogo-head p { font:11px/1.7 'DM Mono',monospace; color:var(--muted); text-align:right; margin:0; }
.section-kicker { color:var(--acid); }
.categorias { display:flex; gap:8px; overflow-x:auto; padding-bottom:10px; margin-bottom:18px; }
.categoria-btn { flex:0 0 auto; padding:9px 12px; border:1px solid #444; background:transparent; color:var(--paper); cursor:pointer; font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.06em; }.categoria-btn span { color:var(--muted); margin-left:6px; }.categoria-btn.activa,.categoria-btn:hover { border-color:var(--acid); color:var(--ink); background:var(--acid); }.categoria-btn.activa span { color:var(--ink); }
.grilla-productos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.tarjeta-producto { min-width:0; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; transition:transform .25s ease; }
.tarjeta-producto:hover { transform:translateY(-7px); }.tarjeta-producto:nth-child(3n+2) { margin-top:46px; }
.tarjeta-producto .imagen { aspect-ratio:4/5; overflow:hidden; background:#d9d6d1; display:grid; place-items:center; color:#777; font:11px 'DM Mono',monospace; text-transform:uppercase; }
.tarjeta-producto .imagen img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }.tarjeta-producto:hover .imagen img { transform:scale(1.05); }
.slider-catalogo { position:relative; }.slider-catalogo .slide { display:none; }.slider-catalogo .slide.activa { display:block; }.slide-control { position:absolute; bottom:10px; width:31px; height:31px; border:0; background:rgba(16,16,16,.85); color:var(--paper); cursor:pointer; font-size:16px; }.slide-control:hover { background:var(--acid); color:var(--ink); }.slide-control.prev { right:43px; }.slide-control.next { right:10px; }.slide-count { position:absolute; left:10px; bottom:12px; color:#fff; font:9px 'DM Mono',monospace; text-shadow:0 1px 3px #000; }
.tarjeta-producto .info { padding:17px 17px 18px; display:flex; flex:1; flex-direction:column; gap:9px; }
.producto-meta { display:flex; justify-content:space-between; color:#77736e; font:9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }.producto-meta span:last-child { color:#4f6e0e; }
.tarjeta-producto h3 { font-size:20px; }.tarjeta-producto .descripcion { min-height:36px; color:#6b6965; font-size:12px; }
.ver-detalle { display:flex; justify-content:space-between; color:var(--ink); border-bottom:1px solid #b9b6b0; padding:4px 0 7px; text-decoration:none; font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }.ver-detalle:hover { color:#5a7300; border-color:#5a7300; }
.precio { margin-top:auto; font:600 17px 'DM Mono',monospace; }.talles { display:flex; gap:5px; flex-wrap:wrap; margin:3px 0 5px; }
.talle-btn { border:1px solid #bebbb5; color:var(--ink); background:transparent; min-width:35px; padding:5px 7px; cursor:pointer; font:11px 'DM Mono',monospace; transition:.15s; }.talle-btn:hover,.talle-btn.seleccionado { color:var(--ink); border-color:var(--ink); background:var(--acid); }.talle-btn:disabled { opacity:.4; text-decoration:line-through; cursor:not-allowed; }
.btn { display:inline-block; border:1px solid var(--ink); padding:12px 15px; background:var(--ink); color:var(--paper); cursor:pointer; font:500 11px 'DM Mono',monospace; letter-spacing:.08em; text-align:center; text-decoration:none; text-transform:uppercase; transition:.18s; }.btn:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); }.btn:disabled { opacity:.45; cursor:not-allowed; }.btn-outline { background:transparent; border-color:var(--paper); color:var(--paper); }.btn-peligro { background:var(--orange); }.btn-chico { padding:7px 10px; font-size:10px; }
.footer { padding:30px clamp(20px,4vw,64px); display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); color:var(--muted); font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }.footer .marca { color:var(--paper); font-size:19px; }.footer a:last-child { text-decoration:none; }.footer a:last-child:hover { color:var(--acid); }
.proximo { grid-column:1 / -1; background:#171717; border-color:#4b4b4b; min-height:230px; display:grid; place-content:center; }.proximo strong { color:var(--acid); font:30px 'Archivo Black',sans-serif; letter-spacing:-.04em; margin-bottom:9px; }
.error-api { display:inline-block; margin-top:8px; color:#ff8b71; font-size:10px; }

.volver-catalogo { display:inline-block; margin-bottom:30px; color:var(--muted); font:11px 'DM Mono',monospace; text-decoration:none; text-transform:uppercase; }.volver-catalogo:hover { color:var(--acid); }.producto-detalle { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:clamp(28px,6vw,90px); }.imagen-principal { aspect-ratio:4/5; background:#d9d6d1; color:#777; display:grid; place-items:center; }.imagen-principal img { width:100%; height:100%; object-fit:cover; }.miniaturas { display:flex; gap:10px; padding-top:10px; overflow-x:auto; }.miniatura-detalle { flex:0 0 72px; width:72px; height:88px; padding:0; background:#ddd; border:2px solid transparent; cursor:pointer; }.miniatura-detalle.activa { border-color:var(--acid); }.miniatura-detalle img { width:100%; height:100%; object-fit:cover; }.detalle-info { align-self:center; }.detalle-info h1 { font-size:clamp(37px,5vw,72px); margin:12px 0 20px; }.detalle-info p { color:var(--muted); max-width:390px; font-size:14px; }.detalle-info .precio { margin:30px 0 18px; font-size:22px; }.detalle-info .btn { width:100%; margin-top:18px; }

/* Shared pages: account, cart and admin */
.formulario { max-width:430px; margin:0 auto; padding:30px; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; gap:16px; }.formulario label,.tarjeta-admin-producto label { display:block; margin-bottom:5px; color:#6b6965; font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.07em; }.formulario input,.tarjeta-admin-producto input,.fila-talle-admin input,.fila-nueva-talle input,select.selector-estado { width:100%; border:1px solid #bdb9b2; padding:11px; background:#fff; color:var(--ink); font:14px Manrope,sans-serif; }.formulario input:focus { outline:2px solid var(--acid); outline-offset:1px; }.formulario .btn { margin-top:4px; }
.mensaje { border:1px solid; padding:11px 13px; margin-bottom:14px; font:12px 'DM Mono',monospace; }.mensaje.error { color:#a82b11; background:#ffe8e1; }.mensaje.ok { color:#3d6228; background:#eaf4df; }.vacio { padding:60px 20px; text-align:center; border:1px dashed #555; color:var(--muted); font:12px 'DM Mono',monospace; text-transform:uppercase; }
.fila-carrito { display:grid; grid-template-columns:90px 1fr auto auto auto; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }.fila-carrito .miniatura { width:70px; height:88px; object-fit:cover; background:#ddd; }.fila-carrito strong { text-transform:uppercase; }.resumen-total { display:flex; justify-content:space-between; padding:24px 0; color:var(--acid); font:600 22px 'DM Mono',monospace; }
.tabs-admin { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:24px; }.tab-btn { padding:10px 15px; color:var(--muted); background:none; border:0; border-bottom:2px solid transparent; font:11px 'DM Mono',monospace; text-transform:uppercase; cursor:pointer; }.tab-btn.activa { color:var(--acid); border-color:var(--acid); }.grilla-productos-admin { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }.tarjeta-admin-producto { padding:18px; background:var(--paper); color:var(--ink); }.tarjeta-admin-producto.oculto { opacity:.55; }.fila-talle-admin,.fila-nueva-talle { display:grid; grid-template-columns:60px 1fr auto; gap:8px; align-items:center; margin:8px 0; }.fila-talle-admin .talle-nombre { text-align:center; padding:8px 0; background:#ddd9d2; font:700 12px 'DM Mono',monospace; }.acciones-producto-admin { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px dashed #bdb9b2; }.tabla-admin { width:100%; border-collapse:collapse; background:var(--paper); color:var(--ink); font-size:13px; }.tabla-admin th,.tabla-admin td { padding:12px; text-align:left; border-bottom:1px solid #ccc8c1; }.tabla-admin th { font:10px 'DM Mono',monospace; text-transform:uppercase; color:#666; }.pill-estado { display:inline-block; border:1px solid currentColor; border-radius:999px; padding:3px 8px; font:10px 'DM Mono',monospace; }.pill-Activo{color:#777}.pill-Reservado{color:#9a6900}.pill-Contactado{color:#28589f}.pill-Vendido{color:#4e7a35}.pill-Cancelado{color:#b63520}.contacto-link{color:#28589f;font:11px 'DM Mono',monospace;}

@media (max-width:760px) { .header { min-height:68px; padding:14px 18px 16px; flex-direction:column; align-items:stretch; gap:12px; }.header .marca { align-self:center; }.header nav { width:100%; justify-content:space-between; gap:7px; font-size:9px; letter-spacing:.04em; }.header #zona-usuario { flex:2; gap:7px; justify-content:stretch; }.header nav > a,.header #zona-usuario a { flex:1; min-height:34px; display:flex; align-items:center; justify-content:center; padding:7px 8px; text-align:center; border:1px solid #3c3c3c; }.header nav > a:hover,.header #zona-usuario a:hover { border-color:var(--acid); background:var(--acid); color:var(--ink); }.header #zona-usuario span { display:none; }.hero { min-height:500px; }.hero-metal { min-height:calc(100svh - 136px); padding:50px 20px; }.hero-metal p { margin:22px auto; font-size:15px; }.hero-metal .btn { width:100%; min-width:0; }.hero-metal__features { margin-top:42px; padding:16px 8px; font-size:8px; gap:4px; }.hero__content { display:block; }.hero__copy { width:auto; max-width:330px; margin-top:35px; }.hero__footer { font-size:8px; }.hero__footer span:nth-child(2) { display:none; }.grilla-productos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.tarjeta-producto:nth-child(3n+2) { margin-top:0; }.tarjeta-producto:nth-child(even) { margin-top:26px; }.tarjeta-producto .info { padding:12px; }.tarjeta-producto h3 { font-size:16px; }.tarjeta-producto .descripcion { font-size:11px; }.catalogo-head { align-items:start; }.catalogo-head p { display:none; }.footer { gap:14px; flex-wrap:wrap; }.fila-carrito { grid-template-columns:60px 1fr; }.fila-carrito .miniatura { width:55px; height:68px; }.tabla-admin { display:block; overflow-x:auto; }.producto-detalle { grid-template-columns:1fr; gap:28px; }.detalle-info { align-self:start; } }
@media (prefers-reduced-motion:reduce) { .liquid-metal,.liquid-metal::before,.liquid-metal::after,.hero-metal__content { animation:none; } }
@media (max-width:380px) { .grilla-productos { grid-template-columns:1fr; }.tarjeta-producto:nth-child(even) { margin-top:0; } }

.formulario textarea,.formulario select,.tarjeta-admin-producto textarea,.tarjeta-admin-producto select { width:100%; border:1px solid #bdb9b2; padding:11px; background:#fff; color:var(--ink); font:14px Manrope,sans-serif; }
.formulario textarea,.tarjeta-admin-producto textarea { min-height:76px; resize:vertical; }
.formulario textarea:focus,.formulario select:focus,.tarjeta-admin-producto textarea:focus,.tarjeta-admin-producto select:focus { outline:2px solid var(--acid); outline-offset:1px; }
