/* =========================================================
   CORWELL — Cart + Empty cart (page styles; shared parts live in shop.css)
   ========================================================= */

.shop-sec{padding-block:clamp(36px,4vw,64px) clamp(64px,6vw,104px)}
.shop-sec + .shop-sec{padding-top:0}

/* product-card category link sits above the full-card link overlay */
.pcard__cat{position:relative;z-index:2;justify-self:start}

/* ---------- Steps (cart variant: compact) ---------- */
.steps-bar{margin-bottom:28px}
.steps-bar a{color:inherit}
.steps-bar a:hover{color:var(--primary)}
@media (max-width:600px){.steps-bar{gap:8px}.steps-bar li{font-size:.82rem;gap:6px}.steps-bar li i{width:26px;height:26px;font-size:.75rem}.steps-bar li+li::before{width:10px}}
@media (max-width:420px){.steps-bar li:not([aria-current]):not(:first-child) b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.steps-bar b{font-weight:inherit}

/* ---------- Cart table ---------- */
.cart-main{min-width:0}
.cart-table th:nth-child(2),.cart-table th:nth-child(4){white-space:nowrap}
.cart-table th:last-child{width:48px;padding-inline:0}
.cart-table .c-price .price-tag{font-size:.98rem}
.cart-table .c-total{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-table .c-rm{padding-inline:0;text-align:right}
.cart-prod>a{display:block;border-radius:16px;overflow:hidden;background:var(--soft)}
.cart-prod>a img{transition:transform .6s var(--ease)}
.cart-prod>a:hover img{transform:scale(1.06)}
.cart-prod b a:hover{color:var(--primary)}
.cart-prod__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}
.cart-prod__meta .stock{font-size:.8rem}
.cart-prod__meta .stock::before{width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}
.cart-prod dl{display:flex;flex-wrap:wrap;gap:2px 14px;margin:6px 0 0;font-size:.85rem;color:var(--muted)}
.cart-prod dl div{display:flex;gap:4px}
.cart-prod dt{font-weight:500}
.cart-prod dd{margin:0;color:var(--ink);font-weight:500}
.tag-digital{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-pill);background:var(--primary-50);color:var(--primary);font-size:.74rem;font-weight:700}
.tag-digital .ico{width:13px;height:13px}
@media (max-width:768px){
  .cart-table td.c-qty{align-self:center}
  .cart-table td.c-total::before{content:attr(data-title) " ";font-weight:500;color:var(--muted);font-size:.85rem;margin-right:4px}
}

/* ---------- Cart actions (coupon / update / continue) ---------- */
.cart-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-top:24px}
.cart-actions .coupon-wrap{flex:1 1 380px;max-width:520px;min-width:0}
.cart-actions .coupon{margin-top:0}
.coupon-msg{margin-top:10px;font-size:.88rem;color:var(--danger);font-weight:500}
.cart-actions .coupon .field{flex:1;min-width:180px;gap:0}
.cart-actions .coupon .input{width:100%}
.cart-actions__btns{display:flex;flex-wrap:wrap;gap:10px}
.coupon-applied{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;padding:12px 16px;border-radius:14px;border:1.5px dashed #B9C4FF;background:var(--primary-50);font-size:.92rem;color:#1A2E99}
.coupon-applied[hidden]{display:none}
.coupon-applied .ico{width:18px;height:18px;flex:none}
.coupon-applied b{letter-spacing:.06em}
.coupon-applied span{flex:1;min-width:0}
.coupon-applied button{color:inherit;text-decoration:underline;font-weight:600;font-size:.88rem}
.coupon-applied button:hover{color:var(--danger)}
.back-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}
.back-link .ico{width:16px;height:16px;transform:rotate(180deg);transition:transform .3s var(--ease)}
.back-link:hover{color:var(--primary)}
.back-link:hover .ico{transform:rotate(180deg) translateX(3px)}
.more-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);border-bottom:1.5px solid currentColor;padding-bottom:2px}
.more-link .ico{width:16px;height:16px;transition:transform .3s var(--ease)}
.more-link:hover{color:var(--primary)}
.more-link:hover .ico{transform:translateX(3px)}
@media (max-width:600px){.cart-actions__btns{width:100%}.cart-actions__btns .btn{flex:1}}

/* ---------- Side column: free-shipping meter + totals ---------- */
.cart-side{display:grid;gap:16px;position:sticky;top:110px;min-width:0}
@media (max-width:1100px){.cart-side{position:static}}
.ship-meter{display:grid;gap:12px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.ship-meter p{display:flex;gap:12px;align-items:center;font-size:.93rem;color:var(--text)}
.ship-meter p b{color:var(--ink)}
.ship-meter__ico{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#E7F7EE;color:var(--success)}
.ship-meter__ico .ico{width:20px;height:20px}
.ship-meter .progress{width:100%;height:6px}
.ship-meter .progress i{background:var(--success);transition:width .5s var(--ease)}
.ship-meter.is-short .ship-meter__ico{background:var(--primary-50);color:var(--primary)}
.ship-meter.is-short .progress i{background:var(--primary)}

.totals__row b{font-variant-numeric:tabular-nums;text-align:right}
.totals__row--coupon b{color:var(--success)}
.totals__row--coupon span:first-child{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.totals__row--coupon .badge{height:24px;font-size:.72rem;background:#fff;letter-spacing:.06em}
.ship-opts{border:0;margin:0;padding:14px 0;border-bottom:1px dashed #D5D9E3;display:grid;gap:10px;min-width:0}
.ship-opts legend{float:left;width:100%;padding:0;margin-bottom:4px;font-size:.96rem;color:var(--muted)}
.ship-opts .radio{justify-content:space-between;font-size:.93rem;color:var(--text)}
.ship-opts .radio span{flex:1;min-width:0}
.ship-opts .radio b{color:var(--ink);font-variant-numeric:tabular-nums}
.ship-opts .radio small{display:block;color:var(--muted);font-size:.8rem}
.ship-to{font-size:.86rem;color:var(--muted);margin-top:2px}
.ship-to a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ship-to a:hover{color:var(--primary)}
.totals__note{font-size:.82rem;color:var(--muted);text-align:right;margin-top:-6px}
.totals .pay-logos{justify-content:center;flex-wrap:wrap;margin-top:12px}
.totals__secure .ico{width:16px;height:16px}

/* ---------- Store perks strip ---------- */
.shop-perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.shop-perks li{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--r-lg);background:var(--soft);min-width:0}
.shop-perks .ico{width:22px;height:22px;flex:none;color:var(--primary);margin-top:2px}
.shop-perks b{display:block;color:var(--ink);font-weight:600;font-size:.96rem}
.shop-perks span{display:block;color:var(--muted);font-size:.86rem;line-height:1.5}
@media (max-width:992px){.shop-perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.shop-perks{grid-template-columns:1fr}}

/* ---------- Section head for product rows ---------- */
.row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px;margin-bottom:32px}
.row-head h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.4rem);margin-top:12px}
.row-head p{color:var(--muted);margin-top:8px;max-width:52ch}

/* ---------- Empty cart ---------- */
.empty--cart{max-width:880px;margin-inline:auto}
.empty--cart .empty__note{font-size:.9rem;color:var(--muted)}
.empty--cart .empty__note a{color:var(--ink);text-decoration:underline;font-weight:600}
.totals__row[hidden]{display:none}
@media (max-width:480px){.pcard__add .btn{padding-inline:12px;gap:8px}}

/* Refinements */
.nowrap{white-space:nowrap}
.coupon-applied b{white-space:nowrap}
@media (max-width:480px){
  .cart-actions__btns{flex-direction:column}
  .cart-actions__btns .btn{width:100%}
  .coupon-applied span{flex:1 1 calc(100% - 32px)}
  .coupon-applied button{margin-left:32px}
}
