@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--cream:#f5f0e8;--paper:#fffdf9;--ink:#332b24;--muted:#796e63;--brown:#876b50;--line:#e7ded2;--soft:#eee5d9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}
.topbar{height:76px;padding:0 clamp(20px,6vw,88px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;color:inherit;text-decoration:none}
.brand-logo{display:block;width:112px;height:54px;object-fit:contain;object-position:left center}
.top-note{font-size:12px;color:var(--muted)}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:var(--cream)}
.hero-copy{padding:70px clamp(24px,7vw,100px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--brown);margin:0 0 16px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;line-height:1.1}
h1{font-size:clamp(42px,5vw,68px);margin:0 0 20px;letter-spacing:-1.5px}
h1 em{color:var(--brown);font-weight:500}
.hero-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:15px;margin:0 0 26px}
.hero-link{display:inline-flex;gap:18px;align-items:center;text-decoration:none;background:var(--brown);color:white;padding:13px 19px;border-radius:3px;font-size:13px}
.hero-photo{min-height:360px;background:linear-gradient(90deg,rgba(40,30,20,.08),transparent),url('https://colchonescarino.com.co/wp-content/uploads/2025/09/SWEET.png') center/cover no-repeat;background-color:#ded3c5}
.catalog-section{max-width:1160px;margin:auto;padding:76px 24px 90px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
h2{font-size:clamp(30px,4vw,42px);margin:0}
.section-hint{max-width:300px;color:var(--muted);font-size:13px;margin:0 0 4px}
.category-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}
.category-button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 17px;border-radius:30px;font:500 12px 'DM Sans',sans-serif;cursor:pointer}
.category-button:hover,.category-button.active{background:var(--brown);border-color:var(--brown);color:white}
.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.product-card{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden;align-self:start}
.product-cover{width:100%;height:270px;display:block;object-fit:cover;background:var(--cream)}
.product-summary{padding:19px 20px 17px}
.product-category{font-size:9px;letter-spacing:1.7px;color:var(--brown);font-weight:700;text-transform:uppercase;margin:0 0 7px}
.product-title{font-size:25px;margin:0 0 9px}
.product-teaser{font-size:13px;color:var(--muted);margin:0 0 16px}
.expand-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--line);padding:15px 20px;color:var(--brown);font:600 12px 'DM Sans',sans-serif;cursor:pointer;text-align:left}
.expand-button .plus{font-size:20px;font-weight:400;transition:transform .2s}
.product-card.open .plus{transform:rotate(45deg)}
.product-details{display:none;padding:0 20px 20px}
.product-card.open .product-details{display:block}
.description{font-size:13px;color:var(--muted);margin:0 0 19px}
.price-heading{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--brown);margin:0 0 9px;text-transform:uppercase}
.price-list{border-top:1px solid var(--line)}
.price-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.price-row strong{white-space:nowrap;font-weight:700}
.no-prices{font-size:12px;color:var(--muted);padding:12px 0}
.loading{color:var(--muted)}
footer{background:var(--cream);text-align:center;padding:38px 20px;color:var(--muted)}
.footer-brand{font:600 24px 'Playfair Display',serif;color:var(--ink)}
footer p{font-size:13px;margin:8px 0}
footer small{font-size:10px}
@media(max-width:720px){
 .topbar{height:68px;padding:0 18px}.brand-logo{width:100px;height:48px}.top-note{display:none}
 .hero{grid-template-columns:1fr}.hero-copy{padding:54px 24px 38px}.hero-photo{min-height:235px;order:-1}
 .catalog-section{padding:52px 16px 65px}.section-heading{display:block}.section-hint{margin-top:12px}
 .product-list{grid-template-columns:1fr;gap:16px}.product-cover{height:235px}
 .product-summary{padding:17px}.product-title{font-size:23px}
}


/* Fichas de producto con galería y descripción */
.product-card{border-radius:8px;box-shadow:0 5px 20px rgba(51,43,36,.045)}
.product-cover-wrap{background:#f8f6f3}
.product-cover{height:260px;object-fit:contain;padding:12px}
.product-cover-empty,.gallery-empty{display:grid;place-items:center;min-height:220px;color:var(--muted);background:var(--cream)}
.product-summary{padding:18px 21px 15px}
.product-title{color:#102d83}
.product-starting{font-size:19px;color:#2f2b27;margin:0;font-weight:500}
.expand-button{padding:16px 21px}
.product-details{padding:24px 22px 25px;border-top:1px solid var(--line)}
.product-card.open .product-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:start}
.product-gallery{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;min-width:0}
.gallery-thumbnails{display:flex;flex-direction:column;gap:8px;max-height:470px;overflow-y:auto}
.gallery-thumb{width:92px;height:92px;padding:3px;border:1px solid #e5e1dc;background:#fff;cursor:pointer;overflow:hidden}
.gallery-thumb.selected{border:2px solid #17378f}
.gallery-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.gallery-main-wrap{height:440px;background:#f8f7f5;display:grid;place-items:center;overflow:hidden}
.gallery-main{width:100%;height:100%;object-fit:contain;display:block}
.product-information{min-width:0;padding:0 3px}
.detail-eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--brown);font-weight:700;margin:0 0 8px}
.product-information h4{font-family:'DM Sans',sans-serif;color:#102d83;font-size:clamp(23px,2.5vw,34px);line-height:1.15;margin:0 0 16px}
.description{font-size:15px;line-height:1.75;color:#282522;margin:0 0 15px}
.product-features{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:8px}
.product-features li{font-size:14px;line-height:1.5;padding-left:23px;position:relative;color:#282522}
.product-features li:before{content:"✓";position:absolute;left:0;color:#876b50;font-weight:700}
.price-heading{font-size:11px;margin-top:20px}
.price-row{font-size:14px}
@media(max-width:820px){
 .product-card.open .product-details{grid-template-columns:1fr;gap:24px}
 .gallery-main-wrap{height:360px}
}
@media(max-width:560px){
 .product-details{padding:18px 14px}
 .product-gallery{grid-template-columns:66px minmax(0,1fr);gap:8px}
 .gallery-thumbnails{gap:6px;max-height:320px}
 .gallery-thumb{width:66px;height:66px}
 .gallery-main-wrap{height:280px}
 .description{font-size:14px}
 .product-information h4{font-size:25px}
}
