#cart-overlay{position:fixed;inset:0;background:#0000;z-index:calc(var(--z-drawer) - 1);pointer-events:none;transition:background .3s ease}#cart-overlay.open{background:#00000080;pointer-events:all}#cart-drawer{position:fixed;top:0;right:0;height:100%;height:100dvh;width:100%;max-width:380px;background:var(--color-bg);z-index:var(--z-drawer);transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}#cart-drawer.open{transform:translate(0)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-bg-alt);flex-shrink:0}.cart-header h2{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--color-text)}#cart-count-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400;color:var(--color-text-soft)}#cart-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:var(--text-lg);color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-sm);transition:color .2s}#cart-close:hover{color:var(--color-text)}#cart-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#cart-items{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);list-style:none;display:flex;flex-direction:column}.cart-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}.cart-item-main{display:flex;gap:var(--space-3);align-items:flex-start}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background-color:var(--color-bg-alt)}.cart-item-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.cart-item-nombre{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);margin:0;line-height:1.3}.cart-item-precio{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-accent);margin:0}.cart-item-qty{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.qty-btn{width:32px;height:32px;border:1px solid var(--color-bg-alt);background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background-color .2s}.qty-btn:hover{border-color:var(--color-text-soft);background-color:var(--color-bg-alt)}.qty-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.qty-value{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--color-text);min-width:24px;text-align:center}.cart-item-remove{background:transparent;border:none;cursor:pointer;color:var(--color-text-soft);font-size:var(--text-base);padding:var(--space-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color .2s;flex-shrink:0}.cart-item-remove:hover{color:#d44}.cart-item-subtotal{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-soft);margin:0;padding-left:calc(72px + var(--space-3))}.cart-item-sep{height:1px;background-color:var(--color-bg-alt);margin:var(--space-2) 0 0}#cart-footer{padding:var(--space-4);border-top:1px solid var(--color-bg-alt);display:flex;flex-direction:column;gap:var(--space-3);flex-shrink:0}.cart-footer-summary{display:flex;flex-direction:column;gap:var(--space-1)}#cart-subtotal{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-soft);margin:0}#cart-total{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin:0}#cart-checkout{background:var(--color-cta-bg);color:var(--color-cta-text);border:none;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:48px;width:100%;transition:opacity .2s}#cart-checkout:hover{opacity:.85}#cart-checkout:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#cart-continue{background:transparent;color:var(--color-text);border:1.5px solid var(--color-text);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:44px;width:100%;transition:opacity .2s}#cart-continue:hover{opacity:.7}#cart-continue:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#cart-clear{background:transparent;border:none;color:var(--color-text-soft);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;text-decoration:underline;text-align:center;padding:var(--space-1)}#cart-clear:hover{color:var(--color-text)}#cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-soft);padding:var(--space-4)}#cart-empty p{font-family:var(--font-sans);font-size:var(--text-sm);margin:0}.cart-empty-btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);border:1.5px solid var(--color-text);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);text-decoration:none;transition:opacity .2s}.cart-empty-btn:hover{opacity:.7}.cart-item.confirming{background-color:var(--color-bg-alt);border-radius:var(--radius-sm);padding:var(--space-3);margin:0 calc(-1 * var(--space-3));transition:background-color .25s ease}.cart-item-confirm{opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;padding-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.cart-item-confirm:not([hidden]){opacity:1;transform:translateY(0)}.cart-item-confirm span{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-soft)}#cart-clear-confirm{opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;display:flex;flex-direction:column;gap:var(--space-2)}#cart-clear-confirm:not([hidden]){opacity:1;transform:translateY(0)}#cart-clear-confirm span{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-soft)}.confirm-actions{display:flex;gap:var(--space-3)}.confirm-yes{background:transparent;border:none;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:#c44;cursor:pointer;padding:var(--space-1) 0;min-height:44px;display:flex;align-items:center;transition:opacity .2s}.confirm-yes:hover{opacity:.7}.confirm-yes:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.confirm-no{background:transparent;border:none;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--color-text-soft);cursor:pointer;padding:var(--space-1) 0;min-height:44px;display:flex;align-items:center;transition:color .2s}.confirm-no:hover{color:var(--color-text)}.confirm-no:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}#menu-overlay{position:fixed;inset:0;background:#0000;z-index:calc(var(--z-drawer) - 1);pointer-events:none;transition:background .3s ease}#menu-overlay.open{background:#00000080;pointer-events:all}#menu-drawer{position:fixed;top:0;left:0;height:100%;height:100dvh;width:100%;max-width:320px;background:var(--color-bg);z-index:var(--z-drawer);transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}#menu-drawer.open{transform:translate(0)}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-bg-alt);flex-shrink:0}.menu-header .logo-serif{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:700;color:var(--color-text)}#menu-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:var(--text-lg);color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-sm);transition:color .2s}#menu-close:hover{color:var(--color-text)}#menu-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#menu-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.menu-link{display:block;font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text);text-decoration:none;padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);transition:color .2s,background-color .2s}.menu-link:hover{color:var(--color-accent);background-color:var(--color-bg-alt)}.menu-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-footer{padding:var(--space-4);border-top:1px solid var(--color-bg-alt);display:flex;flex-direction:column;gap:var(--space-3);flex-shrink:0}.menu-social{display:flex;gap:var(--space-3)}.menu-social a{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-soft);text-decoration:none}.menu-social a:hover{color:var(--color-text)}.menu-auth{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-bg-alt);display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.menu-auth-panel{display:flex;flex-direction:column;gap:var(--space-2)}.menu-auth-panel[hidden]{display:none}.menu-auth-link{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.menu-btn-primary{display:block;width:100%;background:var(--color-cta-bg);color:var(--color-cta-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;border:none;cursor:pointer;text-align:center;transition:opacity .2s,transform .15s;min-height:48px}.menu-btn-primary:hover{opacity:.85}.menu-btn-primary:active{transform:scale(.98)}.menu-btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-btn-outline{display:block;width:100%;background:transparent;color:var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;border:1px solid var(--color-accent);cursor:pointer;text-align:center;transition:opacity .2s,transform .15s;min-height:48px}.menu-btn-outline:hover{opacity:.75}.menu-btn-outline:active{transform:scale(.98)}.menu-btn-outline:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-user{display:flex;flex-direction:column;gap:var(--space-2);align-items:center}.menu-btn-logout{display:block;width:100%;background:transparent;color:var(--color-text-soft);font-family:var(--font-sans);font-size:var(--text-xs);border:1px solid var(--color-bg-alt);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;text-align:center;transition:color .2s,border-color .2s;min-height:44px}.menu-btn-logout:hover{color:var(--color-text);border-color:var(--color-text-soft)}.menu-btn-logout:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root{--color-bg: #F7F3EE;--color-bg-alt: #EFE5DA;--color-text: #2B2520;--color-text-soft: #6B5F55;--color-accent: #7F6347;--color-cta-bg: #2B2520;--color-cta-text: #FFFFFF;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Poppins", "Helvetica Neue", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.5rem;--text-3xl: 3.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--radius-sm: 6px;--radius-md: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 12px 32px rgba(0,0,0,.12);--z-header: 100;--z-drawer: 200;--z-modal: 300;--z-tooltip: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*:focus{outline:none}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}nav ul,nav ol,nav li{list-style:none;margin:0;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}#root,#__next{isolation:isolate}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}::selection{background-color:var(--color-accent);color:var(--color-cta-text)}[id]{scroll-margin-top:80px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-soft);border-radius:var(--radius-pill);opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}*{scrollbar-width:thin;scrollbar-color:var(--color-text-soft) transparent}h1,h2,h3{font-family:var(--font-serif);line-height:1.2}h1{font-size:var(--text-3xl);font-weight:700}h2{font-size:var(--text-2xl);font-weight:600}h3{font-size:var(--text-xl);font-weight:600}h4{font-size:var(--text-lg);font-weight:500}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-soft{color:var(--color-text-soft)}.text-accent{color:var(--color-accent)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-100%;left:var(--space-3);background:var(--color-cta-bg);color:var(--color-cta-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);z-index:calc(var(--z-tooltip) + 1);transition:top .2s ease}.skip-link:focus{top:var(--space-2)}[data-astro-cid-v6rju63g][data-astro-scale-in]{opacity:1;transform:scale(1);will-change:transform,opacity}[data-astro-cid-v6rju63g][data-astro-scale-in][data-ready=true][data-state=hidden]{opacity:0;transform:scale(var(--initial-scale))}[data-astro-cid-v6rju63g][data-astro-scale-in][data-ready=true][data-state=visible]{opacity:1;transform:scale(1);transition:opacity var(--duration) var(--easing) var(--delay),transform var(--duration) var(--easing) var(--delay)}@media(prefers-reduced-motion:reduce){[data-astro-cid-v6rju63g][data-astro-scale-in]{opacity:1!important;transform:scale(1)!important;transition:none!important}}[data-astro-cid-dg4llgp2][data-astro-fade-in-text][data-enhance=false]:not([data-ready]){animation:fadeInText var(--fit-duration) var(--fit-easing) var(--fit-delay) both}[data-astro-cid-dg4llgp2][data-astro-fade-in-text][data-enhance=true]:not([data-ready]){opacity:0;filter:blur(var(--fit-blur));transform:translateY(var(--fit-y-offset));animation:fadeInText var(--fit-duration) var(--fit-easing) 2s both}@keyframes fadeInText{0%{opacity:0;filter:blur(var(--fit-blur));transform:translateY(var(--fit-y-offset))}to{opacity:1;filter:blur(0px);transform:translateY(0)}}[data-astro-cid-dg4llgp2][data-astro-fade-in-text][data-ready=true][data-state=hidden]{opacity:0;filter:blur(var(--fit-blur));transform:translateY(var(--fit-y-offset))}[data-astro-cid-dg4llgp2][data-astro-fade-in-text][data-ready=true][data-state=animate]{opacity:1;filter:blur(0px);transform:translateY(0);transition:opacity var(--fit-duration) var(--fit-easing) var(--fit-delay),filter var(--fit-duration) var(--fit-easing) var(--fit-delay),transform var(--fit-duration) var(--fit-easing) var(--fit-delay)}@media(prefers-reduced-motion:reduce){[data-astro-cid-dg4llgp2][data-astro-fade-in-text]:not([data-ready]){animation:none!important;opacity:1!important;filter:none!important;transform:none!important}[data-astro-cid-dg4llgp2][data-astro-fade-in-text][data-ready=true]{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}
