.discats-bag-page { --bag-pink:#E93258; --bag-action:#32E9D9; --bag-ink:#253D4E; --bag-surface:#F3F9FB; background:#fff; color:var(--bag-ink); }
.discats-bag-page *, .discats-bag-page *:before, .discats-bag-page *:after { box-sizing:border-box; }
.discats-bag-page .wp-site-blocks { padding:0; }
.discats-bag-page .bag-main { max-width:1200px; padding:24px; margin:0 auto; }
.bag-intro { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; }
.bag-title { display:flex; align-items:center; gap:12px; }
.bag-title svg { width:42px; height:42px; color:var(--bag-pink); flex-shrink:0; }
.bag-intro h1 { font-family:Modak,sans-serif; font-size:48px; font-weight:400; line-height:1.1; margin:0; text-transform:none; letter-spacing:0; color:#131313; }
.bag-intro p { margin:0; font-size:16px; }
.bag-delivery { border:1px solid #C9D7DF; border-radius:12px; margin:0 0 28px; background:var(--bag-surface); overflow:hidden; }
.bag-delivery summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:60px; padding:14px 20px; cursor:pointer; list-style:none; }
.bag-delivery summary::-webkit-details-marker { display:none; }
.bag-delivery-title { font-weight:700; }
[data-bag-destination] { font-weight:500; margin-left:8px; }
.bag-change { font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.bag-change:after { content:' +'; }
details[open] .bag-change:after { content:' −'; }
.bag-delivery-body { border-top:1px solid #C9D7DF; padding:16px 20px; }
.bag-help { font-size:14px; line-height:1.6; margin:0 0 14px; }
.bag-address-fields { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.bag-address-fields label { display:flex; flex-direction:column; gap:6px; flex:1 1 140px; font-size:14px; font-weight:700; }
.bag-address-fields input,.bag-address-fields select { width:100%; min-height:46px; background:white; border:1px solid #738995; border-radius:8px; color:var(--bag-ink); font:inherit; padding:10px; }
@media (max-width:782px) {
 .discats-bag-page main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px; }
}
.discats-bag-page button,.discats-bag-page .wc-block-components-button { font-family:inherit; }
.bag-address-fields button,.discats-bag-page .wc-block-components-button:not(.is-link),.discats-bag-page .bag-continue a { border:0; background:var(--bag-action); color:#131313; font-weight:700; border-radius:999px; min-height:46px; padding:12px 20px; cursor:pointer; text-decoration:none; }
.bag-address-fields button:hover,.discats-bag-page .wc-block-components-button:not(.is-link):hover,.discats-bag-page .bag-continue a:hover { background:#C92147; color:#fff; }
.bag-address-fields [hidden],.discats-bag-page [hidden] { display:none!important; }
.discats-bag-page :focus-visible { outline:3px solid #253D4E; outline-offset:4px; }
.bag-delivery [aria-busy=true] { opacity:.7; }
.bag-delivery-message { margin:0; padding:0 20px 14px; font-size:14px; font-weight:700; }
.bag-delivery-message:empty,[data-bag-status]:empty { display:none; }
.bag-delivery>p:has(noscript) { margin:0; }
[data-bag-status] { color:var(--bag-ink); padding:0 20px 14px; margin:0; }
.bag-delivery[data-error=true] [data-bag-status] { color:#862137; }
.bag-rate-group { border:0; padding:12px 0; margin:12px 0; }
.bag-rate-group legend { font-weight:700; }
.bag-rate { display:flex; align-items:center; gap:10px; min-height:48px; padding:8px 0; cursor:pointer; }
.bag-rate input { width:20px; height:20px; accent-color:#253D4E; flex-shrink:0; }
.bag-rate strong { margin-left:auto; white-space:nowrap; }
.discats-bag-page .wp-block-woocommerce-cart { margin:0; }
.discats-bag-page.bag-inline-add .with-scroll-to-top__scroll-point { position:fixed; top:0; width:0; height:0; pointer-events:none; }
.discats-bag-page .wc-block-cart { border:0; box-shadow:none; padding:0; background:white; }
.discats-bag-page .wc-block-cart { align-items:flex-start; }
.discats-bag-page .wc-block-cart__main { border-top:3px solid var(--bag-pink); }
.discats-bag-page .wc-block-cart__sidebar { background:var(--bag-surface); padding:24px; border-radius:16px; border-top:3px solid var(--bag-pink); }
.discats-bag-page .wc-block-cart__sidebar > *,
.discats-bag-page .wp-block-woocommerce-cart-order-summary-block > * { margin-block:0; }
.discats-bag-page .wc-block-cart table.wc-block-cart-items,
.discats-bag-page .wc-block-cart-items__header,
.discats-bag-page .wp-block-woocommerce-cart-order-summary-block { border:0; }
.discats-bag-page .wc-block-cart table.wc-block-cart-items { border-collapse:collapse; width:100%; max-width:none; }
.discats-bag-page .wc-block-cart-items td,.discats-bag-page .wc-block-cart-items th { border:0; }
.discats-bag-page .wc-block-cart .wc-block-cart-items th { padding:16px 0!important; font:700 12px/1.5 Quicksand,sans-serif; letter-spacing:.06em; color:#445B69; }
.discats-bag-page .wc-block-cart-items tbody tr { border-top:1px solid #D6E1E7; }
.discats-bag-page .wc-block-cart-items tbody td { padding-top:24px; padding-bottom:24px; }
.discats-bag-page .wc-block-cart-item__wrap .wc-block-components-product-name { font:700 17px/1.5 Quicksand,sans-serif!important; color:#253D4E; text-decoration:none; }
.discats-bag-page .wc-block-cart-item__wrap .wc-block-components-product-name:hover { text-decoration:underline; text-underline-offset:3px; }
.discats-bag-page .wc-block-cart-item__image img { width:100px; height:100px; max-width:none; object-fit:contain; border-radius:12px; background:#F3F9FB; }
.discats-bag-page .wc-block-cart-item__image { width:120px; padding-right:20px; }
.discats-bag-page .wc-block-cart-item__prices { font:500 14px/1.5 Quicksand,sans-serif; color:#445B69; margin:8px 0 12px; }
.discats-bag-page .wc-block-cart-item__total { font:700 16px/1.5 Quicksand,sans-serif; color:#253D4E; }
.discats-bag-page .wc-block-cart-item__quantity { display:flex; align-items:center; gap:12px; }
.discats-bag-page .wc-block-components-product-badge { padding:4px 8px!important; border:0!important; border-radius:6px!important; background:#FFD0DA; color:#253D4E; font:700 12px/1.5 Quicksand,sans-serif; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-cart__totals-title { padding:0 0 18px!important; margin:0; font:400 28px/1.2 Modak,sans-serif; text-transform:none; letter-spacing:0; color:#131313; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper { padding:12px 0!important; border:0; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper:after { border-color:#D6E1E7; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-totals-item { padding:0; font-family:Quicksand,sans-serif; font-size:16px; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-totals-item__description { padding:6px 0 0; font-size:13px; line-height:1.5; color:#445B69; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-totals-footer-item { font-size:20px; font-weight:700; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-components-panel__button { font:600 14px/1.5 Quicksand,sans-serif; min-height:44px; }
.discats-bag-page .wc-block-cart__sidebar .wc-block-cart__submit-button { margin-top:8px; font:700 17px/1.5 Quicksand,sans-serif; box-shadow:none; }
.discats-bag-page .wc-block-cart-item__remove-link { min-width:44px; min-height:44px; margin:0!important; border-radius:50%; color:#445B69; }
.discats-bag-page .wc-block-cart-item__remove-link:hover { background:#FFD0DA; color:#253D4E; }
.discats-bag-page .wc-block-components-product-metadata__description { display:none; }
.discats-bag-page .wc-block-cart__empty-cart__title:before { display:none; }
.discats-bag-page .wc-block-cart__empty-cart__title { text-transform:none; }
.discats-bag-page .wc-block-components-quantity-selector { min-height:44px; height:44px; margin:0; border:1px solid #B8C8D1; border-radius:999px; background:#fff; }
.discats-bag-page .wc-block-components-quantity-selector:after { border-radius:999px; border:0; }
.discats-bag-page .wc-block-components-quantity-selector input { font:600 14px/1.5 Quicksand,sans-serif; color:#253D4E; }
.discats-bag-page .wc-block-components-quantity-selector__button { min-width:38px; }
.discats-bag-page .wc-block-cart__submit-button { text-transform:none; letter-spacing:0; }
.bag-suggestions { margin:clamp(24px,4vw,40px) 0 0; }
.bag-suggestion-header {
    margin-bottom:16px;
    padding:clamp(14px,2.4vw,26px);
    border-top:3px solid #E93258;
    border-radius:16px;
    background:#F3F9FB;
    color:#253D4E;
}
.bag-suggestion-header h2 {
    margin:0!important;
    color:inherit;
    font:400 clamp(25px,3vw,36px)/1.12 Modak,sans-serif!important;
    letter-spacing:normal;
    text-transform:none;
}
.bag-suggestion-header > p { margin:5px 0 14px; font:600 14px/1.5 Quicksand,sans-serif; }
.bag-suggestion-controls { display:flex; align-items:flex-start; gap:8px; }
.bag-filter-track { display:flex; flex:1; flex-wrap:wrap; gap:6px; min-width:0; }
.bag-suggestion-controls button {
    min-height:44px;
    margin:0;
    padding:6px clamp(10px,1.5vw,16px);
    border:1px solid #B8C8D1;
    border-radius:999px;
    background:#fff;
    color:#253D4E;
    font:700 13px/1.3 Quicksand,sans-serif;
    letter-spacing:normal;
    text-transform:none;
    cursor:pointer;
}
.bag-suggestion-controls button:hover { border-color:#253D4E; }
.bag-suggestion-controls [aria-pressed=true] { background:#253D4E; color:#fff; border-color:#253D4E; }
.bag-suggestion-controls .bag-refresh { flex:0 0 44px; display:grid; place-items:center; width:44px; padding:0; }
.bag-refresh svg { width:18px; height:18px; }
.bag-suggestions [data-bag-add-status] { font-size:13px; line-height:1.5; margin:0 0 12px; }
.bag-suggestions [data-bag-add-status]:empty { margin:0; }
.bag-suggestion-empty { grid-column:1/-1; padding:20px; background:#F3F9FB; border-radius:12px; }
.bag-suggestion-grid[aria-busy=true] { opacity:.6; }
.bag-more-controls { display:flex; justify-content:center; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; font-size:13px; }
.bag-more-controls button { min-height:46px; border:1px solid #253D4E; border-radius:999px; background:white; color:#253D4E; padding:10px 24px; font:700 14px Quicksand,sans-serif; cursor:pointer; }
.bag-more-controls button:hover { background:#253D4E; color:#fff; }
.bag-more-controls a { color:#253D4E; min-height:44px; display:inline-flex; align-items:center; text-underline-offset:3px; }
.bag-suggestion-controls button:disabled,.bag-more-controls button:disabled { opacity:.5; cursor:wait; }
/* Product appearance comes from the Shop template and existing theme styles. */
.bag-suggestion-grid { padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; }
.bag-suggestion { min-width:0; display:grid; grid-template-rows:auto 1fr; }
.bag-reason { align-self:end; margin:0 0 6px; color:#253D4E; font:700 12px/1.4 Quicksand,sans-serif; overflow-wrap:anywhere; }
@supports (grid-template-rows:subgrid) {
 .bag-suggestion { grid-template-rows:subgrid; grid-row:span 2; row-gap:0; }
}
.bag-suggestions button:focus-visible { outline:3px solid #253D4E; outline-offset:2px; }
/* The bag intentionally does not load the site's entrance-animation library. */
.bag-suggestion .inner-post-box { visibility:visible!important; animation:none!important; }
.bag-suggestion [data-bag-added=true] { background:#F3F9FB!important; color:#253D4E!important; border:1px solid #B8C8D1; box-shadow:none!important; cursor:default; }
.bag-suggestion [aria-busy=true] { cursor:wait; }
.bag-continue { margin:20px 0; }
@media(min-width:768px) {
 .discats-bag-page .wc-block-cart__submit-container--sticky { display:flex!important; position:static!important; width:100%!important; box-shadow:none; }
}
@media(max-width:767px) {
 .discats-bag-page .bag-main { padding:12px 18px 16px; } .bag-intro { margin-bottom:8px; } .bag-intro h1 { font-size:38px; } .bag-title svg { width:32px; height:36px; } .bag-intro>p { display:none; }
 .bag-delivery { margin-bottom:16px; } .bag-delivery summary { padding:10px 14px; align-items:start; flex-direction:column; gap:4px; line-height:1.35; } .bag-delivery-body { padding:14px; } .bag-delivery-message { padding:0 14px 10px; font-size:13px; line-height:1.4; }
 .bag-address-fields { gap:12px; } .bag-address-fields label { flex-basis:calc(50% - 12px); } .bag-address-fields label:first-child { flex-basis:100%; } .bag-address-fields button { width:100%; }
 .discats-bag-page .wc-block-cart__sidebar { padding:22px 18px; margin-top:20px; }
 .discats-bag-page .wc-block-cart-item__wrap .wc-block-components-product-name { font-size:15px!important; }
 .discats-bag-page .wc-block-cart-items tbody tr { grid-template-columns:72px minmax(0,1fr)!important; column-gap:12px!important; row-gap:8px!important; padding:20px 0!important; }
 .discats-bag-page .wc-block-cart-items tbody td { padding:0!important; }
 .discats-bag-page .wc-block-cart-item__image { width:72px; grid-column:1/2!important; grid-row:1!important; }
 .discats-bag-page .wc-block-cart-item__image img { width:72px!important; height:72px!important; }
 .discats-bag-page .wc-block-cart-item__product { grid-column:2/3!important; grid-row:1!important; min-width:0; }
 .discats-bag-page .wc-block-cart-item__total { grid-column:2/3!important; grid-row:2!important; font-size:14px; justify-self:end; }
 .discats-bag-page .wc-block-cart__sidebar .wc-block-cart__totals-title { display:block!important; }
 .discats-bag-page .wc-block-cart-item__quantity { flex-wrap:wrap; gap:4px; }
 .discats-bag-page .wc-block-cart__submit-container--sticky { background:white; border-top:1px solid #D6E1E7; padding:10px 18px max(10px,env(safe-area-inset-bottom)); }
 .bag-suggestion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}
@media(max-width:480px) {
 .bag-filter-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bag-filter-track button { padding-inline:6px; white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .discats-bag-page *, .discats-bag-page *:before,.discats-bag-page *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }


/* Contextual delivery controls: beside totals, not a page-level promotion. */
.bag-delivery-slot { margin:0; padding:0!important; }
.bag-delivery-slot .bag-delivery { margin:0; border:0; border-top:1px solid #D6E1E7; border-radius:0; background:transparent; overflow:visible; }
.bag-delivery-slot .bag-delivery summary { padding:12px 0; flex-wrap:wrap; gap:5px; min-height:44px; font-size:14px; }
.bag-delivery-slot .bag-change { font-size:12px; }
.bag-delivery-slot .bag-delivery-body { padding:12px 0; }
.bag-delivery-slot .bag-address-fields label { flex-basis:100%; }
.bag-delivery-slot .bag-address-fields button { width:100%; }
.bag-delivery-slot .discats-shipping-progress { padding:0 0 8px; }
.bag-delivery-slot .shipping-progress-heading p { font-size:13px; font-weight:600; }
.bag-delivery-slot .shipping-progress-heading a,.bag-delivery-slot .shipping-progress-labels,.bag-delivery-slot .shipping-progress-context { display:none; }
.bag-delivery-slot .shipping-progress-track { height:5px; }
.bag-delivery-slot .shipping-progress-meter { margin-top:8px; }
