/*
Theme Name: chibiPerfume Studio
Description: Independent block theme for the approved chibiPerfume homepage and WooCommerce catalog.
Version: 1.1.67
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: chibiperfume-studio
*/
html { color-scheme: light; }
body { margin: 0; background: #f6f1e8; color: #29211f; font-family: "DM Sans", Arial, sans-serif; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
.chibi-home { margin: 0; padding: 0; max-width: none; }
/* Contain WooCommerce's absolutely positioned accessible price-range text in the carousel. */
.chibi-mystery__card { position: relative; }
.chibi-site-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px max(20px, calc((100vw - 1280px)/2)); border-bottom: 1px solid #d8cbc3; }
.chibi-site-nav a { color: #702f3d; }
.chibi-site-nav__brand { font: 500 28px/1.2 "Fraunces", Georgia, serif; text-decoration: none; }
.chibi-catalog { max-width: 1280px; margin: 0 auto; padding: 40px 20px; }
.chibi-catalog img { max-width: 100%; height: auto; }
.chibi-catalog .products li.product img { aspect-ratio: 2/3; object-fit: cover; }
.chibi-catalog a:focus-visible, .chibi-site-nav a:focus-visible { outline: 2px solid #702f3d; outline-offset: 5px; }
.chibi-catalog .button { border-radius: 0; }
@media (min-width:1200px) {
  .chibi-catalog { box-sizing: border-box; max-width: calc(var(--site-content-width, 1400px) + 96px); padding-inline: 48px; }
  .chibi-site-nav { padding-inline: max(48px, calc((100% - var(--site-content-width, 1400px)) / 2)); }
}

:root{--site-content-width:1400px;--cs-cream:#f6f1e8;--cs-paper:#fffcf8;--cs-wine:#702f3d;--cs-ink:#29211f;--cs-line:#d8cbc3;--cs-height:76px;--cs-ease:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:calc(var(--cs-offset,var(--cs-height)) + 20px);scrollbar-color:var(--cs-wine) var(--cs-cream)}
body{margin:0;background:var(--cs-cream);color:var(--cs-ink);font-family:'DM Sans',Arial,sans-serif}
::selection{background:var(--cs-wine);color:var(--cs-cream)}
.cs-announcement{position:relative;background:var(--cs-wine);color:var(--cs-cream);font:400 13px/1.5 'DM Sans',Arial,sans-serif}
.cs-announcement-link{box-sizing:border-box;min-height:36px;max-width:var(--site-content-width);margin-inline:auto;padding:6px 40px;display:flex;align-items:center;justify-content:center;gap:12px;color:inherit;text-decoration:none}
.cs-announcement-slides{display:grid;min-width:0}
.cs-announcement[data-rotating] .cs-announcement-copy{grid-area:1/1;align-self:center;animation:none;transition:opacity 350ms,transform 350ms;opacity:0;visibility:hidden;transform:translateY(4px)}
.cs-announcement[data-slide="0"] [data-announcement-slide="0"],.cs-announcement[data-slide="1"] [data-announcement-slide="1"]{opacity:1;visibility:visible;transform:translateY(0)}
.cs-announcement-copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 8px;min-width:0;text-align:center;animation:cs-announcement-enter 650ms var(--cs-ease) both}
.cs-announcement-price{font-weight:600;white-space:nowrap}
.cs-announcement-link svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform 350ms var(--cs-ease)}
.cs-announcement-link:hover svg,.cs-announcement-link:focus-visible svg{transform:translateX(3px)}
.cs-announcement-link:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
@media(max-width:767px){.cs-announcement-link{min-height:44px;gap:8px;padding:6px 16px}.cs-announcement-link>svg{display:none}.cs-announcement-copy{flex-direction:column;font-size:12px;line-height:16px}.cs-announcement-separator{display:none}}
@keyframes cs-announcement-enter{from{opacity:.7;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.cs-header,.cs-footer,.cs-dialog,.cs-header *,.cs-footer *,.cs-dialog *{box-sizing:border-box}
.cs-header{position:sticky;top:0;z-index:30;background:var(--cs-cream);border-bottom:1px solid var(--cs-line);color:var(--cs-wine);font:400 15px/1.5 'DM Sans',Arial,sans-serif}
.wp-site-blocks>.wp-block-template-part:has(>.cs-header){position:sticky;top:0;z-index:30}
.wp-site-blocks>.wp-block-template-part:has(>.cs-announcement){top:calc(-1 * var(--cs-announcement-height,36px))}
@media(max-width:767px){.wp-site-blocks>.wp-block-template-part:has(>.cs-announcement){top:calc(-1 * var(--cs-announcement-height,44px))}}
body:has(.cs-header) .pd-summary.is-sticky{top:calc(var(--cs-offset,var(--cs-height)) + 24px)}
.cs-header-inner{max-width:1376px;margin:auto;min-height:var(--cs-height);padding:12px 48px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px}
.cs-logo{display:flex;align-items:center;align-self:center;width:182px;min-height:44px}
.cs-logo img,.cs-menu-logo img,.cs-footer-brand img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain}
.cs-header a{color:inherit;text-decoration:none}
.cs-nav{display:flex;align-items:center;justify-content:center;gap:32px}
.cs-nav a,.cs-footer-group a{position:relative;width:fit-content;padding:8px 0}
.cs-nav a::after,.cs-footer-group a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 450ms var(--cs-ease)}
.cs-nav a:hover::after,.cs-nav a:focus-visible::after,.cs-nav a[aria-current]::after,.cs-footer-group a:hover::after,.cs-footer-group a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.cs-tools{display:flex;gap:12px;align-items:center;justify-self:end}
.cs-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px;border:1px solid transparent;background:transparent;color:inherit;border-radius:0;cursor:pointer;flex-shrink:0;transition:background 250ms,border-color 250ms}
.cs-icon:hover:not(:disabled){border-color:currentColor;background:rgb(112 47 61 / .04)}
.cs-icon:disabled{opacity:.48;cursor:not-allowed}
.cs-header svg,.cs-footer svg,.cs-dialog svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cs-header :focus-visible,.cs-footer :focus-visible,.cs-dialog :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.cs-skip{position:absolute;top:12px;left:20px;padding:12px;background:var(--cs-wine);color:var(--cs-paper)!important;z-index:50}
.cs-skip:not(:focus){width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.cs-menu-toggle[hidden]{display:none}
.cs-dialog{color:var(--cs-wine);background:var(--cs-cream);border:0;padding:32px;margin:auto;width:min(760px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;font:400 16px/1.5 'DM Sans',Arial,sans-serif;overscroll-behavior:contain;scrollbar-color:var(--cs-wine) var(--cs-cream)}
.cs-dialog::backdrop{background:rgb(41 33 31 / .48)}
.cs-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.cs-dialog-top h2{font:500 clamp(26px,4vw,36px)/1.2 'Fraunces',Georgia,serif;margin:0;max-width:80%}
.cs-dialog a{color:inherit;text-decoration:none}
.cs-search-field{display:flex;gap:12px;margin-top:12px}
.cs-search input[type=search]{min-width:0;flex:1;border:1px solid var(--cs-wine);border-radius:0;background:transparent;padding:14px;font:inherit;color:var(--cs-ink);caret-color:var(--cs-wine)}
.cs-search input::placeholder{color:#6c5c57}
.cs-search-note,.cs-search [role=status]{font-size:14px;line-height:1.6}
.cs-search-note{color:#6c5c57;margin:18px 0 28px}
.cs-results{list-style:none;padding:0;margin:0;max-height:45dvh;overflow:auto}
.cs-results a{padding:16px 4px;border-top:1px solid var(--cs-line);display:flex;justify-content:space-between;gap:24px;align-items:baseline}
.cs-results a:hover{background:var(--cs-paper)}
.cs-results span{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cs-fill{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:14px 22px;min-height:50px;border:1px solid currentColor;border-radius:0;font:500 15px/1.4 'DM Sans',Arial,sans-serif;text-decoration:none!important;color:var(--cs-wine);background:transparent;cursor:pointer;transition:color 350ms}
.cs-fill::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--cs-wine);transform:translateX(-102%);transition:transform 600ms var(--cs-ease)}
.cs-fill:hover,.cs-fill:focus-visible{color:var(--cs-cream)}
.cs-fill:hover::before,.cs-fill:focus-visible::before{transform:translateX(0)}
.cs-menu{height:100dvh;max-height:100dvh;width:min(480px,100vw);max-width:100vw;margin:0 auto 0 0;padding:24px 28px 40px}
.cs-menu-logo{display:block;width:240px;max-width:90%;margin:28px 0 36px}
.cs-menu nav{display:flex;flex-direction:column;margin-bottom:36px}
.cs-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--cs-line);font:500 30px/1.2 'Fraunces',Georgia,serif}
.cs-menu nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.cs-menu-search{width:100%}.cs-menu-note{font-size:14px;margin-top:32px}
.cs-footer,.cs-whatsapp{--cs-space-1:4px;--cs-space-2:8px;--cs-space-3:12px;--cs-space-4:16px;--cs-space-6:24px;--cs-space-8:32px;--cs-contact-size:52px}
.cs-footer{font:400 16px/1.6 'DM Sans',Arial,sans-serif;clear:both}
.cs-footer-brand{border-top:1px solid var(--cs-line);max-width:1376px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:64px;padding:64px 48px}
.cs-footer-brand>a{width:380px;max-width:48%}
.cs-footer-brand>p{margin:0;font:500 clamp(28px,3.2vw,44px)/1.2 'Fraunces',Georgia,serif;color:var(--cs-wine)}
.cs-footer-wine{background:var(--cs-wine);color:var(--cs-cream)}
.cs-footer-wine a{color:inherit;text-underline-offset:5px}
.cs-footer-main{max-width:1376px;margin:auto;padding:64px 48px 56px;display:grid;grid-template-columns:1.5fr repeat(2,minmax(0,1fr));gap:48px}
.cs-footer-invite h2{font:500 36px/1.2 'Fraunces',Georgia,serif;margin:0 0 var(--cs-space-6)}
.cs-footer-invite .cs-fill{color:var(--cs-cream);font-size:14px}
.cs-footer-invite .cs-fill::before{background:var(--cs-cream)}
.cs-footer-invite .cs-fill:hover,.cs-footer-invite .cs-fill:focus-visible{color:var(--cs-wine)}
.cs-footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cs-space-3);margin-top:var(--cs-space-4);color:var(--cs-cream)}
.cs-social-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;cursor:pointer}
.cs-footer-social svg{width:22px;height:22px;stroke-width:1.7}
.cs-footer-social .cs-social-dot{fill:currentColor;stroke:none}
.cs-footer-group summary{font-weight:600;line-height:1.5;list-style:none;display:flex;justify-content:space-between;align-items:center;margin:0 0 var(--cs-space-4);padding:0}
.cs-footer-group summary::-webkit-details-marker{display:none}
.cs-footer-group summary svg{display:none}
.cs-footer-group nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.cs-footer-group a{text-decoration:none;font-size:15px;overflow-wrap:anywhere}
.cs-footer-bottom{max-width:1280px;margin:0 auto;border-top:1px solid rgb(246 241 232 / .32);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--cs-space-2) var(--cs-space-6);padding:var(--cs-space-6) 0;padding-inline-end:calc(var(--cs-contact-size) + var(--cs-space-6));font-size:13px}
.cs-footer-bottom p{margin:0}
.cs-preview-note{max-width:1280px;margin:auto;padding:0 0 24px;font-size:12px}.cs-preview-note summary{cursor:pointer}.cs-preview-note p{max-width:70ch}
/* Center the visible wordmark, not the taller bottle/star artwork bounds. */
.cs-logo img{position:relative;top:-3px}
@media(min-width:1100px){.cs-menu-toggle{display:none!important}}
@media(max-width:1375px){.cs-footer-bottom,.cs-preview-note{margin-inline:48px}}
/* Desktop net content width; the 48px gutters sit outside the shared measure. */
@media(min-width:1200px){
 .cs-header-inner,.cs-footer-brand,.cs-footer-main{max-width:calc(var(--site-content-width) + 96px)}
 .cs-footer-bottom,.cs-preview-note{max-width:var(--site-content-width);width:calc(100% - 96px);margin-inline:auto}
}
@media(max-width:1099px){:root{--cs-height:80px}.cs-header-inner{grid-template-columns:44px 1fr 44px;gap:16px;padding:10px 24px}.cs-logo{width:210px;max-width:100%;justify-self:center}.cs-tools{justify-content:flex-end}.cs-header[data-ready] .cs-nav,.cs-header[data-ready] .cs-search-toggle{display:none}.cs-header:not([data-ready]) .cs-header-inner{grid-template-columns:1fr auto}.cs-header:not([data-ready]) .cs-nav{grid-row:2;grid-column:1/-1;flex-wrap:wrap;gap:12px 24px}.cs-header:not([data-ready]) .cs-logo{justify-self:start}.cs-footer-main{gap:32px;grid-template-columns:1.3fr 1fr 1fr}.cs-footer-brand{gap:32px}}
@media(max-width:767px){:root{--cs-height:76px}.cs-header-inner{padding:10px 16px;gap:8px}.cs-logo{width:180px}.cs-dialog{padding:24px 20px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.cs-menu{width:100vw;max-height:100dvh;padding:24px}.cs-dialog-top{gap:12px}.cs-search-field{gap:8px}.cs-search input[type=search]{padding:12px;width:0}.cs-search-field .cs-fill{padding:12px;font-size:14px}.cs-results a{flex-direction:column;gap:6px}.cs-footer-brand{padding:48px var(--cs-space-6);gap:var(--cs-space-6);flex-direction:column;align-items:flex-start}.cs-footer-brand>a{width:280px;max-width:100%}.cs-footer-brand>p{font-size:30px}.cs-footer-main{padding:40px var(--cs-space-6) 0;display:flex;flex-direction:column;gap:0}.cs-footer-invite{margin-bottom:var(--cs-space-8)}.cs-footer-invite h2{font-size:32px}.cs-footer-group{border-top:1px solid rgb(246 241 232 / .32);padding:0}.cs-footer-group summary{margin:0;min-height:56px;padding:var(--cs-space-4) 0;cursor:pointer}.cs-footer-group summary svg{display:block;transition:transform 300ms var(--cs-ease)}.cs-footer-group[open] summary svg{transform:rotate(180deg)}.cs-footer-group nav{padding:0 0 var(--cs-space-4)}.cs-footer-bottom{margin-inline:var(--cs-space-6);align-items:flex-start}.cs-preview-note{margin-inline:var(--cs-space-6);padding-bottom:var(--cs-space-6)}body:has([data-mobile-bar]) .cs-footer-wine{padding-bottom:calc(var(--cs-product-bar,112px) + env(safe-area-inset-bottom))}}
/* A footer sibling keeps the fixed link outside the footer reveal's clipping. */
.cs-whatsapp{--cs-whatsapp-green:#128c4a;box-sizing:border-box;position:fixed;right:calc(var(--cs-space-2) + env(safe-area-inset-right,0px));bottom:calc(var(--cs-space-4) + env(safe-area-inset-bottom,0px));z-index:20;display:flex;align-items:center;justify-content:center;width:var(--cs-contact-size);height:var(--cs-contact-size);padding:var(--cs-space-2);border:1px solid var(--cs-cream);border-radius:50%;background:var(--cs-whatsapp-green);color:var(--cs-cream);text-decoration:none;box-shadow:0 var(--cs-space-1) var(--cs-space-4) rgb(41 33 31 / .16);animation:cs-contact-enter 500ms var(--cs-ease) backwards,cs-contact-breathe 3s ease-in-out 500ms infinite;transition:transform 240ms var(--cs-ease),box-shadow 240ms var(--cs-ease)}
.cs-whatsapp svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cs-whatsapp:focus-visible{outline:3px solid var(--cs-wine);outline-offset:var(--cs-space-1);box-shadow:0 0 0 var(--cs-space-1) var(--cs-cream)}
.cs-whatsapp[hidden],body:has(dialog[open]) .cs-whatsapp{display:none}
@media(hover:hover){.cs-whatsapp:hover{transform:translateY(-4px);box-shadow:0 var(--cs-space-2) var(--cs-space-6) rgb(41 33 31 / .2)}}
@media(max-width:767px){body:has([data-mobile-bar]) .cs-whatsapp{bottom:calc(var(--cs-space-4) + max(var(--cs-contact-bar,var(--cs-product-bar,112px)),env(safe-area-inset-bottom,0px)))}}
@keyframes cs-contact-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes cs-contact-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.1)}}
/* Authored perfume line icons: decorative, intrinsic size, no external requests. */
svg.pi-icon{display:inline-block;width:2rem;height:2rem;flex:0 0 2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--cs-wine,#702f3d);vertical-align:middle}
.hs-heading .pi-heading{display:flex;align-items:center;gap:.75rem}
.hs-heading .pi-heading .pi-icon{width:2rem;height:2rem;flex-basis:2rem}
.scoop-process .pi-process{padding-left:2.75rem}
.scoop-process .pi-process::before{content:none}
.pi-process>.pi-icon{position:absolute;left:0;top:1rem}
.pi-note{display:flex;align-items:flex-start;gap:.75rem}
.pi-note>span{min-width:0}
.pi-note>.pi-icon{margin-top:.125rem}
.scoop-fine.pi-note>.pi-icon{width:1.5rem;height:1.5rem;flex-basis:1.5rem}
.scoop-step .pi-legend{display:flex;align-items:center}
.pi-legend>.pi-icon{margin-right:.75rem}
.scoop-step .pi-legend>span{margin-right:.5rem}
.pi-quota{display:flex;align-items:center;gap:.5rem}
.pi-quota>.pi-icon{width:1.5rem;height:1.5rem;flex-basis:1.5rem;transform-origin:center}

.cs-menu-seasonal{display:block;padding:16px 0;color:var(--cs-wine);font-size:14px}@media(min-width:1100px){.cs-header-inner{grid-template-columns:182px minmax(0,1fr) 100px;gap:20px}.cs-nav{gap:24px}.cs-nav a{font-size:14px;text-align:center}}

.cs-bag{position:relative}.cs-bag [data-cart-badge]{position:absolute;right:0;top:0;min-width:17px;height:17px;padding:0 3px;background:#702f3d;color:#fffaf3;font:600 10px/17px 'DM Sans',sans-serif;text-align:center;border-radius:50%}.cs-bag [hidden]{display:none}
.chibi-cart{--cart-cream:#f6f1e8;--cart-wine:#702f3d;--cart-ink:#29211f;box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--cart-cream);color:var(--cart-ink);font:400 15px/1.5 'DM Sans',Arial,sans-serif;overflow:hidden;box-shadow:-16px 0 60px #29211f26}
.chibi-cart[open]{display:flex;flex-direction:column}.chibi-cart::backdrop{background:#29211f66}.chibi-cart *{box-sizing:border-box}.chibi-cart [hidden]{display:none!important}.chibi-cart a{color:inherit}.chibi-cart button{font:inherit;border-radius:0;cursor:pointer}.chibi-cart button:disabled{cursor:default}.chibi-cart :focus-visible{outline:2px solid var(--cart-wine);outline-offset:3px}.chibi-cart ::selection{background:#702f3d;color:#fffaf3}.chibi-cart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.chibi-cart .mini-image{background:#fff}.chibi-cart .mini-image img{object-fit:contain;background:#fff}
.cart-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 20px;border-bottom:1px solid #d8cbc3;flex-shrink:0}.cart-heading h2{font:500 36px/1.1 'Fraunces',Georgia,serif;letter-spacing:-.025em;margin:0 0 6px}.cart-heading p{margin:0;color:#705b55;font-size:13px}.cart-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #d8cbc3;background:transparent;color:var(--cart-wine);transition:background .3s,color .3s}.cart-icon:hover{background:var(--cart-wine);color:#fffaf3}
.cart-feedback{padding:0 28px;flex-shrink:0;color:var(--cart-wine);font-size:13px}.cart-feedback p:empty{display:none}.cart-feedback p{margin:12px 0}.cart-retry{background:transparent;border:0;color:var(--cart-wine);min-height:44px;padding:0;text-decoration:underline;text-underline-offset:4px}.cart-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:80px;padding:0 28px;scrollbar-width:thin;scrollbar-color:#702f3d #e8ded4}.cart-items{margin:0;padding:0;list-style:none}.cart-item{padding:24px 0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;border-bottom:1px solid #d8cbc3}.cart-photo{align-self:start;display:grid;place-items:center;width:88px;aspect-ratio:2/3;background:#e8ded4;overflow:hidden;text-decoration:none}.cart-photo img{display:block;width:100%;height:100%;object-fit:cover}.cart-photo span{padding:8px;font-size:12px;text-align:center;color:#705b55}.cart-item-content{min-width:0}.cart-name{font-size:15px;font-weight:500;line-height:1.4;overflow-wrap:anywhere;text-decoration:none}.cart-name:hover{text-decoration:underline;text-underline-offset:4px}.cart-options{margin:5px 0 10px;color:#705b55;font-size:12px;overflow-wrap:anywhere}.cart-amount{display:block;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;margin:8px 0}.cart-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cart-quantity{display:flex;align-items:center;border:1px solid #b8a69d;max-width:100%}.cart-quantity button{display:grid;place-items:center;min-width:44px;width:44px;height:44px;border:0;background:transparent;color:var(--cart-wine)}.cart-quantity button:disabled{color:#ad9c91}.cart-quantity button:not(:disabled):hover{background:#e8ded4}.cart-quantity input{appearance:textfield;min-width:0;width:36px;height:44px;background:transparent;text-align:center;padding:0;border:0;font:inherit;color:var(--cart-ink);font-variant-numeric:tabular-nums;caret-color:var(--cart-wine)}.cart-quantity input::-webkit-inner-spin-button{appearance:none}.cart-remove{min-height:44px;border:0;background:none;padding:0 6px;color:var(--cart-wine);font-size:12px!important;text-decoration:underline;text-underline-offset:4px}
/* WooCommerce uses cart-subtotal on table rows too; keep drawer layout scoped. */
.cart-bottom{padding:20px 28px 16px;flex-shrink:0;border-top:1px solid #d8cbc3;background:var(--cart-cream)}.chibi-cart .cart-subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chibi-cart .cart-subtotal span{font-size:16px}.chibi-cart .cart-subtotal strong{font:500 22px/1.3 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}.cart-total-note{font-size:12px;color:#705b55;margin:6px 0 16px}.cart-checkout{width:100%;min-height:48px;background:#e8ded4;border:1px solid #cdbdb1;color:#705b55}.cart-checkout-note{font-size:12px;color:#705b55;margin:8px 0 14px}.cart-continue,.cart-explore{width:100%;min-height:48px;justify-content:space-between;padding:12px 18px;font-size:14px}.cart-preview-label{margin:0;padding:8px 28px max(12px,env(safe-area-inset-bottom));color:#705b55;font-size:11px;border-top:1px solid #d8cbc3;flex-shrink:0}.cart-bottom:last-child{padding-bottom:max(20px,env(safe-area-inset-bottom))}
.cart-empty{display:flex;min-height:100%;flex-direction:column;align-items:flex-start;justify-content:center;padding:36px 0;gap:16px}.cart-empty .cart-empty-icon{width:44px;height:44px;color:var(--cart-wine)}.cart-empty h3{font:500 30px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;margin:0;max-width:12ch}.cart-empty p{max-width:30ch;margin:0 0 8px;color:#705b55}.chibi-cart[data-busy] .cart-items{opacity:.65}
@media(max-width:479px){.cart-heading{padding:22px 20px 16px}.cart-heading h2{font-size:32px}.cart-scroll{padding:0 20px}.cart-feedback{padding:0 20px}.cart-bottom{padding:16px 20px 12px}.cart-preview-label{padding-inline:20px}.cart-item{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:20px 0}.cart-photo{width:76px}.cart-row-actions{gap:2px}.cart-name{font-size:14px}.chibi-cart .cart-subtotal strong{font-size:20px}}
@media(max-height:650px){.cart-heading{padding-top:12px;padding-bottom:12px}.cart-bottom{padding-top:12px}.cart-total-note{margin-bottom:8px}.cart-checkout-note{margin-bottom:8px}.cart-scroll{min-height:100px}.cart-heading h2{font-size:28px}}
.chibi-cart{--cart-safe-bottom:env(safe-area-inset-bottom,0px)}
.chibi-cart:has(.cart-preview-label[hidden]) .cart-bottom{padding-bottom:max(16px,var(--cart-safe-bottom))}

/* Price and controls belong to the product's right-hand column, below its options. */
.cart-item{column-gap:16px;row-gap:12px}
.cart-item-content{align-self:center}
.cart-options{margin-bottom:0}
.cart-row-actions{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:8px;margin-top:12px}
.cart-amount{min-width:0;margin:0;font-size:14px;overflow-wrap:anywhere}
.cart-quantity input{width:44px}
.cart-remove{display:grid;place-items:center;width:44px;height:44px;padding:0;text-decoration:none;transition:background .3s,color .3s}
.cart-remove:hover{background:var(--cart-wine);color:#fffaf3}
.cart-remove:disabled{opacity:.5}
.cart-remove svg{width:19px;height:19px}
@media(max-width:479px){
 .cart-item{column-gap:12px}
 .cart-row-actions{grid-template-columns:minmax(0,1fr) auto 32px;gap:6px}
 .cart-amount{font-size:13px;line-height:1.4}
 .cart-quantity button{min-width:32px;width:32px}
 .cart-quantity input{width:28px}
 .cart-remove{width:32px}
}
.cart-scoop-gifts { margin:.5rem 0 .75rem; padding-left:1rem; font-size:.75rem; line-height:1.6; color:#6c5c57; }
.cart-scoop-edit { margin-left:auto; color:#702f3d; font-size:.8125rem; text-underline-offset:.2em; min-height:2.75rem; display:inline-flex; align-items:center; }
.cart-view-page{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 24px;border-top:1px solid var(--cs-line,#d8cbc3);color:var(--cs-wine,#702f3d);font-size:13px;text-decoration:none;flex-shrink:0}
.cart-view-page:hover{text-decoration:underline;text-underline-offset:4px}
.cart-view-page:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
.chibi-cart a.cart-checkout{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--cs-wine,#702f3d);color:var(--cs-paper,#fffcf7);min-height:48px}
.chibi-cart a.cart-checkout[aria-disabled=true]{opacity:.5;cursor:wait}
