/*!
 * DSCF — WooCommerce Styling
 *
 * Styles WooCommerce shop archive, single product, cart, checkout,
 * my account, and related pages to match the DSCF brand design.
 *
 * Loaded conditionally on WooCommerce pages only — see the
 * `dscf-woocommerce-setup.php` mu-plugin for the enqueue logic.
 *
 * Pairs with template overrides in /wp-content/themes/<child>/woocommerce/
 *
 * Install path:
 *   /wp-content/themes/hello-elementor-child/dscf-woocommerce.css
 */




/* ==========================================================================
   FIXES — Suppress WP page title + break heroes out of constrained wrappers
   on all WooCommerce pages. These rules apply globally to WC pages.
   ========================================================================== */

/* Hide the WordPress page title <h1>"My account"</h1> etc that the theme
   renders ABOVE our hero. Targets common entry-title patterns used by
   Hello Elementor and similar themes on WooCommerce pages. */
.woocommerce-account .page-header,
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-order-received .page-header,
.woocommerce-view-order .page-header,
.woocommerce-account .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-order-received .entry-header,
.woocommerce-view-order .entry-header,
.woocommerce-account .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-order-received .entry-title,
.woocommerce-view-order .entry-title,
.woocommerce-account .page-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.woocommerce-order-received .page-title,
.woocommerce-view-order .page-title {
  display: none !important;
}

/* Hello Elementor specific: hide the content title widget on WC pages */
.woocommerce-account .elementor-widget-theme-post-title,
.woocommerce-cart .elementor-widget-theme-post-title,
.woocommerce-checkout .elementor-widget-theme-post-title,
.woocommerce-order-received .elementor-widget-theme-post-title,
.woocommerce-view-order .elementor-widget-theme-post-title {
  display: none !important;
}

/* Break heroes out of any constrained parent wrapper using viewport
   width tricks. Centers the hero edge-to-edge regardless of its parent's
   max-width. Works for any parent that uses standard centered layout. */
.dscf-shop-hero,
.dscf-cart-hero,
.dscf-checkout-hero,
.dscf-account-hero,
.dscf-order-hero,
.dscf-ty-hero {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: 100vw !important;
}

/* Account 2-column layout lives in the MY ACCOUNT section below;
   we removed the old `.dscf-account-wrap > .woocommerce` rule because
   the inner .woocommerce wrapper was eliminated from the my-account.php
   template (Hello Elementor already wraps the page content in its own
   .woocommerce div, so ours was redundant and the grid never applied). */

/* Cart/Checkout/Order wraps stay in normal flow.
   Removed the 100vw break-out since it caused max-width conflicts. */



/* ==========================================================================
   PHASE 1 — Shop Archive + Single Product
   ========================================================================== */


/* --- Shop hero (only on /shop/ — uses .dscf-shop-hero class) ------------ */

.dscf-shop-hero {
  background: linear-gradient(180deg, #0F2A1E 0%, #1A3D2E 60%, #0A1D14 100%);
  color: #FAF5EC;
  padding: 60px 0 80px;
  position: relative;
  overflow: hidden;
}

.dscf-shop-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 70% 30%, rgba(200,154,60,0.15), transparent 50%);
  pointer-events: none;
}

.dscf-shop-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.dscf-shop-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 16px;
}

.dscf-shop-hero h1 em {
  color: #E3B85A;
  font-weight: 400;
}

.dscf-shop-hero p.lead {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(250,245,236,0.85);
  max-width: 640px;
  margin: 0 auto;
}


/* --- Shop archive layout (sidebar + main) ------------------------------ */

.woocommerce-page .dscf-shop-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 32px;
}

.woocommerce-page .dscf-shop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
}


/* --- Shop sidebar (filters) -------------------------------------------- */

.dscf-shop-sidebar {
  padding-right: 20px;
}

.dscf-shop-sidebar .widget,
.dscf-shop-sidebar .elementor-widget {
  margin-bottom: 28px;
}

.dscf-shop-sidebar .widget-title,
.dscf-shop-sidebar h2,
.dscf-shop-sidebar h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #B8232D !important;
  margin: 0 0 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.dscf-shop-sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dscf-shop-sidebar li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1A1410;
  padding: 4px 0;
}

.dscf-shop-sidebar li a {
  color: inherit;
  text-decoration: none;
  flex: 1;
}

.dscf-shop-sidebar li a:hover {
  color: #B8232D;
}

.dscf-shop-sidebar li .count {
  margin-left: auto;
  color: #4A3F36;
  font-size: 12px;
}

.dscf-shop-sidebar input[type="checkbox"] {
  accent-color: #B8232D;
}


/* --- Shop main header (count + sort) ----------------------------------- */

.woocommerce-page .woocommerce-result-count {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #4A3F36;
  margin: 0;
}

.woocommerce-page .woocommerce-ordering select {
  padding: 10px 16px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  background: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #0A1D14;
  cursor: pointer;
}

.woocommerce-page .woocommerce-notices-wrapper:empty {
  display: none;
}

.dscf-shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  gap: 16px;
}


/* --- Product grid (3 columns) ------------------------------------------ */

.woocommerce-page ul.products,
.woocommerce-page .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
}


/* --- Product card ------------------------------------------------------ */

.woocommerce-page ul.products li.product,
.woocommerce-page .products li.product {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: relative;
}

.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.1);
}

/* Product image */
.woocommerce-page ul.products li.product .dscf-product-img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.woocommerce-page ul.products li.product .dscf-product-img-wrap img,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* Sale / featured / new badges */
.woocommerce-page ul.products li.product .onsale,
.woocommerce-page ul.products li.product .dscf-product-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  background: #B8232D !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
  z-index: 2;
}

.dscf-product-badge--new {
  background: #2D8659 !important;
}

.dscf-product-badge--limited {
  background: #c79a30 !important;
  color: #0A1D14 !important;
}

/* Product info section */
.woocommerce-page ul.products li.product .dscf-product-info {
  padding: 20px;
}

.woocommerce-page ul.products li.product .dscf-product-cat {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #B8232D;
  margin-bottom: 6px;
}

.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2,
.woocommerce-page ul.products li.product h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #0A1D14 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

.woocommerce-page ul.products li.product .star-rating {
  font-size: 13px;
  color: #c79a30;
  letter-spacing: 1px;
  margin-bottom: 12px;
  float: none !important;
}

.woocommerce-page ul.products li.product .price {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 !important;
  display: block;
}

.woocommerce-page ul.products li.product .price del {
  font-size: 14px;
  color: #4A3F36;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  margin-left: 8px;
  opacity: 0.7;
}

.woocommerce-page ul.products li.product .price ins {
  text-decoration: none;
  background: transparent;
}

/* Add to Cart button */
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button,
.woocommerce-page ul.products li.product .add_to_cart_button {
  display: block !important;
  margin-top: 14px !important;
  width: 100% !important;
  padding: 12px !important;
  border: none !important;
  background: #1A3D2E !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  transition: background 0.2s ease !important;
}

.woocommerce-page ul.products li.product .button:hover,
.woocommerce-page ul.products li.product a.button:hover {
  background: #B8232D !important;
}

.woocommerce-page ul.products li.product .added_to_cart {
  display: block !important;
  text-align: center;
  font-size: 13px;
  color: #2D8659;
  margin-top: 8px;
  text-decoration: none;
}


/* --- Pagination -------------------------------------------------------- */

.woocommerce-page nav.woocommerce-pagination {
  margin-top: 48px;
  text-align: center;
}

.woocommerce-page nav.woocommerce-pagination ul {
  display: flex !important;
  justify-content: center;
  gap: 8px;
  border: none !important;
  margin: 0;
  padding: 0;
}

.woocommerce-page nav.woocommerce-pagination ul li {
  border: none !important;
  margin: 0 !important;
}

.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  color: #0A1D14 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.woocommerce-page nav.woocommerce-pagination ul li span.current {
  background: #B8232D !important;
  color: #FFFFFF !important;
  border-color: #B8232D !important;
}

.woocommerce-page nav.woocommerce-pagination ul li a:hover {
  border-color: #B8232D !important;
  color: #B8232D !important;
}


/* --- Single product page ----------------------------------------------- */

.woocommerce-page.single-product .dscf-product-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 32px 60px;
}

.woocommerce-page.single-product .woocommerce-breadcrumb {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #4A3F36;
  margin-bottom: 24px;
}

.woocommerce-page.single-product .woocommerce-breadcrumb a {
  color: #B8232D;
  text-decoration: none;
}

.woocommerce-page.single-product .woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}

.woocommerce-page.single-product div.product {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  gap: 60px !important;
}

/* Product gallery */
.woocommerce-page.single-product .woocommerce-product-gallery {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.woocommerce-page.single-product .woocommerce-product-gallery__wrapper {
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
}

.woocommerce-page.single-product .woocommerce-product-gallery__image img {
  border-radius: 0 !important;
  aspect-ratio: 1;
  object-fit: cover;
}

.woocommerce-page.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin-top: 16px !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-page.single-product .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-page.single-product .flex-control-thumbs img {
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid transparent;
  opacity: 0.7;
  transition: all 0.2s ease;
}

.woocommerce-page.single-product .flex-control-thumbs img.flex-active,
.woocommerce-page.single-product .flex-control-thumbs img:hover {
  border-color: #B8232D;
  opacity: 1;
}

/* Product details (right column) */
.woocommerce-page.single-product .summary {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.woocommerce-page.single-product .dscf-product-detail-cat {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #B8232D;
  margin-bottom: 10px;
}

.woocommerce-page.single-product .product_title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 14px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.woocommerce-page.single-product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.woocommerce-page.single-product .woocommerce-product-rating .star-rating {
  font-size: 16px;
  color: #c79a30;
  float: none !important;
}

.woocommerce-page.single-product .woocommerce-review-link {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #4A3F36;
  border-bottom: 1px dotted #4A3F36;
  text-decoration: none;
}

.woocommerce-page.single-product .stock {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.woocommerce-page.single-product .stock.in-stock {
  color: #2D8659;
}

.woocommerce-page.single-product .stock.out-of-stock {
  color: #B8232D;
}

.woocommerce-page.single-product p.price {
  display: flex !important;
  align-items: baseline !important;
  gap: 14px !important;
  flex-wrap: wrap;
  margin: 0 0 24px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  line-height: 1 !important;
}

.woocommerce-page.single-product p.price ins {
  background: transparent !important;
  text-decoration: none;
}

.woocommerce-page.single-product p.price del {
  font-size: 18px;
  color: #4A3F36;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  opacity: 0.7;
}

.woocommerce-page.single-product .woocommerce-product-details__short-description {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #4A3F36;
  line-height: 1.7;
  margin-bottom: 24px;
}

/* Variation form (size, color, etc.) */
.woocommerce-page.single-product table.variations {
  margin-bottom: 24px;
  border: none;
}

.woocommerce-page.single-product table.variations tr {
  display: block;
  margin-bottom: 20px;
}

.woocommerce-page.single-product table.variations th,
.woocommerce-page.single-product table.variations td {
  display: block;
  padding: 0;
  border: none;
  background: transparent;
}

.woocommerce-page.single-product table.variations label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0A1D14;
  margin-bottom: 12px;
}

.woocommerce-page.single-product table.variations select {
  width: 100%;
  padding: 10px 16px;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  background: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #0A1D14;
}

.woocommerce-page.single-product .reset_variations {
  font-size: 12px;
  color: #B8232D;
  text-decoration: none;
}

/* Quantity + add to cart row */
.woocommerce-page.single-product form.cart {
  display: flex !important;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px !important;
  flex-wrap: wrap;
}

.woocommerce-page.single-product .quantity {
  display: flex !important;
  align-items: center;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce-page.single-product .quantity input.qty {
  width: 60px !important;
  text-align: center;
  border: none !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 0 !important;
  -moz-appearance: textfield;
}

.woocommerce-page.single-product .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-page.single-product .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce-page.single-product button.single_add_to_cart_button,
.woocommerce-page.single-product .single_add_to_cart_button {
  flex: 1 !important;
  min-width: 200px;
  padding: 14px 28px !important;
  background: #B8232D !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: background 0.2s ease !important;
}

.woocommerce-page.single-product button.single_add_to_cart_button:hover,
.woocommerce-page.single-product .single_add_to_cart_button:hover {
  background: #8A1820 !important;
}

/* Trust badges row */
.dscf-product-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  margin-top: 16px;
}

.dscf-product-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.3;
  color: #4A3F36;
}

.dscf-product-trust-item svg {
  color: #1A3D2E;
  flex-shrink: 0;
}


/* --- Tabs (description, reviews, etc.) --------------------------------- */

.woocommerce-page.single-product .woocommerce-tabs {
  max-width: 1080px;
  margin: 60px auto 0;
  padding: 0 32px;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid rgba(0,0,0,0.06);
  margin: 0 0 24px !important;
  padding: 0 !important;
  display: flex;
  gap: 0;
  list-style: none;
  flex-wrap: wrap;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 14px 24px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #4A3F36;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #B8232D;
  border-bottom-color: #B8232D;
}

.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #B8232D;
}

.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel {
  padding: 0 !important;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #4A3F36;
}

.woocommerce-page.single-product .woocommerce-tabs h2 {
  display: none;
}


/* --- Related / Upsells / Cross-sells ---------------------------------- */

/* CRITICAL: .related, .upsells, and .woocommerce-tabs live INSIDE the
   div.product grid (2-column gallery + summary). Without grid-column: 1 / -1
   they get placed in cell [2,2] which is only half the page width — that's
   why product cards were cramped and overlapping. Forcing 1 / -1 makes them
   span the full grid width. Same fix for the tabs. */

.woocommerce-page.single-product div.product > .related,
.woocommerce-page.single-product div.product > .upsells,
.woocommerce-page.single-product div.product > .cross-sells,
.woocommerce-page.single-product div.product > .woocommerce-tabs {
  grid-column: 1 / -1 !important;
}

.woocommerce-page.single-product .related,
.woocommerce-page.single-product .upsells {
  max-width: 1280px;
  margin: 60px auto 0;
  padding: 60px 32px;
  background: #F3EAD7;
  display: block !important;
  width: 100%;
  box-sizing: border-box;
}

.woocommerce-page.single-product .related > h2,
.woocommerce-page.single-product .upsells > h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 32px !important;
  text-align: center;
  color: #0A1D14 !important;
  margin: 0 0 32px !important;
  width: 100% !important;
  display: block !important;
}

/* The products list inside .related/.upsells should be a proper grid */
.woocommerce-page.single-product .related ul.products,
.woocommerce-page.single-product .upsells ul.products,
.woocommerce-page.single-product .related .products,
.woocommerce-page.single-product .upsells .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
}

.woocommerce-page.single-product .related ul.products li,
.woocommerce-page.single-product .upsells ul.products li {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  list-style: none !important;
}


/* --- Responsive -------------------------------------------------------- */

@media (max-width: 1024px) {
  .woocommerce-page .dscf-shop-layout {
    grid-template-columns: 1fr;
  }
  .woocommerce-page.single-product div.product {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-page ul.products,
  .woocommerce-page .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .woocommerce-page ul.products,
  .woocommerce-page .products {
    grid-template-columns: 1fr !important;
  }
  .dscf-product-trust {
    grid-template-columns: 1fr;
  }
}



/* ==========================================================================
   PHASE 2 — Cart + Checkout
   ========================================================================== */


/* --- Cart hero (compact, smaller than Shop) ---------------------------- */

.dscf-cart-hero {
  background: linear-gradient(180deg, #0F2A1E 0%, #1A3D2E 60%, #0A1D14 100%);
  color: #FAF5EC;
  padding: 40px 0 60px;
  position: relative;
  overflow: hidden;
}

.dscf-cart-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 70% 30%, rgba(200,154,60,0.15), transparent 50%);
  pointer-events: none;
}

.dscf-cart-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.dscf-cart-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px;
}

.dscf-cart-hero h1 em {
  color: #E3B85A;
  font-weight: 400;
  font-style: italic;
}

.dscf-cart-hero p.lead {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(250,245,236,0.85);
  margin: 0;
}


/* --- Checkout hero (smallest, no lead) --------------------------------- */

.dscf-checkout-hero {
  background: linear-gradient(180deg, #0F2A1E 0%, #1A3D2E 60%, #0A1D14 100%);
  color: #FAF5EC;
  padding: 32px 0 48px;
  position: relative;
  overflow: hidden;
}

.dscf-checkout-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 70% 30%, rgba(200,154,60,0.15), transparent 50%);
  pointer-events: none;
}

.dscf-checkout-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.dscf-checkout-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}

.dscf-checkout-hero h1 em {
  color: #E3B85A;
  font-weight: 400;
  font-style: italic;
}


/* ==========================================================================
   CART PAGE
   ========================================================================== */


/* --- Cart layout wrapper ----------------------------------------------- */

.woocommerce-cart .dscf-cart-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 32px;
}

.woocommerce-cart .dscf-cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}


/* --- Cart table to card-style rows ------------------------------------- */

.woocommerce-cart table.shop_table {
  background: transparent !important;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 16px !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table thead {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item {
  display: grid !important;
  grid-template-columns: 100px 1fr auto auto auto !important;
  gap: 16px !important;
  align-items: center !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Product image */
.woocommerce-cart table.shop_table td.product-thumbnail {
  width: 100px !important;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
  width: 100px !important;
  height: 100px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
}

/* Product name + variant */
.woocommerce-cart table.shop_table td.product-name {
  font-family: 'Inter', sans-serif;
}

.woocommerce-cart table.shop_table td.product-name a {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #0A1D14;
  text-decoration: none;
  margin-bottom: 4px;
  line-height: 1.2;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
  color: #B8232D;
}

.woocommerce-cart table.shop_table td.product-name .variation,
.woocommerce-cart table.shop_table td.product-name dl.variation {
  font-size: 13px;
  color: #4A3F36;
  margin: 0;
}

.woocommerce-cart table.shop_table td.product-name .variation dt,
.woocommerce-cart table.shop_table td.product-name dl.variation dt {
  display: inline;
  font-weight: 600;
  margin-right: 4px;
}

.woocommerce-cart table.shop_table td.product-name .variation dd,
.woocommerce-cart table.shop_table td.product-name dl.variation dd {
  display: inline;
  margin: 0 12px 0 0;
}

/* Hide the price column on tablet/desktop (it's redundant with subtotal) */
.woocommerce-cart table.shop_table td.product-price {
  display: none !important;
}

/* Quantity stepper */
.woocommerce-cart table.shop_table td.product-quantity {
  width: auto !important;
}

.woocommerce-cart table.shop_table td.product-quantity .quantity {
  display: flex !important;
  align-items: center;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce-cart table.shop_table td.product-quantity input.qty {
  width: 48px !important;
  text-align: center;
  border: none !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 0 !important;
  -moz-appearance: textfield;
}

.woocommerce-cart table.shop_table td.product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.shop_table td.product-quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Line subtotal */
.woocommerce-cart table.shop_table td.product-subtotal {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  text-align: right !important;
  min-width: 80px;
}

/* Remove button */
.woocommerce-cart table.shop_table td.product-remove {
  text-align: center !important;
}

.woocommerce-cart table.shop_table td.product-remove a.remove {
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #4A3F36 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
  background: rgba(184, 35, 45, 0.1) !important;
  color: #B8232D !important;
}


/* --- Cart row below table: actions + coupon ---------------------------- */

.woocommerce-cart table.shop_table tr.cart_item + tr {
  display: none !important;
}

/* Hide default cart actions row (update cart button, coupon area) since
   we restyle these elsewhere. */
.woocommerce-cart .cart_totals h2 {
  display: none !important;
}


/* --- Order Summary box (right column) ---------------------------------- */

.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.04);
  width: 100% !important;
  float: none !important;
  position: sticky;
  top: 100px;
}

.woocommerce-cart .cart_totals::before,
.woocommerce-cart .cart-collaterals::before {
  content: 'Order Summary';
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: #0A1D14;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  border: none !important;
  padding: 8px 0 !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
}

.woocommerce-cart .cart_totals table th {
  color: #4A3F36 !important;
  font-weight: 500 !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
  color: #0A1D14 !important;
  font-weight: 600 !important;
  text-align: right !important;
}

/* Free shipping highlight */
.woocommerce-cart .cart_totals .shipping td .amount,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td {
  color: #2D8659 !important;
}

/* Free shipping label */
.woocommerce-cart .cart_totals .free-shipping {
  color: #2D8659 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  letter-spacing: 0.05em;
}

/* Tax line conditional — hide if no tax (zero or absent) */
.woocommerce-cart .cart_totals tr.tax-total[data-tax-zero="true"],
.woocommerce-cart .cart_totals tr.tax-total.is-zero {
  display: none !important;
}

/* Order total row */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 16px !important;
  margin-top: 8px;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
}

.woocommerce-cart .cart_totals .order-total td .amount {
  color: #B8232D !important;
}


/* --- Coupon / promo code form ----------------------------------------- */

.woocommerce-cart .dscf-promo-form {
  display: flex;
  gap: 8px;
  margin: 20px 0;
}

.woocommerce-cart .dscf-promo-form input[type="text"] {
  flex: 1;
  padding: 10px 14px;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  background: #FFFFFF;
}

.woocommerce-cart .dscf-promo-form input[type="text"]:focus {
  outline: none;
  border-color: #B8232D;
}

.woocommerce-cart .dscf-promo-form button {
  padding: 10px 18px;
  background: #1A3D2E;
  color: #FFFFFF;
  border: none;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.woocommerce-cart .dscf-promo-form button:hover {
  background: #B8232D;
}


/* --- Checkout button + Continue Shopping ------------------------------- */

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
  margin-top: 20px !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 16px !important;
  background: #B8232D !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .checkout-button:hover {
  background: #8A1820 !important;
}

.woocommerce-cart .dscf-continue-shopping {
  display: block;
  text-align: center;
  margin-top: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #B8232D;
  text-decoration: none;
}

.woocommerce-cart .dscf-continue-shopping:hover {
  text-decoration: underline;
}


/* --- Impact note (dynamic message based on cart total) ----------------- */

.dscf-impact-note {
  margin-top: 24px;
  padding: 16px;
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
  border-radius: 12px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-left: 3px solid #B8232D;
}

.dscf-impact-note svg {
  flex-shrink: 0;
  color: #B8232D;
  margin-top: 2px;
}

.dscf-impact-note-text {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #1A1410;
}

.dscf-impact-note-text strong {
  color: #B8232D;
  font-weight: 700;
}


/* --- Empty cart state ------------------------------------------------- */

.woocommerce-cart .cart-empty {
  text-align: center;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 24px;
  color: #4A3F36;
  padding: 40px 0;
}

.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 24px;
}

.woocommerce-cart .return-to-shop a.button {
  display: inline-block;
  padding: 12px 28px;
  background: #B8232D !important;
  color: #FFFFFF !important;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}


/* ==========================================================================
   CHECKOUT PAGE
   ========================================================================== */


/* --- Checkout wrap ---------------------------------------------------- */

.woocommerce-checkout .dscf-checkout-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 32px 60px;
}


/* --- 4-step stepper (decorative) -------------------------------------- */

.dscf-checkout-stepper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0 auto 40px;
  max-width: 720px;
}

.dscf-checkout-step {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  position: relative;
}

.dscf-checkout-step:not(:last-child)::after {
  content: '';
  flex: 1;
  height: 2px;
  background: rgba(0,0,0,0.08);
  margin: 0 8px;
}

.dscf-checkout-step.is-done:not(:last-child)::after {
  background: #2D8659;
}

.dscf-checkout-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(0,0,0,0.08);
  color: #4A3F36;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dscf-checkout-step.is-active .dscf-checkout-step-num {
  background: #B8232D;
  color: #FFFFFF;
}

.dscf-checkout-step.is-done .dscf-checkout-step-num {
  background: #2D8659;
  color: #FFFFFF;
}

.dscf-checkout-step-label {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #4A3F36;
  white-space: nowrap;
}

.dscf-checkout-step.is-active .dscf-checkout-step-label {
  color: #B8232D;
}


/* --- Checkout 2-column layout ----------------------------------------- */

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 40px !important;
  align-items: start;
}

.woocommerce-checkout form.checkout .col2-set {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}


/* --- Checkout sections (cards) ---------------------------------------- */

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.04);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}


/* --- Form fields ------------------------------------------------------ */

.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.woocommerce-checkout .form-row label {
  display: block;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1A1410 !important;
  margin-bottom: 6px !important;
}

.woocommerce-checkout .form-row .required {
  color: #B8232D;
  text-decoration: none;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-selection {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #0A1D14 !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  min-height: 42px;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  outline: none;
  border-color: #B8232D !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  height: 42px !important;
  display: flex;
  align-items: center;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important;
  padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px !important;
}


/* --- Payment method tiles --------------------------------------------- */

.woocommerce-checkout #payment {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.04);
  margin-top: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 12px !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: #FFFFFF !important;
  border: 2px solid rgba(0,0,0,0.08) !important;
  border-radius: 12px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  position: relative;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: #B8232D !important;
  background: #FAF5EC !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  position: absolute !important;
  top: 8px;
  right: 8px;
  accent-color: #B8232D;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0A1D14 !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li img {
  max-height: 24px !important;
  margin: 4px auto !important;
  display: block !important;
}

.woocommerce-checkout #payment .payment_box {
  background: #FAF5EC !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin: 0 0 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #4A3F36 !important;
}

.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}


/* --- Tip jar / donation section --------------------------------------- */

.dscf-tipjar {
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 20px;
  border: 2px dashed rgba(184, 35, 45, 0.2);
}

.dscf-tipjar h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 8px !important;
  display: flex;
  align-items: center;
  gap: 10px;
}

.dscf-tipjar h3::before {
  content: '♥';
  color: #B8232D;
  font-size: 22px;
}

.dscf-tipjar-desc {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #4A3F36;
  margin-bottom: 16px;
  line-height: 1.5;
}

.dscf-tipjar-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.dscf-tipjar-chip {
  padding: 10px 18px;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 100px;
  background: #FFFFFF;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #0A1D14;
  transition: all 0.2s ease;
}

.dscf-tipjar-chip:hover {
  border-color: #B8232D;
  color: #B8232D;
}

.dscf-tipjar-chip.is-active {
  background: #B8232D;
  color: #FFFFFF;
  border-color: #B8232D;
}


/* --- Order Summary on Checkout (right column) ------------------------- */

.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.04);
  position: sticky;
  top: 100px;
}

.woocommerce-checkout h3#order_review_heading {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* Order item rows */
.woocommerce-checkout table.shop_table {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  margin: 0 0 20px !important;
}

.woocommerce-checkout table.shop_table thead {
  display: none !important;
}

.woocommerce-checkout table.shop_table tr {
  border: none !important;
}

.woocommerce-checkout table.shop_table tbody tr.cart_item td {
  padding: 12px 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
}

.woocommerce-checkout table.shop_table tbody tr.cart_item td.product-name {
  font-size: 14px !important;
  color: #0A1D14 !important;
}

.woocommerce-checkout table.shop_table tbody tr.cart_item td.product-name strong.product-quantity {
  color: #B8232D !important;
  font-weight: 700 !important;
  margin-right: 8px;
}

.woocommerce-checkout table.shop_table tbody tr.cart_item td.product-total {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  text-align: right !important;
}

/* Subtotal / shipping / tax rows */
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td {
  padding: 8px 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
}

.woocommerce-checkout table.shop_table tfoot th {
  color: #4A3F36 !important;
  font-weight: 500 !important;
  text-align: left !important;
}

.woocommerce-checkout table.shop_table tfoot td {
  color: #0A1D14 !important;
  font-weight: 600 !important;
  text-align: right !important;
}

/* Hide tax line if zero (CSS-only fallback; PHP also handles this) */
.woocommerce-checkout table.shop_table tfoot tr.tax-zero {
  display: none !important;
}

/* Free shipping highlight */
.woocommerce-checkout table.shop_table tfoot tr.shipping td {
  color: #2D8659 !important;
}

/* Order total row */
.woocommerce-checkout table.shop_table tfoot tr.order-total th,
.woocommerce-checkout table.shop_table tfoot tr.order-total td {
  padding-top: 16px !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total td .amount {
  color: #B8232D !important;
}


/* --- Place Order button ---------------------------------------------- */

.woocommerce-checkout #place_order,
.woocommerce-checkout button.button.alt {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 16px !important;
  background: #B8232D !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  margin-top: 8px !important;
  transition: background 0.2s ease !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button.button.alt:hover {
  background: #8A1820 !important;
}

.woocommerce-checkout #place_order::before {
  content: '🔒';
  font-size: 14px;
  margin-right: 4px;
}


/* --- Security note below place order --------------------------------- */

.dscf-checkout-security {
  text-align: center;
  margin-top: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #4A3F36;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.dscf-checkout-security svg {
  color: #2D8659;
}


/* --- Terms & conditions checkbox ------------------------------------- */

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 16px 0;
  padding: 12px;
  background: rgba(243, 234, 215, 0.5);
  border-radius: 8px;
}

.woocommerce-checkout .form-row.validate-required.woocommerce-validated label,
.woocommerce-checkout .form-row.validate-required label {
  font-size: 13px !important;
  color: #4A3F36 !important;
}


/* --- WooCommerce notices (info/error messages) ----------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #FAF5EC !important;
  border-left: 4px solid #B8232D !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #1A1410 !important;
  margin-bottom: 20px !important;
}

.woocommerce-message {
  border-left-color: #2D8659 !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
  background: #B8232D !important;
  color: #FFFFFF !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  text-decoration: none !important;
}


/* --- Responsive ------------------------------------------------------- */

@media (max-width: 900px) {
  .woocommerce-cart .dscf-cart-layout,
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout .woocommerce-checkout-review-order {
    position: static;
  }
  .dscf-checkout-stepper {
    flex-wrap: wrap;
    gap: 12px;
  }
}

@media (max-width: 600px) {
  .woocommerce-cart table.shop_table tbody tr.cart_item {
    grid-template-columns: 80px 1fr !important;
    grid-template-areas:
      "img name"
      "img variant"
      "qty subtotal"
      "remove remove" !important;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td.product-thumbnail {
    grid-area: img;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td.product-name {
    grid-area: name;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity {
    grid-area: qty;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal {
    grid-area: subtotal;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove {
    grid-area: remove;
    justify-self: end;
  }
  .dscf-checkout-stepper .dscf-checkout-step-label {
    display: none;
  }
  .dscf-tipjar-chips {
    justify-content: stretch;
  }
  .dscf-tipjar-chip {
    flex: 1;
    text-align: center;
  }
}



/* ==========================================================================
   PHASE 3 — Thank You + My Account + Order Detail
   ========================================================================== */


/* ==========================================================================
   THANK YOU PAGE (order-received)
   Mockup has a big green-gradient hero with success checkmark, receipt
   inside hero, then "What's next?" 3-card grid on cream background.
   ========================================================================== */

.dscf-ty-hero {
  background: linear-gradient(135deg, #2D8659 0%, #0A1D14 100%);
  color: #FFFFFF;
  padding: 100px 0 120px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.dscf-ty-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 50% 30%, rgba(255,255,255,0.1), transparent 50%);
  pointer-events: none;
}

.dscf-ty-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
}

.dscf-ty-check {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: #E3B85A;
  color: #0A1D14;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
  box-shadow: 0 10px 40px rgba(227, 184, 90, 0.4);
}

.dscf-ty-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 16px;
  color: #FFFFFF;
}

.dscf-ty-hero h1 em {
  color: #E3B85A;
  font-style: italic;
  font-weight: 400;
}

.dscf-ty-hero p.lead {
  font-family: 'Inter', sans-serif;
  font-size: 19px;
  line-height: 1.5;
  opacity: 0.95;
  margin: 0 0 32px;
}

.dscf-ty-receipt {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 32px;
  text-align: left;
  max-width: 540px;
  margin: 0 auto 32px;
}

.dscf-ty-receipt h3 {
  font-family: 'Inter', sans-serif !important;
  color: #E3B85A !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.dscf-ty-receipt-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #FFFFFF;
}

.dscf-ty-receipt-row:last-child {
  border-bottom: none;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  font-weight: 700;
  font-size: 17px;
}

.dscf-ty-receipt-row .label {
  color: rgba(255, 255, 255, 0.7);
}

.dscf-ty-footnote {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  opacity: 0.85;
  margin: 0;
}

/* "What's next?" section */

.dscf-ty-next {
  background: #FAF5EC;
  padding: 60px 0;
}

.dscf-ty-next h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  text-align: center;
  font-size: 28px !important;
  color: #0A1D14 !important;
  margin: 0 0 32px !important;
}

.dscf-ty-next-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
}

.dscf-ty-next-card {
  padding: 28px;
  background: #FFFFFF;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.04);
  text-align: center;
  transition: all 0.2s ease;
}

.dscf-ty-next-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.dscf-ty-next-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(184, 35, 45, 0.1);
  color: #B8232D;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}

.dscf-ty-next-card h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 8px !important;
}

.dscf-ty-next-card p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #4A3F36;
  margin: 0 0 14px;
  line-height: 1.5;
}

.dscf-ty-next-card a {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #B8232D;
  text-decoration: none;
}

.dscf-ty-next-card a:hover {
  text-decoration: underline;
}


/* ==========================================================================
   MY ACCOUNT (dashboard + endpoints)
   ========================================================================== */


/* --- My Account hero (full, like Shop) -------------------------------- */

.dscf-account-hero {
  background: linear-gradient(180deg, #0F2A1E 0%, #1A3D2E 60%, #0A1D14 100%);
  color: #FAF5EC;
  padding: 60px 0 80px;
  position: relative;
  overflow: hidden;
}

.dscf-account-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 70% 30%, rgba(200,154,60,0.15), transparent 50%);
  pointer-events: none;
}

.dscf-account-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.dscf-account-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px;
}

.dscf-account-hero h1 em {
  color: #E3B85A;
  font-weight: 400;
  font-style: italic;
}

.dscf-account-hero p.lead {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(250, 245, 236, 0.85);
  max-width: 540px;
  margin: 0 auto;
}


/* --- My Account 2-column layout --------------------------------------- */

.woocommerce-account .dscf-account-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 32px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  align-items: start;
}


/* --- Navigation sidebar (left column) --------------------------------- */

.woocommerce-account nav.woocommerce-MyAccount-navigation {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 100px;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1A1410;
  text-decoration: none;
  transition: all 0.2s ease;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover {
  background: #F3EAD7;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
  background: #B8232D;
  color: #FFFFFF;
  font-weight: 600;
}

/* Sign out link at bottom, separated visually */
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0;
  color: #4A3F36;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: transparent;
  color: #B8232D;
}


/* --- Account content area (right column) ------------------------------ */

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #4A3F36;
  margin: 0 0 32px;
  line-height: 1.6;
}


/* --- Dashboard stats cards -------------------------------------------- */

.dscf-account-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 32px;
}

.dscf-account-stat {
  padding: 20px;
  background: #F3EAD7;
  border-radius: 12px;
}

.dscf-account-stat .num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px;
  font-weight: 700;
  color: #0A1D14;
  line-height: 1;
  margin-bottom: 4px;
}

.dscf-account-stat .label {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #4A3F36;
  letter-spacing: 0.05em;
}


/* --- Recent orders rows on dashboard ---------------------------------- */

.dscf-account-orders-heading {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 18px !important;
  color: #0A1D14 !important;
  margin: 0 0 16px !important;
}

.dscf-account-order-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  background: #FAF5EC;
  border-radius: 10px;
  margin-bottom: 10px;
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.dscf-account-order-row .o-id {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  color: #B8232D;
  font-size: 13px;
}

.dscf-account-order-row .o-info h4 {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0A1D14 !important;
  margin: 0 0 2px !important;
}

.dscf-account-order-row .o-info .meta {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #4A3F36;
}

.dscf-account-order-row .o-status {
  padding: 4px 10px;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dscf-account-order-row .o-status.completed,
.dscf-account-order-row .o-status.delivered {
  background: rgba(45, 134, 89, 0.15);
  color: #2D8659;
}

.dscf-account-order-row .o-status.processing,
.dscf-account-order-row .o-status.on-hold {
  background: rgba(232, 196, 65, 0.2);
  color: #8a6d3e;
}

.dscf-account-order-row .o-status.shipped,
.dscf-account-order-row .o-status.pending {
  background: rgba(232, 144, 48, 0.15);
  color: #e89030;
}

.dscf-account-order-row .o-status.cancelled,
.dscf-account-order-row .o-status.failed,
.dscf-account-order-row .o-status.refunded {
  background: rgba(184, 35, 45, 0.15);
  color: #B8232D;
}

.dscf-account-order-row .o-action {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #B8232D;
  text-decoration: none;
}

.dscf-account-order-row .o-action:hover {
  text-decoration: underline;
}


/* --- Login form styling moved to PHASE 4 (clean DSCF-namespaced rules)
       targeting .dscf-login-card / .dscf-register-card instead of
       .woocommerce-form-login (which has WC defaults fighting us) ------- */


/* ==========================================================================
   ORDER DETAIL (view-order endpoint)
   ========================================================================== */


/* Compact hero (smaller than My Account hero) */

.dscf-order-hero {
  background: linear-gradient(180deg, #0F2A1E 0%, #1A3D2E 60%, #0A1D14 100%);
  color: #FAF5EC;
  padding: 40px 0 60px;
  position: relative;
  overflow: hidden;
}

.dscf-order-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 70% 30%, rgba(200, 154, 60, 0.15), transparent 50%);
  pointer-events: none;
}

.dscf-order-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.dscf-order-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}

.dscf-order-hero h1 em {
  color: #E3B85A;
  font-weight: 400;
  font-style: italic;
}


/* Order detail content area */

.woocommerce-view-order .dscf-order-wrap,
.woocommerce-order-received .dscf-order-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 32px 60px;
}

.dscf-order-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.dscf-order-detail-header h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #0A1D14 !important;
  margin: 0 0 4px !important;
}

.dscf-order-detail-header .o-meta {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #4A3F36;
}


/* Status progress tracker (4 steps) */

.dscf-order-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 28px;
  position: relative;
}

.dscf-order-progress-step {
  text-align: center;
  position: relative;
}

.dscf-order-progress-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 18px;
  left: 60%;
  right: -40%;
  height: 2px;
  background: rgba(0, 0, 0, 0.08);
  z-index: 0;
}

.dscf-order-progress-step.is-done:not(:last-child)::after {
  background: #2D8659;
}

.dscf-order-progress-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  color: #4A3F36;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.dscf-order-progress-step.is-done .dscf-order-progress-dot {
  background: #2D8659;
  color: #FFFFFF;
}

.dscf-order-progress-step.is-active .dscf-order-progress-dot {
  background: #B8232D;
  color: #FFFFFF;
}

.dscf-order-progress-label {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #0A1D14;
}

.dscf-order-progress-step:not(.is-done):not(.is-active) .dscf-order-progress-label {
  color: #4A3F36;
}

.dscf-order-progress-date {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #4A3F36;
  margin-top: 2px;
}


/* Order items list */

.dscf-order-items-heading {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 16px !important;
  color: #0A1D14 !important;
  margin: 0 0 12px !important;
}

.dscf-order-items-list {
  margin-bottom: 28px;
}

.dscf-order-item-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.dscf-order-item-row .pic {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: linear-gradient(135deg, #F3EAD7, #FAF5EC);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  overflow: hidden;
}

.dscf-order-item-row .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dscf-order-item-row .nm {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #0A1D14;
  margin-bottom: 2px;
}

.dscf-order-item-row .va {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #4A3F36;
}

.dscf-order-item-row .pr {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  color: #0A1D14;
  text-align: right;
}


/* Order totals */

.dscf-order-totals {
  background: #FAF5EC;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 28px;
}

.dscf-order-totals .total-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1A1410;
}

.dscf-order-totals .total-row .label {
  color: #4A3F36;
}

.dscf-order-totals .total-row.grand {
  padding-top: 12px;
  margin-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #0A1D14;
}

.dscf-order-totals .total-row.grand .amount {
  color: #B8232D;
}


/* Order addresses (2-column) */

.dscf-order-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 28px;
}

.dscf-order-addr {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 18px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.dscf-order-addr h4 {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #B8232D !important;
  margin: 0 0 10px !important;
}

.dscf-order-addr address,
.dscf-order-addr p {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  color: #1A1410 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}


/* Tax row hidden when zero (matches existing class from Phase 2) */

.woocommerce-view-order .dscf-order-totals .total-row.is-zero,
.woocommerce-order-received .dscf-order-totals .total-row.is-zero {
  display: none !important;
}


/* ==========================================================================
   PHASE 3 — Responsive breakpoints
   ========================================================================== */

@media (max-width: 900px) {
  .woocommerce-account .dscf-account-wrap {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-account nav.woocommerce-MyAccount-navigation {
    position: static;
  }
  .dscf-ty-next-grid {
    grid-template-columns: 1fr;
  }
  .dscf-order-addresses {
    grid-template-columns: 1fr;
  }
  .dscf-order-progress {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .dscf-order-progress-step:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 600px) {
  .dscf-account-stats {
    grid-template-columns: 1fr;
  }
  .dscf-account-order-row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "id status"
      "info info"
      "action action";
  }
  .dscf-account-order-row .o-id { grid-area: id; }
  .dscf-account-order-row .o-info { grid-area: info; }
  .dscf-account-order-row .o-status { grid-area: status; justify-self: end; }
  .dscf-account-order-row .o-action { grid-area: action; }
}


/* ==========================================================================
   PHASE 4 — Login/Register page (logged-out my-account)
   ==========================================================================
   Clean approach: form-login.php was rewritten with our own DSCF-namespaced
   wrappers (.dscf-login-page, .dscf-login-page-grid, .dscf-login-card,
   .dscf-register-card) so no WC default classes (.col-1, #customer_login,
   .u-columns) interfere with the layout.

   The forms themselves still have class .woocommerce-form-login and
   .woocommerce-form-register so WC JS and plugins keep working — but the
   wrappers above them are ours alone.
   ========================================================================== */

/* Page wrap */
.dscf-login-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 32px 80px;
  box-sizing: border-box;
}

/* The 2-column grid */
.dscf-login-page-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

/* Card base styles (shared by .dscf-login-card and .dscf-register-card) */
.dscf-login-card,
.dscf-register-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
}

/* Card headings */
.dscf-login-card h2,
.dscf-register-card h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #1A3D2E;
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.2;
}

/* Form rows */
.dscf-login-card .form-row,
.dscf-register-card .form-row {
  margin-bottom: 16px;
}

/* Labels */
.dscf-login-card label,
.dscf-register-card label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1A1410;
  margin-bottom: 6px;
}

/* Checkbox label (Remember me) inline */
.dscf-login-card .woocommerce-form__label-for-checkbox,
.dscf-register-card .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 400;
  margin-bottom: 0;
}

/* Inputs */
.dscf-login-card input[type="text"],
.dscf-login-card input[type="email"],
.dscf-login-card input[type="password"],
.dscf-register-card input[type="text"],
.dscf-register-card input[type="email"],
.dscf-register-card input[type="password"] {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #0A1D14;
  background: #FFFFFF;
  box-sizing: border-box;
}

.dscf-login-card input:focus,
.dscf-register-card input:focus {
  outline: none;
  border-color: #B8232D;
}

/* Show/hide password eye button positioning */
.dscf-login-card .password-input,
.dscf-register-card .password-input {
  position: relative;
  display: block;
  width: 100%;
}

.dscf-login-card .show-password-input,
.dscf-register-card .show-password-input {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #4A3F36;
}

/* Buttons */
.dscf-login-card button.button,
.dscf-login-card .woocommerce-Button,
.dscf-login-card .woocommerce-button,
.dscf-register-card button.button,
.dscf-register-card .woocommerce-Button,
.dscf-register-card .woocommerce-button {
  background: #B8232D;
  color: #FFFFFF;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.dscf-login-card button.button:hover,
.dscf-register-card button.button:hover {
  background: #8A1820;
}

/* Lost password link */
.dscf-login-card .lost_password {
  margin-top: 8px;
}

.dscf-login-card .lost_password a {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #B8232D;
  text-decoration: none;
}

.dscf-login-card .lost_password a:hover {
  text-decoration: underline;
}

/* Privacy policy text in Register form */
.dscf-register-card .woocommerce-privacy-policy-text {
  margin: 8px 0 16px;
}

.dscf-register-card .woocommerce-privacy-policy-text p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #4A3F36;
  margin: 0;
}

.dscf-register-card .woocommerce-privacy-policy-text a {
  color: #B8232D;
}

/* Helper text "A link to set a new password..." */
.dscf-register-card > form > p:not(.form-row):not(.woocommerce-form-row) {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #4A3F36;
  margin: 0 0 16px;
}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .dscf-login-page-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .dscf-login-page {
    padding: 40px 20px 60px;
  }
}