/* Luchito Maranatha — catálogo editorial con lenguaje de supermercado premium. */
:root{--primary:#741915;--accent:#C18A2E;--bg:#fff;--bg-2:#faf7f2;--surface:#fff;--surface-2:#f6f1e9;--border:#eadfd2;--border-2:#d8c4ad;--text:#251812;--text-soft:#66564d;--text-dim:#9b8b81;--radius:22px}
*{scrollbar-color:#cbb9a6 transparent}
body{background:radial-gradient(900px 420px at 50% -120px,rgba(193,138,46,.11),transparent 65%),linear-gradient(180deg,#fff 0%,#fff 62%,#faf7f2 100%);color:var(--text);font-family:"DM Sans",system-ui,sans-serif}
.hero h1,.brand-name,.cat-header,.card-name,.modal-detail h2,.section-title{font-family:"Marcellus",Georgia,serif;letter-spacing:-.02em}
.hero{min-height:420px;padding:28px 22px 62px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--border);background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(255,255,255,.88)),repeating-linear-gradient(135deg,rgba(193,138,46,.035) 0 1px,transparent 1px 16px)}
.hero:before,.hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}.hero:before{width:290px;height:290px;right:-100px;top:-100px;background:rgba(116,25,21,.07)}.hero:after{width:190px;height:190px;left:-90px;bottom:-90px;border:1px solid rgba(193,138,46,.28)}
.hero-top{max-width:1160px;margin:0 auto 30px}.brand{align-items:center}.brand-logo{width:min(520px,86vw);height:auto;max-height:164px;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(63,32,17,.12))}.brand-sub{margin-top:10px!important;color:#7b6a5f;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-kicker{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:13px}.hero h1{max-width:920px;margin-inline:auto;font-size:clamp(30px,5.4vw,62px);line-height:1.08;color:#3d2118;text-wrap:balance}.hero h1 .hl{display:inline-block;color:var(--primary);font-size:.38em;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;margin-left:.35em}.hero-copy{max-width:650px;margin:18px auto 0;color:var(--text-soft);font-size:clamp(14px,2vw,17px);line-height:1.7}
.sticky-bar{background:rgba(255,255,255,.9);border-bottom:1px solid rgba(116,25,21,.09);box-shadow:0 8px 28px rgba(70,42,24,.06);backdrop-filter:blur(18px)}.sticky-inner{max-width:1180px}.search-box input{height:54px;background:#f8f5f0;border:1px solid var(--border);box-shadow:none;color:var(--text)}.search-box input:focus{background:#fff;border-color:rgba(116,25,21,.45);box-shadow:0 0 0 4px rgba(116,25,21,.07)}.search-box svg{color:var(--primary)}
.cat-strip{gap:18px}.cat-chip{width:76px;color:var(--text-soft)}.cat-chip .ic{width:58px;height:58px;border:1px solid var(--border);background:#fff;box-shadow:0 6px 18px rgba(73,42,24,.07);font-size:24px}.cat-chip.active .ic{border-color:var(--primary);background:var(--primary);box-shadow:0 8px 20px rgba(116,25,21,.22)}.cat-chip .lb{font-size:11px;font-weight:700}
main{max-width:1180px}.cat-header{color:#3d2118;font-size:clamp(26px,4vw,38px);padding-top:10px}.cat-header:after{content:"";display:block;width:42px;height:3px;margin-top:8px;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}.grid{gap:22px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 32px rgba(74,43,26,.075);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);border-color:var(--border-2);box-shadow:0 18px 44px rgba(74,43,26,.12)}.card-img{background:#eee9e2;aspect-ratio:1/1;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.card:hover .card-img img{transform:scale(1.025)}.card-body{padding:18px}.card-name{font-size:20px;line-height:1.18;color:#321d16}.card-desc{color:var(--text-soft);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-prices,.modal-prices,.modal-qty,.cart-total,.cart-item-detail,.pk-right{display:none!important}.card-badge{background:#fff7e8;color:#84590d;border:1px solid #ead29e;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.btn-add,.btn-modal-add,.btn-next,.btn-whatsapp,.btn-checkout{min-height:43px;background:var(--primary)!important;border:0;color:#fff!important;border-radius:14px;font-weight:700;box-shadow:0 8px 20px rgba(116,25,21,.18)}.btn-add:hover,.btn-modal-add:hover,.btn-next:hover{background:#5f120f!important;filter:none}
.promo-section{margin-block:18px 48px}.promo-track,.promo-banner{border-radius:26px}.promo-banner{background:#381713;box-shadow:0 18px 50px rgba(70,27,22,.18);overflow:hidden}.promo-banner img{object-fit:cover}.promo-banner:after{background:linear-gradient(90deg,rgba(39,13,10,.92),rgba(39,13,10,.3) 62%,transparent)}
.modal{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:0 28px 80px rgba(38,20,14,.24)}.slider-wrap{background:#f4efe9}.slider-slide img{object-fit:cover}.modal-detail{color:var(--text)}.modal-detail h2{color:#321d16}.variant-option{background:#fff;border-color:var(--border);color:var(--text-soft)}.variant-option.selected,.variant-option:has(input:checked){background:#fff7f5;border-color:var(--primary);color:var(--primary)}
.wa-float{background:#26734d;box-shadow:0 12px 28px rgba(38,115,77,.28)}.bottom-nav{background:rgba(255,255,255,.94);border-color:var(--border);box-shadow:0 -10px 34px rgba(74,43,26,.08);backdrop-filter:blur(16px)}.nav-item{color:#817269}.nav-item.active{color:var(--primary)}.nav-item[data-nav="cart"],.cart-peek{display:none!important}.cart-drawer,.cart-overlay{display:none!important}
footer{background:#f7f2eb;border-top:1px solid var(--border);color:var(--text-soft)}footer a{color:var(--primary);font-weight:700;text-decoration:none}
@media(max-width:640px){.hero{min-height:360px;padding:22px 18px 46px}.hero-top{margin-bottom:22px}.brand-logo{max-height:112px}.hero-copy{font-size:14px;line-height:1.6}.grid{gap:14px}.card{border-radius:18px}.card-body{padding:14px}.card-name{font-size:17px}.cat-chip{width:64px}.cat-chip .ic{width:50px;height:50px}}
