*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:dark;--black: #14100c;--charcoal: #1e180f;--charcoal-light: #292115;--cream: #f5ecd8;--gold: #d4af37;--gold-bright: #f0d488;--gold-deep: #8a6d2f;--bg: var(--black);--surface: var(--charcoal);--surface-hover: var(--charcoal-light);--border-color: rgba(212, 175, 55, .4);--text: var(--cream);--text-muted: #b3a488}@media(prefers-color-scheme:dark){:root{--bg: #0d0a06;--surface: #191309}}body{min-height:100dvh;background-color:var(--bg);color:var(--text)}a{color:inherit}button,input{border-radius:0}.page{max-width:80ch;margin-inline:auto;padding:2rem}.site-header{border-bottom:1px solid var(--border-color);background-color:var(--surface)}.site-header__inner{max-width:1100px;margin-inline:auto;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between}.site-header__brand{font-size:1.3rem;font-weight:700;letter-spacing:.06em;text-decoration:none;color:var(--gold-bright)}.site-header__cart-link{position:relative;text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);padding:.5rem .25rem;border-bottom:2px solid transparent;transition:border-color .4s ease,color .4s ease}.site-header__cart-link.is-active,.site-header__cart-link:hover{color:var(--gold-bright);border-bottom-color:var(--gold)}.site-header__cart-count{display:inline-block;margin-left:.4rem;min-width:1.4rem;padding:0 .3rem;text-align:center;background-color:var(--gold);color:var(--black);font-size:.75rem;font-weight:700}.shop{max-width:1100px;margin-inline:auto;padding:0 2rem 4rem}.hero{padding:4.5rem 0 3rem;max-width:60ch}.hero__eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.8rem;font-weight:600;color:var(--gold);margin-bottom:1rem}.hero__title{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:800;letter-spacing:.01em;line-height:1.1;margin-bottom:1.1rem;color:var(--gold-bright)}.hero__subtitle{font-size:1.05rem;font-weight:300;color:var(--text-muted);line-height:1.7}.catalog-controls{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:space-between;padding-bottom:2.5rem;border-bottom:1px solid var(--border-color);margin-bottom:3rem}.catalog-controls__search{flex:1 1 240px;min-width:0;padding:.7rem .9rem;border:1px solid var(--border-color);background-color:var(--surface);color:var(--text);font-size:.95rem;transition:border-color .4s ease}.catalog-controls__search:focus-visible{outline:none;border-color:var(--gold)}.catalog-controls__chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1px solid var(--border-color);background-color:transparent;color:var(--text-muted);padding:.45rem .9rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .4s ease,color .4s ease,border-color .4s ease}.chip:hover{border-color:var(--gold);color:var(--gold-bright)}.chip.is-active{background-color:var(--gold);color:var(--black);border-color:var(--gold)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2rem}.product-card{border:1px solid var(--border-color);background-color:var(--surface);display:flex;flex-direction:column;transition:border-color .4s ease,box-shadow .4s ease}.product-card:hover{border-color:var(--gold);box-shadow:0 4px 24px #d4af371f}.product-card--skeleton{min-height:340px;background:linear-gradient(90deg,var(--surface) 25%,var(--charcoal-light) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}.product-card__link{text-decoration:none;color:var(--text);padding:1.5rem 1.5rem .75rem;flex:1}.product-card__art{width:100%;max-width:96px;margin:0 auto 1.25rem}.bottle-art{width:100%;height:auto}.product-card__family{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--gold);margin-bottom:.5rem}.product-card__name{font-size:1.15rem;font-weight:700;margin-bottom:.4rem}.product-card__tagline{font-size:.88rem;color:var(--text-muted);line-height:1.5}.product-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color);margin-top:1rem}.product-card__price{font-weight:700;color:var(--gold-bright)}.button{display:inline-block;border:1px solid var(--border-color);padding:.65rem 1.4rem;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease,opacity .4s ease}.button--primary{background-color:var(--gold);color:var(--black);border-color:var(--gold)}.button--primary:hover{background-color:var(--gold-bright);border-color:var(--gold-bright);box-shadow:0 4px 20px #d4af3740}.button--secondary{background-color:transparent;color:var(--text)}.button--secondary:hover{border-color:var(--gold);color:var(--gold-bright)}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.button--full{display:block;width:100%}.state-message{padding-top:4rem;text-align:left}.state-message h1,.state-message h2{font-size:1.6rem;font-weight:800;color:var(--gold-bright);margin-bottom:.85rem}.state-message p{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.state-message__meta{font-size:.85rem;color:var(--text-muted)}.product-detail{max-width:1000px;margin-inline:auto;padding:3.5rem 2rem 4.5rem;display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:3.5rem}.product-detail__art,.product-detail__art--skeleton{max-width:220px}.product-detail__art--skeleton{aspect-ratio:120 / 160;background:linear-gradient(90deg,var(--surface) 25%,var(--charcoal-light) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}.product-detail__breadcrumb{display:inline-block;font-size:.85rem;color:var(--text-muted);text-decoration:none;margin-bottom:1.75rem;transition:color .4s ease}.product-detail__breadcrumb:hover{color:var(--gold-bright)}.product-detail__family{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--gold);margin-bottom:.6rem}.product-detail__name{font-size:2rem;font-weight:800;color:var(--gold-bright);margin-bottom:.5rem}.product-detail__tagline{font-size:1rem;font-weight:300;color:var(--text-muted);margin-bottom:1.1rem}.product-detail__description{line-height:1.7;margin-bottom:1.85rem}.notes{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:1.4rem 0;margin-bottom:1.85rem}.notes__row{display:flex;gap:1rem;padding:.4rem 0;font-size:.92rem}.notes__row dt{width:4.5rem;flex-shrink:0;font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;color:var(--gold);padding-top:.15rem}.product-detail__size{font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem}.product-detail__price{font-size:1.4rem;font-weight:800;color:var(--gold-bright);margin-bottom:1.6rem}.product-detail__actions{display:flex;align-items:center;gap:1rem}.product-detail__confirmation{margin-top:1rem;font-size:.85rem;color:var(--gold-bright);font-weight:600}.quantity-stepper{display:inline-flex;align-items:center;border:1px solid var(--border-color)}.quantity-stepper__button{border:none;background:transparent;color:var(--text);width:2.25rem;height:2.25rem;font-size:1.1rem;cursor:pointer;transition:color .4s ease}.quantity-stepper__button:hover:not(:disabled){color:var(--gold-bright)}.quantity-stepper__button:disabled{opacity:.4;cursor:not-allowed}.quantity-stepper__value{min-width:2rem;text-align:center;font-weight:600}.cart{max-width:900px;margin-inline:auto;padding:3.5rem 2rem 4.5rem}.cart__title{font-size:1.8rem;font-weight:800;color:var(--gold-bright);margin-bottom:2.25rem}.cart__lines{list-style:none;border-top:1px solid var(--border-color)}.cart-line{display:grid;grid-template-columns:56px 1fr auto auto;align-items:center;gap:1.25rem;padding:1.4rem 0;border-bottom:1px solid var(--border-color)}.cart-line__art{width:56px}.cart-line__name{display:block;font-weight:700;text-decoration:none;color:var(--text);margin-bottom:.2rem;transition:color .4s ease}.cart-line__name:hover{color:var(--gold-bright)}.cart-line__size{font-size:.8rem;color:var(--text-muted);margin-bottom:.4rem}.cart-line__remove{border:none;background:none;padding:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);cursor:pointer;transition:color .4s ease}.cart-line__remove:hover{color:var(--gold-bright)}.cart-line__price{font-weight:700;white-space:nowrap;color:var(--gold-bright)}.order-summary{margin-top:2.75rem;max-width:360px;margin-left:auto}.order-summary__title{font-size:1.1rem;font-weight:800;letter-spacing:.02em;margin-bottom:1.1rem}.order-summary__row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:var(--text-muted)}.order-summary__row--total{border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.9rem;font-weight:800;color:var(--gold-bright);font-size:1.05rem}.order-summary__error{color:#d67c5c;font-size:.85rem;margin:1rem 0}.order-summary .button{margin-top:1.5rem}.skeleton-line{height:1rem;background:linear-gradient(90deg,var(--surface) 25%,var(--charcoal-light) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;margin-bottom:.75rem;max-width:30ch}.skeleton-line--wide{max-width:40ch;height:1.75rem}.skeleton-line--short{max-width:16ch}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.product-card--skeleton,.product-detail__art--skeleton,.skeleton-line{animation:none}}@media(max-width:640px){.product-detail{grid-template-columns:1fr}.cart-line{grid-template-columns:48px 1fr;grid-template-areas:"art info" "stepper price"}.cart-line__art{grid-area:art}.cart-line__info{grid-area:info}.cart-line .quantity-stepper{grid-area:stepper}.cart-line__price{grid-area:price;text-align:right}.order-summary{max-width:none;margin-left:0}}
