/* Presentation adapted from retained POS R9 / 0.1.8; no POS state code. */
body.sgff-cart-ui { --sgff-cart-wine:#76243a; --sgff-cart-soft:#f8f5f3; --sgff-cart-line:#e7dfdf; }
#sgff-cart-trigger[hidden],.sgff-cart-ui #sgff-cart-control,.sgff-cart-ui #sgff-cart-dock { display:none!important; }
#sgff-cart-trigger { position:fixed;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9998;min-height:56px;padding:12px 22px;border:1px solid #76243a;border-radius:12px;background:#76243a;color:white;box-shadow:0 3px 18px #30202830;font-family:inherit;font-weight:700;font-size:16px;line-height:1.4;max-width:calc(100% - 32px); }
.sgff-cart-has-trigger #ast-scroll-top { bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;right:24px!important; }
.sgff-cart-has-trigger #page { padding-bottom:100px; }
body.sgff-cart-open { overflow:hidden; }
#sgff-cart-drawer { margin:0 0 0 auto;inset:0 0 0 auto;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:16px 0 0 16px;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#fff;color:#302028;overflow-y:auto;overscroll-behavior:contain; }
#sgff-cart-drawer[open] { animation:sgff-cart-enter .18s ease-out; }
#sgff-cart-drawer::backdrop { background:#30202880; }
@keyframes sgff-cart-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
.sgff-cart-component { font-size:16px;line-height:1.5;overflow-wrap:anywhere; }
.sgff-cart-component * { box-sizing:border-box; }
.sgff-cart-component h2 { font-size:28px;margin:0 0 4px;color:var(--sgff-cart-wine); }
.sgff-cart-component h3 { font-size:19px;margin:16px 0 4px;color:var(--sgff-cart-wine); }
.sgff-cart-status { min-height:24px;margin:0 0 8px;font-size:14px;color:#526055; }
.sgff-cart-status.sgff-cart-warning { color:#8d232c; }
.sgff-cart-line { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--sgff-cart-line); }
.sgff-cart-detail>strong { display:block;font-size:17px; }
.sgff-cart-combo { display:block;font-weight:700;margin-top:2px;font-size:14px; }
.sgff-cart-selections { margin:2px 0 8px 0;padding:0;list-style:none;font-size:14px;color:#65565b; }
.sgff-cart-detail small { display:block;color:#65565b; }
.sgff-cart-amount { white-space:nowrap;font-size:16px; }
.sgff-cart-quantity { display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px; }
.sgff-cart-quantity>span { min-width:42px;font-size:14px; }
.sgff-cart-component button,.sgff-cart-close { font:inherit;line-height:1.25;border:1px solid var(--sgff-cart-line);border-radius:8px;background:transparent;color:var(--sgff-cart-wine);cursor:pointer; }
.sgff-cart-quantity button { min-width:44px;min-height:44px;padding:8px 12px;font-size:21px; }
.sgff-cart-quantity .sgff-cart-remove { padding:8px 3px;min-width:54px;border-color:transparent;font-size:14px;text-decoration:underline;text-underline-offset:3px; }
.sgff-cart-component button:disabled { cursor:default;opacity:.42; }
.sgff-cart-component button:hover:not(:disabled),.sgff-cart-close:hover { background:var(--sgff-cart-soft); }
.sgff-cart-component :focus-visible,#sgff-cart-trigger:focus-visible,.sgff-cart-close:focus-visible { outline:3px solid #76243a;outline-offset:3px; }
.sgff-cart-summary { margin-top:18px; }
.sgff-cart-total { display:flex;justify-content:space-between;gap:16px;margin:5px 0; }
.sgff-cart-final-note { font-size:13px;color:#65565b;margin:10px 0; }
.sgff-cart-actions { display:grid;gap:10px;margin-top:18px; }
.sgff-cart-actions button,.sgff-cart-actions a { display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;text-align:center;font-size:16px;font-weight:600;border-radius:8px;text-decoration:none; }
.sgff-cart-actions .sgff-cart-checkout { min-height:56px;background:#76243a;color:#fff;border:1px solid #76243a; }
.sgff-cart-actions [aria-disabled=true] { opacity:.5;cursor:default; }
.sgff-cart-actions .sgff-cart-shopping { color:var(--sgff-cart-wine);border:1px solid var(--sgff-cart-line); }
.sgff-cart-actions .clear-confirm { background:#b42318;border-color:#b42318;color:white; }
.sgff-cart-actions .clear-confirm:hover:not(:disabled),.sgff-cart-actions .clear-confirm:focus-visible { background:#912018;border-color:#912018;color:white; }
.sgff-cart-actions .action-success { background:#326443!important;border-color:#326443!important;color:white!important;opacity:1!important; }
.sgff-cart-close { position:sticky;top:0;display:block;margin:0 0 12px auto;min-width:44px;min-height:44px;padding:8px 12px;background:white;font-weight:700;z-index:2; }
#sgff-cart-page { max-width:780px;margin:20px auto;padding:24px;background:#fff;border:1px solid var(--sgff-cart-line);border-radius:12px; }
#sgff-cart-page .sgff-cart-actions { grid-template-columns:1fr 1fr; }
#sgff-cart-page .sgff-cart-clear { grid-column:1/-1; }
@media(max-width:600px) {
 #sgff-cart-drawer { width:100%;border-radius:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px)); }
 #sgff-cart-trigger { left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px); }
 .sgff-cart-has-trigger #ast-scroll-top { right:16px!important; }
 #sgff-cart-page { padding:16px 12px; }
 #sgff-cart-page .sgff-cart-actions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { #sgff-cart-drawer[open] { animation:none; } }
@media print { #sgff-cart-trigger,#sgff-cart-drawer { display:none!important; } .sgff-cart-has-trigger #page { padding-bottom:0; } }

/* Correction 0002: preview-only title and secondary navigation polish. */
body.sgff-cart-ui.woocommerce-cart .site-main > article > header.entry-header > h1.entry-title { display:none; }
#sgff-cart-drawer .sgff-cart-close,
#sgff-cart-drawer .sgff-cart-close:hover,
#sgff-cart-drawer .sgff-cart-close:focus { color:#76243a; }
.sgff-checkout-back { display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 20px;font-size:14px; }
.sgff-checkout-back a { color:#76243a;text-decoration:underline;text-underline-offset:3px; }
