@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--primary:#173f35;--accent:#c9a56a;--ink:#1c211f;--muted:#6e746f;--paper:#f6f3ed;--white:#fff;--line:#e6e2da}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.55 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.announcement{background:var(--primary);color:#fff;text-align:center;padding:8px 20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{font:600 25px/1 'Playfair Display',serif;letter-spacing:.12em}.brand small{display:block;font:500 9px/1.5 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:7px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px}.cart-link{border:1px solid var(--primary);border-radius:999px;padding:10px 16px}.cart-link span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;margin-left:5px;font-size:11px}.hero{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper);overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px max(6vw,36px)}.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;margin-bottom:14px}.hero h1,.section-heading h2,.product-detail h1,.cart-page h1{font:500 clamp(42px,5.2vw,78px)/1.02 'Playfair Display',serif;letter-spacing:-.025em;margin:0;max-width:720px}.hero p{font-size:18px;color:var(--muted);max-width:550px;margin:26px 0 34px}.button,.add-button{border:0;border-radius:2px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;font-weight:600;cursor:pointer;transition:.2s}.button:hover,.add-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.wide{width:100%}.hero-art{position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#d8c8aa,#efe8db 58%,#c4af8d);isolation:isolate}.hero-art:before{content:'';position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.65);border-radius:50%}.hero-art:after{content:'';position:absolute;inset:auto 10% 9% 10%;height:80px;background:rgba(74,57,35,.25);filter:blur(30px);border-radius:50%;z-index:-1}.hero-bottle{width:190px;height:330px;background:linear-gradient(90deg,#16362d,#2d6556 50%,#0d2b23);border-radius:26px 26px 42px 42px;box-shadow:0 40px 80px rgba(28,34,31,.28);display:grid;place-items:center;position:relative}.hero-bottle:before{content:'';position:absolute;top:-78px;width:100px;height:85px;border-radius:7px 7px 2px 2px;background:linear-gradient(90deg,#a9874d,#e4cc91,#9c7a44)}.hero-bottle span{width:115px;height:130px;border:1px solid rgba(213,183,128,.7);display:grid;place-items:center;color:#d6b875;font:600 62px 'Playfair Display',serif}.hero-art i{position:absolute;width:18px;height:18px;background:rgba(255,255,255,.62);border-radius:50%;filter:blur(2px)}.hero-art i:nth-of-type(1){left:18%;top:24%}.hero-art i:nth-of-type(2){right:20%;top:18%;width:11px;height:11px}.hero-art i:nth-of-type(3){right:15%;bottom:27%;width:26px;height:26px}.categories,.catalog{padding:90px max(5vw,28px)}.section-heading h2{font-size:clamp(38px,4vw,58px)}.category-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.category-chip{border:1px solid var(--line);padding:22px 24px;min-height:100px;font:500 22px 'Playfair Display',serif;background:#fff;transition:.2s}.category-chip small{display:block;font:400 12px 'DM Sans',sans-serif;color:var(--muted);margin-top:8px}.category-chip:hover,.category-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.category-chip.active small,.category-chip:hover small{color:rgba(255,255,255,.7)}.catalog{padding-top:30px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}.search{display:flex;border-bottom:1px solid var(--ink);width:min(380px,100%)}.search input{border:0;outline:0;width:100%;padding:13px 4px;background:transparent}.search button{border:0;background:transparent;font-weight:700;cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-card{border:1px solid var(--line);background:#fff}.product-media{display:grid;place-items:center;aspect-ratio:4/5;background:linear-gradient(145deg,#f6f3ed,#ebe3d7);position:relative;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card:hover img{transform:scale(1.035)}.badge{position:absolute;left:14px;top:14px;background:var(--primary);color:#fff;padding:6px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.bottle-placeholder{width:82px;height:150px;border-radius:10px 10px 20px 20px;background:linear-gradient(90deg,#1a453a,#2d6a59,#13372e);color:#d5ba82;font:500 36px 'Playfair Display',serif;display:grid;place-items:center;box-shadow:0 20px 30px rgba(23,63,53,.2);position:relative}.bottle-placeholder:before{content:'';position:absolute;top:-30px;width:43px;height:32px;background:#c4a264}.bottle-placeholder.large{width:160px;height:290px;font-size:68px}.bottle-placeholder.large:before{top:-54px;width:76px;height:56px}.product-body{padding:19px}.product-kicker{font-size:10px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.product-body h3{font:500 23px 'Playfair Display',serif;margin:6px 0 2px}.product-body p{margin:0;color:var(--muted);font-size:13px;min-height:22px}.product-price{display:flex;gap:10px;align-items:center;margin:14px 0}.product-price del,.detail-price del{color:#929791;font-size:13px}.product-price strong{font-size:17px}.add-button{width:100%;min-height:43px;padding:0 12px;font-size:13px}.add-button.added{background:var(--accent)}.empty-state{padding:60px 24px;text-align:center;background:var(--paper)}.benefits{margin:30px max(5vw,28px) 90px;padding:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;background:var(--primary);color:#fff}.benefits div{display:flex;flex-direction:column}.benefits span{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}.site-footer{background:#101a17;color:#fff;display:grid;grid-template-columns:2fr 1fr;gap:30px;padding:70px max(5vw,28px)}.site-footer .light{display:inline-block}.site-footer p{color:#9eaaa5}.site-footer>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.product-page,.cart-page,.not-found{padding:60px max(6vw,32px) 100px}.back-link{display:inline-block;margin-bottom:35px;color:var(--muted)}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.detail-media{min-height:650px;background:var(--paper);display:grid;place-items:center}.detail-media img{width:100%;height:100%;max-height:720px;object-fit:cover}.product-detail h1{font-size:clamp(48px,5vw,74px)}.size{color:var(--muted)}.detail-price{display:flex;gap:14px;align-items:center;margin:24px 0}.detail-price strong{font-size:28px}.lead{font-size:19px}.description{color:var(--muted);margin:24px 0 34px}.text-link{display:block;text-align:center;text-decoration:underline;margin-top:16px}.cart-page{max-width:1280px;margin:auto}.cart-page>p{max-width:680px;color:var(--muted)}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:36px;margin-top:46px}.cart-items{display:flex;flex-direction:column;gap:12px}.cart-item{display:grid;grid-template-columns:1fr auto 130px auto;gap:20px;align-items:center;border:1px solid var(--line);padding:22px}.cart-item h3{margin:0;font:500 21px 'Playfair Display',serif}.cart-item span{font-size:13px;color:var(--muted)}.quantity{display:flex;align-items:center;border:1px solid var(--line)}.quantity button{border:0;background:#fff;width:32px;height:34px;cursor:pointer}.quantity strong{width:32px;text-align:center}.remove{border:0;background:transparent;color:#9b3e3e;cursor:pointer}.cart-summary{background:var(--paper);padding:28px;height:max-content;position:sticky;top:130px}.cart-summary>span{color:var(--muted)}.cart-summary>strong{display:block;font:500 36px 'Playfair Display',serif;margin:7px 0 24px}.cart-summary small{display:block;color:var(--muted);margin-top:16px}.not-found{text-align:center}.not-found h1{font:500 56px 'Playfair Display',serif}
@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto}.hero-art{min-height:470px}.category-list,.product-grid{grid-template-columns:repeat(2,1fr)}.product-detail{grid-template-columns:1fr}.detail-media{min-height:520px}.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.benefits{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.cart-item{grid-template-columns:1fr auto}.cart-item>strong{justify-self:start}}
@media(max-width:640px){.site-header{height:auto;padding:18px 20px;align-items:flex-start}.site-header nav{gap:13px;font-size:12px}.site-header nav>a:not(.cart-link){display:none}.hero-copy{padding:60px 24px}.hero-art{min-height:390px}.hero-bottle{transform:scale(.78)}.categories,.catalog{padding:65px 20px}.category-list,.product-grid{grid-template-columns:1fr 1fr;gap:10px}.category-chip{padding:16px;min-height:80px;font-size:18px}.catalog-heading{align-items:flex-start;flex-direction:column}.product-body{padding:13px}.product-body h3{font-size:18px}.product-media{aspect-ratio:1/1.2}.add-button{font-size:11px}.product-page,.cart-page{padding:35px 20px 70px}.detail-media{min-height:430px}.cart-item{padding:16px;gap:12px}.cart-item>.remove{justify-self:start}.site-footer{padding:55px 22px}}

/* Catálogo interactivo, carrito lateral y checkout */
body{background:var(--background);color:var(--ink)}body.cart-open{overflow:hidden}.brand img{display:block;max-width:190px;max-height:58px;object-fit:contain}.cart-link{font:inherit;background:#fff;color:var(--ink);cursor:pointer}.hero-art.has-image{background-position:center;background-size:cover}.result-count{color:var(--muted);font-size:13px;margin:8px 0 0}.catalog-loader{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;color:var(--muted)}.catalog-loader span{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}.catalog-loader[hidden],.load-more[hidden]{display:none}.catalog [data-catalog-results]{transition:opacity .2s}.catalog [data-catalog-results].is-loading{opacity:.38}.load-more{display:block;margin:32px auto 0;border:1px solid var(--primary);background:#fff;color:var(--primary);padding:12px 25px;border-radius:var(--radius);font-weight:700;cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}
.cart-overlay{position:fixed;inset:0;background:rgba(8,20,16,.42);opacity:0;transition:opacity .22s;z-index:80}.cart-overlay.visible{opacity:1}.cart-drawer{position:fixed;inset:0 0 0 auto;width:min(420px,100%);background:#fff;z-index:90;box-shadow:-24px 0 70px rgba(0,0,0,.16);padding:24px;transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column;overflow:auto}.cart-drawer.open{transform:translateX(0)}.cart-drawer>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.cart-drawer h2{font:500 27px 'Playfair Display',serif;margin:0}.drawer-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer}.drawer-totals{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:center;padding:18px 0}.drawer-totals div{display:flex;flex-direction:column}.drawer-totals span{color:var(--muted);font-size:13px}.drawer-totals strong{font-size:18px}.drawer-items{display:flex;flex-direction:column;gap:16px;padding:26px 0;border-top:1px solid var(--line);margin-top:22px}.drawer-item{display:grid;grid-template-columns:92px 1fr;gap:15px}.drawer-item>img,.drawer-placeholder{width:92px;height:105px;object-fit:cover;background:var(--paper);border-radius:var(--radius)}.drawer-placeholder{display:grid;place-items:center;font:500 36px 'Playfair Display',serif;color:var(--accent)}.drawer-item-copy{display:flex;flex-direction:column;gap:5px}.drawer-item-copy>a{font:500 18px 'Playfair Display',serif}.drawer-quantity{display:grid;grid-template-columns:34px 34px 34px 1fr;align-items:center;border:1px solid var(--line);margin-top:7px}.drawer-quantity button{height:34px;border:0;background:#fff;cursor:pointer}.drawer-quantity span{text-align:center}.drawer-remove{font-size:11px;color:#9b3e3e}.clear-cart{border:0;background:transparent;text-decoration:underline;cursor:pointer;margin:5px auto 20px}.drawer-empty{text-align:center;padding:35px 20px}.drawer-empty>span{font-size:42px;color:var(--accent)}.drawer-empty h3{font:500 22px 'Playfair Display',serif;margin:8px 0}.drawer-empty p{color:var(--muted)}
.checkout-page{padding:65px max(5vw,28px) 100px}.checkout-heading{max-width:760px;margin-bottom:36px}.checkout-heading h1,.content-page h1{font:500 clamp(42px,5vw,68px)/1.04 'Playfair Display',serif;margin:0}.checkout-heading p{color:var(--muted);font-size:18px}.checkout-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.25fr);gap:32px;align-items:start}.checkout-products,.checkout-form{background:var(--paper);border-radius:var(--radius);padding:28px}.checkout-products{position:sticky;top:125px}.checkout-products h2,.checkout-form h2{font:500 25px 'Playfair Display',serif;margin:0 0 18px}.checkout-item{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.checkout-item img,.checkout-item .drawer-placeholder{width:62px;height:70px;object-fit:cover}.checkout-item div{display:flex;flex-direction:column}.checkout-item span{color:var(--muted);font-size:12px}.quote-resume{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:24px}.quote-resume>div{display:flex;justify-content:space-between;gap:20px}.quote-resume span{font-size:15px}.quote-total{font-size:18px;margin-top:6px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-fields label{font-weight:600}.checkout-fields input,.checkout-fields select,.checkout-fields textarea{width:100%;display:block;border:1px solid #ddd;background:#fff;border-radius:var(--radius);padding:12px;margin-top:6px;outline:0}.checkout-fields input:focus,.checkout-fields select:focus,.checkout-fields textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,63,53,.08)}.checkout-fields .full{grid-column:1/-1}.privacy{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:400!important}.privacy input{width:auto;margin-top:3px}.checkout-error{background:#f7dedd;color:#8a302c;padding:12px;border-radius:var(--radius);margin:16px 0}.checkout-form>.button{margin-top:18px}.checkout-success{text-align:center;max-width:720px;margin:60px auto;background:var(--paper);padding:60px 30px;border-radius:var(--radius)}.checkout-success[hidden]{display:none}.checkout-success h2{font:500 36px 'Playfair Display',serif}.success-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--primary);color:#fff;font-size:34px;margin:auto}.content-page{max-width:900px;margin:auto;padding:80px 28px 110px}.content-lead{font-size:21px;color:var(--muted)}.content-page article{font-size:17px;line-height:1.9;margin-top:36px}.site-footer{grid-template-columns:2fr 1fr 1fr}.site-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
@media(max-width:980px){.checkout-layout{grid-template-columns:1fr}.checkout-products{position:static}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.site-header nav>a{display:none}.cart-link{padding:8px 12px}.cart-drawer{padding:20px}.checkout-page{padding:42px 18px 70px}.checkout-products,.checkout-form{padding:20px}.checkout-fields{grid-template-columns:1fr}.checkout-fields .full{grid-column:auto}.site-footer{grid-template-columns:1fr}.site-footer>div:first-child{grid-column:auto}.drawer-item{grid-template-columns:76px 1fr}.drawer-item>img,.drawer-placeholder{width:76px;height:90px}}
