:root{--teal:#2A9E99;--teal-dark:#228B86;--cream:#E8E2D6;--cream-light:#F2EDE4;--white:#FFFFFF;--dark:#1A1A1A;--dark-light:#3A3A3A;--gray:#8A8A8A;--font:'Cormorant Garamond','Georgia',serif;--tracking:0.26em;--tracking-sm:0.12em}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);font-weight:300;color:var(--dark);background:var(--cream-light);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.nav{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,0.05)}
.nav-logo{font-size:1.5rem;font-weight:300;letter-spacing:var(--tracking);color:var(--dark)}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:400;letter-spacing:var(--tracking-sm);text-transform:uppercase;color:var(--dark-light);transition:color .3s}
.nav-links a:hover{color:var(--teal)}
@media(max-width:640px){.nav{padding:1.1rem 1.3rem}.nav-links{gap:1.1rem}.nav-links a{font-size:0.7rem}}
.cat-head{padding:5rem 0 1rem;text-align:center}
.cat-head .label{font-size:0.75rem;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--gray);display:block;margin-bottom:1.1rem}
.cat-head h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;color:var(--teal)}
.cat-head p{font-size:1.1rem;color:var(--gray);max-width:520px;margin:1rem auto 0}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem 2rem;padding:3.5rem 0 6rem}
.cat-item{display:block}
.cat-item .img{overflow:hidden;background:var(--cream);aspect-ratio:1;margin-bottom:1.1rem}
.cat-item .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.cat-item:hover .img img{transform:scale(1.05)}
.cat-item h3{font-size:1.3rem;font-weight:400;letter-spacing:var(--tracking-sm);margin-bottom:0.25rem}
.cat-item .precio{font-size:1rem;color:var(--teal);font-weight:400}
.cat-item .ver{font-size:0.8rem;letter-spacing:var(--tracking-sm);text-transform:uppercase;color:var(--teal);transition:gap .3s}
.cat-item:hover .ver{opacity:0.7}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.cat-grid{grid-template-columns:1fr 1fr;gap:1.4rem}}

/* Página de producto: variantes */
.var-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;padding:2.5rem 0 6rem}
.var-item{display:flex;flex-direction:column}
.var-item .img{overflow:hidden;background:var(--cream);aspect-ratio:1;margin-bottom:1rem}
.var-item .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.var-item:hover .img img{transform:scale(1.05)}
.var-item .detalle{font-size:1.05rem;font-weight:400;margin-bottom:0.15rem}
.var-item .precio{font-size:1.15rem;color:var(--teal);font-weight:400;margin-bottom:0.9rem}
.var-item .btn{align-self:flex-start;padding:0.7rem 2rem;font-size:0.78rem}
.vacio{grid-column:1/-1;text-align:center;color:var(--gray);font-size:1.15rem;padding:3rem 0}
.vacio a{color:var(--teal);border-bottom:1px solid var(--teal)}
@media(max-width:900px){.var-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.var-grid{grid-template-columns:1fr 1fr;gap:1.4rem}}
.prod{display:grid;grid-template-columns:1.1fr 1fr;gap:4.5rem;padding:3.5rem 0 6rem;align-items:start}
.prod-fotos{display:flex;flex-direction:column;gap:1rem}
.prod-fotos img{width:100%;background:var(--cream)}
.prod-info{position:sticky;top:110px}
.prod-info .label{font-size:0.75rem;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--gray)}
.prod-info h1{font-size:clamp(2rem,4vw,2.9rem);font-weight:300;color:var(--teal);margin:0.6rem 0 0.3rem}
.prod-info .precio{font-size:1.5rem;font-weight:300;margin-bottom:1.6rem}
.prod-info .desc{font-size:1.08rem;color:var(--dark-light);margin-bottom:2.5rem;line-height:1.8}
.btn{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--teal);color:var(--teal);text-transform:uppercase;letter-spacing:var(--tracking-sm);font-size:0.85rem;transition:all .3s;cursor:pointer}
.btn:hover{background:var(--teal);color:#fff}
.volver{display:block;margin-bottom:1.8rem;color:var(--gray);font-size:0.82rem;letter-spacing:var(--tracking-sm);text-transform:uppercase}
.prod-info .label{display:block}
.volver:hover{color:var(--teal)}
@media(max-width:768px){.prod{grid-template-columns:1fr;gap:2.2rem;padding-top:2rem}.prod-info{position:static}}
.footer{background:var(--teal);color:#fff;padding:3.5rem 0;text-align:center;margin-top:2rem}
.footer-logo{font-size:1.8rem;font-weight:300;letter-spacing:var(--tracking);display:block;margin-bottom:0.6rem}
.footer p{font-size:0.85rem;color:rgba(255,255,255,0.85)}
