/* Cart page (cart.html). Layout switch at the demo's useMobile(700).
   Shared notice + form atoms for the Woo flow pages live in checkout.css/account.css; the cart
   only needs notices, so they are repeated here in the same shape. */

.cc-cart{color:#000}
.cc-cart [hidden]{display:none !important}

/* Title: HaulTitle (Bricolage 800, lh .9, -0.05em, centred, masked word rise) */
.cc-cart .cc-cart__title{font-size:clamp(32px,20vw,165px);line-height:.9;letter-spacing:-0.05em;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;column-gap:.28em}
.cc-cart .cc-cart__title .cc-swap{display:contents}
.cc-cart .cc-cart__title{padding-bottom:.09em}
.cc-cart__title--empty{color:var(--cream)}
.cc-cart__title--full{color:#000}

/* Empty state (red page) */
.cc-cart__empty{padding:clamp(56px,9vw,120px) 24px;display:flex;flex-direction:column;align-items:center;gap:32px}
.cc-cart__crumbs{margin:0;font:400 20px/1.3 var(--font-mono);color:var(--cream);text-align:center;text-wrap:pretty}

/* Filled state */
.cc-cart__head{padding:clamp(40px,5vw,88px) 24px 40px}
.cc-cart__body{max-width:926px;margin:0 auto;width:100%;padding:0 24px 72px;display:flex;flex-direction:column;gap:40px}
.cc-cart__lines{display:flex;flex-direction:column;gap:40px}
.cc-cart__lines.is-busy,.cc-codes.is-busy{opacity:.55;pointer-events:none;transition:opacity .2s ease}
.cc-cart__error{margin:0;font:400 14px/1.4 var(--font-mono);color:var(--red)}

/* Line (cart.html Line) */
.cc-cline{display:flex;gap:20px;align-items:center}
.cc-cline__img{width:140px;height:140px;overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.cc-cline__img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.cc-cline__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.cc-cline__name{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-0.03em;text-transform:uppercase;line-height:1.02;color:#000;text-decoration:none}
a.cc-cline__name:hover{color:#000;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.cc-cline__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-weight:400;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.cc-cline__dot{width:3px;height:3px;border-radius:50%;background:#000;flex:0 0 auto}
.cc-cline__row{display:flex;align-items:center;gap:20px;margin-top:4px}
.cc-cline__qty{display:inline-flex;align-items:center;gap:12px;border:2px solid #000;border-radius:100px;padding:6px 12px;--qs:20px;--qw:2}
.cc-cline__qty--fixed{padding:6px 16px}
.cc-cline__qty button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;color:#000}
.cc-cline__qty svg{width:var(--qs);height:var(--qs);display:block}
.cc-cline__qty line{stroke:#000;stroke-width:var(--qw)}
.cc-cline__n{font-family:var(--font-mono);font-weight:500;font-size:16px;min-width:24px;text-align:center;line-height:1}
.cc-cline__price{font-family:var(--font-mono);font-weight:700;font-size:18px;letter-spacing:.02em;white-space:nowrap}
.cc-cline__price .woocommerce-Price-amount,.cc-cline__price bdi{font:inherit}
.cc-cline__price small{font-size:.7em;font-weight:400}
.cc-cline__remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#000;padding:0}
.cc-cline__remove line{stroke:#000;stroke-width:1.5}
.cc-cline__remove:hover line{stroke:var(--red)}

/* Delivery frequency (APFS schemes): mono label + underline select, contact.html field style */
.cc-cline__freq{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cc-cline__freq label{font:400 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.cc-cline__freq select{width:auto;max-width:100%;background:transparent;border:none;border-bottom:1px solid #000;border-radius:0;padding:2px 22px 6px 0;font:400 14px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:#000;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.cc-cline__freq select:focus{outline:none;border-bottom-width:2px}
.cc-cline__freq select:focus-visible{outline:2px solid var(--pink);outline-offset:2px}

/* Codes (coupons + gift cards). Not in the demo: contact.html field style + text button. */
.cc-codes{display:flex;flex-direction:column;gap:16px;border-top:1px solid #000;padding-top:32px}
.cc-codes__label{font:400 15px/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase}
.cc-codes__row{display:flex;align-items:flex-end;gap:24px}
.cc-codes__row input{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid #000;border-radius:0;padding:8px 0 14px;font:400 16px/1.2 var(--font-mono);color:#000;text-transform:uppercase}
.cc-codes__row input::placeholder{color:rgba(0,0,0,.5);text-transform:none}
.cc-codes__row input:focus{outline:none;border-bottom-width:2px;padding-bottom:13px}
.cc-codes__apply{align-self:flex-end;margin-bottom:14px;transition:letter-spacing .25s var(--ease-expo)}
.cc-codes__apply:hover{letter-spacing:.12em}
.cc-codes__msg{margin:0;font:400 14px/1.4 var(--font-mono)}
.cc-codes__msg.is-error{color:var(--red)}
.cc-codes__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cc-codes__item{display:inline-flex;align-items:center;gap:10px;background:#000;color:var(--cream);padding:7px 8px 7px 12px;font:600 12px/1 var(--font-mono);letter-spacing:1.4px;text-transform:uppercase}
.cc-codes__amt{font-weight:400;letter-spacing:.04em}
.cc-codes__amt .woocommerce-Price-amount{font:inherit}
.cc-codes__rm{display:inline-flex;background:none;border:none;padding:0;cursor:pointer;color:var(--cream)}
.cc-codes__rm line{stroke:currentColor;stroke-width:1.5}

/* Sticky amber bar (StickyBar) */
.cc-cart__bar{position:sticky;bottom:0;z-index:50;background:var(--amber);color:#000}
.cc-cart__bar-in{max-width:926px;margin:0 auto;width:100%;padding:20px 24px;display:flex;flex-direction:column;gap:14px}
.cc-cart__bar-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cc-cart__sum{display:flex;flex-direction:column;gap:4px}
.cc-cart__sum-label{display:flex;align-items:center;gap:8px;font:400 12px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.cc-cart__dot{width:3px;height:3px;border-radius:50%;background:#000}
.cc-cart__sum-amt{font:500 32px/1 var(--font-mono);letter-spacing:-0.02em}
.cc-cart__sum-amt .woocommerce-Price-amount,.cc-cart__sum-amt bdi{font:inherit}
.cc-cart__ship,.cc-cart__after{font:400 12px/1.3 var(--font-mono)}
.cc-cart__after .woocommerce-Price-amount{font:inherit;font-weight:500}
.cc-cart__rule{height:1px;background:#000;width:100%}
.cc-cart__note{font:400 10px/1.5 var(--font-mono)}
.cc-cart.is-busy .cc-cart__bar{opacity:.85}

@media (max-width:700px){
  .cc-cart .cc-cart__title{font-size:clamp(32px,13vw,88px)}
  .cc-cart__empty{padding:48px 16px 72px;gap:24px}
  .cc-cart__head{padding:32px 16px 24px}
  .cc-cart__body{padding:0 16px 48px;gap:32px}
  .cc-cart__lines{gap:32px}
  .cc-cline{gap:12px;align-items:flex-start}
  .cc-cline__img{width:100px;height:100px}
  .cc-cline__main{gap:8px}
  .cc-cline__name{font-size:18px}
  .cc-cline__meta{font-size:14px;gap:8px}
  .cc-cline__row{gap:16px}
  .cc-cline__qty{border-width:1.5px;padding:5px 10px;gap:10px;--qs:16px;--qw:1.875}
  .cc-cline__n{font-size:14px;min-width:20px}
  .cc-cline__price{font-weight:500;font-size:14px}
  .cc-cart__bar{position:static}
  .cc-cart__bar-in{padding:20px 16px}
  .cc-cart__bar-row{flex-direction:column;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap}
  .cc-cart__checkout.cc-eb{padding:16px 34px}
  .cc-cart__checkout .cc-eb__label{font-size:15px}
  .cc-codes__row{gap:16px}
}

/* WooCommerce notices on the cart page (cart update messages, "removed" undo link) */
.cc-cart-notices,.woocommerce-cart .woocommerce-notices-wrapper{max-width:926px;margin:0 auto;padding:0 24px}
@media (max-width:700px){.woocommerce-cart .woocommerce-notices-wrapper{padding:0 16px}}
