/* =====================================================
   RED RIVER RURAL — Complete WooCommerce CSS
   ===================================================== */

/* ---- GLOBAL VARIABLES ---- */
:root {
  --rr-red:          #C9132A;
  --rr-red-light:    #fff5f5;
  --rr-red-pill-bg:  rgba(204,0,0,0.06);
  --rr-orange:       #FAA31C;
  --rr-dark:         #1a1a1a;
  --rr-heading:      #0d1b2a;
  --rr-blue:         #1a6ebd;
     --grey: #FBF4F2;
  --rr-label:        #444444;
  --rr-border:       #e4e4e4;
  --rr-border-light: #eef0f2;
  --rr-input-border: #d0d0d0;
  --rr-table-head-bg:#eef4f8;
  --rr-table-head-color: #4a6080;
  --rr-white:        #ffffff;
  --rr-page-bg:      #f2f4f6;
   --green : #4B8166;
  --rr-shadow-sm:    0 2px 8px rgba(0,0,0,0.05);
  --rr-shadow-md:    0 4px 20px rgba(0,0,0,0.08);
  --rr-shadow-lg:    0 8px 32px rgba(0,0,0,0.10);
  --rr-radius-sm:    20px;
  --rr-radius-lg:    40px;
   --font-12: 12px;
    --font-14: 14px;
    --font-15: 15px;
    --font-16: 16px;
    --font-18: 18px;
    --font-20: 20px;
    --font-22: 22px;
    --font-24: 24px;
    --font-26: 26px;
    --font-30: 30px;
    --font-36: 36px;
    --font-38: 38px;
    --font-44: 44px;
    --font-48: 48px;
    --font-54: 54px;
}


/* =====================================================
   SECTION 1 — ALL FORM INPUTS
   Gray borders, white bg, no red on inputs
   ===================================================== */


body.woocommerce-page .woocommerce form .form-row input[type="text"],
body.woocommerce-page .woocommerce form .form-row input[type="email"],
body.woocommerce-page .woocommerce form .form-row input[type="password"],
body.woocommerce-page .woocommerce form .form-row input[type="tel"],
body.woocommerce-page .woocommerce form .form-row input[type="number"],
body.woocommerce-page .woocommerce form .form-row input[type="search"],
body.woocommerce-page .woocommerce form .form-row input[type="url"],
body.woocommerce-page .woocommerce form .form-row textarea,
body.woocommerce-page .woocommerce form .form-row select,:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
  background-color: #ffffff !important;
  color: var(--rr-dark) !important;
  border: 1.5px solid var(--rr-input-border) !important; 
  padding: 11px 14px !important;
  font-size: var(--font-14) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.18s, box-shadow 0.18s !important;
  margin-bottom: 0px !important;
  border-radius: 0 !important;
}

/* Focus */
body.woocommerce-page .woocommerce form .form-row input:focus,
body.woocommerce-page .woocommerce form .form-row textarea:focus,
body.woocommerce-page .woocommerce form .form-row select:focus {
  border-color: #888888 !important;
}

/* Placeholder */
body.woocommerce-page .woocommerce form .form-row input::placeholder,
body.woocommerce-page .woocommerce form .form-row textarea::placeholder {
  color: #b0b0b0 !important;
  opacity: 1 !important;
}
/* ===============================
   Autofill (Scoped)
   =============================== */

body.woocommerce-page .woocommerce form .form-row input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  -webkit-text-fill-color: var(--rr-dark) !important;
  border: 1.5px solid var(--rr-input-border) !important;
}


/* ===============================
   Labels (Only Woo fields)
   =============================== */

body.woocommerce-page .woocommerce form .form-row label.error {color: var(--rr-red) !important; margin-bottom: 0 !important;}
body.woocommerce-page .woocommerce form .form-row label {
  display: block;
  font-size: var(--font-14) !important;
  font-weight: 400 !important;
  color: var(--rr-label) !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#add_payment_method .cart-collaterals .shipping-calculator-button, .woocommerce-cart .cart-collaterals .shipping-calculator-button, .woocommerce-checkout .cart-collaterals .shipping-calculator-button, .product-name a { text-decoration: none; color:var(--black); border-bottom: 1px solid var(--black);}

/* ===============================
   Required Asterisk
   =============================== */

body.woocommerce-page .woocommerce form .form-row abbr[title="required"] {
  color: var(--rr-red) !important;
  text-decoration: none !important;
  
}


/* ===============================
   Select Dropdown (Only Woo fields)
   =============================== */

body.woocommerce-page .woocommerce form .form-row select {
  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='%23888' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: #ffffff !important;
  padding-right: 36px !important;
  cursor: pointer !important;
}


/* =====================================================
   SECTION 2 — BUTTONS
   ===================================================== */

body.woocommerce-page .woocommerce form button.button,
body.woocommerce-page .woocommerce form input.button,
body.woocommerce-page .woocommerce form input[type="submit"],
body.woocommerce-page .woocommerce a.button,
body.woocommerce-page .woocommerce .button.alt,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order {
  background-color: var(--rr-red) !important;
  color: var(--rr-white) !important;
  border: none !important;
  border-radius: var(--rr-radius-sm) !important;
  padding: 0 20px !important;
  font-size: var(--font-14) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.1s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 38px;
  margin-bottom: 0 !important;
  min-width: 160px;
}

#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text{
  background-color: transparent !important;
  color: var(--rr-label) !important;
  border: 1px solid var(--rr-border) !important;
  border-radius: var(--rr-radius-sm) !important;
  padding: 0 20px !important;
  font-size: var(--font-14) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.1s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 38px;
  color: var(--rr-white);
  min-width: 140px;
}
#add_payment_method table.cart td.actions .coupon .input-text::placeholder,  .woocommerce-cart table.cart td.actions .coupon .input-text::placeholder, .woocommerce-checkout table.cart td.actions .coupon .input-text::placeholder {
    color: var(--rr-dark);
    text-align: center;
}

body.woocommerce-page .woocommerce form button.button:hover,
body.woocommerce-page .woocommerce form input.button:hover,
body.woocommerce-page .woocommerce form input[type="submit"]:hover,
body.woocommerce-page .woocommerce a.button:hover,
body.woocommerce-page .woocommerce .button.alt:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-checkout #place_order:hover {
  background-color: var(--rr-red) !important;
  color: #ffffff !important;
}

/* Orange CTA */
body.woocommerce-page .woocommerce .button.wc-forward,
body.woocommerce-page .woocommerce a.button.wc-forward {
  background-color: var(--rr-orange) !important;
  color: var(--rr-white) !important;
  
}

body.woocommerce-page .woocommerce .button.wc-forward:hover {
  background-color: #d48d0f !important;
}

/* Place order — full width */
body.woocommerce-checkout #place_order {
  width: 100% !important; 
}

/* =====================================================
   SECTION 3 — LOGIN & REGISTER PAGE
   Clean white card, title inside card, no red header
   ===================================================== */

/* Hide floating page title */
body.woocommerce-account .entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .page-title,
body.woocommerce-lost-password .entry-title,
body.woocommerce-lost-password h1.entry-title,
body.woocommerce-lost-password .page-title {
  display: none !important;
}

/* Page wrapper */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-lost-password .woocommerce {
  /* display: flex !important;
  flex-direction: column !important; */
  align-items: center !important;
  gap: 0 !important;
}

/* Notices aligned to card width */
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-info,
body.woocommerce-lost-password .woocommerce > .woocommerce-error,
body.woocommerce-lost-password .woocommerce > .woocommerce-message,
body.woocommerce-lost-password .woocommerce > .woocommerce-info {
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto 14px !important; 
  box-sizing: border-box !important;
}

/* Card shell */
body.woocommerce-page .woocommerce-form-login,
body.woocommerce-page .woocommerce-form-register,
body.woocommerce-page .woocommerce-ResetPassword {
  width: 100% !important;
  max-width: 750px !important;
  margin: 0 auto   !important;
  padding: 36px !important;
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  /* height: 100%; */
}
body.woocommerce-page .woocommerce-form-login,
body.woocommerce-page .woocommerce-form-register{height: -webkit-fill-available;}
/* Card title — dark heading, thin border separator */
body.woocommerce-page .woocommerce-form-login h2,
body.woocommerce-page .woocommerce-form-register h2,
body.woocommerce-page .woocommerce-ResetPassword::before {
  display: block !important;
  font-size: var(--font-22) !important; 
  color: var(--rr-heading) !important;
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1.5px solid var(--rr-border) !important;
  letter-spacing: -0.2px !important;
}

body.woocommerce-page .woocommerce-ResetPassword{max-width: 600px !important;}
/* body.woocommerce-page .woocommerce-form-login::before    { content: 'Login'; } */
/* body.woocommerce-page .woocommerce-form-register::before { content: 'Register'; } */
body.woocommerce-page #wpResetPassword::before { content: 'Reset Password'; }
body.woocommerce-lost-password #wpLostPassword::before { content: 'Forgot Password'; }

/* Reset padding inheritance */
body.woocommerce-page .woocommerce-form-login > *,
body.woocommerce-page .woocommerce-form-register > *,
body.woocommerce-page .woocommerce-ResetPassword > * {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-page .woocommerce-form-login .form-row,
body.woocommerce-page .woocommerce-form-register .form-row,
body.woocommerce-page .woocommerce-ResetPassword .form-row {
  margin-bottom: 10px !important;
}

/* Remember me checkbox */
body.woocommerce-page .woocommerce-form__input-checkbox {
  accent-color: var(--rr-red) !important;
  width: 15px !important;
  height: 15px !important;
  cursor: pointer !important;
}

body.woocommerce-page .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: var(--font-14) !important;
  color: var(--rr-heading) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}
  p { 
    font-size: var(--font-16);
}
/* Lost password link */
body.woocommerce-page .woocommerce-LostPassword,
body.woocommerce-page .lost_password {
  text-align: left !important;
  margin: 4px 0 16px !important;
}

body.woocommerce-page .woocommerce-LostPassword a,
body.woocommerce-page .lost_password a {
  color: var(--rr-red) !important;
  font-size: var(--font-14) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

body.woocommerce-page .woocommerce-LostPassword a:hover,
body.woocommerce-page .lost_password a:hover { 
  text-decoration: underline !important; 
}

/* Submit buttons */
body.woocommerce-page .woocommerce-form-login .woocommerce-form-login__submit,
body.woocommerce-page .woocommerce-form-register .woocommerce-form-register__submit,
body.woocommerce-page .woocommerce-ResetPassword button[type="submit"],
body.woocommerce-page .woocommerce-ResetPassword input[type="submit"] {
  width: 100% !important;
  background: var(--rr-red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rr-radius-sm) !important;
  padding: 13px !important;
  font-size: var(--font-14) !important;
  
  cursor: pointer !important;
  transition: background 0.18s, transform 0.1s !important;
  margin-top: 8px !important;
}

body.woocommerce-page .woocommerce-form-login .woocommerce-form-login__submit:hover,
body.woocommerce-page .woocommerce-form-register .woocommerce-form-register__submit:hover,
body.woocommerce-page .woocommerce-ResetPassword button[type="submit"]:hover,
body.woocommerce-page .woocommerce-ResetPassword input[type="submit"]:hover {
  background: var(--rr-red) !important;
}

/* Privacy text */
body.woocommerce-page .woocommerce-privacy-policy-text {
  font-size: 12px !important;
  color: #999 !important;
  line-height: 1.6 !important;
  margin-top: 12px !important;
  padding: 0 !important;
}

body.woocommerce-page .woocommerce-privacy-policy-text a { 
  color: var(--rr-red) !important; 
}



/* =====================================================
   SECTION 4 — MY ACCOUNT PAGE
   Nav with left-border accent, NOT full red background
   ===================================================== */

/* ---- Sidebar nav — matches screenshot 4 ---- */
.woocommerce-MyAccount-navigation {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding :0 !important;
  margin: 0 !important;
}
.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--rr-border-light) !important;
}
.woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  padding: 12px 20px !important;
  color: var(--rr-label) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: var(--font-16) !important;
  transition: all 0.15s !important;
  border-left: 3px solid transparent !important;
}
 
/* Active = left red bar + very light red tint, NOT full red bg */
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: var(--rr-border-light) !important;
  color: var(--rr-dark) !important;
  border-left-color: var(--rr-dark) !important;
  
}
.woocommerce-MyAccount-content .woocommerce-info {
    /* margin-bottom: 0; */
}
.woocommerce-account .woocommerce-MyAccount-content p a { color:var(--rr-red); }
/* ---- Content area ---- */
.woocommerce-MyAccount-content {
  background: var(--rr-white) !important; 
  /* padding: 20px !important; */
  /* border: 1px solid var(--rr-border-light); */
  /* box-shadow:  var(--rr-shadow-sm)   !important; */
}
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 { width: calc(50% - 10px); }
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { width: calc(50% - 10px); }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 { color: var(--rr-heading) !important; margin-top: 0 !important;}

.woocommerce-info::after{display: none;}

/* ---- Orders table ---- */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table {
  width: 100% !important;
  border: 1px solid var(--rr-border) !important; 
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce-account .woocommerce-orders-table th,.woocommerce-account .woocommerce-orders-table th a  {
  color: var(--rr-heading) !important;
  padding: 12px 16px !important;
  font-size: var(--font-16) !important; 
  letter-spacing: 0.6px !important;
}
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .shop_table tbody td {
  padding: 13px 16px !important;
  border-bottom: 1px solid var(--rr-border-light) !important;
  vertical-align: middle !important;
  color: var(--rr-dark) !important;
}
.woocommerce-account .shop_table tbody td a, .shop_table tbody td, .woocommerce ul#shipping_method li label, .woocommerce table.shop_table td{font-size: var(--font-16) !important; font-weight: 500;}
.woocommerce-account .shop_table tbody tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-account .shop_table tbody tr:hover td {
  background-color: #fafbfc !important;
}

/* Status badges — colored pill on light tinted bg */
.woocommerce-account .woocommerce-orders-table__cell-order-status mark,
.woocommerce-account .order-status {
  background: #eee !important;
  color: #555 !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-size: var(--font-12) !important;
  font-weight: 600 !important;
  display: inline-block !important;
}
.woocommerce-account .order-status.status-completed  { background: #e8f5e9 !important; color:var(--green) !important; }
.woocommerce-account .order-status.status-processing { background: #e3f2fd !important; color: #1565c0 !important; }
.woocommerce-account .order-status.status-on-hold    { background: #fff3e0 !important; color: #e65100 !important; }
.woocommerce-account .order-status.status-cancelled  { background: #f5f5f5 !important; color: #777 !important; }


/* =====================================================
   SECTION 4B — ADDRESS BOOK
   Proper 2-column grid, heading + pill Edit side by side
   ===================================================== */

/* Remove any outer red border on the address section */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-Addresses {
  display: flex !important;
  justify-content: space-between;
  gap: 20px !important;
  margin-top: 16px !important;
  width: 100% !important;
  flex-wrap: wrap;
}

/* Each address card */
.woocommerce-account .woocommerce-Address {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  padding: 24px 24px 20px !important;
  position: relative !important;
  transition: box-shadow 0.2s, border-color 0.2s !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  min-width: 0 !important; /* prevent overflow in grid */
}
.woocommerce-account .woocommerce-Address:hover {
  box-shadow:  none !important;
  border-color: #ccc !important;
}

/* Title row — flex row, heading fills space, edit pill on right */
.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--rr-border-light) !important;
  width: 100% !important;
}

/* Heading — takes remaining space, wraps naturally */
.woocommerce-account .woocommerce-Address-title h3, .woocommerce-account .woocommerce-Address-title h2 {
  color: var(--rr-heading) !important;
  font-size: var(--font-18) !important; 
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
}

/* Edit — outlined red pill, never wraps, never overlaps heading */
.woocommerce-account .woocommerce-Address-title .edit {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  color: var(--rr-red) !important;
  border: 1px solid var(--rr-red) !important;
  border-radius: 20px !important;
  padding: 7px 16px !important;
  font-size: var(--font-12) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  line-height: 1.4 !important;
}
.woocommerce-account .woocommerce-Address-title .edit:hover {
  background: var(--rr-red) !important;
  color: #ffffff !important;
}

/* Address text */
.woocommerce-account address {
  font-size: var(--font-14) !important;
  line-height: 1.9 !important;
  color: var(--rr-heading)  !important;
  font-style: normal !important;
  margin-bottom: 0;
}


/* Edit address form */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .edit-account,
.woocommerce-account .woocommerce-address-fields {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  padding: 28px !important;
  box-shadow: none !important;
}
.woocommerce-address-fields p{margin-bottom: 0; margin-top: 16px;}
.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-address-fields fieldset {
  border: 1px solid var(--rr-border) !important; 
  padding: 20px !important;
  margin: 20px 0 !important;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend,
.woocommerce-account .woocommerce-address-fields fieldset legend {
  color: var(--rr-heading) !important;
  
  padding: 0 8px !important;
  font-size: var(--font-12) !important;
  letter-spacing: 0.5px !important;
}
.woocommerce-account .woocommerce-EditAccountForm .button {
  background: var(--rr-red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rr-radius-sm) !important;
  padding: 12px 28px !important;
  
  cursor: pointer !important;
  transition: background 0.18s !important;
}
.woocommerce-account .woocommerce-EditAccountForm .button:hover,
.woocommerce-account .woocommerce-address-fields .button:hover {
  background: var(--rr-red) !important;
}


/* =====================================================
   SECTION 5 — CART PAGE
   Light blue-gray header rows, matching screenshot 2
   ===================================================== */

.woocommerce-cart table.cart {
  border: 1px solid var(--rr-border) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--rr-white) !important;
}
/* Header row — light blue-gray like screenshot */ 
  
.woocommerce-cart table.cart td {
  padding: 16px !important;
  vertical-align: middle !important;
  color: var(--rr-dark) !important;
  background: var(--rr-white) !important;
  font-size: var(--font-16);
  font-weight: 500;
}
.woocommerce-cart table.cart tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-cart table.cart tr:hover td {
  background-color: #fafbfc !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
  border: 1.5px solid var(--rr-input-border) !important;
  border-radius: 6px !important;
  padding: 8px 10px !important;
  width: 72px !important;
  text-align: center !important;
  font-weight: 600 !important;
  color: var(--rr-dark) !important;
  background: #fff !important;
}

/* Cart totals box — matching screenshot 2 */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  padding: 0 !important;
  box-shadow:  none !important;
  overflow: hidden !important;
}

/* Cart totals heading — with left red bar accent */
.woocommerce-cart .cart_totals h2 {
  color: var(--rr-heading) !important;
  font-size:var(--font-16) !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  border-bottom: 1px solid var(--rr-border) !important;
  display: block !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  margin: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 14px 24px !important;
  border-bottom: 1px solid var(--rr-border-light) !important; 
  vertical-align: middle !important;
}
.woocommerce-cart .cart_totals table th {
  font-weight: 600 !important;
  color: var(--rr-label) !important;
  font-size: var(--font-12) !important;
  letter-spacing: 0.5px !important;
  background: transparent !important;
  width: 40% !important;
}
/* Total row — highlighted light blue-gray background */
.woocommerce-cart .cart_totals .order-total {
  background: var(--grey) !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size:var(--font-16) !important;
  color: var(--rr-heading) !important;
  border-bottom: none !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Proceed to checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 16px 24px !important;
  margin: 0 !important;
  border-top: 1px solid var(--rr-border) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  text-align: center !important;
  font-size: var(--font-14) !important;
  padding: 14px !important;
  border-radius: var(--rr-radius-sm) !important;
}

/* Cart notices */
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  background: #f8fbff !important;
  border-top: 3px solid var(--rr-blue) !important;
  color: var(--rr-blue) !important;
}
.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-info a {
  color: var(--rr-blue) !important;
}

/* Coupon notice bar */
.woocommerce-cart .woocommerce-info.woocommerce-coupon-form,
.woocommerce .woocommerce-info {
  border-left: 4px solid var(--rr-blue) !important;
  border-top: none !important; 
  display: flex; align-items: center; justify-content: space-between;flex-wrap: wrap; gap: 10px;
}


/* =====================================================
   SECTION 6 — CHECKOUT PAGE
   Matches screenshot 1 — clean sections with left red
   border on headings, light blue-gray order table header
   ===================================================== */

/* Section headings with left red bar */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading, #pickup_location_field h3, .woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  color: var(--rr-heading) !important;
  font-size:var(--font-20) !important; 
  padding: 0 0 0 14px !important;
  margin-bottom: 24px !important;
  border-bottom: none !important;
  border-left: 4px solid var(--rr-red) !important;
  line-height: 1.3 !important;
}
.woocommerce #content table.cart td.actions .coupon, .woocommerce table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon, .woocommerce-page table.cart td.actions .coupon { display: flex; justify-content: flex-start; gap: 10px; }
:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered{font-size: var(--font-14);}
:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__placeholder{font-size: var(--font-14) !important; color: var(--rr-label) !important;}
/* Checkout layout card wrappers */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  padding: 28px !important;
  box-shadow:  none !important;
  box-sizing: border-box !important;
}

/* Payment box */
.woocommerce-checkout #payment {
  background: var(--rr-white) !important;
  border: 1px solid var(--rr-border) !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--rr-border) !important;
  padding: 16px 20px !important;
  background: #fafbfc !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  font-size: var(--font-14) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--rr-dark) !important;
}
.woocommerce-checkout #payment .payment_box {
  background: var(--rr-white) !important;
  padding: 16px 20px !important;
  font-size: var(--font-14) !important;
  color: #666 !important;
  border: 1px solid var(--rr-border) !important;
}
.woocommerce-checkout #payment  .payment_box::before{display: none !important;}
.woocommerce-checkout #payment .place-order {
  padding: 20px !important;
}

/* Order review table — matching screenshot 1 */
.woocommerce #order_review .shop_table {
  border: 1px solid var(--rr-border) !important; 
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
/* .woocommerce #order_review .shop_table thead th {
  background: var(--rr-table-head-bg) !important;
  color: var(--rr-table-head-color) !important;
  padding: 12px 16px !important;
  font-size: var(--font-12) !important;
  letter-spacing: 0.6px !important;
  border-bottom: 1px solid var(--rr-border) !important;
} */
.woocommerce #order_review .shop_table tbody td,
.woocommerce #order_review .shop_table tfoot td,
.woocommerce #order_review .shop_table tfoot th {
  padding: 13px 16px !important;
  border-bottom: 1px solid var(--rr-border-light) !important;
  vertical-align: middle !important;
  font-weight: 500;
}
/* Total row highlight */
.woocommerce #order_review .shop_table tfoot tr:last-child {
  background: var(--rr-table-head-bg) !important;
}
.woocommerce #order_review .shop_table tfoot tr:last-child td,
.woocommerce #order_review .shop_table tfoot tr:last-child th {
  color: var(--rr-heading) !important;
  
  font-size: var(--font-15) !important;
  border-bottom: none !important;
}

/* Ship to different address toggle */
.woocommerce-checkout #ship-to-different-address label {
  font-size: var(--font-14) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--rr-dark) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}

 

/* =====================================================
   SECTION 7 — GLOBAL NOTICES & ALERTS
   ===================================================== */

.woocommerce-message {
  border-top: none !important;
  border-left: 4px solid var(--green) !important;
  background: #f1faf2 !important;
  color:var(--green) !important; 
  padding: 20px 20px 20px 60px;
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
}
.woocommerce-message::after {display: none;}
.woocommerce-error, .woocommerce-info, .woocommerce-message{  padding: 20px 20px 20px 60px; font-size: var(--font-14);}
.woocommerce-error, .woocommerce-error ul li a{
  border-top: none !important;
  border-left: 4px solid var(--rr-red) !important;
  background: #fff5f5 !important;
  color: #b71c1c !important; 
  padding: 14px 60px !important;
}
 .woocommerce-error li a{color: var(--rr-red); text-decoration: none; border-bottom: 1px solid var(--rr-red);}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before{left: 20px !important; top: 50%; transform: translateY(-50%);  }
.woocommerce-info {
  border-top: none !important;
  border-left: 4px solid var(--rr-red) !important;
  background: #f0f5ff !important;
  color: var(--rr-dark) !important; 
}
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  background: var(--rr-red) !important;
  color: #fff !important;
  padding: 8px 18px !important;
  font-size: var(--font-14) !important;
  border-radius: 6px !important;
}
.woocommerce-message a { color:var(--black); text-decoration: none; border-bottom: 1px solid var(--black); }


/* =====================================================
   SECTION 8 — LINKS & PAGINATION
   ===================================================== */

 

/* .woocommerce nav.woocommerce-pagination ul {
  border: 1px solid var(--rr-border) !important; 
  overflow: hidden !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-right: 1px solid var(--rr-border) !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  color: var(--rr-dark) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--rr-red) !important;
  color: #ffffff !important;
} */

 
/*  */
.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last { width: 100%; overflow: visible; } 
.get_quote_heading .title_content p{font-size: var();}
.main-login-register{display: flex; justify-content: space-between; flex-wrap: wrap;}
.main-login-register .woocommerce-account-col { width:calc(50% - 20px); }
.woocommerce table.shop_table, .select2-container--default .select2-selection--single{border-radius: 0; border: none;}
 .woocommerce-cart .cart-collaterals .cart_totals table{border: 0 !important;}
.woocommerce ul.order_details li strong, .woocommerce .woocommerce-customer-details :last-child, .woocommerce .woocommerce-order-details :last-child, .woocommerce .woocommerce-order-downloads :last-child, b, strong{font-weight: 500 !important; }
h2.woocommerce-column__title,  .woocommerce-order-details h2, .woocommerce-MyAccount-content h2{font-size: var(--font-26) !important; font-family: var(--content-font); font-weight: 500; margin-top: 0; margin-bottom: 0px; color: var(--black) ; letter-spacing: -0.04em; line-height: 135%;margin: 30px 0 20px 0 ;  border-left: 4px solid var(--rr-red) !important; padding-left: 10px;}
  
.woocommerce-thankyou-order-received{padding: 10px 20px; color:var(--green); border: 1px solid  var(--green); margin-bottom: 20px; }
/* .woocommerce .woocommerce-customer-details .woocommerce-column__title{margin-bottom: 20px;  padding-left: 20px; border-left: 4px solid var(--rr-red);} */
.woocommerce .woocommerce-customer-details address p { font-size:var(--font-14); margin-bottom: 10px; }
.woocommerce ul.order_details { margin: 20px -20px; list-style: none; padding: 0;     display: flex; justify-content: space-between; align-items: flex-start;}
.woocommerce ul.order_details li { padding: 20px; width: -webkit-fill-available; }
.woocommerce ul.order_details li strong { margin-top: 10px; font-size: var(--font-16); }
.woocommerce ul.order_details::after, .woocommerce ul.order_details::before{display: none;}
.woocommerce-billing-fields  {margin-bottom: 20px;}
#account_display_name_description em { font-size:var(--font-12); }
.woocommerce-account .woocommerce-Address-title:after, .woocommerce-account .woocommerce-Address-title:before { display: none !important; } 
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses:before, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses:after { display: none; }
h3#ship-to-different-address { padding: 0 !important; border: none !important; }
/* #pickup_location_field h3 {     display: block; font-weight: 400 !important; margin-bottom: 20px !important; text-transform: none !important; letter-spacing: 0 !important;  color: var(--rr-heading) !important; font-size: var(--font-16) !important; padding: 0 0 0 14px !important; border-bottom: none !important; border-left: 4px solid var(--rr-red) !important; line-height: 1.3 !important;} */
select#pickup_location { background-color: #ffffff !important; color: var(--rr-dark) !important; border: 1.5px solid var(--rr-input-border) !important; padding: 11px 14px !important; font-size: var(--font-14) !important; width: 100% !important; box-sizing: border-box !important; box-shadow: none !important; outline: none !important; -webkit-appearance: none !important; appearance: none !important; transition: border-color 0.18s, box-shadow 0.18s !important; margin-bottom: 0px !important; border-radius: 0 !important; }
.woocommerce-shipping-totals p{font-size: var(--font-14);  margin-bottom: 0;}
.woocommerce-input-wrapper{position: relative;}
.woocommerce ul#shipping_method .amount { font-weight: 500; }

/* .woocommerce form .password-input, .woocommerce-page form .password-input {  margin-bottom: 20px; }  */
.woocommerce form .password-input label.error , .woocommerce-page form .password-input label.error { position: absolute; bottom: -30px; left: 0; }
.woocommerce .woocommerce-customer-details address { border-radius: 0px; padding: 15px 20px; border-bottom-width: 1px; border-right-width: 1px;} 
table.woocommerce-table.order_details{border: 1px solid var(--rr-border);}
 .shop_table thead th, .shop_table thead {background-color: var(--rr-orange); font-size: var(--font-16);  }
  .shop_table thead tr th,  .shop_table thead tr th   span  {color: var(--rr-white) !important; font-size: var(--font-16) !important ; }
  .woocommerce table.shop_table th{font-weight: 500 !important; font-size: var(--font-16) !important;} 
.coupon::before,.coupon::after{display: none !important;}
.woocommerce .woocommerce-customer-details{margin-bottom: 0 !important;}
.woocommerce-account .woocommerce-MyAccount-content mark { color: var(--black); font-weight: 500; } 
.woocommerce ul#shipping_method li{ margin: 0 ;}
.selected-pickup-location + p {  border-bottom: 1px solid var(--rr-dark); display: inline-block; margin: 0 0 0 10px;}

.woocommerce-EditAccountForm p:has(.button){margin-bottom: 0;}

.product-name a:hover{ color: var(--black) !important;}
.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td { background-color: transparent !important; border-top: none !important; }


/*  */

/* 001 */ 
@media screen and (max-width: 1730px) {
    :root {
        --gap: 20px;
        --row-gap: 50px;
        --section-space: 120px;
        --font-12: 12px;
        --font-14: 14px;
        --font-15: 15px;
        --font-16: 16px;
        --font-18: 18px;
        --font-20: 20px;
        --font-22: 22px;
        --font-24: 24px;
        --font-26: 26px;
        --font-30: 30px;
        --font-36: 36px;
        --font-38: 38px;
        --font-44: 44px;
        --font-48: 48px;
        --font-54: 54px;
    }}

    @media screen and (max-width: 1439px) {
    :root {
        --gap: 20px;
        --row-gap: 40px;
        --section-space: 90px;
        --font-14: 14px;
        --font-15: 15px;
        --font-16: 15px;
        --font-18: 17px;
        --font-20: 19px;
        --font-22: 22px;
        --font-24: 24px;
        --font-26: 26px;
        --font-30: 30px;
        --font-36: 36px;
        --font-38: 36px;
        --font-44: 44px;
        --font-48: 44px;
        --font-54: 50px;
    }}

    @media screen and (max-width: 1299px) {
    :root {
        --gap: 20px;
        --row-gap: 30px;
        --section-space: 80px;
        --font-14: 13px;
        --font-15: 14px;
        --font-20: 19px;
        --font-22: 20px;
        --font-24: 22px;
        --font-26: 24px;
        --font-30: 28px;
        --font-36: 36px;
        --font-38: 36px;
        --font-44: 40px;
        --font-48: 42px;
        --font-54: 48px;
    }
    .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 { width: calc(100% - 0px); }
    .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { width: calc(100% - 0px); }
    .woocommerce-additional-fields { margin-bottom: 20px; }
    .woocommerce .woocommerce-customer-details .woocommerce-column__title { margin-bottom: 15px !important; padding-left: 15px !important; }
    .woocommerce-column--shipping-address{margin-top: 20px;}
    .woocommerce ul.order_details{flex-wrap: wrap;}
    .woocommerce ul.order_details li { padding: 10px 20px; width: calc(50% - 30px); }
    .woocommerce ul.order_details li:nth-child(even){border: none;}

    
  }

    @media (max-width: 1080px) {
    :root {
        --section-space: 70px;
        --font-12: 12px;
        --font-16: 14px;
        --font-18: 17px;
        --font-20: 18px;
        --font-24: 20px;
        --font-36: 32px;
        --font-38: 34px;
        --font-44: 38px;
        --font-48: 40px;
        --font-54: 44px;
    }}

    @media screen and (max-width: 991px) {
    :root {
        --section-space: 60px;
        --font-16: 14px;
        --font-18: 17px;
        --font-20: 17px;
        --font-24: 20px;
        --font-26: 22px;
        --font-30: 26px;
        --font-36: 30px;
        --font-38: 32px;
        --font-44: 34px;
        --font-48: 34px;
        --font-54: 38px;
    }
    .woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-orders-table) { width: 100%; margin-top: 20px;}
  }

    @media screen and (max-width: 768px) {
    :root {
        --section-space: 50px;
        --font-12: 11px;
        --font-15: 13px;
        --font-16: 14px;
        --font-18: 16px;
        --font-20: 18px;
        --font-22: 18px;
        --font-24: 18px;
        --font-26: 22px;
        --font-30: 24px;
        --font-36: 30px;
        --font-38: 30px;
        --font-44: 30px;
        --font-48: 32px;
        --font-54: 34px;
    }
    .woocommerce ul.order_details li {  width: calc(100% - 30px); }
    .woocommerce ul.order_details li strong { margin-top: 5px; }
    .woocommerce ul.order_details li {border: none;}
    

    .main-login-register { gap: 20px; }
    .main-login-register .woocommerce-account-col { width: 100%; }
    .woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; }
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before { font-weight: 400; }
  .woocommerce #content table.cart td.actions .coupon, .woocommerce table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon, .woocommerce-page table.cart td.actions .coupon { justify-content: flex-start; gap: 10px; flex-wrap: wrap;}
    .woocommerce-account .woocommerce-MyAccount-content { margin-top: 20px; }
    .woocommerce .woocommerce-customer-details address p { margin-bottom: 10px; }
    .woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-orders-table) {   margin-top: 20px;}
    .woocommerce-cart-form__cart-item{position: relative;}
.woocommerce table.cart .product-thumbnail{display: flex !important; justify-content: center; align-items: center;}
 .woocommerce table.cart img { height: 60px; width: 60px; }
.product-thumbnail::before{display: none;}
.product-remove{        position: absolute;
        right: 0;
        top: 20px;}
}

    @media (max-width: 575px) {
    :root {
        --section-space: 40px;
        --font-14: 12px;
        --font-15: 12px;
        --font-16: 14px;
        --font-18: 14px;
        --font-20: 16px;
        --font-22: 17px;
        --font-24: 17px;
        --font-26: 20px;
        --font-30: 22px;
        --font-36: 22px;
        --font-38: 24px;
        --font-44: 26px;
        --font-48: 28px;
        --font-54: 30px;
    }
    .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text + .button { width: 100%; }
  }

/* =====================================================
   SECTION 9 — MOBILE RESPONSIVE
   ===================================================== */
/* Desktop: side by side */
@media (min-width: 860px) {
  body.woocommerce-account:not(.logged-in) .woocommerce {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 28px !important;
    flex-wrap: wrap !important; 
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-error,
  body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-message,
  body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-info {
    flex: 0 0 100% !important;
    max-width: 948px !important;
  }

  body.woocommerce-page .woocommerce-form-login,
  body.woocommerce-page .woocommerce-form-register { 
    flex: 0 0 440px !important; 
  }
}


/* Responsive: stack on small screens */
@media (max-width: 640px) {
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }
} 

@media (max-width: 600px) {
  .woocommerce-form-login,
  .woocommerce-form-register,
  .woocommerce-ResetPassword {
    padding: 24px 20px 20px !important;
  }
  .woocommerce-MyAccount-content {
    padding: 0px !important;
  }
  .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account .edit-account, .woocommerce-account .woocommerce-address-fields { padding: 20px !important; }
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  } 
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details {
    padding: 18px !important;
  }
  .woocommerce-cart .cart_totals h2 {
    padding: 18px 18px !important;
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    padding: 12px 18px !important;
  }
  .woocommerce-cart .wc-proceed-to-checkout {
    padding: 14px 18px !important;
  }
  .woocommerce-thankyou-order-received { padding: 6px 10px; margin-bottom: 10px; }
  .woocommerce-error { padding: 10px 20px 10px 50px  !important; }
  body.woocommerce-page .woocommerce-form-login, body.woocommerce-page .woocommerce-form-register, body.woocommerce-page .woocommerce-ResetPassword { padding: 25px !important; }
  body.woocommerce-page .woocommerce-form-login h2, body.woocommerce-page .woocommerce-form-register h2, body.woocommerce-page .woocommerce-ResetPassword::before { margin-bottom: 15px !important; padding-bottom: 15px !important; }
  .woocommerce-error, .woocommerce-info, .woocommerce-message{  padding: 20px 20px 20px 50px;  }
  .woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-shipping-fields h3, .woocommerce-checkout #order_review_heading { margin-bottom: 15px !important; }
}

