.sh{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:12px clamp(18px,4vw,48px);background:rgba(11,10,8,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linea)}
.sh-logo img{height:44px;width:auto}
.sh-nav{display:flex;gap:28px;margin-left:auto}
.sh-nav a{text-decoration:none;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--marfil-2)}
.sh-nav a:hover{color:var(--oro)}
.sh-cart{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid var(--oro);color:var(--marfil);padding:9px 16px;cursor:pointer;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.sh-cart svg{width:18px;height:18px;color:var(--oro)}
.sh-cart b{background:var(--oro);color:#17130B;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:.72rem;font-weight:500;padding:0 6px;letter-spacing:0}
.sh-cart.bump{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.08)}}
@media (max-width:760px){.sh-nav{display:none}.sh-cart{margin-left:auto}.sh-cart span{display:none}.sh-logo img{height:36px}}

.sh-hero{padding:clamp(40px,6vw,80px) 0 24px;background:radial-gradient(60% 90% at 90% 0,rgba(201,162,75,.12),transparent 60%)}
.sh-hero-in{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.sh-hero h1{font-size:clamp(2.6rem,6vw,5rem);margin-top:.2em}
.sh-perks{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--linea);border:1px solid var(--linea)}
.sh-perks li{background:var(--onix);padding:14px 18px;display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap}
.sh-perks strong{font-family:var(--serif);font-weight:500;font-size:1.2rem}
.sh-perks span{font-size:.82rem;color:var(--marfil-2)}
@media (max-width:860px){.sh-hero-in{grid-template-columns:1fr}}

.cat-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:40px}
.cat-tile{border:1px solid var(--linea);background:var(--carbon);padding:16px 14px;text-align:left;cursor:pointer;display:grid;gap:10px;transition:.3s;color:var(--marfil)}
.cat-tile .rf-glyph{width:38px;height:38px}
.cat-tile strong{font-family:var(--serif);font-weight:500;font-size:1.15rem;line-height:1.1}
.cat-tile span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.cat-tile:hover,.cat-tile.is-on{border-color:var(--oro);background:var(--carbon-2)}
@media (max-width:980px){.cat-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:150px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.cat-tile{scroll-snap-align:start}}

.catalog{padding:30px 0 90px}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;position:sticky;top:69px;z-index:30;background:var(--onix);padding:14px 0;border-bottom:1px solid var(--linea)}
.search{display:flex;align-items:center;gap:10px;border:1px solid var(--linea-2);padding:0 14px;min-height:46px;background:var(--carbon)}
.search svg{width:18px;height:18px;color:var(--oro);flex:none}
.search input{background:none;border:0;outline:none;width:100%;min-height:44px}
.seg{display:inline-flex;border:1px solid var(--linea-2)}
.seg button{background:none;border:0;padding:0 16px;min-height:44px;cursor:pointer;font-size:.74rem;letter-spacing:.16em;color:var(--marfil-2)}
.seg button.is-on{background:var(--oro);color:#17130B}
.sel select{background:var(--carbon);border:1px solid var(--linea-2);min-height:46px;padding:0 12px;color:var(--marfil)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.result-count{color:var(--gris);font-size:.82rem;letter-spacing:.08em;margin:10px 0 18px}
@media (max-width:860px){.toolbar{grid-template-columns:1fr 1fr;top:61px}.search{grid-column:span 2}.seg{justify-self:stretch}.seg button{flex:1}.sel select{width:100%}}
@media (max-width:760px){.toolbar{top:61px}}

.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.card{background:var(--carbon);border:1px solid var(--linea);display:flex;flex-direction:column;position:relative;transition:border-color .3s,transform .5s var(--ease);animation:cardIn .6s var(--ease) both}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}}
.card:hover{border-color:rgba(201,162,75,.55);transform:translateY(-3px)}
.card.dama{border-top:2px solid var(--dama)}
.card-media{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer;background:radial-gradient(circle at 50% 40%,#231e15,var(--carbon) 72%);border:0;padding:0;width:100%;display:block}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .card-media img{transform:scale(1.05)}
.card-media .tags{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap}
.card-type{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center}
.card-type::before{content:"";position:absolute;inset:12px;border:1px solid rgba(201,162,75,.22)}
.card-type::after{content:"";position:absolute;width:140%;height:40%;left:-20%;top:-40%;background:linear-gradient(180deg,transparent,rgba(241,221,160,.07),transparent);transform:rotate(-12deg);animation:sheen 6s ease-in-out infinite}
@keyframes sheen{0%,60%{top:-40%}100%{top:120%}}
.card-type em{font-family:var(--serif);font-size:1.05rem;color:var(--marfil-2)}
.card.dama .card-type .rf-glyph{color:var(--dama-claro)}
.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card-meta{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.card-body h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;line-height:1.15;margin:0}
.card-body h3 button{all:unset;cursor:pointer}
.card-specs{font-size:.8rem;color:var(--marfil-2);margin:0}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px}
.card-price{font-family:var(--serif);font-size:1.35rem;color:var(--oro-claro);white-space:nowrap}
.card-price small{font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);display:block}
.card-add{width:40px;height:40px;border:1px solid var(--oro);background:none;color:var(--oro);cursor:pointer;display:grid;place-items:center;flex:none;transition:.25s}
.card-add:hover{background:var(--oro);color:#17130B}
.card-add svg{width:18px;height:18px}
.card-stock{font-size:.72rem;color:var(--warn)}
.card-custom{border-style:dashed;justify-content:center;align-items:flex-start;padding:22px;gap:12px;background:linear-gradient(160deg,var(--carbon-2),var(--onix))}
.card-custom h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;margin:0;line-height:1.1}
.card-custom p{margin:0;color:var(--marfil-2);font-size:.9rem}
@media (max-width:760px){.card-body{padding:10px 10px 12px}.card-body h3{font-size:1.05rem}.card-price{font-size:1.1rem}.card-specs{display:none}.card-add{width:36px;height:36px}}
.empty{grid-column:1/-1;text-align:center;padding:60px 20px;border:1px dashed var(--linea-2);color:var(--marfil-2)}
.more{display:flex;justify-content:center;margin-top:30px}
.more[hidden]{display:none}

.sec-custom{padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--linea);background:radial-gradient(60% 60% at 10% 0,rgba(201,162,75,.07),transparent 60%)}
.sf{border-top:1px solid var(--linea);padding:26px 0}
.sf-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--gris);font-size:.82rem}
.sf nav{margin-left:auto;display:flex;gap:18px}
.sf a{color:var(--marfil-2);text-decoration:none}

/* Drawers */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;backdrop-filter:blur(3px)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--carbon);border-left:1px solid var(--linea);z-index:70;overflow-y:auto;animation:slideIn .45s var(--ease)}
.drawer[hidden],.checkout[hidden],.scrim[hidden]{display:none}
@keyframes slideIn{from{transform:translateX(40px);opacity:0}}
.x{position:absolute;top:14px;right:14px;width:42px;height:42px;border:1px solid var(--linea-2);background:var(--onix);color:var(--marfil);font-size:1.4rem;cursor:pointer;z-index:3;line-height:1}
.drawer-title{font-family:var(--serif);font-weight:500;font-size:2rem;margin:0;padding:24px 24px 10px}
.pd-in{padding:0 0 28px}
.pd-gal{position:relative;background:var(--onix)}
.pd-main{aspect-ratio:1;width:100%;object-fit:cover}
.pd-type{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle at 50% 40%,#231e15,var(--onix) 72%);position:relative}
.pd-type::before{content:"";position:absolute;inset:22px;border:1px solid rgba(201,162,75,.25)}
.pd-type .rf-glyph{width:96px;height:96px}
.pd-type em{font-family:var(--serif);color:var(--marfil-2);font-size:1.2rem}
.pd-thumbs{display:flex;gap:8px;padding:10px 24px 0}
.pd-thumbs button{width:64px;height:64px;padding:0;border:1px solid var(--linea-2);background:none;cursor:pointer;opacity:.6}
.pd-thumbs button.is-on{border-color:var(--oro);opacity:1}
.pd-thumbs img{width:100%;height:100%;object-fit:cover}
.pd-info{padding:18px 24px 0;display:grid;gap:14px}
.pd-info h2{font-family:var(--serif);font-weight:500;font-size:2.2rem;line-height:1.05;margin:0}
.pd-price{font-family:var(--serif);font-size:2rem;color:var(--oro-claro)}
.pd-price small{font-family:var(--sans);font-size:.78rem;color:var(--marfil-2);margin-left:8px}
.pd-desc{color:var(--marfil-2);margin:0}
.pd-specs{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.pd-specs li{border:1px solid var(--linea-2);padding:.35em .8em;font-size:.78rem;color:var(--marfil-2)}
.opt{display:grid;gap:8px}
.opt>span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.opt-row{display:flex;flex-wrap:wrap;gap:8px}
.opt-note{font-size:.82rem;color:var(--marfil-2);margin:0}
.opt-note.extra{color:var(--warn)}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.qty{display:inline-flex;border:1px solid var(--linea-2);align-items:center}
.qty button{width:40px;height:42px;background:none;border:0;cursor:pointer;font-size:1.1rem}
.qty output,.qty span{min-width:34px;text-align:center}
.pd-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.pd-actions .btn-ghost{grid-column:1/-1}
.pd-ref{font-size:.8rem}
.pd-low{font-size:.8rem;color:var(--warn);margin:0}

.cart-lines{padding:0 24px}
.cl{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--linea);align-items:start}
.cl-img{width:72px;height:72px;object-fit:cover;background:var(--onix);display:grid;place-items:center}
.cl-img .rf-glyph{width:34px;height:34px}
.cl h4{font-family:var(--serif);font-weight:500;font-size:1.15rem;margin:0;line-height:1.15}
.cl small{display:block;color:var(--gris);font-size:.76rem}
.cl .qty{margin-top:8px}
.cl .qty button{width:32px;height:32px}
.cl-price{text-align:right;font-family:var(--serif);font-size:1.15rem;color:var(--oro-claro)}
.cl-rm{background:none;border:0;color:var(--gris);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;margin-top:8px;padding:0}
.cart-foot{padding:20px 24px 28px;display:grid;gap:12px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:1.6rem}
.cart-total small{font-family:var(--sans);font-size:.75rem;color:var(--gris);display:block}
.cart-empty{padding:40px 24px;color:var(--marfil-2)}

.checkout{position:fixed;inset:0;z-index:80;background:var(--onix);overflow-y:auto;animation:fadeIn .35s}
@keyframes fadeIn{from{opacity:0}}
.co-in{width:min(1100px,100% - 32px);margin:0 auto;padding:60px 0;display:grid;grid-template-columns:1.25fr .9fr;gap:40px;position:relative;align-items:start}
.co-form{display:grid;gap:22px}
.co-form h2{font-size:clamp(2.2rem,5vw,3.2rem)}
.co-form fieldset{border:1px solid var(--linea);padding:20px;margin:0;display:grid;gap:14px}
.co-form legend{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);padding:0 8px}
.co-hint{color:var(--marfil-2);font-size:.9rem;margin:0}
.co-submit{width:100%}
.co-sum{position:sticky;top:30px;border:1px solid var(--linea);background:var(--carbon);padding:22px;display:grid;gap:12px}
.co-sum h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0}
.co-line{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;border-bottom:1px solid var(--linea);padding-bottom:10px}
.co-line small{display:block;color:var(--gris);font-size:.76rem}
.co-total{display:flex;justify-content:space-between;font-family:var(--serif);font-size:1.7rem}
.co-ok{grid-column:1/-1;text-align:center;padding:40px 0;display:grid;gap:16px;justify-items:center}
.co-ok img{width:96px}
.co-ok h2{font-size:clamp(2.2rem,5vw,3.4rem)}
.co-ok .btn{min-width:260px}
@media (max-width:860px){.co-in{grid-template-columns:1fr;padding-top:70px}.co-sum{position:static;order:-1}}
.link-oro{color:var(--oro-claro);text-decoration:none;border-bottom:1px solid rgba(201,162,75,.5);justify-self:start;padding-bottom:2px}
