:root{--background:#f8f5ee;--foreground:#173126;--card:#fffdf8;--primary:#173b2c;--secondary:#e9e3d7;--muted:#eee9df;--muted-foreground:#667168;--accent:#d76b43;--border:#dcd5c8;--ring:#52705f;--radius:.25rem;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
* { box-sizing: border-box; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: Arial, Helvetica, sans-serif; font-size: 16px; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header { height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: sticky; top: 0; z-index: 50; padding: 0 clamp(20px, 5vw, 76px); border-bottom: 1px solid rgba(23,49,38,.16); background: rgba(248,245,238,.92); backdrop-filter: blur(18px); }
.wordmark { font-family: Georgia, serif; font-size: 1.55rem; letter-spacing: .22em; font-weight: 700; }
.site-header>.wordmark { grid-column: 1; justify-self: start; }
.main-nav { grid-column: 2; display: flex; gap: 34px; font-size: .86rem; }
.main-nav a { position: relative; }
.main-nav a:after { content: ""; height: 1px; background: currentColor; position: absolute; left: 0; right: 100%; bottom: -6px; transition: right .25s; }
.main-nav a:hover:after { right: 0; }
.header-actions { grid-column: 3; justify-self: end; display: flex; gap: 10px; align-items: center; }
.icon-button,.cart-button,.mobile-menu { border: 0; background: transparent; color: inherit; cursor: pointer; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.icon-button { width: 42px; }
.cart-button { gap: 9px; padding: 0 0 0 10px; }
.cart-button b { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--primary); color: white; font-size: .72rem; }
.mobile-menu { display: none; }
.mobile-nav { position: absolute; z-index: 49; top: 100%; left: 0; right: 0; display: none; padding: 25px 22px 32px; border-bottom: 1px solid var(--border); background: #f8f5ee; box-shadow: 0 18px 40px rgba(23,49,38,.08); }
.mobile-nav a { display: block; padding: 15px 0; border-bottom: 1px solid var(--border); font-family: Georgia,serif; font-size: 1.35rem; }

.hero { min-height: min(760px,calc(100svh - 76px)); display: grid; grid-template-columns: 1.04fr .96fr; border-bottom: 1px solid var(--border); }
.hero-copy { padding: clamp(50px, 6vw, 92px) clamp(28px, 6vw, 96px); display: flex; flex-direction: column; justify-content: center; }
.kicker { margin: 0 0 25px; display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 700; }
.kicker>span { width: 28px; height: 1px; background: currentColor; }
.hero h1,.section-heading h2,.ritual h2,.pickup h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; line-height: .97; }
.hero h1 { font-size: clamp(3.65rem, 5.7vw, 6.35rem); }
.hero h1 em { color: #a74b2e; font-weight: 400; }
.hero-text { max-width: 510px; margin: 28px 0 34px; color: #5f6e65; line-height: 1.7; font-size: 1.03rem; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.hero-actions>a:first-child,.cart-footer>a { background: var(--primary); color: white; padding: 16px 24px; display: inline-flex; align-items: center; justify-content: center; font-size: .88rem; font-weight: 700; }
.text-link { display: inline-flex; gap: 9px; align-items: center; border-bottom: 1px solid currentColor; padding-bottom: 4px; font-size: .87rem; font-weight: 700; }
.hero-notes { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--border); color: #667168; font-size: .77rem; }
.hero-notes span { display: flex; gap: 7px; align-items: center; }
.hero-image { min-height: 600px; position: relative; overflow: hidden; background: #e6ddcf; }
.hero-image>img { object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.hero-image:hover>img { transform: scale(1.025); }
.hero-product-note { position: absolute; left: 28px; right: 28px; bottom: 28px; padding: 17px 20px; background: rgba(255,253,248,.9); backdrop-filter: blur(12px); display: flex; align-items: center; gap: 18px; }
.hero-product-note>span { font-family: Georgia, serif; font-size: 1.6rem; color: #a74b2e; }
.hero-product-note div { display: grid; gap: 3px; }
.hero-product-note small { text-transform: uppercase; letter-spacing: .12em; color: #6c746f; font-size: .62rem; }
.hero-product-note strong { font-size: .82rem; }

.collection { padding: clamp(72px, 8vw, 118px) clamp(20px, 5vw, 76px); }
.section-heading { display: grid; grid-template-columns: 1fr minmax(280px,420px); align-items: end; gap: 40px; margin-bottom: 42px; }
.section-heading h2,.pickup h2 { font-size: clamp(2.8rem, 5vw, 5.2rem); }
.collection-intro { display: grid; gap: 16px; }
.collection-intro p { margin: 0; max-width: 400px; line-height: 1.65; color: #667168; }
.collection-intro span { padding-top: 13px; border-top: 1px solid var(--border); color: #7a817d; text-transform: uppercase; letter-spacing: .1em; font-size: .67rem; font-weight: 700; }
.product-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 22px; align-items: start; }
.product-card { grid-column: span 3; min-width: 0; }
.product-card-featured { grid-column: span 6; }
.product-image-wrap { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: #e7dfd2; }
.product-card-featured .product-image-wrap { aspect-ratio: 1.18/1; }
.product-image-wrap>img { object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-image-wrap>img { transform: scale(1.045); }
.product-badge { position: absolute; z-index: 2; top: 14px; left: 14px; background: var(--primary); color: white; padding: 8px 11px; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.view-detail { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 2; background: rgba(255,253,248,.92); padding: 13px 15px; display: flex; justify-content: space-between; align-items: center; font-size: .78rem; font-weight: 700; transform: translateY(calc(100% + 15px)); transition: transform .3s; }
.product-card:hover .view-detail,.product-card:focus-within .view-detail { transform: translateY(0); }
.product-card-body { padding: 20px 2px; display: grid; grid-template-columns: 1fr auto; gap: 20px; }
.product-card-copy { min-width: 0; }
.product-card-body .product-eyebrow { margin: 0 0 7px; color: #a74b2e; text-transform: uppercase; letter-spacing: .11em; font-size: .65rem; font-weight: 700; }
.product-card h3 { font-family: Georgia, serif; font-size: 1.32rem; font-weight: 400; margin: 0 0 7px; }
.product-card-body span { color: #68726c; font-size: .75rem; }
.product-card-body .product-description { margin: 14px 0 0; color: #667168; font-size: .79rem; line-height: 1.55; }
.product-card:not(.product-card-featured) .product-description { display: none; }
.product-card-featured h3 { font-size: clamp(1.55rem,2vw,2.15rem); }
.product-card-featured .product-card-body { padding-top: 24px; }
.product-price { text-align: right; display: flex; flex-direction: column; align-items: end; gap: 14px; }
.product-price>div { display: grid; gap: 3px; }
.product-price strong { font-size: .9rem; }
.product-price del { color: #7e827f; font-size: .73rem; }
.product-price button { width: 39px; height: 39px; display: grid; place-items: center; cursor: pointer; border: 1px solid var(--primary); color: var(--primary); background: transparent; transition: .2s; }
.product-price button:hover { background: var(--primary); color: white; }

.ritual { background: #173b2c; color: #f8f5ee; padding: clamp(74px, 9vw, 130px) clamp(20px, 6vw, 92px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; }
.kicker.light { color: #d9c7a6; }
.ritual h2 { font-size: clamp(3rem, 5vw, 5.7rem); }
.ritual-steps { display: grid; grid-template-columns: repeat(3,1fr); align-items: end; gap: 1px; background: rgba(255,255,255,.2); }
.ritual-steps article { min-height: 300px; padding: 26px; background: #173b2c; display: flex; flex-direction: column; align-items: flex-start; }
.ritual-steps article>span { font-size: .68rem; color: #d9c7a6; letter-spacing: .12em; }
.ritual-steps svg { margin: auto 0 24px; color: #d9c7a6; }
.ritual-steps h3 { margin: 0 0 10px; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.ritual-steps p { margin: 0; color: #c5cec8; font-size: .84rem; line-height: 1.55; }

.pickup { padding: clamp(70px, 8vw, 120px) clamp(20px, 6vw, 92px); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 9vw; }
.pickup>div:first-child>p:last-child { color: #667168; max-width: 520px; line-height: 1.65; }
.branch-list { border-top: 1px solid var(--border); }
.branch-list article { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--border); }
.branch-list article div { display: grid; gap: 6px; }
.branch-list span { color: #667168; font-size: .8rem; }
.branch-list small { color: #a74b2e; font-weight: 700; }

.site-footer { min-height: 160px; background: #10271d; color: #e8e5de; padding: 45px clamp(20px, 6vw, 92px); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; }
.site-footer p { color: #aebbb3; text-align: center; }
.site-footer>span { justify-self: end; color: #8c9a92; font-size: .75rem; }

.cart-sheet { background: #f8f5ee; width: min(92vw,440px)!important; padding: 28px!important; }
.cart-sheet h2 { font-family: Georgia,serif; font-size: 2rem; font-weight: 400; }
.cart-lines { margin-top: 28px; overflow: auto; flex: 1; }
.cart-line { display: grid; grid-template-columns: 88px 1fr auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); align-items: center; }
.cart-line img { width: 88px; height: 88px; object-fit: cover; }
.cart-line>div:nth-child(2) { display: grid; gap: 5px; }
.cart-line a { font-family: Georgia,serif; font-size: 1rem; }
.cart-line small { color: #6d766f; }
.cart-line strong { font-size: .8rem; }
.quantity-control { display: grid; grid-template-columns: 28px 24px 28px; align-items: center; text-align: center; border: 1px solid var(--border); }
.quantity-control button { width: 28px; height: 30px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
.quantity-control span { font-size: .76rem; }
.cart-footer { border-top: 1px solid var(--border); padding-top: 20px; }
.cart-footer>div { display: flex; justify-content: space-between; font-size: 1.05rem; }
.cart-footer p { color: #707970; font-size: .75rem; }
.cart-footer>a { width: 100%; margin-top: 12px; }
.cart-empty { min-height: 340px; display: grid; place-content: center; justify-items: center; gap: 16px; color: #68726c; text-align: center; }
.cart-empty button { border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--primary); cursor: pointer; padding: 0 0 3px; }

.product-page { min-height: calc(100svh - 76px); display: grid; grid-template-columns: 1.12fr .88fr; }
.product-gallery { background: #e6dfd2; min-width: 0; }
.zoom-stage { position: sticky; top: 76px; height: calc(100svh - 76px); overflow: hidden; cursor: zoom-in; }
.zoom-stage>img { object-fit: cover; transition: transform .3s ease; }
.zoom-stage.is-zoomed>img { transform: scale(2.15); transition: transform .08s linear; }
.zoom-hint { position: absolute; left: 24px; bottom: 24px; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 11px 14px; background: rgba(255,253,248,.9); font-size: .72rem; font-weight: 700; }
.product-info { padding: clamp(52px,7vw,110px) clamp(26px,7vw,104px); align-self: center; }
.product-breadcrumb { color: #6c766f; font-size: .72rem; margin: 0 0 42px; }
.product-info h1 { margin: 0; max-width: 630px; font-family: Georgia,serif; font-size: clamp(3rem,5.2vw,6rem); line-height: .96; letter-spacing: -.045em; font-weight: 400; }
.detail-price { display: flex; gap: 12px; align-items: baseline; margin-top: 20px; }
.detail-price strong { font-size: 1.22rem; }
.detail-price del { color: #7c837f; font-size: .92rem; }
.product-lead { max-width: 590px; margin: 30px 0; color: #5d6a62; line-height: 1.72; }
.product-meta { display: flex; gap: 22px; align-items: center; padding: 16px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: #657168; font-size: .78rem; }
.product-meta span:nth-child(2) { display: flex; align-items: center; gap: 7px; }
.product-meta i { width: 7px; height: 7px; border-radius: 50%; background: #2d8054; }
.product-meta .low i { background: #c65b38; }
.product-meta .out i { background: #a1a8a3; }
.purchase-row { display: grid; grid-template-columns: 122px 1fr; gap: 10px; margin-top: 26px; }
.detail-quantity { display: grid; grid-template-columns: 40px 1fr 40px; border: 1px solid var(--primary); }
.detail-quantity button { border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; }
.detail-quantity button:disabled { cursor: not-allowed; opacity: .4; }
.detail-quantity span { display: grid; place-items: center; font-size: .85rem; }
.add-main { min-height: 56px; border: 1px solid var(--primary); background: var(--primary); color: white; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; }
.add-main:disabled { background: #a1a8a3; border-color: #a1a8a3; cursor: not-allowed; }
.share-product { display: flex; align-items: center; gap: 9px; padding: 16px 0 4px; border: 0; border-bottom: 1px solid currentColor; color: #5c6961; background: transparent; cursor: pointer; font-size: .78rem; }
.delivery-note { display: flex; gap: 14px; padding: 25px 0; margin-top: 24px; border-top: 1px solid var(--border); }
.delivery-note div { display: grid; gap: 5px; }
.delivery-note strong { font-size: .84rem; }
.delivery-note span { color: #68736b; font-size: .74rem; }
.detail-sections details { border-top: 1px solid var(--border); padding: 18px 0; }
.detail-sections details:last-child { border-bottom: 1px solid var(--border); }
.detail-sections summary { cursor: pointer; font-weight: 700; font-size: .86rem; }
.detail-sections p,.detail-sections li { color: #657168; line-height: 1.65; font-size: .82rem; }
.detail-sections ul { padding-left: 18px; }

.checkout-page { min-height: calc(100svh - 76px); display: grid; grid-template-columns: 1.1fr .9fr; }
.checkout-form-side { padding: 54px clamp(28px,8vw,120px) 90px; }
.checkout-back { display: inline-flex; align-items: center; gap: 8px; color: #647168; font-size: .78rem; margin-bottom: 70px; }
.checkout-form-side h1 { margin: 0 0 46px; font-family: Georgia,serif; font-size: clamp(3rem,5vw,5.6rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.checkout-form-side fieldset { border: 0; border-top: 1px solid var(--border); padding: 28px 0 34px; margin: 0; }
.checkout-form-side legend { padding: 0 18px 0 0; font-family: Georgia,serif; font-size: 1.3rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid label { display: grid; gap: 8px; color: #526159; font-size: .76rem; font-weight: 700; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid input { min-height: 48px; border: 1px solid var(--border); background: rgba(255,255,255,.45); padding: 0 13px; outline: none; color: var(--foreground); }
.form-grid input:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(23,59,44,.1); }
.option-grid,.payment-options { grid-template-columns: 1fr 1fr; gap: 10px!important; }
.option-grid label,.payment-options label { min-height: 88px; display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--border); cursor: pointer; background: rgba(255,255,255,.35); }
.option-grid label.selected,.payment-options label.selected { border-color: var(--primary); background: #fffdf8; box-shadow: inset 0 0 0 1px var(--primary); }
.option-grid label>span:last-child,.payment-options label>span:last-child { display: grid; gap: 5px; }
.option-grid strong,.payment-options strong { font-size: .82rem; }
.option-grid small,.payment-options small { color: #69746d; font-size: .68rem; line-height: 1.35; }
.branch-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; }
.branch-options button { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; text-align: left; min-height: 76px; padding: 14px; color: inherit; border: 1px solid var(--border); background: transparent; cursor: pointer; }
.branch-options button.active { border-color: #a74b2e; background: rgba(167,75,46,.05); }
.branch-options span { display: grid; gap: 4px; }
.branch-options strong { font-size: .79rem; }
.branch-options small { color: #69746d; font-size: .66rem; }
.address-fields { margin-top: 18px; }
.mp-mark,.paypal-mark { width: 35px; height: 35px; border-radius: 50%; display: grid; place-items: center; color: white; font-weight: 900; font-size: .78rem; }
.mp-mark { background: #009ee3; }
.paypal-mark { background: #003087; font-family: Georgia,serif; font-style: italic; font-size: 1.1rem; }
.checkout-error { display: flex; align-items: flex-start; gap: 10px; padding: 14px; margin-bottom: 14px; color: #8d2f20; background: #f9eae5; font-size: .8rem; line-height: 1.5; }
.pay-button { width: 100%; min-height: 58px; display: flex; justify-content: center; align-items: center; gap: 10px; border: 0; color: white; background: var(--primary); font-weight: 700; cursor: pointer; }
.pay-button:disabled { opacity: .65; cursor: wait; }
.payment-security { display: flex; justify-content: center; align-items: center; gap: 8px; color: #6c7770; font-size: .7rem; }
.order-summary { position: sticky; top: 76px; height: calc(100svh - 76px); padding: 70px clamp(30px,6vw,90px); background: #173b2c; color: #f8f5ee; overflow: auto; }
.order-summary h2 { margin: 0; font-family: Georgia,serif; font-size: 3.4rem; font-weight: 400; }
.summary-lines { margin-top: 42px; }
.summary-lines article { display: grid; grid-template-columns: 72px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.summary-image { position: relative; width: 72px; height: 72px; }
.summary-image img { object-fit: cover; }
.summary-image b { position: absolute; right: -7px; top: -7px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #d9c7a6; color: var(--primary); font-size: .66rem; }
.summary-lines article>div:nth-child(2) { display: grid; gap: 5px; }
.summary-lines strong { font-size: .8rem; }
.summary-lines small { color: #aebbb3; font-size: .68rem; }
.summary-lines article>span { font-size: .78rem; }
.summary-totals { margin-top: 25px; }
.summary-totals p { display: flex; justify-content: space-between; color: #c4cec7; font-size: .8rem; }
.summary-totals strong { color: #fff; }
.summary-totals .summary-total { border-top: 1px solid rgba(255,255,255,.22); padding-top: 20px; margin-top: 20px; font-size: 1.05rem; }
.checkout-empty { min-height: calc(100svh - 236px); padding: 70px 24px; display: grid; place-content: center; justify-items: center; text-align: center; }
.checkout-empty h1 { font-family: Georgia,serif; font-size: 3rem; font-weight: 400; margin: 22px 0 8px; }
.checkout-empty p { color: #68736c; }
.checkout-empty a { margin-top: 20px; padding: 15px 22px; background: var(--primary); color: white; font-weight: 700; }

.admin-page { min-height: calc(100svh - 76px); padding: 64px clamp(22px,5vw,76px) 100px; background: #f4f1ea; }
.admin-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.admin-heading h1 { margin: 0; font-family: Georgia,serif; font-size: clamp(3.2rem,5.5vw,6rem); font-weight: 400; letter-spacing: -.045em; line-height: .96; }
.admin-heading>div>p:last-child { color: #68736b; }
.admin-alert { display: flex; align-items: center; gap: 12px; padding: 14px 17px; border: 1px solid #d8c9b6; background: #fffaf0; font-size: .78rem; }
.admin-alert svg { color: #a74b2e; }
.admin-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 48px 0 38px; }
.admin-stats article { min-height: 128px; border: 1px solid var(--border); background: #fffdf8; padding: 22px; display: flex; align-items: flex-start; gap: 18px; }
.admin-stats article>span { width: 38px; height: 38px; display: grid; place-items: center; color: white; background: var(--primary); }
.admin-stats article>span svg { width: 18px; }
.admin-stats article>div { display: grid; gap: 9px; }
.admin-stats small { color: #68736b; }
.admin-stats strong { font-family: Georgia,serif; font-size: 1.85rem; font-weight: 400; }
.admin-tabs [data-slot="tabs-list"] { width: 100%; justify-content: flex-start; gap: 18px; overflow-x: auto; border-bottom: 1px solid var(--border); }
.admin-tabs [data-slot="tabs-trigger"] { flex: none; padding: 12px 4px; }
.admin-tabs [data-slot="tabs-trigger"] b { min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border-radius: 12px; color: white; background: #a74b2e; font-size: .63rem; }
.admin-panel { margin-top: 24px; border: 1px solid var(--border); background: #fffdf8; padding: 28px; }
.panel-title { display: flex; gap: 14px; align-items: center; margin-bottom: 26px; }
.panel-title>span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); color: #a74b2e; }
.panel-title h2 { margin: 0 0 5px; font-family: Georgia,serif; font-size: 1.5rem; font-weight: 400; }
.panel-title p { margin: 0; color: #6a746e; font-size: .75rem; }
.admin-panel [data-slot="table"] { border-top: 1px solid var(--border); }
.admin-panel [data-slot="table-head"] { color: #6b756e; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; padding: 13px 10px; }
.admin-panel [data-slot="table-cell"] { padding: 15px 10px; }
.admin-panel [data-slot="table-cell"]>strong,.admin-panel [data-slot="table-cell"]>small { display: block; }
.admin-panel [data-slot="table-cell"]>small { color: #737c76; margin-top: 5px; font-size: .67rem; }
.admin-panel [data-slot="table-cell"]>.admin-order-items { max-width: 330px; margin-top: 9px; color: #536159; line-height: 1.45; }
.admin-panel [data-slot="table-cell"] { white-space: normal; vertical-align: top; }
.admin-panel [data-slot="table-cell"]>small { font-size: .75rem; line-height: 1.45; overflow-wrap: anywhere; }
.admin-panel [data-slot="table-cell"]:first-child { min-width: 180px; max-width: 240px; }
.admin-panel [data-slot="table-cell"]:nth-child(2) { min-width: 140px; max-width: 180px; }
.admin-panel .admin-delivery { min-width: 150px; max-width: 220px; }
.admin-select { min-width: 152px; }
.admin-panel td input[type="number"] { width: 84px; height: 38px; padding: 0 10px; border: 1px solid var(--border); background: transparent; }
.admin-panel td input.stock-low { border-color: #c65b38; color: #9a3f25; background: #fff7f2; }
.save-stock { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--primary); background: transparent; color: var(--primary); cursor: pointer; font-size: .75rem; font-weight: 700; }
.save-stock:hover { background: var(--primary); color: white; }
.admin-empty { min-height: 310px; display: grid; place-content: center; justify-items: center; text-align: center; color: #778078; }
.admin-empty svg { width: 34px; height: 34px; }
.admin-empty h3 { margin: 18px 0 8px; color: var(--foreground); font-family: Georgia,serif; font-size: 1.5rem; font-weight: 400; }
.admin-empty p { max-width: 420px; line-height: 1.55; font-size: .8rem; }
.abandoned-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.abandoned-grid article { border: 1px solid var(--border); padding: 20px; }
.abandoned-grid article>div { display: flex; justify-content: space-between; color: #6b756e; }
.abandoned-grid article>strong { display: block; margin: 28px 0 6px; font-family: Georgia,serif; font-size: 1.7rem; font-weight: 400; }
.abandoned-grid p { margin: 0 0 5px; font-size: .8rem; }
.abandoned-grid small { color: #78817b; font-size: .68rem; }
.branch-admin-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.branch-admin-grid article { min-height: 180px; border: 1px solid var(--border); padding: 22px; display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 15px; position: relative; }
.branch-admin-grid h3 { margin: 0 0 7px; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 400; }
.branch-admin-grid p { margin: 0; color: #6c766f; font-size: .75rem; }
.branch-admin-grid article>strong { font-family: Georgia,serif; font-size: 1.65rem; font-weight: 400; }
.branch-admin-grid article>strong small { font-family: Arial,sans-serif; color: #6c766f; font-size: .65rem; }
.branch-admin-grid article>span { position: absolute; left: 22px; bottom: 20px; color: #2d8054; font-size: .7rem; font-weight: 700; }
.sales-chart { padding: 26px 0 0; }
.admin-access { min-height: calc(100svh - 236px); display: grid; place-content: center; justify-items: center; text-align: center; padding: 60px 24px; }
.admin-access>span { width: 62px; height: 62px; display: grid; place-items: center; color: white; background: var(--primary); }
.admin-access h1 { margin: 24px 0 8px; font-family: Georgia,serif; font-size: 2.6rem; font-weight: 400; }
.admin-access p { max-width: 480px; color: #68736b; line-height: 1.6; }

.account-page { min-height: calc(100svh - 76px); padding: clamp(54px,7vw,100px) clamp(22px,8vw,130px); }
.account-page>header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding-bottom: 45px; border-bottom: 1px solid var(--border); }
.account-page>header>span { width: 62px; height: 62px; display: grid; place-items: center; color: white; background: var(--primary); }
.account-page>header .kicker { margin-bottom: 10px; }
.account-page>header h1 { margin: 0; font-family: Georgia,serif; font-size: clamp(2.4rem,4vw,4.8rem); font-weight: 400; letter-spacing: -.04em; }
.account-page>header div>p:last-child { color: #68736b; font-size: .75rem; }
.account-page>header>a { display: flex; align-items: center; gap: 8px; color: #68736b; font-size: .75rem; }
.account-page>section { padding-top: 42px; }
.account-section-title { display: flex; justify-content: space-between; align-items: baseline; }
.account-section-title h2 { font-family: Georgia,serif; font-size: 2rem; font-weight: 400; }
.account-section-title span { color: #68736b; font-size: .75rem; }
.account-orders>a { display: grid; grid-template-columns: auto 1fr auto; gap: 17px; align-items: center; padding: 20px 0; border-top: 1px solid var(--border); }
.account-orders>a>span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); }
.account-orders>a>div { display: grid; gap: 5px; }
.account-orders>a>div:last-child { text-align: right; }
.account-orders small { color: #6c766f; font-size: .68rem; }
.account-empty { min-height: 340px; display: grid; place-content: center; justify-items: center; text-align: center; }
.account-empty h3 { margin: 18px 0 5px; font-family: Georgia,serif; font-size: 1.6rem; font-weight: 400; }
.account-empty p { color: #68736b; }
.account-empty a { margin-top: 16px; padding: 14px 20px; color: white; background: var(--primary); font-weight: 700; }

.order-result { min-height: calc(100svh - 236px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 70px 22px; }
.order-result>span:first-child { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; margin-bottom: 28px; }
.order-result>span.success { color: white; background: #2d8054; }
.order-result>span.pending { color: #8b5d00; background: #fff1c2; }
.order-result>span.error { color: #9a3f25; background: #f9e3dc; }
.order-result .kicker { color: #68736b; }
.order-result h1 { max-width: 850px; margin: 0; font-family: Georgia,serif; font-size: clamp(3rem,6vw,6.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .96; }
.order-result>p:not(.kicker) { max-width: 600px; color: #68736b; line-height: 1.7; }
.order-next { width: min(100%,520px); display: flex; gap: 14px; text-align: left; padding: 18px; margin: 24px 0; border: 1px solid var(--border); background: #fffdf8; }
.order-next div { display: grid; gap: 6px; }
.order-next span { color: #68736b; font-size: .76rem; }
.order-result-actions { display: flex; gap: 10px; }
.order-result-actions a { padding: 14px 18px; border: 1px solid var(--primary); font-size: .8rem; font-weight: 700; }
.order-result-actions a:first-child { color: white; background: var(--primary); }

@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-card { grid-column: span 1; }
  .product-card-featured { grid-column: 1 / -1; }
  .product-card-featured .product-image-wrap { aspect-ratio: 1.65/1; }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto 1fr; }
  .site-header>.wordmark { grid-column: 2; }
  .main-nav { display: none; }
  .mobile-menu { display: inline-flex; grid-column: 1; justify-self: start; }
  .mobile-nav { display: block; }
  .header-actions { grid-column: 3; }
  .header-actions>.icon-button,.cart-button span { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 590px; }
  .hero-image { min-height: 78vw; }
  .ritual { grid-template-columns: 1fr; }
  .pickup { grid-template-columns: 1fr; }
  .product-page { grid-template-columns: 1fr; }
  .zoom-stage { position: relative; top: 0; height: 85vw; }
  .checkout-page { grid-template-columns: 1fr; }
  .order-summary { position: relative; top: 0; height: auto; }
  .admin-stats { grid-template-columns: repeat(2,1fr); }
  .abandoned-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .site-header { height: 66px; padding: 0 16px; }
  .hero { min-height: auto; }
  .hero-copy { min-height: auto; padding: 46px 20px 34px; }
  .hero .kicker { margin-bottom: 18px; }
  .hero h1 { font-size: clamp(3.25rem,15vw,4.7rem); }
  .hero-text { margin: 22px 0 25px; font-size: 1rem; line-height: 1.6; }
  .hero-actions { gap: 18px; flex-wrap: wrap; }
  .hero-notes { margin-top: 29px; padding-top: 22px; gap: 12px 20px; }
  .hero-image { min-height: 88vw; }
  .hero-product-note { left: 16px; right: 16px; bottom: 16px; }
  .collection { padding-top: 68px; }
  .section-heading { display: block; }
  .collection-intro { margin-top: 22px; }
  .product-grid { grid-template-columns: 1fr; gap: 34px; }
  .product-card,.product-card-featured { grid-column: auto; }
  .product-card-featured .product-image-wrap,.product-image-wrap { aspect-ratio: 1/1.04; }
  .product-card:not(.product-card-featured) .product-description { display: block; }
  .view-detail { transform: none; }
  .ritual-steps { grid-template-columns: 1fr; }
  .ritual-steps article { min-height: 220px; }
  .ritual-steps svg { margin-top: 52px; }
  .site-footer { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .site-footer .wordmark,.site-footer>span { justify-self: center; }
  .site-footer p { margin: 0; }
  .product-info { padding: 48px 22px 70px; }
  .product-breadcrumb { margin-bottom: 30px; }
  .product-info h1 { font-size: 3.2rem; }
  .purchase-row { grid-template-columns: 108px 1fr; }
  .checkout-form-side { padding: 40px 22px 70px; }
  .checkout-back { margin-bottom: 48px; }
  .form-grid,.option-grid,.payment-options,.branch-options { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .order-summary { padding: 50px 22px; }
  .admin-page { padding: 45px 16px 70px; }
  .admin-heading { align-items: flex-start; flex-direction: column; }
  .admin-stats { grid-template-columns: 1fr; }
  .admin-panel { padding: 20px 14px; }
  .abandoned-grid,.branch-admin-grid { grid-template-columns: 1fr; }
  .account-page>header { grid-template-columns: auto 1fr; }
  .account-page>header>a { grid-column: 2; }
  .order-result-actions { flex-direction: column; width: 100%; }
}

@media (max-width: 430px) {
  .hero-actions { align-items: flex-start; flex-direction: column; }
}

/* Real tableware collection */
.hero-image img { object-position: center; }
.product-image-wrap { background: #fff; }
.product-image-wrap img { object-fit: contain; padding: 12px; }
.product-price small { display:block; font-size:.7rem; margin-top:5px; color:var(--muted-foreground); }
button:disabled { opacity:.45; cursor:not-allowed; }
.collection-more { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:38px; padding-top:24px; border-top:1px solid var(--border); }
.collection-more a { padding:14px 20px; color:#fff; background:var(--primary); font-size:.78rem; font-weight:700; }
.collection-more span { color:#69746d; font-size:.75rem; }
.collection .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.collection .product-card { grid-column:span 1; }
.collection-page { min-height:calc(100svh - 76px); padding-bottom:90px; }
.catalog-page-header { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(30px,6vw,100px); align-items:start; padding:clamp(70px,9vw,125px) clamp(22px,5vw,76px) clamp(55px,7vw,95px); border-bottom:1px solid var(--border); }
.catalog-page-header>.kicker { margin-top:10px; }
.catalog-page-header h1 { margin:0; font-family:Georgia,serif; font-size:clamp(3.8rem,7.6vw,8rem); font-weight:400; line-height:.9; letter-spacing:-.06em; }
.catalog-page-header h1 em { color:#a74b2e; font-weight:400; }
.catalog-page-header div>p { max-width:660px; margin:32px 0 0; color:#68736b; font-size:1rem; line-height:1.75; }
.catalog-browser { padding:36px clamp(22px,5vw,76px) 0; }
.catalog-toolbar { position:sticky; top:76px; z-index:20; display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:34px; padding:16px 0; border-bottom:1px solid var(--border); background:rgba(248,246,240,.92); backdrop-filter:blur(12px); }
.catalog-filters { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-filters button { min-height:42px; padding:9px 16px; border:1px solid var(--border); border-radius:999px; color:var(--foreground); background:transparent; cursor:pointer; font-size:.76rem; font-weight:700; }
.catalog-filters button:hover { border-color:var(--primary); }
.catalog-filters button.active { color:#fff; border-color:var(--primary); background:var(--primary); }
.catalog-toolbar>p { margin:0; color:#69746d; white-space:nowrap; font-size:.76rem; }
.catalog-toolbar>p strong { color:var(--foreground); }
.catalog-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.catalog-product-grid .product-card { grid-column:span 1; }
.catalog-empty { min-height:300px; display:grid; place-content:center; justify-items:center; text-align:center; }
.catalog-empty h2 { margin:0 0 8px; font-family:Georgia,serif; font-size:2rem; font-weight:400; }
.catalog-empty p { color:#68736b; }
.table-stories { padding: 50px clamp(22px,5vw,76px) 75px; }
.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:30px; }
.story-grid a, .story-grid button { aspect-ratio:4/3; overflow:hidden; padding:0; border:0; background:none; cursor:zoom-in; }
.story-grid img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbnails { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.gallery-thumbnails button { border:1px solid var(--border); padding:0; background:white; cursor:pointer; }
.gallery-thumbnails button[aria-pressed=true] { border:2px solid var(--primary); }
.gallery-thumbnails img { object-fit:contain; width:80px; height:80px; }
.admin-tabs input { width:110px; padding:10px; border:1px solid var(--border); background:white; }
.admin-products-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.admin-products-grid>article { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; padding:16px; border:1px solid var(--border); transition:opacity .2s,background .2s; }
.admin-products-grid>article.is-hidden { opacity:.62; background:#f1eee7; }
.admin-product-image { position:relative; min-height:150px; background:#fff; }
.admin-product-image img { object-fit:contain; padding:8px; }
.admin-product-fields { display:grid; gap:13px; align-content:start; }
.admin-product-fields>label,.admin-product-row>label { display:grid; gap:6px; color:#526159; font-size:.7rem; font-weight:700; }
.admin-product-fields input { width:100%; min-height:40px; }
.admin-product-row { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:10px; }
.admin-product-row [data-slot="select-trigger"] { width:100%; min-height:40px; background:#fff; }
.admin-product-toggles { display:flex; flex-wrap:wrap; gap:10px 16px; }
.admin-product-toggles label { display:flex; align-items:center; gap:7px; font-size:.68rem; font-weight:700; cursor:pointer; }
.admin-product-fields>.save-stock { justify-self:start; }
@media(max-width:1200px) { .admin-products-grid { grid-template-columns:1fr; } }
@media(max-width:1100px) { .collection .product-grid,.catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .collection-more { align-items:flex-start; flex-direction:column; }
  .catalog-page-header { grid-template-columns:1fr; padding-top:54px; }
  .catalog-page-header h1 { font-size:clamp(3.5rem,17vw,5.5rem); }
  .catalog-page-header div>p { margin-top:24px; }
  .catalog-browser { padding-top:18px; }
  .catalog-toolbar { top:66px; align-items:flex-start; flex-direction:column; gap:12px; }
  .catalog-filters { flex-wrap:nowrap; width:100%; padding-bottom:4px; overflow-x:auto; scrollbar-width:none; }
  .catalog-filters::-webkit-scrollbar { display:none; }
  .catalog-filters button { flex:none; }
  .catalog-product-grid { grid-template-columns:1fr; }
  .collection .product-grid { grid-template-columns:1fr; }
  .story-grid { grid-template-columns:1fr; }
  .admin-products-grid>article { grid-template-columns:1fr; }
  .admin-product-image { min-height:260px; }
  .admin-product-row { grid-template-columns:1fr; }
}

/* Contacto, cuenta, seguimiento y administración ampliada */
.top-bar { display: flex; justify-content: flex-end; padding: 7px clamp(16px, 4vw, 52px); background: #10271d; color: #e8e5de; font-size: .72rem; }
.contact-links { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
.contact-links a { display: inline-flex; align-items: center; gap: 6px; color: inherit; }
.contact-links a:hover { text-decoration: underline; }
.contact-links.on-dark { justify-content: center; margin-top: 12px; color: #e8e5de; font-size: .78rem; }
.footer-copy { display: grid; justify-items: center; }
.pickup-contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; padding-top: 24px; border-top: 1px solid var(--border); }
.branch-list a { text-decoration: underline; }
.spin { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.account-profile { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 14px; align-items: end; margin-top: 18px; }
.account-profile label { display: grid; gap: 6px; font-size: .72rem; color: #68736b; }
.account-profile input { height: 44px; padding: 0 12px; border: 1px solid var(--border); background: transparent; color: inherit; font: inherit; }
.account-profile button, .account-refresh { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; color: white; background: var(--primary); border: 0; font-weight: 700; cursor: pointer; }
.account-profile button:disabled, .account-refresh:disabled { opacity: .6; cursor: wait; }
.account-refresh { height: 32px; padding: 0 12px; margin-left: 14px; font-size: .72rem; }
.account-hint { margin: 10px 0 0; color: #68736b; font-size: .7rem; }
.account-orders>article { border-top: 1px solid var(--border); }
.account-orders>article>a { border-top: 0; }
.account-orders>article>a { display: grid; grid-template-columns: auto 1fr auto; gap: 17px; align-items: center; padding: 20px 0 10px; }
.account-orders>article>a>span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); }
.account-orders>article>a>div { display: grid; gap: 5px; }
.account-orders>article>a>div:last-child { text-align: right; }
.order-tracker { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 20px 59px; padding: 0; list-style: none; font-size: .68rem; color: #8a928c; }
.order-tracker li { display: grid; gap: 7px; padding-top: 4px; border-top: 3px solid var(--border); }
.order-tracker li span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--border); }
.order-tracker li.done { color: #2d8054; border-color: #2d8054; }
.order-tracker li.done span { background: #2d8054; border-color: #2d8054; color: white; }
.order-tracker li.current { color: #a74b2e; font-weight: 700; border-color: #a74b2e; }
.order-tracker li.current span { border-color: #a74b2e; background: rgba(167,75,46,.12); }
.tracker-note { margin: 0 0 20px 59px; font-size: .72rem; color: #68736b; }
.tracker-note.is-cancelled { color: #b3261e; }
.order-next .order-tracker { margin: 14px 0 0; }
.admin-cart-actions { display: flex; gap: 8px; align-items: center; margin-top: 12px; }
.admin-cart-actions button, .save-stock { display: inline-flex; align-items: center; gap: 7px; }
.save-stock:disabled { opacity: .6; cursor: wait; }
.panel-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.product-stock { display: grid; gap: 4px; padding: 10px 12px; background: rgba(16,39,29,.05); font-size: .72rem; }
.product-stock strong { font-size: .8rem; }
.product-stock.out strong { color: #b3261e; }
.product-stock span { color: #5b665f; }
.order-stock { display: block; margin-top: 4px; font-size: .68rem; }
.order-stock.short { color: #b3261e; font-weight: 700; }
.branch-edit { grid-template-columns: 1fr !important; }
.branch-edit form { display: grid; gap: 10px; }
.branch-edit label { display: grid; gap: 4px; font-size: .68rem; color: #6c766f; }
.branch-edit input { height: 38px; padding: 0 10px; border: 1px solid var(--border); background: transparent; font: inherit; color: inherit; }
.branch-edit .branch-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.branch-admin-grid article.branch-edit>span { position: static; }
.inventory-filter { min-width: 220px; }
@media (max-width: 700px) {
  .account-profile { grid-template-columns: 1fr; }
  .order-tracker, .tracker-note { margin-left: 0; }
  .top-bar { justify-content: center; }
}
section[id], [id="novedades"] { scroll-margin-top: 76px; }
.story-dialog { max-width: min(92vw, 980px) !important; }
.story-dialog img { width: 100%; height: auto; max-height: 70vh; object-fit: contain; }
.story-cta { justify-self: start; padding: 12px 20px; color: white; background: var(--primary); font-weight: 700; }
.account-refresh { transition: background .2s; }
.account-refresh span { display: inline-flex; }
.account-profile.address-form, .account-profile.billing-form { grid-template-columns: repeat(3, 1fr); margin-top: 18px; }
.account-profile .wide { grid-column: span 2; }
.account-profile select { height: 44px; padding: 0 10px; border: 1px solid var(--border); background: transparent; color: inherit; font: inherit; }
.account-profile .check { display: flex; align-items: center; gap: 8px; flex-direction: row; }
.account-profile .check input { height: auto; width: auto; }
.form-buttons { display: flex; gap: 10px; grid-column: 1 / -1; }
.form-buttons .ghost { color: inherit; background: transparent; border: 1px solid var(--border); }
.account-addresses { display: grid; gap: 12px; margin-top: 16px; }
.account-addresses article { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--border); }
.account-addresses article.is-default { border-color: #a74b2e; }
.account-addresses article>span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--border); }
.account-addresses article>div:nth-child(2) { display: grid; gap: 3px; }
.account-addresses small { color: #6c766f; font-size: .72rem; }
.account-addresses em { margin-left: 10px; padding: 2px 8px; font-size: .62rem; font-style: normal; color: #a74b2e; background: rgba(167,75,46,.1); }
.address-actions { display: flex; gap: 6px; }
.address-actions button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--border); background: transparent; color: inherit; cursor: pointer; }
.address-actions button:disabled { opacity: .5; cursor: wait; }
@media (max-width: 700px) { .account-profile.address-form, .account-profile.billing-form { grid-template-columns: 1fr; } .account-profile .wide { grid-column: auto; } }
.guest-banner { margin: 0 0 22px; padding: 14px 16px; border: 1px solid var(--border); background: rgba(16,39,29,.04); font-size: .8rem; line-height: 1.5; }
.guest-banner a { color: #a74b2e; font-weight: 700; text-decoration: underline; }
.guest-note { color: #68736b; font-size: .75rem; }
.invoice-toggle { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: .85rem; }
.invoice-select { display: grid; gap: 6px; margin-top: 14px; font-size: .72rem; }
.invoice-select select, .address-fields select { height: 44px; padding: 0 10px; border: 1px solid var(--border); background: transparent; font: inherit; color: inherit; }
.invoice-summary { margin: 12px 0 0; padding: 12px; background: rgba(16,39,29,.05); font-size: .75rem; color: #5b665f; }

/* ===== PHP: sustitutos de next/image, sheet y animaciones ===== */
.hero-image>img,.product-image-wrap>img,.zoom-stage>img,.summary-image>img{position:absolute;inset:0;width:100%;height:100%}
.hero-image,.product-image-wrap,.zoom-stage{position:relative}
.hero-image{display:block}
.summary-image img{position:static;width:100%;height:100%}
.cart-line img{width:88px;height:88px}
.cart-drawer{position:fixed;inset:0;z-index:100;visibility:hidden;pointer-events:none;transition:visibility 0s linear .35s}
.cart-drawer.open{visibility:visible;pointer-events:auto;transition-delay:0s}
.cart-backdrop{position:absolute;inset:0;background:rgba(10,24,17,.45);opacity:0;transition:opacity .3s ease}
.cart-drawer.open .cart-backdrop{opacity:1}
.cart-panel{position:absolute;top:0;right:0;bottom:0;width:min(92vw,440px);display:flex;flex-direction:column;padding:28px;background:#f8f5ee;box-shadow:-18px 0 50px rgba(23,49,38,.14);transform:translateX(100%);transition:transform .38s var(--ease);will-change:transform}
.cart-drawer.open .cart-panel{transform:none}
.cart-panel h2{margin:0;font-family:Georgia,serif;font-size:2rem;font-weight:400}
.cart-sub{margin:6px 0 0;color:#68736b;font-size:.8rem}
.drawer-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border:0;background:none;font-size:1.7rem;line-height:1;cursor:pointer;color:inherit;transition:transform .2s}
.drawer-close:hover{transform:rotate(90deg)}
.cart-footer>div{display:flex;justify-content:space-between;font-size:1.05rem}
.cart-footer>a{display:flex;width:100%;margin-top:12px;background:var(--primary);color:#fff;padding:16px 24px;justify-content:center;font-size:.88rem;font-weight:700;transition:background .2s,transform .2s}
.cart-footer>a:hover{background:#0f2b1f}
.cart-line{animation:fade-up .35s var(--ease) both}
.cart-line .remove{border:0;background:none;color:#a74b2e;cursor:pointer;padding:0;font-size:.72rem;justify-self:start}
.cart-empty button{font-size:.9rem}
.cart-button b{transition:transform .25s var(--ease)}
.cart-button b.bump{animation:bump .4s var(--ease)}
@keyframes bump{40%{transform:scale(1.45)}}
@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
main{animation:fade-in .35s ease both}
.main-nav a,.text-link,.hero-actions>a,.collection-more a,.checkout-back{transition:opacity .2s,background .2s,color .2s}
.hero-actions>a:first-child:hover,.collection-more a:hover,.pay-button:hover,.add-main:hover{background:#0f2b1f}
.product-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,49,38,.08),transparent 35%);opacity:0;transition:opacity .4s;pointer-events:none}
.product-card:hover .product-image-wrap::after{opacity:1}
.product-card h3{transition:color .2s}
.product-card:hover h3{color:#a74b2e}
.product-image-wrap{background:#fff}
.product-image-wrap>img{object-fit:contain;padding:12px}
.hero-image>img{object-fit:cover}
.catalog-filters button{transition:background .2s,color .2s,border-color .2s}
.product-card[hidden]{display:none}
.product-card.filtered-in{animation:fade-up .45s var(--ease) both}
.story-grid button{position:relative;display:block;overflow:hidden}
.story-grid img{transition:transform .7s var(--ease)}
.story-grid button:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:4vw;background:rgba(10,24,17,.78);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.lightbox.open{opacity:1;visibility:visible;transition-delay:0s}
.lightbox>div{position:relative;max-width:min(92vw,980px);background:#f8f5ee;padding:18px;display:grid;gap:14px;transform:scale(.96);transition:transform .35s var(--ease)}
.lightbox.open>div{transform:none}
.lightbox img{width:100%;height:auto;max-height:70vh;object-fit:contain}
.lightbox .story-cta{justify-self:start}
.lightbox .drawer-close{top:6px;right:6px}
.mobile-nav{display:none;transform-origin:top;animation:fade-up .25s var(--ease) both}
.mobile-nav.open{display:block}
.icon-button svg,.cart-button svg,.mobile-menu svg{width:21px;height:21px}
.checkout-page .form-grid{margin-top:0}
.option-grid label.selected,.payment-options label.selected{border-color:var(--primary);background:#fffdf8;box-shadow:inset 0 0 0 1px var(--primary)}
.option-grid label,.payment-options label{transition:border-color .2s,background .2s,box-shadow .2s}
.option-grid input[type=radio],.payment-options input[type=radio]{accent-color:var(--primary)}
.branch-options{margin-top:15px}
.branch-options button{transition:border-color .2s,background .2s}
.address-fields,.invoice-fields,.branch-options{display:none}
.address-fields.show,.invoice-fields.show{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;animation:fade-up .3s var(--ease) both}
.branch-options.show{display:grid;animation:fade-up .3s var(--ease) both}
.form-grid select,.checkout-form-side select{min-height:48px;border:1px solid var(--border);background:rgba(255,255,255,.45);padding:0 13px;color:var(--foreground)}
.checkout-form-side input,.checkout-form-side select{font:inherit}
.checkout-error{display:none}
.checkout-error.show{display:flex}
.checkout-form-side .check{display:flex;align-items:center;gap:9px;font-size:.8rem;font-weight:400}
.checkout-form-side .check input{min-height:0;width:auto}
.order-summary .summary-lines article>div:nth-child(2){display:grid}
.product-stock{display:none}
.zoom-stage.is-zoomed>img{transform:scale(2.15)}
.zoom-stage>img{transition:transform .3s ease;will-change:transform}
.detail-quantity button{font-size:1.1rem}
.add-main{transition:background .2s,transform .15s}
.add-main:active,.hero-actions>a:active{transform:scale(.98)}
details>summary{list-style:none;display:flex;justify-content:space-between}
details>summary::after{content:"+";transition:transform .25s}
details[open]>summary::after{transform:rotate(45deg)}
details>*:not(summary){animation:fade-in .3s ease both}
.site-header{transition:box-shadow .3s,background .3s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(23,49,38,.07)}
.page-loading::before{content:"";position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;background:#a74b2e;transform-origin:left;animation:loadbar 1.1s ease-out forwards}
@keyframes loadbar{from{transform:scaleX(0)}to{transform:scaleX(.85)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.18s ease both vt-out}
::view-transition-new(root){animation:.28s ease both vt-in}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0}}
/* páginas heredadas del PHP (admin, pedido, acceso) */
.section{padding:clamp(65px,8vw,118px) clamp(20px,6vw,92px)}
.section h1,.section h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:.98}
.auth{min-height:60vh;display:grid;place-items:center}
.auth form{width:min(90vw,390px);display:grid;gap:15px}
.auth h1{font:400 3rem Georgia,serif;margin:0}
.auth label{display:grid;gap:8px;font-size:.8rem;font-weight:700}
.auth input,.admin-products input[type=number]{border:1px solid var(--border);background:#fffdf8;padding:12px;min-height:46px;color:var(--foreground)}
.button{display:inline-flex;justify-content:center;align-items:center;background:var(--primary);color:#fff;padding:16px 24px;border:0;cursor:pointer;font-weight:700}
.error{color:#a7281a}.notice{padding:12px;background:#e7f3e8}
.admin-head{display:flex;justify-content:space-between;align-items:end}
.admin h1{font-size:4rem;margin:0}
.admin-products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.admin-products form{display:grid;gap:9px;padding:14px;border:1px solid var(--border);background:#fffdf8}
.admin-products img{width:100%;height:150px;object-fit:contain;background:#fff}
.admin-products button{background:var(--primary);color:#fff;border:0;padding:10px;cursor:pointer}
.orders article{display:grid;grid-template-columns:1.5fr 2fr 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}
@media(max-width:900px){.admin-products{grid-template-columns:1fr}.orders article{grid-template-columns:1fr}.mobile-nav.open{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
[hidden]{display:none!important}

/* ===== administración ===== */
.admin-access{min-height:calc(100svh - 236px);display:grid;place-content:center;justify-items:center;text-align:center;padding:60px 24px}
.admin-access>span{width:62px;height:62px;display:grid;place-items:center;color:#fff;background:var(--primary);margin-bottom:22px}
.admin-access h1{margin:6px 0 10px;font-family:Georgia,serif;font-size:2.8rem;font-weight:400;letter-spacing:-.04em}
.admin-access>p:not(.kicker){max-width:420px;color:#68736b;line-height:1.6}
.admin-login{width:min(92vw,380px);display:grid;gap:16px;margin-top:22px;text-align:left}
.admin-login label{display:grid;gap:8px;font-size:.78rem;font-weight:700;color:#526159}
.admin-login input{min-height:48px;border:1px solid var(--border);background:rgba(255,255,255,.55);padding:0 13px;font:inherit;outline:none}
.admin-login input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.admin-login .checkout-error{margin:0}
.admin-logout{padding:11px 16px;border:1px solid var(--border);font-size:.76rem;font-weight:700;transition:background .2s,color .2s}
.admin-logout:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.admin-tablist{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:none}
.admin-tablist::-webkit-scrollbar{display:none}
.admin-tablist button{flex:none;display:inline-flex;align-items:center;gap:8px;padding:13px 4px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:#68736b;font-size:.84rem;font-weight:700;cursor:pointer;transition:color .2s,border-color .2s}
.admin-tablist button:hover{color:var(--foreground)}
.admin-tablist button.active{color:var(--foreground);border-bottom-color:#a74b2e}
.admin-tablist b{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#a74b2e;font-size:.63rem}
.admin-panel{animation:fade-up .3s var(--ease) both}
.admin-stats article>span svg{width:18px;height:18px}
.admin-product-fields select,.admin-select,.admin-product-fields input{width:100%;min-height:40px;border:1px solid var(--border);background:#fff;padding:0 10px;color:var(--foreground);font:inherit}
.admin-product-fields input:focus,.admin-product-fields select:focus,.branch-edit input:focus,.admin-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.admin-product-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px}
.admin-product-fields{display:grid;gap:13px;align-content:start}
.admin-product-fields>label,.admin-product-row>label{display:grid;gap:6px;color:#526159;font-size:.7rem;font-weight:700}
.admin-products-grid>article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px;border:1px solid var(--border);transition:opacity .2s,background .2s}
.admin-products-grid>article.is-hidden{opacity:.62;background:#f1eee7}
.admin-product-image{position:relative;min-height:150px;background:#fff}
.admin-product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8px}
.admin-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.switch{display:inline-flex!important;align-items:center;gap:8px;font-size:.7rem;font-weight:700;cursor:pointer;user-select:none}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch i{position:relative;width:34px;height:20px;border-radius:20px;background:#cfc8ba;transition:background .2s;flex:none}
.switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked+i{background:var(--primary)}
.switch input:checked+i::after{transform:translateX(14px)}
.switch input:focus-visible+i{box-shadow:0 0 0 2px rgba(23,59,44,.35)}
.admin-product-toggles{display:flex;flex-wrap:wrap;gap:10px 18px}
.save-stock{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:1px solid var(--primary);background:transparent;color:var(--primary);cursor:pointer;font-size:.75rem;font-weight:700;justify-self:start;transition:background .2s,color .2s}
.save-stock:hover{background:var(--primary);color:#fff}
.save-stock:disabled{opacity:.6;cursor:wait}
.admin-table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:.84rem}
.admin-table th{text-align:left;color:#6b756e;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;padding:13px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.admin-table td{padding:15px 10px;vertical-align:top;border-bottom:1px solid var(--border)}
.admin-table tbody tr{transition:background .2s}
.admin-table tbody tr:hover{background:rgba(23,59,44,.03)}
.admin-table td>strong,.admin-table td>small{display:block}
.admin-table td>small{color:#737c76;margin-top:5px;font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}
.admin-table td:first-child{min-width:190px;max-width:250px}
.admin-order-items{max-width:330px;margin-top:9px!important;color:#536159!important}
.admin-select{min-width:170px}
.branch-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.branch-edit{border:1px solid var(--border);padding:22px}
.branch-edit form{display:grid;gap:10px}
.branch-edit label{display:grid;gap:4px;font-size:.68rem;color:#6c766f}
.branch-edit input{height:40px;padding:0 10px;border:1px solid var(--border);background:#fff;font:inherit;color:inherit}
.branch-edit .switch{display:flex;grid-template-columns:none}
.branch-actions{display:flex;gap:10px;align-items:center;margin-top:6px}
.sales-bars{display:flex;align-items:flex-end;gap:6px;height:220px;padding:20px 0 0;margin-bottom:28px;border-bottom:1px solid var(--border)}
.sales-bars>div{flex:1;min-width:14px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.sales-bars i{display:block;width:100%;background:linear-gradient(#a74b2e,#c9805f);transition:opacity .2s;transform-origin:bottom;animation:grow .6s var(--ease) both}
.sales-bars>div:hover i{opacity:.8}
.sales-bars span{font-size:.6rem;color:#6b756e}
@keyframes grow{from{transform:scaleY(0)}}
.toast{position:fixed;left:50%;bottom:28px;z-index:300;transform:translate(-50%,20px);padding:13px 20px;background:var(--primary);color:#fff;font-size:.82rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .25s,transform .3s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.bad{background:#a7281a}
@media(max-width:1200px){.admin-products-grid{grid-template-columns:1fr}}
@media(max-width:900px){.branch-admin-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-products-grid>article{grid-template-columns:1fr}.admin-product-image{min-height:240px}.admin-product-row{grid-template-columns:1fr}}
/* ===== admin: productos (existencias, fotos, detalles, buscador) ===== */
.admin-search{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:0 16px;border:1px solid var(--border);background:#fff;position:sticky;top:76px;z-index:15;transition:border-color .2s,box-shadow .2s}
.admin-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.admin-search svg{flex:none;color:#6b756e}
.admin-search input{flex:1;min-width:0;height:50px;border:0;background:transparent;font:inherit;outline:none}
.admin-search span{flex:none;color:#6b756e;font-size:.75rem;white-space:nowrap}
.admin-products-grid{grid-template-columns:1fr!important}
.admin-products-grid>article{grid-template-columns:230px minmax(0,1fr)!important;gap:26px!important}
.admin-product-media{display:grid;gap:12px;align-content:start}
.admin-product-media .admin-product-image{aspect-ratio:1;min-height:0}
.stock-chip{position:absolute;left:8px;top:8px;z-index:2;padding:5px 9px;background:var(--primary);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.stock-chip.low{background:#c65b38}.stock-chip.out{background:#a7281a}.stock-chip.none{background:#7a847d}
.upload-actions{display:flex;gap:8px;flex-wrap:wrap}
.upload-btn{cursor:pointer;position:relative}
.upload-btn.loading{opacity:.6;pointer-events:none}
.upload-btn.loading span::after{content:"…"}
.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.g-item{position:relative;aspect-ratio:1;background:#fff;border:1px solid var(--border);overflow:hidden;animation:fade-in .3s ease both}
.g-item img{width:100%;height:100%;object-fit:contain}
.g-item button{position:absolute;top:3px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(23,49,38,.85);color:#fff;font-size:.85rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s;display:grid;place-items:center;padding:0}
.g-item [data-img-main]{left:3px}.g-item [data-img-remove]{right:3px;background:rgba(167,40,26,.9)}
.g-item:hover button,.g-item:focus-within button{opacity:1}
@media(hover:none){.g-item button{opacity:1}}
.admin-stock{display:grid;gap:10px;padding:14px;border:1px solid var(--border);background:rgba(23,59,44,.03)}
.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;animation:fade-up .25s var(--ease) both}
.stock-grid label{display:grid;gap:5px;font-size:.68rem;font-weight:700;color:#526159}
.stock-total{grid-column:1/-1;margin:0;font-size:.78rem;color:#526159}
.stock-hint{margin:0;color:#6b756e;font-size:.72rem}
.admin-details{border:1px solid var(--border);background:#fff}
.admin-details>summary{cursor:pointer;padding:13px 16px;font-size:.8rem;font-weight:700}
.admin-details-body{display:grid;gap:12px;padding:4px 16px 18px}
.admin-details-body label{display:grid;gap:6px;font-size:.7rem;font-weight:700;color:#526159}
.admin-details-body input,.admin-details-body textarea{width:100%;border:1px solid var(--border);background:#fff;padding:10px;font:inherit;color:var(--foreground);resize:vertical}
.admin-details-body textarea:focus,.admin-details-body input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.admin-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.product-badge.out{background:#a7281a}
.add-main:disabled,.product-price button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.admin-products-grid>article{grid-template-columns:1fr!important}.admin-product-media{grid-template-columns:1fr}.admin-product-media .admin-product-image{aspect-ratio:4/3}.admin-search{top:66px}}

/* ajustes: productos más compactos y sucursales */
.admin-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
.admin-products-grid>article{grid-template-columns:190px minmax(0,1fr)!important;gap:20px!important}
@media(max-width:1150px){.admin-products-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){.admin-products-grid>article{grid-template-columns:1fr!important}}
.branch-edit h3{margin:0 0 4px;font-family:Georgia,serif;font-size:1.3rem;font-weight:400}
.branch-new{border-style:dashed;background:rgba(23,59,44,.03)}
.save-stock.danger{border-color:#a7281a;color:#a7281a}
.save-stock.danger:hover{background:#a7281a;color:#fff}
/* sucursales: formulario compacto */
.branch-admin-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))!important;gap:16px;align-items:start}
.branch-edit{padding:20px}
.branch-edit form{grid-template-columns:1fr 1fr;gap:12px 14px;align-items:end}
.branch-edit input{width:100%;min-width:0}
.branch-edit .wide,.branch-edit h3,.branch-edit .switch,.branch-edit .branch-actions{grid-column:1/-1}
.branch-edit .branch-actions{margin-top:4px}
@media(max-width:520px){.branch-admin-grid{grid-template-columns:1fr!important}.branch-edit form{grid-template-columns:1fr}}

/* usuarios */
.users-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.user-box{border:1px solid var(--border);padding:22px;background:#fff}
.user-box h3,.users-title{margin:0 0 12px;font-family:Georgia,serif;font-size:1.3rem;font-weight:400}
.users-title{margin:32px 0 14px}
.user-box form{display:grid;gap:12px}
.user-box label{display:grid;gap:6px;font-size:.7rem;font-weight:700;color:#526159}
.user-box input,.user-reset input{width:100%;min-height:42px;border:1px solid var(--border);background:#fff;padding:0 12px;font:inherit;color:var(--foreground)}
.user-box input:focus,.user-reset input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.user-hint{margin:0;color:#6b756e;font-size:.72rem;line-height:1.5}
.users-list{display:grid;gap:10px}
.user-card{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--border);background:#fff;transition:opacity .2s,background .2s}
.user-card.is-off{opacity:.6;background:#f1eee7}
.user-main{display:flex;align-items:center;gap:14px}
.user-main small{display:block;color:#6b756e;margin-top:3px;font-size:.72rem}
.user-main em{font-style:normal;color:#a74b2e;font-size:.72rem}
.user-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;flex:none}
.user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.user-reset{display:flex;gap:10px;animation:fade-up .25s var(--ease) both}
.user-reset[hidden]{display:none!important}
.user-reset input{flex:1}
@media(min-width:900px){.user-card{grid-template-columns:1fr auto;align-items:center}.user-reset{grid-column:1/-1}}

/* ===== colección: panel de filtros ===== */
.catalog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(24px,3vw,48px);padding:36px clamp(22px,5vw,76px) 0;align-items:start}
.filters-panel{position:sticky;top:96px;display:grid;gap:22px;padding:22px;border:1px solid var(--border);background:#fffdf8;max-height:calc(100svh - 116px);overflow:auto;scrollbar-width:thin}
.filters-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.filters-head strong{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}
.filters-clear{border:0;background:none;color:#a74b2e;font-size:.74rem;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}
.filters-close{display:none;border:0;background:none;cursor:pointer;color:inherit;padding:4px}
.filters-panel fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.filters-panel legend{padding:0;margin-bottom:10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#6b756e;font-weight:700}
.f-search{display:grid;gap:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#6b756e;font-weight:700}
.f-search>div{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;padding:0 12px;text-transform:none;letter-spacing:0;transition:border-color .2s,box-shadow .2s}
.f-search>div:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.f-search svg{flex:none;color:#6b756e}
.f-search input{flex:1;min-width:0;height:44px;border:0;background:transparent;font:inherit;font-size:.9rem;color:var(--foreground);outline:none}
.f-search small{text-transform:none;letter-spacing:0;font-weight:400;font-size:.68rem;line-height:1.5;color:#6b756e}
.f-search code{background:#f1eee7;padding:1px 4px;font-size:.66rem}
.f-cats{display:grid;gap:2px}
.f-cats button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:0;background:transparent;cursor:pointer;font-size:.86rem;color:var(--foreground);text-align:left;transition:background .2s,color .2s}
.f-cats button:hover{background:rgba(23,59,44,.06)}
.f-cats button.active{background:var(--primary);color:#fff}
.f-cats b{font-size:.7rem;font-weight:700;opacity:.65}
.f-price{display:flex;align-items:center;gap:8px}
.f-price input,.filters-panel select{width:100%;min-width:0;height:42px;border:1px solid var(--border);background:#fff;padding:0 10px;font:inherit;color:var(--foreground)}
.f-price input:focus,.filters-panel select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.filters-apply{display:none;min-height:50px;border:0;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;padding:0 18px}
.catalog-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.catalog-bar p{margin:0;color:#69746d;font-size:.82rem}
.catalog-bar p strong{color:var(--foreground)}
.filters-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--primary);background:transparent;color:var(--primary);font-weight:700;font-size:.8rem;cursor:pointer}
.filters-toggle b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:9px;background:#a74b2e;color:#fff;font-size:.62rem}
.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px 7px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:.76rem;cursor:pointer;color:var(--foreground);transition:border-color .2s,background .2s;animation:fade-in .2s ease both}
.chip:hover{border-color:#a74b2e;background:#fff7f2}
.chip svg{width:12px;height:12px}
.catalog-layout .catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-layout .product-card{grid-column:span 1}
.catalog-empty .filters-apply{display:inline-flex;align-items:center;margin-top:16px}
.filters-backdrop{display:none}
@media(max-width:1280px){.catalog-layout .catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .catalog-layout{grid-template-columns:1fr;padding-top:20px}
  .filters-toggle{display:inline-flex}
  .filters-panel{position:fixed;z-index:130;top:0;left:0;bottom:0;width:min(88vw,340px);max-height:none;border:0;transform:translateX(-102%);transition:transform .35s var(--ease);box-shadow:18px 0 50px rgba(23,49,38,.18);padding:20px 20px 28px}
  .filters-panel.open{transform:none}
  .filters-close{display:inline-grid}
  .filters-apply{display:inline-flex;align-items:center;justify-content:center}
  .filters-backdrop{display:block;position:fixed;inset:0;z-index:120;background:rgba(10,24,17,.45);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
  body.filters-open .filters-backdrop{opacity:1;visibility:visible;transition-delay:0s}
  body.filters-open{overflow:hidden}
}
@media(max-width:700px){.catalog-layout .catalog-product-grid{grid-template-columns:1fr}}
/* ===== pie de página ===== */
.site-footer{grid-template-columns:1.2fr 1.5fr .8fr!important;gap:clamp(28px,5vw,64px)!important;align-items:start!important;padding-top:56px!important;padding-bottom:36px!important}
.footer-brand p{margin:14px 0 20px!important;text-align:left!important;color:#aebbb3}
.footer-social{display:grid;gap:10px}
.footer-social a{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;color:#e8e5de;transition:color .2s}
.footer-social a:hover,.footer-col a:hover{color:#d9c7a6}
.footer-col h4{margin:0 0 16px;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#d9c7a6}
.footer-col address{display:grid;gap:4px;margin:0 0 16px;font-style:normal;font-size:.84rem;line-height:1.55;color:#aebbb3}
.footer-col address strong{color:#f0ede6;font-size:.9rem}
.footer-col address a{color:#aebbb3;transition:color .2s}
.footer-col nav{display:grid;gap:10px;font-size:.88rem}
.footer-col nav a{color:#e8e5de;transition:color .2s}
.site-footer .footer-copy{grid-column:1/-1;justify-self:start!important;padding-top:24px;margin-top:8px;border-top:1px solid rgba(255,255,255,.12);width:100%;color:#8c9a92!important;font-size:.74rem}
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.site-footer{grid-template-columns:1fr!important;text-align:left!important}.site-footer .wordmark,.site-footer>span{justify-self:start!important}}
.filters-apply{gap:.4em}
@media(max-width:900px){.filters-backdrop{z-index:129}}
@media(max-width:900px){.filters-panel{padding-top:86px}}

/* ===== envíos (checkout + admin) ===== */
.ship-box{margin-top:18px;display:grid;gap:10px;animation:fade-up .3s var(--ease) both}
.ship-box[hidden]{display:none!important}
.ship-status{margin:0;font-size:.78rem;color:#526159;line-height:1.5}
.ship-status.loading::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid #cfc8ba;border-top-color:var(--primary);border-radius:50%;vertical-align:-2px;animation:spin 1s linear infinite}
.ship-status.bad{color:#a7281a}.ship-status.warn{color:#8b5d00;background:#fff7e0;padding:10px 12px}
.ship-options{display:grid;gap:8px}
.ship-options label{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);background:rgba(255,255,255,.4);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;animation:fade-up .3s var(--ease) both}
.ship-options label.selected{border-color:var(--primary);background:#fffdf8;box-shadow:inset 0 0 0 1px var(--primary)}
.ship-options input{accent-color:var(--primary)}
.ship-name{display:grid;gap:3px}.ship-name strong{font-size:.84rem}.ship-name small{color:#69746d;font-size:.72rem}
.ship-price{font-weight:700;font-size:.9rem}
.pay-button:disabled{opacity:.5;cursor:not-allowed}
.admin-dims{display:grid;gap:10px;padding:14px;border:1px solid var(--border);background:rgba(23,59,44,.03)}
.admin-dims>strong{display:flex;align-items:center;gap:8px;font-size:.78rem}
.admin-dims small{font-weight:400;color:#6b756e}
.dims-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dims-grid label{display:grid;gap:5px;font-size:.66rem;font-weight:700;color:#526159}
.dims-grid input{width:100%;min-width:0;min-height:38px;border:1px solid var(--border);background:#fff;padding:0 8px;font:inherit;color:var(--foreground)}
.dims-grid input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
@media(max-width:520px){.dims-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fx-status{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;font-size:.82rem}
.fx-status li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.fx-status li span{color:#6b756e}
.fx-status li.ok,.fx-status li.bad{justify-content:flex-start;gap:8px;font-weight:700;border:0}
.fx-status li.ok b{color:#2d8054}.fx-status li.bad b{color:#a7281a}
.fx-result{margin-top:14px;padding:14px;font-size:.82rem;line-height:1.5;display:grid;gap:8px}
.fx-result.ok{background:#e7f3e8}.fx-result.bad{background:#f9eae5;color:#8d2f20}
.fx-row{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(23,59,44,.12)}
.fx-row small{display:block;color:#526159}
.fx-result[hidden]{display:none}
.missing-list{display:flex;flex-wrap:wrap;gap:8px}
.flash{animation:flash 1.4s ease}
@keyframes flash{0%,60%{box-shadow:0 0 0 3px rgba(167,75,46,.55)}100%{box-shadow:0 0 0 0 rgba(167,75,46,0)}}
.address-fields label,.invoice-fields label{display:grid;gap:8px;color:#526159;font-size:.76rem;font-weight:700}
.address-fields input,.invoice-fields input{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);background:rgba(255,255,255,.45);padding:0 13px;font:inherit;color:var(--foreground);outline:none}
.address-fields input:focus,.invoice-fields input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(23,59,44,.1)}
.address-fields .wide{grid-column:1/-1}
@media(max-width:700px){.address-fields.show,.invoice-fields.show{grid-template-columns:1fr}}
