:root{
  --cream:#faf3ec; --ink:#2a1810; --burgundy:#8b1a3e; --gold:#c89c5a;
  --muted:#7a665a; --line:#e8dccd; --white:#fff;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{font-family:'Georgia','Times New Roman',serif;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--burgundy);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold)}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,243,236,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1200px;margin:0 auto;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-family:'Georgia',serif;font-size:24px;font-weight:700;letter-spacing:.18em;color:var(--burgundy);text-transform:uppercase}
.brand img{height:38px;width:auto}
.nav{display:flex;gap:28px}
.nav a{color:var(--ink);font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:10px 0;font-family:'Helvetica',sans-serif}
.nav a:hover{color:var(--burgundy)}
.menu-btn{display:none;background:none;border:0;font-size:28px;color:var(--burgundy);cursor:pointer;padding:8px;min-width:44px;min-height:44px}

/* HERO */
.hero{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url('../img/hero.jpg') center/cover no-repeat;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,24,16,.45),rgba(139,26,62,.55));z-index:1}
.hero-inner{position:relative;z-index:2;padding:80px 20px;max-width:820px}
.hero h1{font-size:clamp(2rem,5.5vw,4rem);margin:0 0 16px;letter-spacing:.02em;font-weight:400;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero p{font-size:clamp(1rem,2vw,1.25rem);margin:0 0 32px;opacity:.95;font-style:italic}
.btn{display:inline-block;padding:14px 36px;background:var(--burgundy);color:#fff;font-family:'Helvetica',sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:14px;border:0;cursor:pointer;min-height:44px;border-radius:2px;transition:background .25s,transform .15s}
.btn:hover{background:var(--gold);color:#fff}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff}
.btn-outline:hover{background:#fff;color:var(--burgundy)}

/* SECTIONS */
section{padding:72px 0}
.section-title{text-align:center;font-size:clamp(1.6rem,3.5vw,2.5rem);margin:0 0 12px;color:var(--burgundy);font-weight:400;letter-spacing:.04em}
.section-sub{text-align:center;color:var(--muted);max-width:620px;margin:0 auto 48px;font-style:italic}

/* COLECCIONES */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.cat-card{background:var(--white);border:1px solid var(--line);overflow:hidden;text-align:center;transition:transform .25s,box-shadow .25s}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(42,24,16,.12)}
.cat-card .img-wrap{aspect-ratio:4/5;overflow:hidden;background:#eee}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card:hover img{transform:scale(1.06)}
.cat-card h3{margin:20px 0 8px;font-size:1.4rem;color:var(--ink);letter-spacing:.04em;font-weight:400}
.cat-card .ver{display:inline-block;margin:0 0 22px;padding:10px 22px;color:var(--burgundy);border-bottom:1px solid var(--burgundy);font-family:'Helvetica',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;min-height:44px}

/* PRODUCTOS */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.prod-card{background:var(--white);border:1px solid var(--line)}
.prod-card .img-wrap{aspect-ratio:1/1;overflow:hidden;background:#eee}
.prod-card img{width:100%;height:100%;object-fit:cover}
.prod-info{padding:20px;text-align:center}
.prod-info h3{margin:0 0 8px;font-size:1.15rem;font-weight:400;color:var(--ink)}
.prod-info .price{color:var(--burgundy);font-size:1.05rem;letter-spacing:.05em;margin:0 0 10px}
.prod-info .meta{color:var(--muted);font-size:13px;font-style:italic}

/* SOBRE */
.about{background:#f3e9db}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-text h2{font-size:clamp(1.6rem,3.5vw,2.5rem);color:var(--burgundy);margin:0 0 18px;font-weight:400}
.about-text p{margin:0 0 16px;color:var(--ink);font-size:1.02rem}
.about-img img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* FOOTER */
.footer{background:#2a1015;color:#e8d8c8;padding:56px 0 24px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;margin-bottom:36px}
.footer h4{color:var(--gold);margin:0 0 16px;font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:0 0 10px}
.footer a{color:#e8d8c8}
.footer a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid #4a2530;padding-top:20px;text-align:center;color:#a89890;font-size:13px}

/* MOBILE */
@media (max-width: 820px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0;display:none}
  .nav.open{display:flex}
  .nav a{padding:14px 24px;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
  .hero{min-height:460px}
  section{padding:56px 0}
  .about-grid{grid-template-columns:1fr;gap:28px}
}
@media (max-width: 480px){
  .brand{font-size:20px}
  .brand img{height:32px}
  .hero-inner{padding:60px 16px}
}
