/* ============================================================
   RANDUM WEARS — WooCommerce Custom Stylesheet  v2.1.0
   Covers: PHP templates + WooCommerce Blocks (cart/checkout).
   Uses brand tokens: black #0a0a0a · white #fff · gold #c8a96e
   ============================================================ */

/* ── Global WooCommerce colour overrides (blocks + classic) ── */
:root {
  --wc-global-color-primary:        #0a0a0a;
  --wc-global-color-primary-darker: #2d2d2d;
  --wc-global-color-outline:        #0a0a0a;
  --wp--preset--color--primary:     #0a0a0a;
}

/* Kill every WooCommerce blue link / button */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  background: #0a0a0a !important;
  color:      #fff    !important;
  border-radius: 0   !important;
  font-family: 'Inter', sans-serif !important;
  font-size:   0.78rem !important;
  font-weight: 700     !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover {
  background: #2d2d2d !important;
  color:      #fff    !important;
}

/* WooCommerce accent links */
.woocommerce a,
.woocommerce-page a { color: #0a0a0a; }
.woocommerce a:hover,
.woocommerce-page a:hover { color: #c8a96e; }

/* ── Design tokens (scoped to our page classes) ── */
.rdw-shop-page,
.rdw-single-product,
.rdw-cart-page,
.rdw-checkout-page {
  --rdw-black:       #0a0a0a;
  --rdw-white:       #ffffff;
  --rdw-gray-100:    #f5f5f5;
  --rdw-gray-200:    #e8e8e8;
  --rdw-gray-400:    #aaaaaa;
  --rdw-gray-600:    #666666;
  --rdw-gray-800:    #2d2d2d;
  --rdw-accent:      #c8a96e;
  --rdw-accent-dark: #a8863e;
  --rdw-danger:      #cc1a1a;
  --rdw-trans:       0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: 'Inter', sans-serif;
  color: #0a0a0a;
  line-height: 1.5;
}

/* ── Container ── */
.rdw-container {
  max-width: 1320px;
  margin:    0 auto;
  padding:   0 24px;
}
@media (max-width: 480px) { .rdw-container { padding: 0 16px; } }

/* ── Page hero ── */
.rdw-page-hero {
  background:  #0a0a0a;
  padding:     52px 0 40px;
  text-align:  center;
}
.rdw-page-hero--sm { padding: 36px 0 28px; }
.rdw-eyebrow {
  display:        block;
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #c8a96e;
  margin-bottom:  10px;
}
.rdw-hero-title {
  font-size:   clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.1;
  color:       #fff;
  margin:      0 0 10px;
  letter-spacing: -0.02em;
}
.rdw-hero-desc { color: rgba(255,255,255,0.6); font-size: 0.9rem; margin: 0; }

/* ── Breadcrumb ──
   Separator is added via li + li::before so no
   <span> ever sits as a direct child of <ol>.   */
.rdw-breadcrumb { margin: 12px 0 0; }

.rdw-breadcrumb ol {
  display:         flex;
  align-items:     center;
  flex-wrap:       wrap;
  list-style:      none;
  padding:         0;
  margin:          0;
  justify-content: center;
}
.rdw-breadcrumb ol li {
  display:     flex;
  align-items: center;
  font-size:   0.75rem;
  color:       rgba(255,255,255,0.5);
}
.rdw-breadcrumb ol li a {
  color:       rgba(255,255,255,0.65);
  text-decoration: none;
  transition:  color 0.2s;
}
.rdw-breadcrumb ol li a:hover { color: #fff; }

/* "/" separator between items */
.rdw-breadcrumb ol li + li::before {
  content: '/';
  margin:  0 8px;
  color:   rgba(255,255,255,0.25);
}

/* Single product — breadcrumb on white background */
.rdw-single-product .rdw-breadcrumb { margin: 0 0 20px; }
.rdw-single-product .rdw-breadcrumb ol { justify-content: flex-start; }
.rdw-single-product .rdw-breadcrumb ol li { color: #aaa; }
.rdw-single-product .rdw-breadcrumb ol li a { color: #666; }
.rdw-single-product .rdw-breadcrumb ol li a:hover { color: #0a0a0a; }
.rdw-single-product .rdw-breadcrumb ol li + li::before { color: #ddd; }

/* ── Shared buttons ── */
.rdw-btn {
  display:        inline-flex;
  align-items:    center;
  padding:        13px 30px;
  font-size:      0.78rem;
  font-weight:    700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor:         pointer;
  border:         2px solid #0a0a0a;
  background:     #0a0a0a;
  color:          #fff;
  transition:     background 0.2s;
  white-space:    nowrap;
  font-family:    inherit;
}
.rdw-btn:hover { background: #2d2d2d; border-color: #2d2d2d; color: #fff; }
.rdw-btn-outline { background: transparent; color: #0a0a0a; }
.rdw-btn-outline:hover { background: #0a0a0a; color: #fff; }
.rdw-btn-ghost {
  background: transparent; color: #666;
  border: 1.5px solid #e8e8e8; padding: 10px 20px;
}
.rdw-btn-ghost:hover { border-color: #0a0a0a; color: #0a0a0a; }

/* ── Input ── */
.rdw-input {
  padding:     12px 16px;
  border:      1.5px solid #e8e8e8;
  font-size:   0.875rem;
  color:       #0a0a0a;
  outline:     none;
  font-family: inherit;
  background:  #fff;
  transition:  border-color 0.2s;
  border-radius: 0;
}
.rdw-input:focus { border-color: #0a0a0a; }

/* ================================================================
   SHOP PAGE
   ================================================================ */

/* Toolbar */
.rdw-shop-toolbar {
  border-bottom: 1px solid #e8e8e8;
  background:    #fff;
  position:      sticky;
  top:           0;
  z-index:       100;
}
.rdw-toolbar-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  padding-top:     12px;
  padding-bottom:  12px;
  flex-wrap:       wrap;
}

/* Category tabs */
.rdw-cat-tabs {
  display:   flex;
  gap:       4px;
  flex-wrap: wrap;
}
.rdw-cat-tab {
  display:        block;
  padding:        7px 16px;
  font-size:      0.78rem;
  font-weight:    600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color:          #666;
  text-decoration: none;
  border-bottom:  2px solid transparent;
  transition:     color 0.2s, border-color 0.2s;
  white-space:    nowrap;
}
.rdw-cat-tab:hover  { color: #0a0a0a; }
.rdw-cat-tab.is-active { color: #0a0a0a; border-color: #0a0a0a; font-weight: 700; }

/* Sort dropdown — override WooCommerce default */
.rdw-toolbar-right .woocommerce-ordering { margin: 0; }
.rdw-toolbar-right select,
.rdw-toolbar-right .woocommerce-ordering select {
  padding:     8px 32px 8px 14px;
  border:      1.5px solid #e8e8e8 !important;
  font-size:   0.82rem;
  color:       #0a0a0a;
  background:  #fff;
  font-family: inherit;
  cursor:      pointer;
  outline:     none;
  appearance:  none;
  border-radius: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:   no-repeat;
  background-position: right 12px center;
  box-shadow: none !important;
}

/* ── Attribute filter bar (always visible below toolbar) ── */
.rdw-filter-bar {
  background:    #fff;
  border-bottom: 1px solid #e8e8e8;
  padding:       14px 0;
}

.rdw-filter-bar-inner {
  display:     flex;
  align-items: center;
  gap:         32px;
  flex-wrap:   wrap;
}

/* Label + chips row for each attribute */
.rdw-fgroup {
  display:     flex;
  align-items: center;
  gap:         10px;
  flex-wrap:   wrap;
}

.rdw-fgroup-label {
  font-size:      0.65rem;
  font-weight:    700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color:          #aaa;
  white-space:    nowrap;
  flex-shrink:    0;
  min-width:      40px;
}

.rdw-fgroup-chips {
  display:     flex;
  align-items: center;
  gap:         7px;
  flex-wrap:   wrap;
}

/* ── Color swatch chip ── */
.rdw-color-chip {
  display:        inline-flex;
  align-items:    center;
  gap:            7px;
  padding:        6px 12px 6px 7px;
  border:         1.5px solid #e8e8e8;
  background:     #fff;
  font-size:      0.75rem;
  font-weight:    500;
  color:          #0a0a0a;
  text-decoration: none;
  cursor:         pointer;
  transition:     border-color 0.2s, box-shadow 0.2s, color 0.2s;
  white-space:    nowrap;
  line-height:    1;
}
.rdw-color-chip:hover {
  border-color: #0a0a0a;
  box-shadow:   0 0 0 1px #0a0a0a inset;
}
.rdw-color-chip.is-active {
  border-color: #c8a96e;
  box-shadow:   0 0 0 1px #c8a96e inset;
  font-weight:  700;
}
.rdw-color-chip.is-active .rdw-cdot {
  outline:        2px solid #c8a96e;
  outline-offset: 2px;
}

.rdw-cdot {
  width:         18px;
  height:        18px;
  border-radius: 50%;
  flex-shrink:   0;
  border:        1px solid rgba(0,0,0,0.1);
  display:       block;
}

/* ── Size pill ── */
.rdw-size-chip {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  min-width:       44px;
  height:          36px;
  padding:         0 14px;
  border:          1.5px solid #e8e8e8;
  background:      #fff;
  font-size:       0.78rem;
  font-weight:     600;
  color:           #0a0a0a;
  text-decoration: none;
  cursor:          pointer;
  transition:      border-color 0.2s, background 0.2s, color 0.2s;
  white-space:     nowrap;
  letter-spacing:  0.04em;
}
.rdw-size-chip:hover      { border-color: #0a0a0a; }
.rdw-size-chip.is-active  {
  border-color: #0a0a0a;
  background:   #0a0a0a;
  color:        #fff;
}

/* ── Clear all ── */
.rdw-clear-all {
  display:              inline-flex;
  align-items:          center;
  gap:                  5px;
  font-size:            0.72rem;
  color:                #999;
  text-decoration:      underline;
  text-underline-offset: 3px;
  cursor:               pointer;
  background:           none;
  border:               none;
  font-family:          inherit;
  padding:              0;
  transition:           color 0.2s;
  margin-left:          auto;
  white-space:          nowrap;
}
.rdw-clear-all:hover { color: #0a0a0a; }

/* ── Active filter chips summary ── */
.rdw-active-bar {
  display:       flex;
  align-items:   center;
  gap:           8px;
  padding:       8px 0;
  border-bottom: 1px solid #e8e8e8;
  flex-wrap:     wrap;
}
.rdw-active-bar-label { font-size: 0.7rem; color: #aaa; }
.rdw-active-tag {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  padding:        3px 10px;
  border:         1px solid #0a0a0a;
  font-size:      0.72rem;
  font-weight:    600;
  text-decoration: none;
  color:          #0a0a0a;
  background:     #fff;
  transition:     background 0.2s;
}
.rdw-active-tag:hover { background: #f5f5f5; }
.rdw-active-tag-x { color: #999; }

@media (max-width: 768px) {
  .rdw-filter-bar-inner { gap: 18px; }
  .rdw-fgroup           { gap: 8px; }
  .rdw-clear-all        { margin-left: 0; }
}

/* Product grid — output by loop-start.php */
.rdw-grid-container { padding-top: 0; padding-bottom: 48px; }

.rdw-products-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   2px;
  margin:                32px 0;
}
@media (max-width: 1024px) { .rdw-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .rdw-products-grid { grid-template-columns: repeat(2, 1fr); gap: 1px; } }

/* Also apply when loop is inside related products */
.rdw-single-product .rdw-products-grid { margin: 0; }

/* ── Product card ── */
.rdw-product-card {
  position:   relative;
  overflow:   hidden;
  background: #fff;
}

.rdw-product-image {
  position:     relative;
  aspect-ratio: 3/4;
  overflow:     hidden;
  background:   #f5f5f5;
  display:      block;
}
.rdw-product-image img {
  position:        absolute;
  inset:           0;
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: top center;
  transition:      opacity 0.4s ease;
  display:         block;
  max-width:       none; /* override WC default max-width:100% */
}
.rdw-img-primary   { opacity: 1; z-index: 0; }
.rdw-img-secondary { opacity: 0; z-index: 1; }
.rdw-product-card:hover .rdw-img-secondary { opacity: 1; }
.rdw-product-card:hover .rdw-img-primary   { opacity: 0; }

.rdw-badge {
  position:       absolute;
  top:            10px; left: 10px;
  padding:        3px 8px;
  font-size:      0.65rem;
  font-weight:    700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  z-index:        2;
}
.rdw-badge-new  { background: #0a0a0a; color: #fff; }
.rdw-badge-sale { background: #cc1a1a; color: #fff; }

/* Quick-add */
.rdw-quick-add {
  position:       absolute;
  bottom:         0; left: 0; right: 0;
  background:     #fff;
  color:          #0a0a0a;
  text-align:     center;
  padding:        11px 12px;
  font-size:      0.7rem;
  font-weight:    700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transform:      translateY(100%);
  transition:     transform 0.25s ease, background 0.2s;
  z-index:        3;
  border-top:     1px solid #e8e8e8;
  text-decoration: none;
  display:        block;
  cursor:         pointer;
  font-family:    inherit;
  border-left:    0; border-right: 0; border-bottom: 0;
}
.rdw-product-card:hover .rdw-quick-add { transform: translateY(0); }
.rdw-quick-add:hover { background: #0a0a0a; color: #fff !important; }
.rdw-select-options { color: #666; }

/* Product info */
.rdw-product-info  { padding: 10px 0 14px; }
.rdw-product-cat {
  font-size:      0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color:          #aaa;
  margin:         0 0 3px;
}
.rdw-product-name {
  font-size:   0.875rem;
  font-weight: 400;
  line-height: 1.35;
  margin:      0 0 5px;
}
.rdw-product-name a { color: #0a0a0a; text-decoration: none; }
.rdw-product-name a:hover { color: #c8a96e; }
.rdw-product-price { display: flex; align-items: center; gap: 8px; }

/* WooCommerce price inside our card */
.rdw-product-card .woocommerce-Price-amount,
.rdw-product-card .price,
.rdw-product-card .price .amount { font-size: 0.9rem; font-weight: 700; color: #0a0a0a; }
.rdw-product-card .price del,
.rdw-product-card .price del .amount { color: #aaa; font-size: 0.82rem; font-weight: 400; }
.rdw-product-card .price ins { text-decoration: none; }

/* ── Pagination ── */
.woocommerce-pagination { margin: 8px 0 48px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 4px; list-style: none; padding: 0; margin: 0; }
.woocommerce-pagination ul .page-numbers {
  display:     flex;
  align-items: center;
  justify-content: center;
  width:       40px; height: 40px;
  font-size:   0.82rem; font-weight: 600;
  border:      1.5px solid #e8e8e8;
  color:       #0a0a0a;
  text-decoration: none;
  transition:  background 0.2s;
}
.woocommerce-pagination ul .page-numbers:hover,
.woocommerce-pagination ul .page-numbers.current {
  background: #0a0a0a; border-color: #0a0a0a; color: #fff;
}
.woocommerce-pagination ul .page-numbers.dots { border: none; background: none; }

/* No products */
.rdw-no-products { text-align: center; padding: 64px 24px; }
.rdw-no-products p { color: #666; margin-bottom: 24px; }

/* ================================================================
   SINGLE PRODUCT
   ================================================================ */
.rdw-single-product { padding: 0 0 64px; }

.rdw-sp-layout {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   56px;
  align-items:           start;
  margin-bottom:         48px;
}
@media (max-width: 900px) { .rdw-sp-layout { grid-template-columns: 1fr; gap: 32px; } }

/* Gallery */
.rdw-main-image {
  position:      relative;
  aspect-ratio:  4/5;
  overflow:      hidden;
  background:    #f5f5f5;
  margin-bottom: 8px;
}
.rdw-main-image img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top center;
  display: block;
}
.rdw-sale-flash {
  position:       absolute;
  top: 12px; left: 12px;
  background:     #cc1a1a; color: #fff;
  font-size:      0.65rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding:        4px 10px;
}
.rdw-thumbs { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.rdw-thumb {
  width: 76px; height: 96px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer; padding: 0;
  background: #f5f5f5;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
.rdw-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rdw-thumb:hover, .rdw-thumb.is-active { border-color: #0a0a0a; }

/* Product details */
.rdw-sp-details { padding-top: 8px; }
.rdw-sp-title {
  font-size:   clamp(1.5rem, 3vw, 2rem);
  font-weight: 800; line-height: 1.1;
  margin:      4px 0 16px; letter-spacing: -0.02em;
}
.rdw-sp-price { margin-bottom: 20px; }
.rdw-sp-price .woocommerce-Price-amount { font-size: 1.4rem; font-weight: 700; color: #0a0a0a; }
.rdw-sp-price del .woocommerce-Price-amount { font-size: 1rem; color: #aaa; font-weight: 400; }
.rdw-sp-price ins { text-decoration: none; }

.rdw-sp-excerpt {
  font-size:     0.9rem; color: #444;
  line-height:   1.7; margin-bottom: 24px;
}
.rdw-sp-excerpt p { margin: 0 0 8px; }

/* Add to cart */
.rdw-sp-details form.cart {
  display:        flex;
  flex-direction: column;
  gap:            12px;
  margin-bottom:  20px;
}
.rdw-sp-details .quantity { display: inline-flex; align-items: center; }
.rdw-sp-details .quantity input.qty {
  width: 64px; height: 48px;
  text-align: center;
  border: 1.5px solid #e8e8e8;
  font-size: 1rem; font-weight: 600;
  outline: none; background: #fff;
  font-family: inherit;
  -moz-appearance: textfield;
  border-radius: 0;
}
.rdw-sp-details .quantity input.qty::-webkit-outer-spin-button,
.rdw-sp-details .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }

.rdw-sp-details .single_add_to_cart_button {
  width:          100% !important;
  padding:        16px !important;
  background:     #0a0a0a !important;
  color:          #fff !important;
  font-size:      0.82rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border:         none !important;
  cursor:         pointer !important;
  font-family:    inherit !important;
  border-radius:  0 !important;
}
.rdw-sp-details .single_add_to_cart_button:hover { background: #2d2d2d !important; }

/* Variation selects */
.rdw-sp-details .variations { width: 100%; border: none; margin-bottom: 16px; border-collapse: collapse; }
.rdw-sp-details .variations td { padding: 6px 0; border: none; }
.rdw-sp-details .variations .label label {
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase; color: #0a0a0a;
}
.rdw-sp-details .variations select {
  width: 100%; padding: 10px 14px;
  border: 1.5px solid #e8e8e8;
  font-size: 0.875rem; font-family: inherit;
  outline: none; cursor: pointer; border-radius: 0;
}
.rdw-sp-details .reset_variations { font-size: 0.78rem; color: #666; }

/* Product meta (SKU, category) */
.rdw-sp-details .product_meta {
  margin-top: 16px; font-size: 0.82rem; color: #666;
  border-top: 1px solid #e8e8e8; padding-top: 16px;
}
.rdw-sp-details .product_meta > span { display: block; margin-bottom: 4px; }
.rdw-sp-details .product_meta a { color: #0a0a0a; }
.rdw-sp-details .product_meta a:hover { color: #c8a96e; }

/* Star rating */
.rdw-sp-details .woocommerce-product-rating { margin-bottom: 12px; }
.rdw-sp-details .star-rating { color: #c8a96e; }
.rdw-sp-details .woocommerce-review-link { font-size: 0.8rem; color: #666; }

/* Tabs */
.rdw-single-product .woocommerce-tabs {
  margin-top:  48px; padding-top: 32px;
  border-top:  1px solid #e8e8e8;
}
.rdw-single-product .woocommerce-tabs ul.tabs {
  display:       flex; gap: 0;
  border-bottom: 1px solid #e8e8e8;
  margin:        0 0 28px; padding: 0; list-style: none;
}
.rdw-single-product .woocommerce-tabs ul.tabs li { margin: 0; }
.rdw-single-product .woocommerce-tabs ul.tabs li::before,
.rdw-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.rdw-single-product .woocommerce-tabs ul.tabs li a {
  display:     block;
  padding:     10px 20px;
  font-size:   0.82rem; font-weight: 600;
  text-decoration: none; color: #666;
  border:      none; border-bottom: 2px solid transparent;
  margin-bottom: -1px; background: none;
  transition:  color 0.2s, border-color 0.2s;
}
.rdw-single-product .woocommerce-tabs ul.tabs li.active a,
.rdw-single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #0a0a0a; border-bottom-color: #0a0a0a; background: none;
}
.rdw-single-product .woocommerce-tabs .panel {
  font-size: 0.9rem; line-height: 1.7; color: #444;
}
.rdw-single-product .woocommerce-tabs .panel h2 { display: none; }
.rdw-single-product .woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.rdw-single-product .woocommerce-tabs table.shop_attributes th,
.rdw-single-product .woocommerce-tabs table.shop_attributes td {
  padding: 10px 12px; border-bottom: 1px solid #e8e8e8;
  font-size: 0.875rem; text-align: left;
}
.rdw-single-product .woocommerce-tabs table.shop_attributes th {
  font-weight: 700; width: 30%; color: #0a0a0a;
}

/* Related products */
.rdw-single-product .related.products { margin-top: 64px; padding-top: 40px; border-top: 1px solid #e8e8e8; }
.rdw-single-product .related.products > h2 {
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #aaa;
  margin-bottom:  24px;
}
@media (max-width: 640px) { .rdw-single-product .related.products .rdw-products-grid { grid-template-columns: repeat(2, 1fr); } }

/* ================================================================
   CART PAGE (WooCommerce Blocks)
   ================================================================ */

/* Outer layout */
.wp-block-woocommerce-cart {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  font-family: 'Inter', sans-serif !important;
}
@media (max-width: 480px) { .wp-block-woocommerce-cart { padding: 24px 16px 48px !important; } }

/* Cart items */
.wc-block-cart-items__header th {
  font-size:      0.7rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color:          #aaa !important;
  border-bottom:  2px solid #e8e8e8 !important;
  padding-bottom: 12px !important;
}
.wc-block-cart-item { border-bottom: 1px solid #f5f5f5 !important; padding: 16px 0 !important; }
.wc-block-cart-item__image img { border-radius: 0 !important; }
.wc-block-cart-item__product-name { font-weight: 600 !important; font-size: 0.9rem !important; color: #0a0a0a !important; }
.wc-block-cart-item__product-name a { color: #0a0a0a !important; text-decoration: none !important; }
.wc-block-cart-item__product-name a:hover { color: #c8a96e !important; }
.wc-block-components-product-price { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-product-price del { color: #aaa !important; font-weight: 400 !important; }
.wc-block-cart-item__remove-link { color: #aaa !important; font-size: 0.78rem !important; }
.wc-block-cart-item__remove-link:hover { color: #cc1a1a !important; }

/* Qty stepper */
.wc-block-components-quantity-selector { border: 1.5px solid #e8e8e8 !important; border-radius: 0 !important; }
.wc-block-components-quantity-selector__button { color: #0a0a0a !important; }
.wc-block-components-quantity-selector__value { font-weight: 600 !important; }

/* Totals panel */
.wc-block-cart__totals-title {
  font-size:      0.72rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color:          #aaa !important;
}
.wc-block-components-totals-item { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-totals-item__label { font-size: 0.875rem !important; color: #666 !important; }
.wc-block-components-totals-item__value { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1rem !important; font-weight: 800 !important; color: #0a0a0a !important;
}

/* Proceed to Checkout button */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-container .wc-block-components-button {
  background-color: #0a0a0a !important;
  color:            #fff    !important;
  border-radius:    0       !important;
  font-family:      'Inter', sans-serif !important;
  font-size:        0.78rem !important;
  font-weight:      700     !important;
  letter-spacing:   0.1em   !important;
  text-transform:   uppercase !important;
  padding:          15px 24px !important;
  border:           none     !important;
  box-shadow:       none     !important;
  width:            100%     !important;
  transition:       background 0.2s !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background-color: #2d2d2d !important;
  color:            #fff    !important;
}

/* Coupon */
.wc-block-components-totals-coupon__button { color: #c8a96e !important; font-weight: 600 !important; }
.wc-block-components-totals-coupon-link { color: #c8a96e !important; }

/* ================================================================
   CHECKOUT PAGE (WooCommerce Blocks)
   ================================================================ */
.wp-block-woocommerce-checkout {
  max-width: 1320px !important;
  margin:    0 auto !important;
  padding:   40px 24px 64px !important;
  font-family: 'Inter', sans-serif !important;
}

/* Field labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label,
.wc-block-checkout__contact-fields label,
.wc-block-checkout__billing-fields label,
.wc-block-checkout__shipping-fields label {
  font-size:      0.72rem !important;
  font-weight:    700     !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color:          #0a0a0a !important;
}

/* Text inputs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
  border:        1.5px solid #e8e8e8 !important;
  border-radius: 0      !important;
  font-size:     0.875rem !important;
  font-family:   inherit  !important;
  color:         #0a0a0a  !important;
  outline:       none     !important;
  box-shadow:    none     !important;
  padding:       12px 14px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
  border-color: #0a0a0a !important;
  box-shadow:   none    !important;
  outline:      none    !important;
}

/* Order review table */
.wc-block-components-order-summary-item { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-order-summary-item__description { font-size: 0.875rem !important; color: #0a0a0a !important; }
.wc-block-components-order-summary-item__total-price { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-totals-footer-item { border-top: 2px solid #e8e8e8 !important; }

/* Payment methods */
.wc-block-components-radio-control__option { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-radio-control__input:checked { accent-color: #0a0a0a !important; }

/* Place Order button */
.wc-block-checkout__place-order .wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row .wc-block-components-button,
button.wc-block-components-checkout-place-order-button {
  background-color: #0a0a0a !important;
  color:            #fff    !important;
  border-radius:    0       !important;
  font-family:      'Inter', sans-serif !important;
  font-size:        0.82rem !important;
  font-weight:      700     !important;
  letter-spacing:   0.1em   !important;
  text-transform:   uppercase !important;
  padding:          16px    !important;
  border:           none    !important;
  box-shadow:       none    !important;
  width:            100%    !important;
}
button.wc-block-components-checkout-place-order-button:hover {
  background-color: #2d2d2d !important;
}

/* Section headings in checkout */
.wc-block-checkout__contact-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__payment h2,
.wc-block-checkout__order-notes h2 {
  font-size:      0.72rem  !important;
  font-weight:    700      !important;
  letter-spacing: 0.14em   !important;
  text-transform: uppercase !important;
  color:          #aaa     !important;
  border-bottom:  1px solid #e8e8e8 !important;
  padding-bottom: 12px    !important;
  margin-bottom:  20px    !important;
}

/* Express payment methods */
.wc-block-components-express-payment-continue-rule { font-size: 0.78rem !important; color: #aaa !important; }

/* ================================================================
   WooCommerce notices (shared)
   ================================================================ */
.woocommerce-message,
.wc-block-components-notice--success {
  background:  #e8f5e9 !important;
  border-left: 3px solid #1a7a3a !important;
  border-top:  none !important;
  border-right: none !important;
  border-bottom: none !important;
  color:       #0a0a0a !important;
  padding:     14px 18px !important;
  border-radius: 0 !important;
}
.woocommerce-error,
.wc-block-components-notice--error {
  background:  #fce8e8 !important;
  border-left: 3px solid #cc1a1a !important;
  border-top:  none !important;
  border-right: none !important;
  border-bottom: none !important;
  color:       #0a0a0a !important;
  padding:     14px 18px !important;
  border-radius: 0 !important;
}
.woocommerce-info {
  border-left: 3px solid #c8a96e !important;
  background:  #fdf7ee !important;
  color:       #0a0a0a !important;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before { display: none !important; }

/* ── PHP-template cart/checkout (classic pages, if switched to shortcode) ── */
.rdw-cart-page { padding-bottom: 64px; }
.rdw-cart-layout {
  display:               grid;
  grid-template-columns: 1fr 360px;
  gap:                   48px;
  align-items:           start;
}
@media (max-width: 900px) { .rdw-cart-layout { grid-template-columns: 1fr; gap: 32px; } }
.rdw-cart-item {
  display: flex; gap: 20px; padding: 20px 0;
  border-bottom: 1px solid #f5f5f5; align-items: flex-start;
}
.rdw-ci-image { flex-shrink: 0; width: 90px; }
.rdw-ci-image img { width: 90px; height: 112px; object-fit: cover; display: block; }
.rdw-ci-info { flex: 1; }
.rdw-ci-name { font-size: 0.9rem; font-weight: 600; margin: 0 0 4px; }
.rdw-ci-name a { color: #0a0a0a; text-decoration: none; }
.rdw-ci-bottom { display: flex; align-items: center; gap: 16px; margin-top: 12px; flex-wrap: wrap; }
.rdw-ci-qty input.qty {
  width: 52px; height: 40px; text-align: center;
  border: 1.5px solid #e8e8e8; font-size: 0.875rem; font-weight: 600;
  outline: none; font-family: inherit; background: #fff;
  border-radius: 0; -moz-appearance: textfield;
}
.rdw-ci-subtotal { font-size: 0.9rem; font-weight: 700; }
.rdw-ci-remove { color: #aaa; font-size: 1.1rem; text-decoration: none; margin-left: auto; }
.rdw-ci-remove:hover { color: #cc1a1a; }
.rdw-cart-actions { display: flex; align-items: center; gap: 12px; padding: 20px 0; flex-wrap: wrap; }
.rdw-coupon-row { display: flex; gap: 0; flex: 1; min-width: 200px; }
.rdw-coupon-row .rdw-input { flex: 1; border-right: none; }
.rdw-cart-summary { background: #f5f5f5; padding: 28px; }
.rdw-summary-title { font-size: 1rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #e8e8e8; }
.rdw-cart-summary .shop_table { width: 100%; border: none; border-collapse: collapse; }
.rdw-cart-summary .shop_table td,
.rdw-cart-summary .shop_table th { padding: 8px 0; font-size: 0.88rem; border: none; text-align: left; vertical-align: top; }
.rdw-cart-summary .shop_table th { color: #666; }
.rdw-cart-summary .shop_table .order-total th,
.rdw-cart-summary .shop_table .order-total td { padding-top: 14px; border-top: 1px solid #e8e8e8; font-weight: 700; font-size: 1rem; }
.rdw-cart-summary .woocommerce-Price-amount { font-weight: 700; }
.rdw-cart-summary .wc-proceed-to-checkout { margin-top: 20px; }
.rdw-cart-summary .checkout-button { display: block; width: 100%; text-align: center; padding: 15px; background: #0a0a0a; color: #fff; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border: none; cursor: pointer; font-family: inherit; }
.rdw-cart-summary .checkout-button:hover { background: #2d2d2d; }
