/* =============================================================
   JB Toolkit — WooCommerce Pages Module
   Global styles for customer-facing WooCommerce pages

   DESIGN TOKENS:
   Card border-radius: 10px
   Input/button border-radius: 8px
   Card box-shadow: rgba(76,29,161,.2) 0 12px 18px -6px  (matches shop sidebar)
   Primary: #4C1DA1   Hover: #3a1578
   Font heading: Bayon   Font body: Open Sans
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   GLOBAL — page shell, background, container, title
   ───────────────────────────────────────────────────────────── */

/* Full-page min-height via flex chain */
body.woocommerce-page #page-container {
  min-height: 100vh !important;
}
body.woocommerce-page #page-container > #et-boc {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}
body.woocommerce-page #et-main-area {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.woocommerce-page #main-content {
  flex: 1 !important;
}

/* Page background — gradient */
body.woocommerce-account #main-content,
body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content {
  background: linear-gradient(180deg, #efefef 0%, #ffffff 100%) !important;
}

/* Hide empty DIVI sidebar */
body.woocommerce-page #sidebar {
  display: none !important;
}
body.woocommerce-page.et_right_sidebar #left-area,
body.woocommerce-page.et_left_sidebar #left-area {
  width: 100% !important;
  padding-bottom: 0 !important;
  float: none !important;
}

/* Container — 95% / 1600px */
body.woocommerce-page #main-content .container {
  width: 95% !important;
  max-width: 1600px !important;
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}

/* Page title — Bayon ALL CAPS (only Account / Cart / Checkout — NOT product/category pages) */
body.woocommerce-account .entry-title,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title {
  font-family: 'Bayon', sans-serif !important;
  font-size: 76px !important;
  font-weight: 400 !important;
  color: #000 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  margin-bottom: 30px !important;
}

/* Reset woo content wrappers */
body.woocommerce-page .entry-content,
body.woocommerce-page .entry-content > .woocommerce {
  margin: 0 !important;
  padding: 0 !important;
}
/* Kill clearfix pseudo-elements — they act as invisible flex children
   and create outer gaps when gap is applied to the flex container */
body.woocommerce-account .entry-content > .woocommerce::before,
body.woocommerce-account .entry-content > .woocommerce::after {
  display: none !important;
  content: none !important;
}


/* ─────────────────────────────────────────────────────────────
   GLOBAL — DIVI button ::after chevron fix
   ETmodules glyph on all a.button / .button / submit buttons
   ───────────────────────────────────────────────────────────── */
body.woocommerce-page .woocommerce a.button::after,
body.woocommerce-page .woocommerce .button::after,
body.woocommerce-page .woocommerce button[type="submit"]::after,
body.woocommerce-page .woocommerce input[type="submit"]::after,
body.woocommerce-page .woocommerce .woocommerce-Button::after,
body.woocommerce-page .woocommerce a.wc-forward::after {
  top: 50% !important;
  transform: translateY(calc(-50% - 2px)) !important;
}


/* =============================================================
   MY ACCOUNT — Login / Register
   ============================================================= */

body.woocommerce-account .woocommerce #customer_login.u-columns.col2-set {
  display: flex !important;
  gap: 48px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-account .woocommerce #customer_login .u-column1,
body.woocommerce-account .woocommerce #customer_login .u-column2 {
  flex: 1 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.woocommerce-account .woocommerce #customer_login .u-column1 {
  margin: 0 !important;
}
body.woocommerce-account .woocommerce #customer_login .u-column2 {
  margin: 0 !important;
}

/* Section headings */
body.woocommerce-account #customer_login h2 {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  border-bottom: none !important;
}

/* Form cards */
body.woocommerce-account #customer_login form.woocommerce-form {
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 32px !important;
  margin: 0 !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.woocommerce-account #customer_login .woocommerce-form-register .woocommerce-form-row:last-of-type {
  margin-top: auto !important;
  padding-top: 10px !important;
}

/* Labels */
body.woocommerce-account #customer_login form label {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.woocommerce-account #customer_login form label .required {
  color: #4C1DA1 !important;
}

/* Inputs */
body.woocommerce-account #customer_login form .input-text,
body.woocommerce-account #customer_login form input[type="text"],
body.woocommerce-account #customer_login form input[type="email"],
body.woocommerce-account #customer_login form input[type="password"] {
  width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
body.woocommerce-account #customer_login form .input-text:focus,
body.woocommerce-account #customer_login form input[type="text"]:focus,
body.woocommerce-account #customer_login form input[type="email"]:focus,
body.woocommerce-account #customer_login form input[type="password"]:focus {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 3px rgba(76, 29, 161, 0.1) !important;
}

/* Password visibility */
body.woocommerce-account #customer_login .password-input {
  display: flex !important;
  position: relative !important;
}
body.woocommerce-account #customer_login .show-password-input {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: #999 !important;
  padding: 4px !important;
  transition: color 0.2s ease !important;
}
body.woocommerce-account #customer_login .show-password-input:hover {
  color: #4C1DA1 !important;
}

/* Buttons */
body.woocommerce-account #customer_login form .woocommerce-button,
body.woocommerce-account #customer_login form button[type="submit"],
body.woocommerce-account #customer_login form input[type="submit"] {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  background: #4C1DA1 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-account #customer_login form .woocommerce-button:hover,
body.woocommerce-account #customer_login form button[type="submit"]:hover,
body.woocommerce-account #customer_login form input[type="submit"]:hover {
  background: #3a1578 !important;
  box-shadow: 0 4px 12px rgba(76, 29, 161, 0.3) !important;
}

/* Remember me */
body.woocommerce-account #customer_login .woocommerce-form__label-for-checkbox {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  color: #555 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
}

/* Lost password link */
body.woocommerce-account #customer_login .woocommerce-LostPassword a {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  color: #4C1DA1 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
body.woocommerce-account #customer_login .woocommerce-LostPassword a:hover {
  color: #3a1578 !important;
  text-decoration: underline !important;
}

/* Privacy text */
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.6 !important;
}
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text a {
  color: #4C1DA1 !important;
  text-decoration: none !important;
}
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text a:hover {
  text-decoration: underline !important;
}

/* Form row spacing */
body.woocommerce-account #customer_login form .form-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
}
body.woocommerce-account #customer_login form .form-row:last-child {
  margin-bottom: 0 !important;
}


/* =============================================================
   MY ACCOUNT — Dashboard Layout (nav + content)
   ============================================================= */

/* Two-column flex — nav + content (logged-in only — login page has no sidebar nav,
   and the empty .woocommerce-notices-wrapper becomes a flex child creating a left gap) */
body.woocommerce-account.logged-in .entry-content > .woocommerce {
  display: flex !important;
  gap: 48px !important;
}

/* ── NAV SIDEBAR — exact match to shop sidebar ── */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 324px !important;
  min-width: 324px !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 20px !important;
  font-family: 'Bayon', sans-serif !important;
  letter-spacing: 1px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li + li {
  margin-top: 5px !important;
  padding-top: 5px !important;
  border-top: 1px solid rgba(76, 29, 161, 0.12) !important;
}
/* Links — Bayon 24px purple, NO chevron */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  font-family: 'Bayon', sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-decoration: none !important;
  padding: 8px 6px !important;
  border-radius: 6px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: background 0.18s ease, color 0.18s ease !important;
}
/* Kill ALL ::after on nav links — DIVI ETmodules + any CSS chevrons */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::after {
  display: none !important;
  content: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: rgba(76, 29, 161, 0.06) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(76, 29, 161, 0.06) !important;
  color: #4C1DA1 !important;
}
/* Log out — gray, red on hover */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #999 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #c0392b !important;
  background: rgba(192, 57, 43, 0.04) !important;
}

/* ── CONTENT AREA ── */
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── DASHBOARD PAGE — styled card with welcome text ── */
body.woocommerce-account .woocommerce-MyAccount-content > p {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #555 !important;
  line-height: 1.7 !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 28px 32px !important;
  margin: 0 0 16px 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  padding-top: 28px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:last-of-type {
  margin-bottom: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p a {
  color: #4C1DA1 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p a:hover {
  text-decoration: underline !important;
}
/* Bold user name in dashboard greeting */
body.woocommerce-account .woocommerce-MyAccount-content > p strong {
  color: #4C1DA1 !important;
  font-weight: 700 !important;
}
/* Un-card description text on non-dashboard pages (has structured sibling after it) */
body.woocommerce-account .woocommerce-MyAccount-content > p:has(~ .woocommerce-Addresses),
body.woocommerce-account .woocommerce-MyAccount-content > p:has(~ form),
body.woocommerce-account .woocommerce-MyAccount-content > p:has(~ table),
body.woocommerce-account .woocommerce-MyAccount-content > p:has(~ .woocommerce-info) {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 0 16px 0 !important;
}

/* ── ACCOUNT FORMS — Edit Account, Edit Address ── */
body.woocommerce-account .woocommerce-MyAccount-content form {
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 32px !important;
  margin: 0 !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
}

/* Labels */
body.woocommerce-account .woocommerce-MyAccount-content form label {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form label .required {
  color: #4C1DA1 !important;
}

/* Inputs */
body.woocommerce-account .woocommerce-MyAccount-content form .input-text,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content form select {
  width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form .input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="text"]:focus,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="email"]:focus,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="password"]:focus,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"]:focus,
body.woocommerce-account .woocommerce-MyAccount-content form select:focus {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 3px rgba(76, 29, 161, 0.1) !important;
}

/* Password visibility */
body.woocommerce-account .woocommerce-MyAccount-content .password-input {
  display: flex !important;
  position: relative !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: #999 !important;
  padding: 4px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input:hover {
  color: #4C1DA1 !important;
}

/* Form row spacing */
body.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row:last-child {
  margin-bottom: 0 !important;
}
/* First/Last name side by side */
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first {
  float: left !important;
  width: calc(50% - 10px) !important;
  margin-right: 20px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
  float: left !important;
  width: calc(50% - 10px) !important;
  margin-right: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form .clear {
  clear: both !important;
}

/* Display name description */
body.woocommerce-account .woocommerce-MyAccount-content form em {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  color: #888 !important;
  font-style: italic !important;
}

/* Password change fieldset */
body.woocommerce-account .woocommerce-MyAccount-content form fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 10px 0 0 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  border: none !important;
  width: 100% !important;
}

/* ── ALL ACCOUNT BUTTONS — unified purple style ── */
body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content a.button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  background: #4C1DA1 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
  margin-top: 10px !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.4 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content form input[type="submit"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover {
  background: #3a1578 !important;
  box-shadow: 0 4px 12px rgba(76, 29, 161, 0.3) !important;
  color: #fff !important;
}

/* ── INFO BOXES — Orders/Downloads/PaymentMethods ── */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #fff !important;
  background: #4C1DA1 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::before {
  display: none !important;
}
/* Button inside info box — identical to all other buttons, dark shadow for contrast on purple bg */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.wc-forward,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.wc-forward {
  background: #4C1DA1 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 14px 36px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
  margin: 0 0 0 auto !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.wc-forward:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.wc-forward:hover {
  background: #3a1578 !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5) !important;
}

/* ── ADDRESSES PAGE ── */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex !important;
  gap: 40px !important;
  margin-top: 10px !important;
  padding: 0 !important;
}
/* Kill clearfix pseudo-elements on col2-set — they become invisible flex children */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
  display: none !important;
  content: none !important;
}
/* Override WooCommerce .col2-set .col-1/.col-2 { width: 48% } default */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set .col-2 {
  width: auto !important;
  float: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
  flex: 1 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 24px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses h2 {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .edit {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #4C1DA1 !important;
  text-decoration: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .edit:hover {
  text-decoration: underline !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  color: #555 !important;
  font-style: normal !important;
  line-height: 1.6 !important;
}


/* =============================================================
   MY ACCOUNT — Lost Password
   ============================================================= */
body.woocommerce-account form.woocommerce-ResetPassword {
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 32px !important;
  margin: 0 auto !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  max-width: 600px !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .form-row-first {
  float: none !important;
  width: 100% !important;
}
body.woocommerce-account form.woocommerce-ResetPassword > p:first-child {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
}
body.woocommerce-account form.woocommerce-ResetPassword label {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.woocommerce-account form.woocommerce-ResetPassword label .required {
  color: #4C1DA1 !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .input-text,
body.woocommerce-account form.woocommerce-ResetPassword input[type="text"] {
  width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .input-text:focus,
body.woocommerce-account form.woocommerce-ResetPassword input[type="text"]:focus {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 3px rgba(76, 29, 161, 0.1) !important;
}
body.woocommerce-account form.woocommerce-ResetPassword button[type="submit"] {
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  background: #4C1DA1 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:hover {
  background: #3a1578 !important;
  box-shadow: 0 4px 12px rgba(76, 29, 161, 0.3) !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .form-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .form-row:last-child {
  margin-bottom: 0 !important;
}
body.woocommerce-account form.woocommerce-ResetPassword .clear {
  display: none !important;
}


/* =============================================================
   SHARED — Cart + Checkout — WooCommerce Blocks
   Kill ALL WooCommerce default borders, force consistent typography
   ============================================================= */

/* ── GLOBAL FONT RESET — force Open Sans on every WC Block element ── */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-sidebar-layout *,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout * {
  font-family: 'Open Sans', Arial, sans-serif !important;
}

/* ── KILL ALL WooCommerce default borders ──
   WC Blocks add 0.666667px solid rgba(18,18,18,0.11) on many elements.
   We nuke them all, then add our own purple system borders. */

/* Cart items table — full border around + row borders */
body.woocommerce-cart .wc-block-cart-items {
  border: none !important;
}
body.woocommerce-cart .wc-block-cart-item__image,
body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__total {
  border: none !important;
  border-top: none !important;
}
/* Cart sidebar internal blocks */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  border: none !important;
  border-bottom: none !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block {
  border: none !important;
  border-top: none !important;
}
/* Checkout sidebar — the "extra frame" border + kill spacing that makes sidebar float */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  border: none !important;
  border-top: none !important;
}
/* Checkout contact/shipping/payment step borders — handled below with purple */
/* Generic WC block panel borders */
body.woocommerce-cart .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-panel {
  border-bottom: none !important;
}
/* Checkout order summary container border */
body.woocommerce-checkout .wc-block-components-order-summary {
  border: none !important;
}
/* Cart cross-sells block border */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block {
  border: none !important;
  border-top: none !important;
}


/* =============================================================
   BASKET / CART PAGE — WooCommerce Blocks
   ============================================================= */

/* Sidebar layout — prevent wrapping, add 48px gap (matches Account layout) */
body.woocommerce-cart .wc-block-components-sidebar-layout {
  flex-wrap: nowrap !important;
  gap: 48px !important;
}

/* ── CART MAIN AREA — white card, flex:1 to shrink for gap ── */
body.woocommerce-cart .wc-block-components-main {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 28px !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ── CART ITEMS TABLE ── */
/* Header row — 1px purple border, explicit padding for alignment with sidebar title */
body.woocommerce-cart .wc-block-cart-items__header {
  font-family: 'Bayon', sans-serif !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #333 !important;
  border-bottom: 1px solid rgba(76, 29, 161, 0.15) !important;
}
body.woocommerce-cart .wc-block-cart-items__header th {
  padding: 10px 10px 12px 0 !important;
  font-family: 'Bayon', sans-serif !important;
}
body.woocommerce-cart .wc-block-cart-items__header span {
  font-family: 'Bayon', sans-serif !important;
}

/* Product names */
body.woocommerce-cart .wc-block-components-product-name {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #4C1DA1 !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-components-product-name:hover {
  color: #3a1578 !important;
  text-decoration: underline !important;
}

/* Product price */
body.woocommerce-cart .wc-block-components-product-price {
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* Product description / meta */
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata {
  font-size: 13px !important;
  color: #666 !important;
}
body.woocommerce-cart .wc-block-components-product-details__name {
  font-weight: 600 !important;
  color: #333 !important;
}

/* Quantity selector */
body.woocommerce-cart .wc-block-components-quantity-selector {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input {
  font-size: 15px !important;
  color: #333 !important;
  border: none !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector button {
  background: transparent !important;
  color: #4C1DA1 !important;
  border: none !important;
  font-size: 16px !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector button:hover {
  background: rgba(76, 29, 161, 0.06) !important;
}

/* Remove item link */
body.woocommerce-cart .wc-block-cart-item__remove-link {
  font-size: 13px !important;
  color: #c0392b !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  text-decoration: underline !important;
}

/* Item row separator — our purple system replaces WC default */
body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid rgba(76, 29, 161, 0.08) !important;
}

/* ── CART TOTALS SIDEBAR — fixed 380px width ── */
body.woocommerce-cart .wc-block-components-sidebar {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 28px !important;
  align-self: flex-start !important;
  flex: 0 0 380px !important;
  width: 380px !important;
}
body.woocommerce-cart .wc-block-cart__totals-title {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid rgba(76, 29, 161, 0.15) !important;
  padding: 10px 0 12px 0 !important;
  margin-bottom: 12px !important;
}

/* Totals separator — purple tint */
body.woocommerce-cart .wc-block-components-totals-wrapper {
  border-color: rgba(76, 29, 161, 0.12) !important;
}

/* Coupon input field — match all other inputs */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  color: #333 !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input:focus {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 3px rgba(76, 29, 161, 0.1) !important;
}
/* Coupon float label */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input label {
  color: #888 !important;
}

/* Coupon apply button */
body.woocommerce-cart .wc-block-components-totals-coupon__button {
  background: #4C1DA1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
  background: #3a1578 !important;
}

/* Totals text */
body.woocommerce-cart .wc-block-components-totals-item__label {
  color: #333 !important;
  font-size: 15px !important;
}
body.woocommerce-cart .wc-block-components-totals-item__value {
  font-weight: 700 !important;
  color: #333 !important;
  font-size: 15px !important;
}
/* Footer total row — Bayon uppercase label, purple value */
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'Bayon', sans-serif !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  color: #333 !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #4C1DA1 !important;
}

/* Checkout button */
body.woocommerce-cart .wc-block-cart__submit-button {
  background: #4C1DA1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 16px 24px !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover {
  background: #3a1578 !important;
  box-shadow: 0 4px 12px rgba(76, 29, 161, 0.3) !important;
}

/* "OR" text between payment options */
body.woocommerce-cart .wc-block-components-express-payment-continue-rule {
  color: #999 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .wc-block-components-express-payment-continue-rule::before,
body.woocommerce-cart .wc-block-components-express-payment-continue-rule::after {
  border-color: rgba(76, 29, 161, 0.12) !important;
}


/* =============================================================
   CHECKOUT PAGE — WooCommerce Blocks
   ============================================================= */

/* Sidebar layout — prevent wrapping, add 48px gap */
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  flex-wrap: nowrap !important;
  gap: 48px !important;
}

/* ── CHECKOUT MAIN AREA — white card, flex:1 to shrink for gap ── */
body.woocommerce-checkout .wc-block-components-main {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 28px !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ── FORM AREA ── */

/* Section headings (Contact, Billing, Payment) — Bayon 36px purple
   Uses compound selector to beat the global * font reset with higher specificity */
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-checkout-step__heading {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  line-height: 1.2 !important;
}
/* Step separators — purple tint */
body.woocommerce-checkout .wc-block-components-checkout-step {
  border-color: rgba(76, 29, 161, 0.12) !important;
}
/* Step description text */
body.woocommerce-checkout .wc-block-components-checkout-step__description {
  font-size: 14px !important;
  color: #666 !important;
}

/* Input fields */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control input,
body.woocommerce-checkout .wc-block-components-country-input select {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  color: #333 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 3px rgba(76, 29, 161, 0.1) !important;
}

/* Float labels */
body.woocommerce-checkout .wc-block-components-text-input label {
  color: #888 !important;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label {
  color: #4C1DA1 !important;
}

/* Payment options */
body.woocommerce-checkout .wc-block-components-radio-control__label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
}
/* Radio button accent */
body.woocommerce-checkout .wc-block-components-radio-control__input:checked {
  border-color: #4C1DA1 !important;
  background-color: #4C1DA1 !important;
}

/* Payment option selected highlight */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: #4C1DA1 !important;
  box-shadow: 0 0 0 1px #4C1DA1 !important;
}

/* Terms text */
body.woocommerce-checkout .wc-block-checkout__terms {
  font-size: 13px !important;
  color: #666 !important;
}
body.woocommerce-checkout .wc-block-checkout__terms a {
  color: #4C1DA1 !important;
}
body.woocommerce-checkout .wc-block-checkout__terms a:hover {
  text-decoration: underline !important;
}

/* Return to basket link */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  font-size: 14px !important;
  color: #4C1DA1 !important;
  text-decoration: none !important;
}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
  color: #3a1578 !important;
  text-decoration: underline !important;
}

/* "OR" text between payment options */
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule {
  color: #999 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
}
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule::before,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule::after {
  border-color: rgba(76, 29, 161, 0.12) !important;
}

/* Shipping options */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
  font-size: 15px !important;
  color: #333 !important;
}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__description {
  font-size: 13px !important;
  color: #666 !important;
}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label {
  font-weight: 700 !important;
  color: #333 !important;
}

/* Place Order button */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: #4C1DA1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 16px 30px !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: #3a1578 !important;
  box-shadow: 0 4px 12px rgba(76, 29, 161, 0.3) !important;
}

/* ── ORDER SUMMARY SIDEBAR — fixed 380px width, matches Basket Totals ── */
body.woocommerce-checkout .wc-block-components-sidebar {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: rgba(76, 29, 161, 0.2) 0 12px 18px -6px !important;
  padding: 28px !important;
  align-self: flex-start !important;
  flex: 0 0 380px !important;
  width: 380px !important;
}
/* Kill empty notices divs that can add space at top of sidebar */
body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices,
body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices__snackbar {
  display: none !important;
}

/* Order summary title — kill WC default margin-top, align with left column heading */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  border-bottom: 1px solid rgba(76, 29, 161, 0.15) !important;
  padding: 0 0 12px 0 !important;
  margin: 0 0 12px 0 !important;
}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  font-family: 'Bayon', sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #4C1DA1 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
}
/* Title price (total next to title) */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
  font-weight: 700 !important;
  color: #4C1DA1 !important;
}

/* Product item rows */
body.woocommerce-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid rgba(76, 29, 161, 0.08) !important;
  padding: 12px 0 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}

/* Product names in summary */
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #4C1DA1 !important;
  text-decoration: none !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name:hover {
  color: #3a1578 !important;
  text-decoration: underline !important;
}

/* Product quantity badge — identical to topnav cart icon badge (.jb-topnav-cart-badge)
   Badge HTML: <div><span aria-hidden="true">1</span><span class="screen-reader-text">1 item</span></div>
   We must hide the screen-reader-text span and style the visible span */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: #91ff00 !important;
  color: #000 !important;
  font-family: 'Bayon', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  min-width: 19px !important;
  height: 19px !important;
  width: 19px !important;
  border-radius: 50% !important;
  border: 3px solid #000 !important;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 2px 0 0 0 !important;
  overflow: hidden !important;
}
/* Hide the "X item(s)" screen-reader text inside badge */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Visible number span inside badge */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity > span[aria-hidden] {
  font-family: 'Bayon', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #000 !important;
}

/* Product price */
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  font-weight: 700 !important;
  color: #333 !important;
}

/* Product description / meta */
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
  font-size: 13px !important;
  color: #666 !important;
}

/* Totals in checkout */
body.woocommerce-checkout .wc-block-components-totals-item__label {
  color: #333 !important;
  font-size: 15px !important;
}
body.woocommerce-checkout .wc-block-components-totals-item__value {
  font-weight: 700 !important;
  color: #333 !important;
  font-size: 15px !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'Bayon', sans-serif !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  color: #333 !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #4C1DA1 !important;
}

/* Totals separator — match basket */
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  border-color: rgba(76, 29, 161, 0.12) !important;
}

/* "Add coupons" panel toggle — shared for both basket + checkout */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  font-size: 14px !important;
  color: #4C1DA1 !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  color: #3a1578 !important;
}

/* Coupon in checkout */
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  background: #4C1DA1 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__button:hover {
  background: #3a1578 !important;
}


/* =============================================================
   RESPONSIVE — Tablet (<=980px)
   ============================================================= */
@media (max-width: 980px) {
  body.woocommerce-page #main-content .container {
    width: 88% !important;
  }
  body.woocommerce-account .entry-title,
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    font-size: 52px !important;
  }
  body.woocommerce-account #customer_login h2 {
    font-size: 32px !important;
  }

  /* Dashboard — stack nav above content (logged-in only, matches desktop scope) */
  body.woocommerce-account.logged-in .entry-content > .woocommerce {
    flex-direction: column !important;
    gap: 24px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    padding: 10px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li + li {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-size: 18px !important;
    padding: 8px 10px !important;
  }

  /* Addresses stack */
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* Cart — stack columns, override desktop flex values */
  body.woocommerce-cart .wc-block-components-sidebar-layout {
    flex-direction: column !important;
    gap: 24px !important;
  }
  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-cart .wc-block-components-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 20px !important;
  }

  /* Checkout — stack columns, override desktop flex values */
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    flex-direction: column !important;
    gap: 24px !important;
  }
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 20px !important;
  }

  /* ── ALL card headings — tablet size (32px) ── */
  body.woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
    font-size: 32px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses h2 {
    font-size: 32px !important;
  }
  body.woocommerce-cart .wc-block-cart__totals-title {
    font-size: 32px !important;
  }
  body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-checkout-step__heading {
    font-size: 32px !important;
  }
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    font-size: 32px !important;
  }
}


/* =============================================================
   RESPONSIVE — Mobile (<=768px)
   ============================================================= */
@media (max-width: 768px) {
  body.woocommerce-account .entry-title,
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    font-size: 48px !important;
  }
  body.woocommerce-account #customer_login h2 {
    font-size: 28px !important;
  }
  body.woocommerce-account .woocommerce #customer_login.u-columns.col2-set {
    flex-direction: column !important;
    gap: 30px !important;
  }
  body.woocommerce-account .woocommerce #customer_login .u-column1,
  body.woocommerce-account .woocommerce #customer_login .u-column2 {
    margin: 0 !important;
  }
  body.woocommerce-account #customer_login form.woocommerce-form {
    padding: 24px !important;
  }
  body.woocommerce-account #customer_login form .woocommerce-button,
  body.woocommerce-account #customer_login form button[type="submit"],
  body.woocommerce-account #customer_login form input[type="submit"] {
    width: 100% !important;
    text-align: center !important;
  }

  /* Info box — stack text and button */
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  /* Dashboard paragraph cards — less padding */
  body.woocommerce-account .woocommerce-MyAccount-content > p {
    padding: 20px 24px !important;
  }

  /* ── ALL card headings — mobile size (28px) ── */
  body.woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
    font-size: 28px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses h2 {
    font-size: 28px !important;
  }
  body.woocommerce-cart .wc-block-cart__totals-title {
    font-size: 28px !important;
  }
  body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-checkout-step__heading {
    font-size: 28px !important;
  }
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    font-size: 28px !important;
  }

  /* Account forms — less padding */
  body.woocommerce-account .woocommerce-MyAccount-content form {
    padding: 24px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
  body.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}
