/* =========================================================
   The Hemp Doctor Wholesale — side cart (v2.2.0)
   (THDWholesale-Child, inc/woocommerce/hd-cart.php)

   The retail theme's hd-cart.css (thdretail-child 1.7.6) for this store:
   the drawer (v2.2.0) and the cart page (v2.3.0), without the retail-only
   pieces (Sezzle, Route, subscriptions, freebie rows).
   1. Tokens + shared pieces (steppers, progress card, switch, trust lists)
   2. Side cart: Kadence Pro's #cart-drawer with woocommerce/cart/mini-cart.php
   3. Cart page: woocommerce/cart/cart.php + cart-totals.php + friends
   4. Responsive
   Design tokens (Figma, Oct 2026) are the --hd-* variables.
   ========================================================= */

:root {
  --hd-blue-stone:   #025960;
  --hd-firefly:      #113D3C;
  --hd-california:   #FC9E01;
  --hd-golden:       #FFC55B;
  --hd-jet-stream:   #BED5CF;
  --hd-nebula:       #D4E0DE;
  --hd-beige:        #F6F9EA;
  --hd-old-lace:     #FDF4E5;
  --hd-pearl-bush:   #E9E4D8;
  --hd-highland:     #728D6A;
  --hd-sirocco:      #6B7F7E;
  --hd-limed-spruce: #3A4F4E;
  --hd-ink:          #1A2E2E;
  --hd-text:         #2C2C2C;
  --hd-gray:         #8A8A8A;
  --hd-line-soft:    #ECE3D2;
  --hd-mint-tint:    #EEF4F2;
  --hd-font-display: "DM Serif Display", "Playfair Display", Georgia, "Times New Roman", serif;
  --hd-font-script:  "Corinthia", "Snell Roundhand", "Apple Chancery", cursive;
  --hd-font-body:    "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --hd-shadow-soft:  0 4px 18px rgba(17, 61, 60, .08);
  --hd-radius-card:  14px;
  --hd-radius-pill:  100px;
  --hd-drawer-width: 440px;
  --hd-btn-h:        40px;
  --hd-btn-h-sm:     40px;
}

/* =========================================================
   1. Shared pieces
   ========================================================= */
.hd-mc, .hd-mc *, .hd-progress, .hd-progress * { box-sizing: border-box; }
.hd-mc .hd-icon, .hd-progress .hd-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.15em; flex: none; }

/* Quantity stepper (drawer + cart page) */
.hd-qty { display: inline-flex; align-items: center; height: 40px; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-pill); background: #fff; overflow: hidden; vertical-align: middle; }
.hd-qty__btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font-family: var(--hd-font-body); font-size: 18px; font-weight: 400; line-height: 1; color: var(--hd-blue-stone); cursor: pointer; transition: background .15s; }
.hd-qty__btn:hover { background: var(--hd-beige); color: var(--hd-blue-stone); }
.hd-qty__btn:focus-visible { outline: 2px solid var(--hd-california); outline-offset: -2px; }
.hd-qty .quantity { display: inline-flex; margin: 0; float: none; width: auto; }
.hd-qty .quantity.hidden { display: none; }
.hd-qty input.qty, .hd-qty .hd-qty__input, .hd-qty input[type="number"] { width: 40px; min-width: 40px; height: 38px; margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; text-align: center; font-family: var(--hd-font-body); font-size: 14px; font-weight: 600; color: var(--hd-firefly); -moz-appearance: textfield; appearance: textfield; }
.hd-qty input::-webkit-outer-spin-button, .hd-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hd-qty .quantity input.minus, .hd-qty .quantity input.plus, .hd-qty .quantity .kadence-qty-button, .hd-qty .quantity label.screen-reader-text { display: none !important; }
.hd-qty--fixed { padding: 0 18px; font-family: var(--hd-font-body); font-size: 14px; font-weight: 600; color: var(--hd-firefly); }
.hd-qty--fixed .quantity { display: none; }

/* Toggle switch (the Cold Pack row) */
.hd-switch { position: relative; display: inline-block; width: 44px; height: 24px; margin: 0; vertical-align: middle; cursor: pointer; }
.hd-switch__input { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.hd-switch__track { position: absolute; inset: 0; border-radius: var(--hd-radius-pill); background: var(--hd-nebula); transition: background .2s; }
.hd-switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .2s; }
.hd-switch__input:checked + .hd-switch__track { background: var(--hd-blue-stone); }
.hd-switch__input:checked + .hd-switch__track::after { transform: translateX(20px); }
.hd-switch__input:focus-visible + .hd-switch__track { outline: 2px solid var(--hd-california); outline-offset: 2px; }
.hd-switch__input:disabled + .hd-switch__track { opacity: .5; }

/* Progress card (free shipping).
   The card and track rules only match the drawer card (:where() keeps the
   specificity unchanged): the blog's reading bar is also .hd-progress. */
.hd-progress:where(.hd-progress--ship) { position: relative; padding: 14px 16px 12px; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-card); background: #fff; font-family: var(--hd-font-body); color: var(--hd-ink); }
.hd-progress:where(.hd-progress--ship) + .hd-progress:where(.hd-progress--ship) { margin-top: 10px; }
.hd-progress__head { display: flex; align-items: center; gap: 10px; }
.hd-progress__icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--hd-blue-stone); color: #fff; flex: none; }
.hd-progress__icon .hd-icon { width: 18px; height: 18px; }
.hd-progress__msg { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.35; color: var(--hd-ink); }
.hd-progress__msg strong { font-weight: 700; color: var(--hd-blue-stone); }
.hd-progress__msg .woocommerce-Price-amount { font-weight: 700; }
:where(.hd-progress--ship) .hd-progress__bar { position: relative; height: 8px; margin: 12px 0 0; border-radius: var(--hd-radius-pill); background: var(--hd-line-soft); overflow: visible; }
.hd-progress__fill { position: absolute; left: 0; top: 0; bottom: 0; max-width: 100%; border-radius: var(--hd-radius-pill); background: var(--hd-blue-stone); transition: width .4s ease; }
.hd-progress.is-unlocked .hd-progress__fill { background: var(--hd-blue-stone); }
.hd-progress__note { margin: 8px 0 0; font-size: 12px; line-height: 1.4; color: var(--hd-sirocco); }


/* Trust list */
.hd-mc__trust { list-style: none; margin: 0; padding: 0; }
.hd-mc__trust li { margin: 0; padding: 0; }
/* Linked rows (the BBB profile): same look, underlined text on hover */
.hd-mc__trust__link, .hd-cart__trust__link, .hd-strip__link,
.hd-mc__trust__link:hover, .hd-cart__trust__link:hover, .hd-strip__link:hover { display: inline-flex; align-items: center; gap: inherit; color: inherit !important; text-decoration: none !important; box-shadow: none !important; }
.hd-cart__trust__link { gap: 10px; }
.hd-mc__trust__link { gap: 5px; }
.hd-mc__trust__link:hover .hd-mc__trust__copy, .hd-cart__trust__link:hover .hd-cart__trust__copy, .hd-strip__link:hover .hd-strip__copy { text-decoration: underline; text-underline-offset: 3px; }

/* =========================================================
   2. Side cart (Kadence Pro drawer)
   ========================================================= */
/* One scroll area: the header stays put, the cards + products + upsell scroll, the cream footer stays
   docked at the bottom. Kadence scrolls the whole panel AND caps the product list at
   calc(100vh - 184px - 3.7em) with a scrollbar of its own — under the 2026 footer that nested scroll
   cut a long cart off mid-item, with most products hidden behind the footer. */
.hd-sidecart #cart-drawer .drawer-inner { width: var(--hd-drawer-width) !important; max-width: 100vw; background: #fff; display: flex; flex-direction: column; overflow: hidden; }
/* Header: "Nice Picks / Your Cart" + the orange rule centred across the drawer (the close × sits in the
   corner). Once the list scrolls (hd-cart.js → .hd-mc-scrolled) it slims to "Your Cart" + rule. */
.hd-sidecart #cart-drawer .drawer-header { position: relative; z-index: 3; display: flex; align-items: flex-start; justify-content: center; height: auto !important; min-height: 0; flex: none; padding: 22px 46px 0 !important; border: 0; background: #fff; transition: padding .2s ease, box-shadow .2s ease; }
.hd-sidecart #cart-drawer .drawer-header .drawer-toggle,
.hd-sidecart #cart-drawer .drawer-header .cart-toggle-close { position: absolute; top: 18px; right: 18px; margin: 0; color: var(--hd-firefly); background: none; transition: top .2s ease, transform .2s ease; }
.hd-mc__head { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; min-width: 0; text-align: center; font-family: var(--hd-font-body); transition: margin-top .2s ease; }
.hd-mc__script { font-family: var(--hd-font-script); font-size: 36px; font-weight: 700; line-height: .9; color: var(--hd-blue-stone); transition: opacity .15s ease; }
.hd-mc__title { margin-top: 2px; font-family: var(--hd-font-display); font-size: 30px; font-weight: 400; line-height: 1.1; color: var(--hd-blue-stone); transition: font-size .2s ease; }
.hd-mc__rule { display: block; width: 110px; height: 3px; margin: 14px auto 0; background: var(--hd-california); border-radius: 2px; transition: margin .2s ease; }
/* slim: the script line fades and the heading moves up by its height (36px × .9 line + 2px) */
.hd-sidecart #cart-drawer.hd-mc-scrolled .drawer-header { padding-top: 14px !important; padding-bottom: 12px !important; box-shadow: 0 1px 0 var(--hd-nebula), 0 12px 20px -16px rgba(17, 61, 60, .45); }
.hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__head { margin-top: -34px; }
.hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__script { opacity: 0; pointer-events: none; }
.hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__title { font-size: 24px; }
.hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__rule { margin-top: 8px; }
.hd-sidecart #cart-drawer.hd-mc-scrolled .drawer-header .drawer-toggle,
.hd-sidecart #cart-drawer.hd-mc-scrolled .drawer-header .cart-toggle-close { top: 50%; transform: translateY(-50%); } /* centred on the slim title + rule, whatever the button's size */

.hd-sidecart #cart-drawer .drawer-content { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 16px 26px 0 !important; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--hd-nebula) transparent; }
.hd-sidecart #cart-drawer.popup-drawer .drawer-content ul.product_list_widget,
.hd-sidecart #cart-drawer ul.hd-mc__items { max-height: none !important; overflow: visible !important; } /* Kadence's capped, separately scrolling list */
.hd-sidecart #cart-drawer .drawer-content .mini-cart-container,
.hd-sidecart #cart-drawer .drawer-content .kadence-mini-cart-refresh,
.hd-sidecart #cart-drawer .drawer-content .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1 0 auto; }
.hd-sidecart #cart-drawer .kadence-mini-cart-shipping,
.hd-sidecart #cart-drawer .free-product-progress-bar { display: none !important; } /* the old bars, should another plugin print them */
.hd-mc { display: flex; flex-direction: column; flex: 1 0 auto; font-family: var(--hd-font-body); color: var(--hd-text); }
.hd-mc--busy { opacity: .6; pointer-events: none; transition: opacity .15s; }

/* Items */
.hd-sidecart #cart-drawer ul.hd-mc__items { margin: 14px 0 0 !important; padding: 0 !important; list-style: none; border: 0; }
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; margin: 0 !important; padding: 16px 0 !important; border: 0; border-bottom: 1px solid var(--hd-nebula); background: none; min-height: 0; }
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item::before, .hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item::after { display: none; }
.hd-mc__thumb { display: block; width: 76px; height: 76px; padding: 6px; border: 1px solid var(--hd-nebula); border-radius: 10px; background: #fff; overflow: hidden; } /* product images sit on white */
.hd-sidecart #cart-drawer .hd-mc__thumb img { display: block; float: none !important; width: 100% !important; height: 100% !important; max-width: none; margin: 0 !important; object-fit: contain; }
.hd-mc__info { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.hd-sidecart #cart-drawer .hd-mc__name { display: block; margin: 0; font-family: var(--hd-font-body); font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--hd-blue-stone); text-decoration: none; }
.hd-sidecart #cart-drawer a.hd-mc__name:hover { color: var(--hd-firefly); }
.hd-mc__variation { margin-top: 3px; font-size: 12px; line-height: 1.4; color: var(--hd-sirocco); }
.hd-mc__variation dl.variation { display: flex; flex-wrap: wrap; gap: 0 8px; margin: 0; padding: 0; border: 0; font-size: 12px; }
.hd-sidecart #cart-drawer .hd-mc__variation dl.variation dt, .hd-sidecart #cart-drawer .hd-mc__variation dl.variation dd { display: inline; float: none; margin: 0; padding: 0; font-weight: 400; color: var(--hd-sirocco); }
.hd-sidecart #cart-drawer .hd-mc__variation dl.variation dt { display: none; } /* outranks WooCommerce's ul.cart_list li dl dt (inline-block) */
.hd-mc__variation dl.variation dd p { display: inline; margin: 0; }
.hd-mc__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 10px; }
.hd-mc__qty { flex: none; height: 36px; }
.hd-mc__qty .hd-qty__btn { width: 32px; }
.hd-mc__qty .hd-qty__input { width: 36px; min-width: 36px; height: 34px; }
.hd-mc__qty--fixed { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-pill); font-size: 14px; font-weight: 600; color: var(--hd-firefly); }
.hd-sidecart #cart-drawer .hd-mc__price { font-family: var(--hd-font-body); font-size: 16px; font-weight: 700; line-height: 1.2; color: var(--hd-blue-stone); white-space: nowrap; }
.hd-sidecart #cart-drawer .hd-mc__price .woocommerce-Price-amount { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; }
.hd-mc__each { margin-top: 6px; font-size: 12px; color: var(--hd-sirocco); }
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item a.remove.hd-mc__remove { position: static !important; display: inline-block; width: auto !important; height: auto !important; margin: 8px 0 0; padding: 0; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none; font-family: var(--hd-font-body); font-size: 12px; font-weight: 600; line-height: 1.3 !important; text-align: left; text-decoration: underline; text-underline-offset: 2px; color: var(--hd-sirocco) !important; }
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item a.remove.hd-mc__remove:hover { color: #B8302F !important; background: none !important; }
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item .quantity,
.hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item > a:not(.hd-mc__name):not(.hd-mc__remove):not(.hd-mc__thumb) { display: none; }

/* Upsell card ("Special offer just for you!") */
.hd-mc__after { margin-top: 16px; }
.hd-mc__after:empty { display: none; }
.hd-sidecart #cart-drawer .custom-upsell-box.hd-upsell { margin: 0 0 12px; padding: 16px; border: 0; border-radius: var(--hd-radius-card); background: var(--hd-firefly); color: #fff; font-family: var(--hd-font-body); overflow: hidden; }
.hd-upsell__label { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hd-golden); }
.hd-upsell__body { display: flex; align-items: center; gap: 14px; }
.hd-upsell__thumb { display: block; width: 64px; height: 64px; padding: 5px; border-radius: 10px; background: #fff; flex: none; }
.hd-sidecart #cart-drawer .hd-upsell__thumb img { display: block; float: none; width: 100%; height: 100%; margin: 0; object-fit: contain; border-radius: 0; }
.hd-upsell__info { display: flex; flex-direction: column; min-width: 0; }
.hd-sidecart #cart-drawer .hd-upsell__name { font-size: 14px; font-weight: 600; line-height: 1.3; color: #fff; text-decoration: none; }
.hd-sidecart #cart-drawer .hd-upsell__name:hover { color: var(--hd-golden); }
.hd-sidecart #cart-drawer .hd-upsell__price { margin-top: 6px; font-family: var(--hd-font-body); font-size: 16px; font-weight: 700; line-height: 1.2; color: #fff; }
.hd-sidecart #cart-drawer .hd-upsell__price .woocommerce-Price-amount { font-family: inherit; font-size: inherit; color: inherit; font-weight: inherit; }
.hd-sidecart #cart-drawer .hd-upsell__price del { margin-right: 8px; font-family: var(--hd-font-body); font-size: 13px; font-weight: 500; color: var(--hd-jet-stream); opacity: 1; }
.hd-sidecart #cart-drawer .hd-upsell__price del .woocommerce-Price-amount { font-family: inherit; font-size: inherit; color: inherit; }
.hd-sidecart #cart-drawer .hd-upsell__price ins { text-decoration: none; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn { display: flex !important; align-items: center; justify-content: center; width: 100%; height: var(--hd-btn-h, 40px); margin: 14px 0 0; padding: 0 16px; border: 0; border-radius: var(--hd-radius-pill); background: var(--hd-california) !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #fff !important; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn, .hd-sidecart #cart-drawer a.button.hd-mc__checkout { text-decoration: none !important; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn:hover { background: #E68F00 !important; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn.loading { opacity: .7; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn::after { display: none; }
.hd-sidecart #cart-drawer a.button.hd-upsell__btn + .added_to_cart { display: none; }

/* Sticky footer */
.hd-mc__footer { position: sticky; bottom: 0; z-index: 2; margin: auto -26px 0; padding: 16px 26px 18px; background: var(--hd-old-lace); border-top: 1px solid var(--hd-nebula); }
.hd-sidecart #cart-drawer .hd-mc__subtotal { display: flex; align-items: baseline; justify-content: space-between; margin: 0 !important; padding: 0; border: 0; font-family: var(--hd-font-body); }
.hd-sidecart #cart-drawer .hd-mc__subtotal-label { font-size: 14px; font-weight: 600; color: var(--hd-firefly); }
.hd-sidecart #cart-drawer .hd-mc__subtotal-amount, .hd-sidecart #cart-drawer .hd-mc__subtotal-amount .woocommerce-Price-amount { font-family: var(--hd-font-body); font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--hd-blue-stone); }
.hd-mc__note { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: var(--hd-sirocco); }
.hd-sidecart #cart-drawer .hd-mc__buttons { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 18px 0 0 !important; padding: 0; }
.hd-sidecart #cart-drawer .hd-mc__buttons::before,
.hd-sidecart #cart-drawer .hd-mc__buttons::after { content: none !important; display: none !important; } /* WooCommerce's clearfix — as flex items they added two empty 10px gaps */
.hd-sidecart #cart-drawer .hd-mc__buttons a.button.hd-mc__checkout,
.hd-sidecart #cart-drawer a.button.hd-mc__checkout { display: flex !important; align-items: center; justify-content: center; width: 100%; height: var(--hd-btn-h, 40px); margin: 0; padding: 0 20px; border: 0; border-radius: var(--hd-radius-pill); background: var(--hd-california) !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #fff !important; }
.hd-sidecart #cart-drawer a.button.hd-mc__checkout:hover { background: #E68F00 !important; }
/* "View Cart": outlined teal pill above the checkout button */
.hd-sidecart #cart-drawer .hd-mc__buttons a.button.hd-mc__view-cart,
.hd-sidecart #cart-drawer a.button.hd-mc__view-cart { display: flex !important; align-items: center; justify-content: center; width: 100%; height: var(--hd-btn-h, 40px); margin: 0; padding: 0 20px; border: 2px solid var(--hd-blue-stone); border-radius: var(--hd-radius-pill); background: #fff !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; line-height: 1; letter-spacing: 0; text-transform: none; text-decoration: none !important; color: var(--hd-blue-stone) !important; transition: background .15s, color .15s; }
.hd-sidecart #cart-drawer a.button.hd-mc__view-cart:hover { background: var(--hd-blue-stone) !important; color: #fff !important; }
.hd-sidecart #cart-drawer .hd-mc__buttons a.button:not(.hd-mc__checkout):not(.hd-mc__view-cart) { display: none; } /* Kadence / Woo "View cart" button, when a plugin re-adds it */
.hd-sidecart #cart-drawer a.hd-mc__keep { margin: 0 !important; font-family: var(--hd-font-body); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; color: var(--hd-blue-stone); background: none; } /* WooCommerce gives the buttons row's links margin 0 5px 5px 0 */
.hd-mc__trust { display: flex; justify-content: space-between; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--hd-line-soft); }
.hd-mc__trust__item { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500; line-height: 1.2; color: var(--hd-sirocco); }
.hd-mc__trust__icon { color: var(--hd-blue-stone); font-size: 14px; display: inline-flex; }

/* Empty state */
.hd-mc--empty { justify-content: center; }
.hd-mc__empty { display: flex; flex-direction: column; align-items: center; margin: 30px 0 60px; text-align: center; }
.hd-mc__empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--hd-beige); color: var(--hd-blue-stone); font-size: 32px; }
.hd-sidecart #cart-drawer .hd-mc__empty-title { margin: 18px 0 0; padding: 0; border: 0; background: none; font-family: var(--hd-font-display); font-size: 24px; font-weight: 400; color: var(--hd-blue-stone); }
.hd-mc__empty-text { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--hd-limed-spruce); }
.hd-sidecart #cart-drawer a.button.hd-mc__empty-btn { width: auto; min-width: 220px; margin-top: 20px; }

/* =========================================================
   3. Cart page
   ========================================================= */
.hd-cart-page--no-heading .entry-content > .wp-block-kadence-rowlayout:has(h1):not(:has(.woocommerce-cart-form,
.hd-cart)),
.hd-cart-page--no-heading .entry-content > h1.wp-block-heading { display: none; } /* the page's own "Cart" heading block */
.hd-cart-page .entry-content .woocommerce > .hd-cart { margin: 0 auto; }
.hd-cart { box-sizing: border-box; max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 0; font-family: var(--hd-font-body); color: var(--hd-text); } /* no edge padding: the cart sits in a Kadence column that pads the page already (v2.3.1) */

/* Header: steps, title, log-in line */
.hd-cart__header { text-align: center; margin: 4px 0 0; }
.hd-steps { display: flex; justify-content: center; align-items: center; margin: 0 0 26px; padding: 0; list-style: none; }
.hd-steps__item { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--hd-sirocco); white-space: nowrap; }
.hd-steps__item + .hd-steps__item::before { content: ""; display: block; width: 44px; height: 2px; margin: 0 14px; background: var(--hd-nebula); border-radius: 1px; }
.hd-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 2px solid var(--hd-nebula); border-radius: 50%; font-size: 12px; font-weight: 700; color: var(--hd-sirocco); background: #fff; }
.hd-steps__item.is-active { color: var(--hd-firefly); }
.hd-steps__item.is-active .hd-steps__num { border-color: var(--hd-california); background: var(--hd-california); color: #fff; }
.hd-steps__item.is-done .hd-steps__num { border-color: var(--hd-blue-stone); background: var(--hd-blue-stone); color: #fff; }
.hd-cart__title { margin: 0 !important; padding: 0; font-family: var(--hd-font-display) !important; font-size: 48px !important; font-weight: 400 !important; line-height: 1.1; letter-spacing: -.01em; color: var(--hd-blue-stone) !important; text-transform: none; }
.hd-cart__header--steps-only .hd-steps { margin-bottom: 0; } /* no title under the steps (Kadence's title band prints "Cart") */
.hd-cart__login { margin: 24px 0 0; font-size: 14px; color: var(--hd-limed-spruce); }
.hd-cart__login a { font-weight: 700; color: var(--hd-blue-stone); text-decoration: underline; text-underline-offset: 3px; }
.hd-cart__login a:hover { color: var(--hd-firefly); }
/* 'page.login_position' = 'table': left-aligned above the Product column */
.hd-cart .hd-cart__main .hd-cart__login--table { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 0; text-align: left; }
.hd-cart__login--table .hd-icon { width: 18px; height: 18px; flex: none; color: var(--hd-blue-stone); }

/* "Attention Buyers!" notice (page.notice, v2.3.2) — the checkout's peach .thd-notice callout, under the steps */
.hd-cart__notice { display: flex; gap: 14px; align-items: flex-start; box-sizing: border-box; width: 100%; margin: 28px 0 0; padding: 16px 20px; background: var(--hd-old-lace); border: 1px solid #F3DDBB; border-left: 4px solid var(--hd-california); border-radius: 10px; text-align: left; }
.hd-cart__notice > .hd-icon.hd-cart__notice-icon { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; color: #E08A00; }
.hd-cart__notice-body { flex: 1 1 auto; min-width: 0; font-family: var(--hd-font-body); }
.hd-cart .hd-cart__notice-title { display: block; margin: 0 0 4px; padding: 0; font-family: var(--hd-font-display); font-size: 18px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--hd-blue-stone); }
.hd-cart .hd-cart__notice-body p { margin: 0; padding: 0; font-family: var(--hd-font-body); font-size: 13px; line-height: 1.65; color: #5A6D6B; }
.hd-cart .hd-cart__notice-body p + p { margin-top: 8px; }
.hd-cart .hd-cart__notice-body a { color: var(--hd-blue-stone); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.hd-cart .hd-cart__notice-body a:hover { color: var(--hd-firefly); }
.hd-cart__notice + .hd-cart__layout { margin-top: 28px; }
.hd-cart--empty .hd-cart__notice + .hd-cart__empty { margin-top: 28px; }

/* Layout */
.hd-cart__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; margin-top: 36px; }
.hd-cart__main { min-width: 0; }
.hd-cart__side { min-width: 0; }

/* Notices (Kadence Shop Kit cart notices + WooCommerce notices) */
.hd-cart__notices:empty { display: none; }
.hd-cart .kt-woo-cart-notice,
.hd-cart .woocommerce-info,
.hd-cart .woocommerce-message,
.hd-cart .woocommerce-error { margin: 0 0 14px !important; padding: 14px 18px !important; border: 1px solid var(--hd-jet-stream) !important; border-left: 4px solid var(--hd-blue-stone) !important; border-radius: 10px !important; background: var(--hd-mint-tint) !important; box-shadow: none; font-family: var(--hd-font-body); font-size: 14px; line-height: 1.55; color: var(--hd-limed-spruce) !important; }
.hd-cart .woocommerce-error { border-left-color: #B8302F !important; background: #FBF0EE !important; }
.hd-cart .kt-woo-cart-notice .kt-woo-cart-notice-message { font-family: var(--hd-font-body); font-size: 14px; color: var(--hd-limed-spruce); }
.hd-cart .kt-woo-cart-notice a, .hd-cart .woocommerce-info a { color: var(--hd-blue-stone); font-weight: 700; }
.hd-cart .kt-woo-cart-notice b, .hd-cart .kt-woo-cart-notice strong { color: var(--hd-firefly); }

/* Items table */
.hd-cart table.hd-cart__table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; border-radius: 0; background: none; }
.hd-cart table.hd-cart__table thead th { padding: 0 0 12px; border: 0 !important; border-bottom: 1px solid var(--hd-nebula) !important; background: none !important; font-family: var(--hd-font-body); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left; color: var(--hd-sirocco); }
.hd-cart table.hd-cart__table thead th.product-quantity { text-align: center; }
.hd-cart table.hd-cart__table thead th.product-subtotal { text-align: right; }
.hd-cart table.hd-cart__table tbody td { padding: 20px 0; border: 0 !important; border-bottom: 1px solid var(--hd-nebula) !important; background: none !important; vertical-align: middle; font-family: var(--hd-font-body); font-size: 14px; line-height: 1.4; color: var(--hd-text); }
.hd-cart table.hd-cart__table td::before { display: none !important; }
.hd-cart table.hd-cart__table td.product-remove { width: 40px; padding-right: 8px; }
.hd-cart table.hd-cart__table td.product-remove a.remove { display: inline-flex !important; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; border: 1px solid var(--hd-nebula); border-radius: 50%; background: #fff !important; font-family: var(--hd-font-body); font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none; color: var(--hd-sirocco) !important; transition: all .15s; }
.hd-cart table.hd-cart__table td.product-remove a.remove:hover { border-color: #B8302F; background: #FBF0EE !important; color: #B8302F !important; }
.hd-cart table.hd-cart__table td.product-thumbnail { width: 100px; padding-right: 16px; }
.hd-cart__thumb { display: block; width: 84px; height: 84px; padding: 8px; border: 1px solid var(--hd-nebula); border-radius: 10px; background: #fff; overflow: hidden; }
.hd-cart__thumb img { display: block; width: 100% !important; height: 100% !important; max-width: none; margin: 0; object-fit: contain; }
/* The Cart page's own Custom CSS (page settings) sets ".woocommerce-cart table.cart img { width: 250px !important }"
   under 991px — inside the 76–84px tile that pushed the product out of view (an empty white tile). */
body.woocommerce-cart .hd-cart table.cart td.product-thumbnail img,
body.woocommerce-cart .hd-cart .hd-cart__thumb img { width: 100% !important; height: 100% !important; max-width: none !important; }
.hd-cart table.hd-cart__table td.product-name { padding-right: 20px; }
.hd-cart__name, .hd-cart__name a { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--hd-blue-stone); text-decoration: none; } /* the card title's green, 600 like every product name */
.hd-cart__name a:hover { color: var(--hd-firefly); }
/* Product names: #025960. The Cart page's own Custom CSS sets the same selector to #000000 !important,
   so the theme repeats it with !important plus a longer one that outranks it wherever it loads. */
.woocommerce-cart table.cart .product-name a,
#add_payment_method table.cart .product-name a,
html body.woocommerce-cart .hd-cart table.cart td.product-name a { color: #025960 !important; }
html body.woocommerce-cart .hd-cart table.cart td.product-name a:hover { color: #113D3C !important; }
.hd-cart__each { display: block; margin-top: 4px; font-size: 13px; color: var(--hd-sirocco); }
.hd-cart__each .woocommerce-Price-amount { font-weight: 600; color: #025960; }
.hd-cart table.hd-cart__table dl.variation { display: flex; flex-wrap: wrap; gap: 0 8px; margin: 6px 0 0; padding: 0; border: 0; font-size: 12px; line-height: 1.4; color: var(--hd-sirocco); }
.hd-cart table.hd-cart__table dl.variation dt, .hd-cart table.hd-cart__table dl.variation dd { display: inline; float: none; margin: 0; padding: 0; font-weight: 400; color: var(--hd-sirocco); }
.hd-cart table.hd-cart__table dl.variation dt { display: none; }
/* Meta whose value means nothing without its label keep it: "Minimum Period(s): 2" (subscription
   commitment) instead of a lone "2". Flavor / Size / Strength still show the value only. */
.hd-cart table.hd-cart__table dl.variation dt.variation-MinimumPeriods,
.hd-mc__variation dl.variation dt.variation-MinimumPeriods { display: inline; margin-right: -4px; }
.hd-cart table.hd-cart__table dl.variation dd p { display: inline; margin: 0; }
.hd-cart table.hd-cart__table .backorder_notification { margin: 6px 0 0; font-size: 12px; color: var(--hd-sirocco); }
.hd-cart table.hd-cart__table td.product-quantity { width: 140px; text-align: center; }
.hd-cart table.hd-cart__table td.product-subtotal { width: 110px; text-align: right; }
.hd-cart table.hd-cart__table td.product-subtotal .woocommerce-Price-amount,
.hd-cart table.hd-cart__table td.product-subtotal .amount { font-family: var(--hd-font-body); font-size: 17px; font-weight: 700; color: var(--hd-blue-stone); white-space: nowrap; }
.hd-cart table.hd-cart__table td.product-subtotal small { display: block; margin-top: 4px; font-family: var(--hd-font-body); font-size: 12px; color: var(--hd-sirocco); }

/* Coupon */
.hd-cart table.hd-cart__table tr.hd-cart__actions-row td.actions { padding: 26px 0 26px !important; border: 0 !important; border-bottom: 1px solid var(--hd-nebula) !important; text-align: left; } /* the coupon row: the same air above and below */
.hd-cart table.hd-cart__table tr.hd-cart__actions-row td.actions > *:not(.hd-cart__coupon):not(.hd-cart__update):not(input) { margin-top: 12px; }
.hd-cart .hd-cart__coupon { display: flex; align-items: center; gap: 10px; max-width: 440px; float: none; margin: 0; }
.hd-cart .hd-cart__coupon input.hd-cart__coupon-input, .hd-cart .hd-cart__coupon #coupon_code { flex: 1 1 auto; width: auto; min-width: 0; height: var(--hd-btn-h, 40px); margin: 0; padding: 0 20px; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-pill); background: #fff; box-shadow: none; font-family: var(--hd-font-body); font-size: 14px; color: var(--hd-firefly); }
.hd-cart .hd-cart__coupon #coupon_code:focus { border-color: var(--hd-blue-stone); outline: none; }
.hd-cart .hd-cart__coupon button.button.hd-cart__coupon-btn { display: inline-flex; align-items: center; justify-content: center; height: var(--hd-btn-h, 40px); margin: 0; padding: 0 26px; border: 0; border-radius: var(--hd-radius-pill); background: var(--hd-firefly) !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #fff !important; white-space: nowrap; }
.hd-cart .hd-cart__coupon button.button.hd-cart__coupon-btn:hover { background: var(--hd-blue-stone) !important; }
.hd-cart .hd-cart__coupon .coupon-error-notice { flex-basis: 100%; margin: 4px 0 0 20px; font-size: 12px; color: #B8302F; }
.hd-cart button.hd-cart__update { display: none !important; } /* quantities update themselves */

/* Totals box */
.hd-cart .cart-collaterals { width: 100%; margin: 0; }
.hd-cart .cart-collaterals::before, .hd-cart .cart-collaterals::after { display: none; }
.hd-cart .cart_totals.hd-totals { float: none; width: 100%; margin: 0; padding: 0; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-card); background: #fff; box-shadow: var(--hd-shadow-soft); overflow: hidden; }
.hd-totals__head { display: flex; align-items: baseline; gap: 8px; padding: 18px 22px; background: var(--hd-firefly); color: #fff; }
.hd-cart .hd-totals__title { margin: 0 !important; padding: 0; border: 0; font-family: var(--hd-font-display) !important; font-size: 22px !important; font-weight: 400 !important; line-height: 1.2; color: #fff !important; text-transform: none; }
.hd-totals__count { font-family: var(--hd-font-body); font-size: 13px; font-weight: 500; color: var(--hd-jet-stream); }
.hd-cart table.hd-totals__table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; background: none; }
/* Kadence's ".woocommerce-cart .cart-collaterals .cart_totals table { margin: 0 0 6px }" outranked the line
   above and left a 6px white strip between "Total due" and the cream footer. */
.hd-cart .cart-collaterals .cart_totals table.hd-totals__table { margin: 0 !important; }
.hd-cart table.hd-totals__table tr th, .hd-cart table.hd-totals__table tr td { width: auto; padding: 14px 22px; border: 0 !important; border-bottom: 1px solid var(--hd-nebula) !important; background: none !important; vertical-align: top; font-family: var(--hd-font-body); font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--hd-firefly); text-align: left; }
.hd-cart table.hd-totals__table tr th { padding-right: 10px; }
.hd-cart table.hd-totals__table tr td { width: 1%; padding-left: 10px; text-align: right; white-space: nowrap; }
.hd-cart table.hd-totals__table tr:last-child th, .hd-cart table.hd-totals__table tr:last-child td { border-bottom: 0 !important; }
.hd-cart table.hd-totals__table tr td::before { display: none !important; }

.hd-cart table.hd-totals__table, .hd-cart table.hd-totals__table > tbody, .hd-cart table.hd-totals__table > thead, .hd-cart table.hd-totals__table > tfoot { display: block; width: 100%; }
.hd-cart table.hd-totals__table tr { display: flex; align-items: stretch; width: 100%; }
.hd-cart table.hd-totals__table tr > th { display: block; flex: 1 1 0%; min-width: 0; }
.hd-cart table.hd-totals__table tr > td { display: block; flex: 0 0 auto; width: auto; max-width: 58%; min-width: 0; }
.hd-cart table.hd-totals__table tr > td:only-child:not([colspan]) { margin-left: auto; } /* a second billing schedule's row (its label spans rows) */
.hd-cart table.hd-totals__table tr > th[colspan], .hd-cart table.hd-totals__table tr > td[colspan] { flex: 1 1 100%; max-width: none; }
.hd-cart table.hd-totals__table td .woocommerce-Price-amount, .hd-cart table.hd-totals__table td .amount { font-weight: 600; color: var(--hd-firefly); }
.hd-totals__label { display: inline-flex; align-items: center; gap: 8px; }
.hd-totals__label .hd-icon { width: 16px; height: 16px; color: var(--hd-blue-stone); }
.hd-totals__sub { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; line-height: 1.4; color: var(--hd-sirocco); white-space: normal; }
.hd-cart table.hd-totals__table tr.hd-totals__row--coupon th .hd-icon { width: 14px; height: 14px; margin-right: 4px; color: var(--hd-california); }
.hd-cart table.hd-totals__table tr.hd-totals__row--coupon td { color: var(--hd-highland); }
.hd-cart table.hd-totals__table tr.hd-totals__row--coupon td .woocommerce-Price-amount { color: var(--hd-highland); }
.hd-cart table.hd-totals__table tr.hd-totals__row--coupon a.woocommerce-remove-coupon { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 600; color: var(--hd-sirocco); }
.hd-cart table.hd-totals__table tr.hd-totals__row--toggle td { white-space: nowrap; }
.hd-cart table.hd-totals__table tr.hd-totals__row--toggle .hd-switch { margin-right: 12px; }
.hd-totals__amt { display: inline-block; min-width: 48px; font-weight: 600; }

.hd-cart table.hd-totals__table tr.hd-totals__row--toggle.is-busy td { opacity: .55; pointer-events: none; }

.hd-cart table.hd-totals__table tr.hd-totals__row--total th, .hd-cart table.hd-totals__table tr.hd-totals__row--total td { padding: 20px 22px 6px; border-bottom: 0; background: var(--hd-old-lace) !important; font-size: 16px; font-weight: 700; }
/* The cream footer (#FDF4E5) runs from "Total due" to "Secure checkout". The Sezzle plugin drops its
   widget right after the totals table (or before the button) — it is coloured cream too, and its own
   white "szl-light" text box follows suit (v2.3.1). */
.hd-totals__foot, .hd-cart .cart_totals > .sezzle-shopify-info-button, .hd-cart .cart_totals > [class*="sezzlewidgetindex"] { background: var(--hd-old-lace); }
.hd-totals__foot { padding: 0 0 2px; }
.hd-cart .cart_totals .sezzle-shopify-info-button { margin: 0; padding: 10px 22px 0; text-align: center; font-family: var(--hd-font-body); font-size: 13px; color: var(--hd-limed-spruce); }
.hd-cart .cart_totals .sezzle-shopify-info-button .sezzle-checkout-button-wrapper { margin: 0 auto; justify-content: center; }
.hd-cart .sezzle-button-text, .hd-cart .sezzle-button-text.sezzle-right.szl-light,
.hd-cart .sezzle-checkout-button-wrapper .sezzle-button-text { background: var(--hd-old-lace) !important; }
/* Kadence's ".single-content p { margin-bottom: 16px }" added uneven air under the final-number note and
   "Secure checkout"; the paddings below set the rhythm. */
.hd-cart .cart_totals .hd-totals__foot p.hd-totals__final,
.hd-cart .cart_totals .hd-totals__foot p.hd-totals__secure { margin: 0 !important; }
.hd-cart table.hd-totals__table tr.hd-totals__row--total td .woocommerce-Price-amount, .hd-cart table.hd-totals__table tr.hd-totals__row--total td strong { font-family: var(--hd-font-body); font-size: 24px; font-weight: 700; line-height: 1.1; color: var(--hd-blue-stone); }
.hd-cart table.hd-totals__table tr.hd-totals__row--total td small, .hd-cart table.hd-totals__table tr.hd-totals__row--total td .tax_label { display: block; font-family: var(--hd-font-body); font-size: 11px; font-weight: 400; color: var(--hd-sirocco); }
/* shipment options */
.hd-cart table.hd-totals__table tr.hd-totals__row--shipping td { width: auto; padding: 14px 22px; white-space: normal; text-align: left; }
.hd-totals__label--block { display: block; margin-bottom: 10px; font-weight: 500; }
.hd-ship-options { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.hd-ship-option { position: relative; margin: 0 !important; padding: 0 !important; }
/* Kadence's ".woocommerce ul#shipping_method li { display: flex; flex-wrap: wrap; align-items: center }" shrank
   each option box to its text (Free / Flat rate / Priority came out different widths): plain block rows,
   so every box spans the column. */
.woocommerce ul#shipping_method li.hd-ship-option, .hd-ship-options li.hd-ship-option { display: block; }
.hd-ship-option input.shipping_method { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.hd-ship-option label { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 12px !important; border: 1px solid var(--hd-nebula); border-radius: 10px; background: #fff; font-family: var(--hd-font-body); font-size: 13px; font-weight: 500; line-height: 1.3; color: var(--hd-firefly); cursor: pointer; transition: border-color .15s, background .15s; }
.hd-ship-option.is-selected label, .hd-ship-option input.shipping_method:checked + label { border-color: var(--hd-blue-stone); background: var(--hd-beige); }
.hd-ship-option input.shipping_method[type="hidden"] + label { cursor: default; }
.hd-ship-option__radio { display: inline-block; flex: none; width: 16px; height: 16px; border: 2px solid var(--hd-nebula); border-radius: 50%; background: #fff; }
.hd-ship-option.is-selected .hd-ship-option__radio, .hd-ship-option input.shipping_method:checked + label .hd-ship-option__radio { border-color: var(--hd-blue-stone); background: var(--hd-blue-stone); box-shadow: inset 0 0 0 3px #fff; }
.hd-ship-option input.shipping_method[type="hidden"] + label .hd-ship-option__radio { display: none; }
/* name + price on the first line, the delivery estimate on a full-width second line */
.hd-ship-option__label { display: grid; flex: 1 1 auto; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 10px; row-gap: 3px; min-width: 0; }
.hd-ship-option__label .woocommerce-Price-amount, .hd-ship-option__label .amount { font-weight: 700; color: var(--hd-firefly); }
.hd-ship-option__body { display: contents; }
.hd-ship-option__name { grid-column: 1; font-weight: 600; }
.hd-ship-option__price { grid-column: 2; grid-row: 1; white-space: nowrap; text-align: right; font-weight: 700; color: var(--hd-firefly); }
.hd-ship-option__eta { grid-column: 1 / -1; }
.hd-ship-option__free { font-weight: 700; color: var(--hd-highland); }
/* estimated delivery ("Arrives Thu, Oct 29 – Tue, Nov 10 · 2–10 business days") */
.hd-ship-eta { display: block; font-size: 12px; font-weight: 500; line-height: 1.4; color: var(--hd-limed-spruce); }
.hd-ship-eta .hd-icon { display: inline-block; width: 13px; height: 13px; margin-right: 5px; vertical-align: -2px; color: var(--hd-blue-stone); }
.hd-ship-eta__dates { font-weight: 700; color: var(--hd-blue-stone); white-space: nowrap; }
.hd-ship-eta__short { display: none; } /* phones show the short dates (no weekday) — see the responsive block */
.hd-ship-eta__days { color: var(--hd-sirocco); white-space: nowrap; }
.hd-ship-eta__days::before { content: "·"; margin: 0 6px 0 2px; }
.hd-ship-option.is-selected .hd-ship-eta__dates, .hd-ship-option input.shipping_method:checked + label .hd-ship-eta__dates { color: var(--hd-firefly); }
.hd-ship-option.is-selected .hd-ship-eta .hd-icon, .hd-ship-option input.shipping_method:checked + label .hd-ship-eta .hd-icon { color: var(--hd-california); }
.hd-ship-option--eta label { align-items: flex-start; padding: 11px 12px !important; }
.hd-ship-option--eta .hd-ship-option__radio { margin-top: 1px; }
.hd-ship-eta--checkout { display: block; margin-top: 2px; font-size: 12px; font-weight: 600; color: var(--hd-blue-stone); }
.hd-ship-eta--days .hd-ship-eta__dates { font-weight: 600; color: var(--hd-limed-spruce); } /* 'delivery.show_dates' off: "2–10 business days" only */
.hd-ship-option.is-selected .hd-ship-eta--days .hd-ship-eta__dates, .hd-ship-option input.shipping_method:checked + label .hd-ship-eta--days .hd-ship-eta__dates { color: var(--hd-firefly); }

/* 'page.totals.after_total' = 'below': rows under "Total due" share its cream (no white gap before the footer) */
.hd-cart table.hd-totals__table tr.hd-totals__row--total:not(:last-child) th,
.hd-cart table.hd-totals__table tr.hd-totals__row--total:not(:last-child) td { border-bottom: 0 !important; }
.hd-cart table.hd-totals__table tr.hd-totals__row--total ~ tr > th,
.hd-cart table.hd-totals__table tr.hd-totals__row--total ~ tr > td { background: var(--hd-old-lace) !important; }

.hd-cart .woocommerce-shipping-destination { margin: 8px 0 0; }
.hd-cart .woocommerce-shipping-calculator { margin: 8px 0 0; font-size: 12px; }
.hd-cart .woocommerce-shipping-calculator .shipping-calculator-button { font-weight: 600; color: var(--hd-blue-stone); }
.hd-cart .woocommerce-shipping-calculator .shipping-calculator-form input, .hd-cart .woocommerce-shipping-calculator .shipping-calculator-form select { width: 100%; height: 40px; margin: 6px 0; border: 1px solid var(--hd-nebula); border-radius: 8px; font-size: 13px; }
.hd-cart .woocommerce-shipping-calculator .shipping-calculator-form button.button { height: 40px; border-radius: var(--hd-radius-pill); background: var(--hd-firefly); color: #fff; font-family: var(--hd-font-display); font-size: 14px; }
/* below the table */
.hd-totals__final { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 12px 22px 0; text-align: center; }
.hd-totals__final strong { font-size: 13px; font-weight: 700; color: var(--hd-blue-stone); }
.hd-totals__final span { font-size: 12px; color: var(--hd-sirocco); }

.hd-cart .wc-proceed-to-checkout.hd-totals__proceed { margin: 0; padding: 18px 22px 0; }
.hd-cart .wc-proceed-to-checkout.hd-totals__proceed a.checkout-button.hd-totals__checkout,
.hd-cart a.checkout-button.hd-totals__checkout { display: flex !important; align-items: center; justify-content: center; width: 100%; height: var(--hd-btn-h, 40px); margin: 0; padding: 0 20px; border: 0; border-radius: var(--hd-radius-pill); background: var(--hd-california) !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #fff !important; transition: background .15s; }
.hd-cart a.checkout-button.hd-totals__checkout:hover { background: #E68F00 !important; }
.hd-cart a.checkout-button.hd-totals__checkout--arrow { gap: 10px; }
.hd-totals__checkout-arrow { display: inline-block; font-family: var(--hd-font-body); font-size: 18px; font-weight: 600; line-height: 1; transition: transform .15s; }
.hd-cart a.checkout-button.hd-totals__checkout:hover .hd-totals__checkout-arrow { transform: translateX(3px); }
.hd-totals__secure { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 12px 22px 20px; font-size: 12px; font-weight: 500; color: var(--hd-sirocco); }
.hd-totals__secure .hd-icon { width: 14px; height: 14px; color: var(--hd-blue-stone); }

/* Trust list + help box beside the totals (Kadence's ".single-content ul" rule outranks a lone class —
   it zeroed the list's top margin — hence the longer selectors) */
.hd-cart__trust, .hd-cart .hd-cart__side ul.hd-cart__trust, .single-content .hd-cart ul.hd-cart__trust { display: flex; flex-direction: column; gap: 12px; margin: 36px 0 0; padding: 0 8px; }
.hd-cart__trust__item { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.4; color: var(--hd-limed-spruce); }
.hd-cart__trust__item strong { font-weight: 700; color: var(--hd-firefly); }
.hd-cart__trust__icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hd-beige); color: var(--hd-blue-stone); font-size: 15px; flex: none; }
.hd-cart__help { margin-top: 30px; padding: 22px 24px; border-radius: var(--hd-radius-card); background: var(--hd-old-lace); }
.hd-cart .hd-cart__help-title { margin: 0 !important; padding: 0; font-family: var(--hd-font-display) !important; font-size: 22px !important; font-weight: 400 !important; line-height: 1.2; color: var(--hd-blue-stone) !important; text-transform: none; }
.hd-cart__help-text { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--hd-limed-spruce); }
.hd-cart__help-list { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.hd-cart__help-list li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }
.hd-cart__help-list .hd-icon { width: 16px; height: 16px; color: var(--hd-california); }
.hd-cart__help-list a { font-weight: 600; color: var(--hd-blue-stone); text-decoration: none; word-break: break-all; }
.hd-cart__help-list a:hover { text-decoration: underline; }
.hd-cart__help-note { font-size: 12px; color: var(--hd-sirocco); }

/* "Complete Your Order" */
.hd-complete { margin: 56px 0 0; }
.hd-complete__head { margin: 0 0 30px; text-align: center; }
.hd-complete__script { margin: 0; font-family: var(--hd-font-script); font-size: 42px; font-weight: 700; line-height: 1; color: var(--hd-blue-stone); }
.hd-cart .hd-complete__title { margin: 2px 0 0 !important; padding: 0; font-family: var(--hd-font-display) !important; font-size: 40px !important; font-weight: 400 !important; line-height: 1.1; color: var(--hd-blue-stone) !important; text-transform: none; }

/* "Complete Your Order" grid: WooCommerce's loop (product-cards.php styles the cards) */
.hd-complete .hd-complete__grid ul.products { margin-bottom: 0; }

/* Trust strip */
.hd-cart__strip { margin: 48px 0 0; padding: 26px 24px; border-radius: var(--hd-radius-card); background: var(--hd-old-lace); }
.hd-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hd-strip__item { display: flex; align-items: center; justify-content: center; gap: 14px; text-align: left; }
.hd-strip__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--hd-blue-stone); font-size: 20px; box-shadow: var(--hd-shadow-soft); flex: none; }
.hd-strip__text { display: flex; flex-direction: column; }
.hd-strip__title { font-family: var(--hd-font-display); font-size: 18px; font-weight: 400; line-height: 1.2; color: var(--hd-blue-stone); }
.hd-strip__copy { margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--hd-limed-spruce); }

/* Empty cart page */
.hd-cart--empty .hd-cart__empty { display: flex; flex-direction: column; align-items: center; max-width: 560px; margin: 40px auto 0; padding: 40px 24px; border: 1px solid var(--hd-nebula); border-radius: var(--hd-radius-card); background: #fff; text-align: center; }
.hd-cart__empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; background: var(--hd-beige); color: var(--hd-blue-stone); font-size: 36px; }
.hd-cart .hd-cart__empty-title { margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--hd-font-display) !important; font-size: 28px !important; font-weight: 400 !important; color: var(--hd-blue-stone) !important; }
.hd-cart .hd-cart__empty-title::before { display: none !important; }
.hd-cart__empty-text { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--hd-limed-spruce); }
.hd-cart .return-to-shop { margin: 22px 0 0; }
.hd-cart .return-to-shop a.button.hd-cart__empty-btn { display: inline-flex; align-items: center; justify-content: center; height: var(--hd-btn-h, 40px); padding: 0 38px; border: 0; border-radius: var(--hd-radius-pill); background: var(--hd-california) !important; box-shadow: none; font-family: var(--hd-font-display) !important; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #fff !important; }
.hd-cart .return-to-shop a.button.hd-cart__empty-btn:hover { background: #E68F00 !important; }
.hd-cart--empty .hd-progress--page { max-width: 560px; margin: 16px auto 0; }

/* style.css (sections 7 + 15, the old cart page) outranks a few rules above with longer selectors and
   !important; the same rules again with more weight, so the design wins on the cart page. */
body.woocommerce-cart .hd-cart table.cart td.actions .coupon .input-text { color: var(--hd-firefly) !important; }
body.woocommerce-cart .hd-cart table.cart td.actions .button.hd-cart__coupon-btn,
body.woocommerce-cart .hd-cart table.cart td.actions .button.hd-cart__coupon-btn:disabled { background: var(--hd-firefly) !important; border-radius: var(--hd-radius-pill) !important; color: #fff !important; }
body.woocommerce-cart .hd-cart table.cart td.actions .button.hd-cart__coupon-btn:hover { background: var(--hd-blue-stone) !important; }
body.woocommerce-cart .hd-cart p.return-to-shop { padding-bottom: 0 !important; }
body.woocommerce-cart .hd-cart .hd-cart__empty-title.cart-empty { color: var(--hd-blue-stone) !important; }
body.woocommerce-cart .hd-cart a.checkout-button.button.alt.wc-forward { border-radius: var(--hd-radius-pill) !important; }

/* Block-UI overlay while WooCommerce updates the cart */
.hd-cart .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* =========================================================
   4. Responsive
   ========================================================= */
@media (max-width: 1024px) {
  .hd-cart__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .hd-cart__side { max-width: 560px; }
  .hd-strip { gap: 16px; }
}

@media (max-width: 767px) {
  /* drawer */
  .hd-sidecart #cart-drawer .drawer-inner { width: 100vw !important; }
  .hd-sidecart #cart-drawer .drawer-header { padding: 18px 20px 0 !important; }
  .hd-sidecart #cart-drawer .drawer-content { padding: 14px 20px 0 !important; }
  .hd-mc__script { font-size: 32px; }
  .hd-mc__title { font-size: 26px; }
  .hd-sidecart #cart-drawer.hd-mc-scrolled .drawer-header { padding-top: 12px !important; padding-bottom: 10px !important; }
  .hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__head { margin-top: -31px; } /* 32px script */
  .hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__title { font-size: 22px; }
  .hd-mc__footer { margin-left: -20px; margin-right: -20px; padding: 14px 20px 16px; }
  .hd-sidecart #cart-drawer ul.hd-mc__items li.hd-mc__item { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; }
  .hd-mc__thumb { width: 68px; height: 68px; }
  .hd-mc__trust { flex-wrap: wrap; justify-content: center; }

  /* cart page */
  .hd-steps { margin-bottom: 20px; }
  .hd-steps__item { gap: 6px; font-size: 11px; letter-spacing: .06em; }
  .hd-steps__item:not(.is-active) .hd-steps__label { display: none; }
  .hd-steps__item + .hd-steps__item::before { width: 22px; margin: 0 8px; }
  .hd-steps__num { width: 22px; height: 22px; font-size: 11px; }
  .hd-cart__title { font-size: 36px !important; }
  .hd-cart__notice { gap: 12px; margin-top: 22px; padding: 14px 16px; }
  .hd-cart__notice > .hd-icon.hd-cart__notice-icon { flex-basis: 18px; width: 18px; height: 18px; margin-top: 1px; }
  .hd-cart .hd-cart__notice-title { font-size: 17px; }
  .hd-cart__notice + .hd-cart__layout, .hd-cart--empty .hd-cart__notice + .hd-cart__empty { margin-top: 22px; }
  .hd-cart__layout { margin-top: 26px; gap: 26px; }
  .hd-cart__side { max-width: none; }
  .hd-cart table.hd-cart__table thead { display: none; }
  .hd-cart table.hd-cart__table, .hd-cart table.hd-cart__table tbody { display: block; width: 100%; }
  .hd-cart table.hd-cart__table tr.cart_item { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "thumb name name" "thumb qty total"; gap: 10px 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--hd-nebula); }
  .hd-cart table.hd-cart__table tr.cart_item td { display: block; width: auto; padding: 0 !important; border: 0 !important; text-align: left; }
  .hd-cart table.hd-cart__table tr.cart_item td.product-remove { position: absolute; top: 14px; right: 0; width: auto; }
  .hd-cart table.hd-cart__table tr.cart_item td.product-thumbnail { grid-area: thumb; align-self: start; }
  .hd-cart__thumb { width: 76px; height: 76px; }
  .hd-cart table.hd-cart__table tr.cart_item td.product-name { grid-area: name; padding-right: 36px !important; }
  .hd-cart table.hd-cart__table tr.cart_item td.product-quantity { grid-area: qty; text-align: left; }
  .hd-cart table.hd-cart__table tr.cart_item td.product-subtotal { grid-area: total; text-align: right; }
  .hd-cart table.hd-cart__table tr.hd-cart__actions-row { display: block; }
  .hd-cart table.hd-cart__table tr.hd-cart__actions-row td.actions { display: block; width: 100%; padding: 20px 0 20px !important; }
  .hd-cart .hd-cart__coupon { flex-wrap: wrap; max-width: none; }
  .hd-cart .hd-cart__coupon #coupon_code { flex-basis: 100%; }
  .hd-cart .hd-cart__coupon button.button.hd-cart__coupon-btn { width: 100%; }
  /* WooCommerce's own phone rules (".woocommerce table.cart td.actions .coupon input { width: 48% }" + the floated button) outrank the two lines above */
  body.woocommerce-cart .hd-cart table.cart td.actions .coupon input.hd-cart__coupon-input,
  body.woocommerce-cart .hd-cart table.cart td.actions .coupon .button.hd-cart__coupon-btn { width: 100% !important; float: none !important; margin: 0 !important; }
  .hd-cart table.hd-totals__table tr th, .hd-cart table.hd-totals__table tr td { padding: 12px 16px; font-size: 13px; }
  .hd-cart table.hd-totals__table tr.hd-totals__row--total th, .hd-cart table.hd-totals__table tr.hd-totals__row--total td { padding: 16px 16px 4px; }

  .hd-totals__head { padding: 16px; }
  .hd-totals__final, .hd-cart .cart_totals .sezzle-shopify-info-button { padding-left: 16px; padding-right: 16px; }
  .hd-cart .wc-proceed-to-checkout.hd-totals__proceed { padding: 16px 16px 0; }
  .hd-totals__secure { padding: 10px 16px 18px; }
  .hd-cart table.hd-totals__table tr.hd-totals__row--shipping td { padding: 14px 16px; }
  .hd-ship-eta__full { display: none; }
  .hd-ship-eta__short { display: inline; }
  .hd-cart .hd-cart__main .hd-cart__login--table { margin-bottom: 14px; }
  .hd-cart__trust, .hd-cart .hd-cart__side ul.hd-cart__trust, .single-content .hd-cart ul.hd-cart__trust { margin-top: 28px; }
  .hd-complete { margin-top: 40px; }
  .hd-complete__script { font-size: 36px; }
  .hd-cart .hd-complete__title { font-size: 32px !important; }
  .hd-cart__strip { margin-top: 36px; padding: 20px 16px; }
  .hd-strip { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .hd-strip__item { justify-content: flex-start; }
  .hd-cart--empty .hd-cart__empty { margin-top: 26px; padding: 30px 18px; }
}

@media (max-width: 767px) {
  .hd-sidecart #cart-drawer a.button.hd-upsell__btn,
.hd-sidecart #cart-drawer a.button.hd-mc__checkout,
.hd-cart a.checkout-button.hd-totals__checkout,
.hd-cart .return-to-shop a.button.hd-cart__empty-btn,
.hd-cart .hd-cart__coupon button.button.hd-cart__coupon-btn,
.hd-cart .hd-cart__coupon #coupon_code { height: var(--hd-btn-h-sm, 40px); font-size: 16px; }
}

/* Short screens (laptops at 768px, small phones): the docked footer gives the list more room. */
@media (max-height: 740px) {
  .hd-sidecart #cart-drawer .drawer-header { padding-top: 16px !important; }
  .hd-mc__script { font-size: 30px; }
  .hd-mc__title { font-size: 26px; }
  .hd-mc__rule { margin-top: 10px; }
  .hd-sidecart #cart-drawer.hd-mc-scrolled .hd-mc__head { margin-top: -29px; } /* 30px script */
  .hd-sidecart #cart-drawer .drawer-content { padding-top: 12px !important; }
  .hd-mc__footer { padding-top: 12px; padding-bottom: 12px; }
  .hd-mc__note { margin-top: 4px; }
  .hd-sidecart #cart-drawer .hd-mc__buttons { gap: 8px; margin-top: 12px !important; }
  .hd-mc__trust { margin-top: 10px; padding-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .hd-progress__fill,
.hd-switch__track,
.hd-switch__track::after,
.hd-mc--busy,
.hd-sidecart #cart-drawer .drawer-header,
.hd-mc__head,
.hd-mc__script,
.hd-mc__title,
.hd-mc__rule,
.hd-sidecart #cart-drawer .drawer-header .drawer-toggle,
.hd-sidecart #cart-drawer .drawer-header .cart-toggle-close { transition: none; }
}
