/* ------------------------------------------------------------
   BASE STYLE — SMALLER ICON (30px)
------------------------------------------------------------ */
.uc_ac_box .bbb.ue_accordion_icon {
    background: #F19226 !important;
    color: #fff !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.25) !important;
    position: relative !important;
    margin-left: 8px !important;
}

/* Hide the duplicate icon UE sometimes adds */
.uc_ac_box .bbb.ue_accordion_icon + .bbb.ue_accordion_icon {
    display: none !important;
}

/* Hide built-in font icon */
.uc_ac_box .bbb.ue_accordion_icon i {
    display: none !important;
}


/* ------------------------------------------------------------
   ACTIVE TAB — CORRECT CLASS (uc-item-active)
   Forces icon to turn blue when opened
------------------------------------------------------------ */
.uc_ac_box.uc-item-active .bbb.ue_accordion_icon,
.uc-item-active .bbb.ue_accordion_icon {
    background: #237B94 !important;
    color: #ffffff !important;
}


/* ------------------------------------------------------------
   1) HARD FLOORS → NAIL-ON (4 items)
------------------------------------------------------------ */
.acc-hard-nail .uc_ac_box:nth-child(1) .bbb.ue_accordion_icon::before { content: "1"; }
.acc-hard-nail .uc_ac_box:nth-child(2) .bbb.ue_accordion_icon::before { content: "2"; }
.acc-hard-nail .uc_ac_box:nth-child(3) .bbb.ue_accordion_icon::before { content: "3"; }
.acc-hard-nail .uc_ac_box:nth-child(4) .bbb.ue_accordion_icon::before { content: "4"; }


/* ------------------------------------------------------------
   2) HARD FLOORS → SELF-ADHESIVE (3 items)
------------------------------------------------------------ */
.acc-hard-adhesive .uc_ac_box:nth-child(1) .bbb.ue_accordion_icon::before { content: "1"; }
.acc-hard-adhesive .uc_ac_box:nth-child(2) .bbb.ue_accordion_icon::before { content: "2"; }
.acc-hard-adhesive .uc_ac_box:nth-child(3) .bbb.ue_accordion_icon::before { content: "3"; }


/* ------------------------------------------------------------
   3) SOFT FLOORS → NAIL-ON (3 items)
------------------------------------------------------------ */
.acc-soft-nail .uc_ac_box:nth-child(1) .bbb.ue_accordion_icon::before { content: "1"; }
.acc-soft-nail .uc_ac_box:nth-child(2) .bbb.ue_accordion_icon::before { content: "2"; }
.acc-soft-nail .uc_ac_box:nth-child(3) .bbb.ue_accordion_icon::before { content: "3"; }


/* ------------------------------------------------------------
   4) SOFT FLOORS → SELF-ADHESIVE (2 items)
------------------------------------------------------------ */
.acc-soft-adhesive .uc_ac_box:nth-child(1) .bbb.ue_accordion_icon::before { content: "1"; }
.acc-soft-adhesive .uc_ac_box:nth-child(2) .bbb.ue_accordion_icon::before { content: "2"; }


/* =========================================================================
   SUPERIOR GLIDE — Product Page Reviews
   =========================================================================
   Scope:   #reviews wrapper from WC comments_template()
   Covers:  Review cards + Review form + CusRev plugin extras
   Plugin:  Customer Reviews for WooCommerce (ivole / CusRev)
   Note:    When swapping review plugin later, rules tagged [CusRev] will
            need updating for the new plugin's class names.
   ========================================================================= */

/* -------------------------------------------------------------------------
   CONTAINER RESET
   ------------------------------------------------------------------------- */
#reviews {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #374151;
}

/* Hide default Woo Reviews heading (Elementor heading widget already shows it) */
#reviews .woocommerce-Reviews-title,
#reviews > h2.woocommerce-Reviews-title,
.woocommerce-Reviews #reviews > h2.woocommerce-Reviews-title {
  display: none !important;
}

/* -------------------------------------------------------------------------
   "NO REVIEWS YET" STATE
   ------------------------------------------------------------------------- */
.woocommerce-noreviews,
#reviews .woocommerce-noreviews,
p.woocommerce-noreviews {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-style: italic;
  color: #6B7280;
  margin: 0 0 24px;
  padding: 16px 20px;
  background: #FAF7F1;
  border-left: 3px solid #D1D5DB;
  border-radius: 0 6px 6px 0;
}

#reviews .woocommerce-noreviews + hr,
#reviews #review_form_wrapper {
  border: none;
  border-top: 1px solid #ECECEC;
  margin-top: 32px;
  padding-top: 32px;
}

/* -------------------------------------------------------------------------
   EXISTING REVIEW CARDS
   ------------------------------------------------------------------------- */
#reviews .commentlist {
  list-style: none !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
}

#reviews .commentlist li {
  background: #FFFFFF;
  border: 1px solid #ECECEC;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 0 0 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  list-style: none;
}

#reviews .commentlist li .comment-text {
  margin: 0;
  padding: 0;
}

#reviews .commentlist .avatar {
  border-radius: 50%;
  margin-right: 12px;
}

#reviews .meta {
  margin-bottom: 8px;
}

#reviews .comment-author,
#reviews .meta strong {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: #111827;
  font-size: 15px;
}

#reviews time,
#reviews .meta time {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #6B7280;
  margin-left: 6px;
}

#reviews .verified {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #237B94;
  background: rgba(35, 123, 148, 0.08);
  border-radius: 4px;
  font-style: normal;
}

#reviews .description,
#reviews .commentlist .description {
  font-family: 'Inter', sans-serif;
  color: #374151;
  font-size: 15px;
  line-height: 1.7;
  margin-top: 8px;
}

/* -------------------------------------------------------------------------
   STAR RATINGS (existing reviews + rating selector)
   ------------------------------------------------------------------------- */
#reviews .star-rating,
#reviews .star-rating::before,
#reviews .star-rating span::before,
p.stars a,
p.stars a::before,
p.stars a:hover ~ a::before {
  color: #F19226 !important;
}

p.stars:hover a::before {
  color: #F19226 !important;
}
p.stars a:hover::before,
p.stars a:hover ~ a::before {
  color: #D1D5DB !important;
}

.comment-form-rating label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  display: block;
  margin-bottom: 8px;
}

/* -------------------------------------------------------------------------
   REVIEW FORM WRAPPER + HEADINGS
   ------------------------------------------------------------------------- */
#review_form_wrapper {
  max-width: 720px;
  margin: 0;
}

#review_form #reply-title,
#review_form_wrapper #reply-title,
.comment-reply-title {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}

#review_form_wrapper .comment-notes,
#review_form .comment-notes {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #6B7280;
  margin: 0 0 20px;
}

/* -------------------------------------------------------------------------
   FORM ROWS + LABELS
   ------------------------------------------------------------------------- */
#review_form .comment-form-rating,
#review_form .comment-form-comment,
#review_form .comment-form-author,
#review_form .comment-form-email {
  margin: 0 0 20px;
}

#review_form label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  display: block;
  margin-bottom: 8px;
}

#review_form label .required {
  color: #b45309;
  margin-left: 2px;
}

/* -------------------------------------------------------------------------
   INPUTS + TEXTAREA
   ------------------------------------------------------------------------- */
#review_form input[type="text"],
#review_form input[type="email"],
#review_form input[type="url"],
#review_form textarea {
  width: 100%;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #374151;
  background: #FFFFFF;
  border: 1px solid #ECECEC;
  border-radius: 6px;
  padding: 12px 14px;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}

#review_form input[type="text"]:focus,
#review_form input[type="email"]:focus,
#review_form input[type="url"]:focus,
#review_form textarea:focus {
  outline: none;
  border-color: #237B94;
  box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.1);
}

#review_form textarea {
  min-height: 120px;
  resize: vertical;
}

/* Cookie consent checkbox row */
#review_form .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 20px;
  font-size: 13px;
  color: #6B7280;
}
#review_form .comment-form-cookies-consent input[type="checkbox"] {
  margin-top: 3px;
  accent-color: #237B94;
}
#review_form .comment-form-cookies-consent label {
  font-weight: 400;
  color: #6B7280;
  font-size: 13px;
  margin-bottom: 0;
}

/* -------------------------------------------------------------------------
   PHOTO/VIDEO UPLOAD  [CusRev]
   ------------------------------------------------------------------------- */
.ivole-photos-input,
.crwc-photo-upload,
.ivole-form-photos {
  margin: 0 0 20px;
}

.ivole-photos-input-label,
.crwc-upload-label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  display: block;
  margin-bottom: 8px;
}

#review_form input[type="file"],
.ivole-photos-input input[type="file"],
.crwc-photo-upload input[type="file"] {
  width: 100%;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #374151;
  background: #FFFFFF;
  border: 1px dashed #D1D5DB;
  border-radius: 6px;
  padding: 14px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  box-sizing: border-box;
}

#review_form input[type="file"]:hover,
.ivole-photos-input input[type="file"]:hover,
.crwc-photo-upload input[type="file"]:hover {
  border-color: #237B94;
  background: #FAF7F1;
}

#review_form input[type="file"]::file-selector-button,
.ivole-photos-input input[type="file"]::file-selector-button,
.crwc-photo-upload input[type="file"]::file-selector-button {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #237B94;
  background: rgba(35, 123, 148, 0.08);
  border: 1px solid rgba(35, 123, 148, 0.2);
  border-radius: 4px;
  padding: 6px 14px;
  margin-right: 12px;
  cursor: pointer;
  transition: background 0.15s;
}

#review_form input[type="file"]::file-selector-button:hover,
.ivole-photos-input input[type="file"]::file-selector-button:hover,
.crwc-photo-upload input[type="file"]::file-selector-button:hover {
  background: rgba(35, 123, 148, 0.15);
}

.ivole-photos-wrapper,
.crwc-photo-thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.ivole-photo-thumbnail,
.crwc-photo-thumbnail {
  width: 80px;
  height: 80px;
  border-radius: 6px;
  border: 1px solid #ECECEC;
  overflow: hidden;
  position: relative;
}

/* -------------------------------------------------------------------------
   SUBMIT BUTTON — matches brand orange CTA
   ------------------------------------------------------------------------- */
#review_form #submit,
#review_form input[type="submit"],
#review_form button[type="submit"],
.ivole-submit-button,
.ivole-form-submit {
  display: inline-block;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
  background: #F19226 !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 28px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(241, 146, 38, 0.35) !important;
  transition: all 0.18s ease-in-out !important;
  text-decoration: none !important;
  min-height: 44px !important;
}

#review_form #submit:hover,
#review_form input[type="submit"]:hover,
#review_form button[type="submit"]:hover,
.ivole-submit-button:hover,
.ivole-form-submit:hover {
  background: #E2831F !important;
  box-shadow: 0 8px 22px rgba(241, 146, 38, 0.45) !important;
  transform: translateY(-1px);
}

#review_form #submit:active,
#review_form input[type="submit"]:active,
#review_form button[type="submit"]:active,
.ivole-submit-button:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(241, 146, 38, 0.3) !important;
}

#review_form #submit:focus-visible,
#review_form input[type="submit"]:focus-visible {
  outline: 2px solid #237B94;
  outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   VALIDATION + FEEDBACK MESSAGES  [CusRev]
   ------------------------------------------------------------------------- */
.ivole-form-validation-message,
.ivole-form-error {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #b45309;
  margin-top: 6px;
}

.ivole-after-submit,
.ivole-form-success {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #166534;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 6px;
  padding: 12px 16px;
  margin-top: 16px;
}

/* -------------------------------------------------------------------------
   CUSREV RATING SUMMARY  [CusRev]
   ------------------------------------------------------------------------- */
.ivole-summary,
.ivole-grade-container {
  background: #FAF7F1;
  border: 1px solid #ECECEC;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 0 0 24px;
  font-family: 'Inter', sans-serif;
}

.ivole-grade-stars {
  color: #F19226;
}

.ivole-summary-bars .ivole-summary-bar {
  background: #F19226;
}

/* -------------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------------- */
@media (max-width: 768px) {
  #reviews .commentlist li {
    padding: 16px 18px;
  }
  #review_form_wrapper {
    padding-top: 24px;
    margin-top: 24px;
  }
  #review_form #reply-title,
  .comment-reply-title {
    font-size: 16px;
  }
  #review_form input[type="text"],
  #review_form input[type="email"],
  #review_form textarea {
    font-size: 16px; /* Prevent iOS zoom on focus */
    padding: 10px 12px;
  }
  #review_form #submit,
  #review_form input[type="submit"],
  .ivole-submit-button {
    width: 100%;
    padding: 14px 20px !important;
  }
}

@media (max-width: 480px) {
  #reviews .commentlist li {
    padding: 14px 16px;
  }
}

/* =========================================================
   ELEMENTOR MEGA MENU — STICKY ACTIVE UNDERLINE (FINAL)
   ========================================================= */

/* Base title container */
.e-n-menu-title-container {
  position: relative;
  padding-bottom: 10px;
}

/* Underline element */
.e-n-menu-title-container::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 3px; /* stronger than tab underline */
  background-color: #237B94;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Hover state */
.e-n-menu-item:hover .e-n-menu-title-container::after {
  opacity: 1;
}

/* ACTIVE (mega menu open) */
.e-n-menu-dropdown-icon[aria-expanded="true"]
  + .e-n-menu-title-container::after,
.e-n-menu-dropdown-icon[aria-expanded="true"]
  ~ .e-n-menu-title-container::after {
  opacity: 1;
}


/* ============================================================
   WOO – VIEW CART BUTTON (SECONDARY CTA)
============================================================ */

/* Base */
.woocommerce-message .button.wc-forward {
  background-color: transparent;
  color: #237B94;                 /* Brand teal */
  border: 2px solid #237B94;
  border-radius: 8px;

  padding: 8px 18px;
  font-weight: 600;
  line-height: 1;

  transition: background-color 0.2s ease,
              color 0.2s ease,
              border-color 0.2s ease;
}

/* Hover (invert) */
.woocommerce-message .button.wc-forward:hover {
  background-color: #237B94;
  color: #ffffff;
  border-color: #237B94;
}

/* Prevent jump / shrink */
.woocommerce-message .button.wc-forward:focus,
.woocommerce-message .button.wc-forward:active {
  transform: none;
  box-shadow: none;
}


/* =====================================================
   CART – Backorder notice (WooCommerce core text)
   ===================================================== */

.woocommerce-cart .backorder_notification,
.woocommerce-cart .woocommerce-backorder {
    color: #9CA3AF !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4;
    margin-top: 2px;
}


/* =====================================================
   CART – Return to Shop (Secondary, HARD SIZE LOCK)
   ===================================================== */

.woocommerce-cart p.return-to-shop > a.button.wc-backward {
  /* Visual style */
  background-color: transparent !important;
  color: #237B94 !important;
  border: 2px solid #237B94 !important;
  border-radius: 8px;

  /* SIZE LOCK (THIS IS THE FIX) */
  box-sizing: border-box !important;
  padding: 11px 22px !important;
  line-height: 1 !important;
  font-size: 14px !important;
  min-height: 44px; /* touch-safe */

  /* Kill layout-changing effects */
  transform: none !important;
  opacity: 1 !important;

  /* Allow ONLY color/shadow transitions */
  transition-property: background-color, color, box-shadow !important;
  transition-duration: 0.2s !important;

  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Hover */
.woocommerce-cart p.return-to-shop > a.button.wc-backward:hover {
  background-color: #237B94 !important;
  color: #ffffff !important;
  padding: 11px 22px !important; /* RE-LOCK */
  border-width: 2px !important; /* RE-LOCK */
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}

/* Active / focus */
.woocommerce-cart p.return-to-shop > a.button.wc-backward:active,
.woocommerce-cart p.return-to-shop > a.button.wc-backward:focus {
  background-color: #237B94 !important;
  color: #ffffff !important;
  padding: 11px 22px !important;
  border-width: 2px !important;
  line-height: 1 !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
  outline: none !important;
}

/* Mobile centering */
@media (max-width: 767px) {
  .woocommerce-cart p.return-to-shop > a.button.wc-backward {
    margin: 12px auto 0;
  }
}


/* =====================================================
   SG — AUTO BULLET LIST STYLE (from converted paragraphs)
   ===================================================== */

ul.sg-auto-bullets{
  margin: 0;
  padding-left: 1.4em; /* overall list indent */
}

ul.sg-auto-bullets > li{
  list-style-position: outside;
  margin: 0 0 .35em 0;
}


/* =========================================================
   SG – HIDE VARIATION ATTRIBUTES IN MINI / MENU CART
   ========================================================= */

/* WooCommerce Mini Cart */
.woocommerce-mini-cart .variation,
.woocommerce-mini-cart .wc-item-meta {
    display: none !important;
}


/* ============================================================
   YITH AJAX SEARCH — BASE UI (ALL DEVICES)

   CHANGES IN v2:
     - 7-breakpoint responsive model (matches SG locked rule):
         Widescreen (≥2400), Desktop (1441–2399), Laptop (1025–1440),
         Tablet Extra (901–1024), Tablet (769–900),
         Mobile Extra (481–768), Mobile (320–480)
     - Inter font family now uses `Inter, sans-serif` fallback
     - Scoped div:has() selector to the input field wrapper class
       (was unscoped, would match any div with a submit wrapper)
     - Removed dead MUI selectors (YITH 2.x uses Lapilli UI, not MUI)
============================================================ */

/* Search submit wrapper container — scoped to YITH input field */
.ywcas-input-field-wrapper:has(> .ywcas-submit-wrapper),
.ywcas-input-field:has(> .ywcas-submit-wrapper) {
    background: #F19226;
    height: 2.3rem;
}

/* Submit button reset */
.ywcas-submit-wrapper {
    border: none !important;
    background-color: transparent !important;
    margin-left: 10px;
}

.ywcas-submit-wrapper:hover {
    background-color: transparent !important;
}

/* Submit icon */
.ywcas-submit-wrapper svg.ywcas-submit-icon {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
    height: 30px !important;
    margin-top: 8px;
}

/* Ensure transparency inside input field */
.ywcas-input-field .ywcas-submit-wrapper,
.ywcas-input-field .ywcas-submit-wrapper:hover {
    background-color: transparent !important;
}

/* Hide unused elements */
.ywcas-classic-related-categories-wrapper,
.ywcas-separator {
    display: none !important;
}

/* Results grid spacing fix */
.ywcas-popover-results
.popover-content
.wp-block-yith-filled-block
.ywcas-search-results.grid {
    margin-top: -30px !important;
}


/* ============================================================
   WIDESCREEN (≥ 2400px)
============================================================ */
@media only screen and (min-width: 2400px) {

    .ywcas-submit-wrapper .ywcas-submit-icon {
        color: #F19226 !important;
    }

    .ywcas-popover-results {
        width: 1280px !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 30px;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 22px;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 18px !important;
    }
}


/* ============================================================
   DESKTOP (1441px – 2399px)
============================================================ */
@media only screen and (min-width: 1441px) and (max-width: 2399px) {

    .ywcas-submit-wrapper .ywcas-submit-icon {
        color: #F19226 !important;
    }

    .ywcas-popover-results {
        width: 1080px !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 30px;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 20px;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 16px !important;
    }
}


/* ============================================================
   LAPTOP (1025px – 1440px)
============================================================ */
@media only screen and (min-width: 1025px) and (max-width: 1440px) {

    .ywcas-submit-wrapper .ywcas-submit-icon {
        color: #F19226 !important;
    }

    .ywcas-popover-results {
        width: 960px !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 20px;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 19px;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 16px !important;
    }
}


/* ============================================================
   TABLET EXTRA (901px – 1024px)
============================================================ */
@media only screen and (min-width: 901px) and (max-width: 1024px) {

    .ywcas-popover-results {
        width: 85% !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 0;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 18px;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 15px !important;
    }
}


/* ============================================================
   TABLET (769px – 900px)
============================================================ */
@media only screen and (min-width: 769px) and (max-width: 900px) {

    .ywcas-popover-results {
        width: 90% !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 0;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 17px;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 14px !important;
    }
}


/* ============================================================
   MOBILE EXTRA (481px – 768px)
============================================================ */
@media only screen and (min-width: 481px) and (max-width: 768px) {

    .ywcas-popover-results {
        width: 96% !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 0;
        max-height: 75vh;
        overflow-y: auto;
        border-radius: 4px;
    }

    .wp-block-yith-search-block.alignwide {
        margin-inline: unset !important;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 16px;
        line-height: 1.3;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 14px !important;
    }
}


/* ============================================================
   MOBILE (320px – 480px)
============================================================ */
@media only screen and (max-width: 480px) {

    .ywcas-popover-results {
        width: 100% !important;
        left: 50% !important;
        transform: translateX(-50%);
        margin-left: 0;
        max-height: 70vh;
        overflow-y: auto;
        border-radius: 4px;
    }

    .wp-block-yith-search-block.alignwide {
        margin-inline: unset !important;
    }

    .search-result-item__content > *,
    .search-result-item__content p {
        font-family: Inter, sans-serif;
        font-size: 15px;
        line-height: 1.3;
        text-align: center;
    }

    .search-result-item__inline_group > * {
        font-family: Inter, sans-serif !important;
        font-size: 13px !important;
    }
}


/* ============================================================
   YITH INPUT FIELD — BORDER RADIUS POLISH (4px engineering look)
============================================================ */

/* Main container and visible backdrop */
.ywcas-input-field,
.lapilliUI-Input__backdrop,
.lapilliUI-Input--outlined,
.ywcas-input-field-wrapper {
    border-radius: 4px !important;
}

/* Orange button wrapper — sharp-edged on left, rounded on right */
.lapilliUI-Input__endAdornment {
    border-radius: 0 4px 4px 0 !important;
    overflow: hidden !important;
}

/* Orange button itself */
.lapilliUI-Input__endAdornment button {
    border-radius: 0 4px 4px 0 !important;
    background-color: #F19226 !important;
}


/* ============================================================
   SG — YITH SEARCH DROPDOWN & CHIPS (4px precision fix)
============================================================ */

/* Main dropdown container — the white box */
.ywcas-popover-results,
.popover-content.lapilliUI-Box__root {
    border-radius: 4px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e0e0e0 !important;
}

/* Search chips (Trending / Popular items) */
.ywcas-popular-searches-item,
.ywcas-popular-searches-item span {
    color: #237B94 !important;
    border: 1px solid #237B94 !important;
    background-color: transparent !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: none !important;
}

/* Hover / focus states for chips */
.ywcas-popular-searches-item:hover {
    background-color: rgba(35, 123, 148, 0.08) !important;
    border-radius: 4px !important;
}

.ywcas-popular-searches-item:active,
.ywcas-popular-searches-item:focus {
    background-color: rgba(35, 123, 148, 0.16) !important;
    border-radius: 4px !important;
    outline: none !important;
}

/* =========================================================================
   SUPERIOR GLIDE — Global Button System  v2
   =========================================================================
   How it works:
     Elementor widget wrappers get the sg-btn class in Advanced > CSS Classes.
     This CSS targets the .elementor-button inside that wrapper.

   Classes (on Elementor widget wrapper):
     .sg-btn-primary        Orange filled CTA
     .sg-btn-secondary      Teal outline → teal fill on hover
     .sg-btn-tertiary       Text-only teal link style

   Size modifier:
     .sg-btn-sm             Compact size for cards and tight layouts

   Example Elementor setup:
     Widget wrapper CSS class: sg-btn-primary sg-btn-sm
   ========================================================================= */


/* =======================================================================
   SHARED BASE — reset Elementor defaults on all three button types
   ======================================================================= */
.sg-btn-primary .elementor-button,
.sg-btn-secondary .elementor-button,
.sg-btn-tertiary .elementor-button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.005em !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45em !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease,
              box-shadow .2s ease, transform .15s ease !important;
  -webkit-tap-highlight-color: transparent;
}

/* Focus ring */
.sg-btn-primary .elementor-button:focus-visible,
.sg-btn-secondary .elementor-button:focus-visible,
.sg-btn-tertiary .elementor-button:focus-visible {
  outline: 2px solid #237B94 !important;
  outline-offset: 2px !important;
}


/* =======================================================================
   PRIMARY — Orange filled CTA
   ======================================================================= */
.sg-btn-primary .elementor-button,
.sg-btn-primary .elementor-button:link,
.sg-btn-primary .elementor-button:visited {
  background: #F19226 !important;
  border: 2px solid #F19226 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  padding: 14px 32px !important;
  min-height: 48px !important;
  box-shadow: 0 2px 6px rgba(241, 146, 38, .25) !important;
}
.sg-btn-primary .elementor-button:hover {
  background: #d97e1a !important;
  border-color: #d97e1a !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(241, 146, 38, .35) !important;
  transform: translateY(-1px);
}
.sg-btn-primary .elementor-button:active {
  background: #c06f14 !important;
  border-color: #c06f14 !important;
  box-shadow: 0 1px 3px rgba(241, 146, 38, .2) !important;
  transform: translateY(0);
}


/* =======================================================================
   SECONDARY — Teal outline → fills teal on hover
   ======================================================================= */
.sg-btn-secondary .elementor-button,
.sg-btn-secondary .elementor-button:link,
.sg-btn-secondary .elementor-button:visited {
  background: transparent !important;
  border: 2px solid #237B94 !important;
  color: #237B94 !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  padding: 14px 32px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}
.sg-btn-secondary .elementor-button:hover {
  background: #237B94 !important;
  border-color: #237B94 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(35, 123, 148, .25) !important;
  transform: translateY(-1px);
}
.sg-btn-secondary .elementor-button:active {
  background: #1b6275 !important;
  border-color: #1b6275 !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(35, 123, 148, .15) !important;
  transform: translateY(0);
}


/* =======================================================================
   TERTIARY — Text-only teal, no border, no background
   ======================================================================= */
.sg-btn-tertiary .elementor-button,
.sg-btn-tertiary .elementor-button:link,
.sg-btn-tertiary .elementor-button:visited {
  background: transparent !important;
  border: 2px solid transparent !important;
  color: #237B94 !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  padding: 10px 20px !important;
  min-height: 42px !important;
  box-shadow: none !important;
}
.sg-btn-tertiary .elementor-button:hover {
  background: rgba(35, 123, 148, .06) !important;
  border-color: transparent !important;
  color: #1b6275 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-color: rgba(35, 123, 148, .35);
  box-shadow: none !important;
  transform: none;
}
.sg-btn-tertiary .elementor-button:active {
  background: rgba(35, 123, 148, .1) !important;
  color: #1b6275 !important;
  transform: none;
}


/* =======================================================================
   SMALL MODIFIER — compact for cards, product grids, tight UI
   ======================================================================= */
.sg-btn-sm.sg-btn-primary .elementor-button,
.sg-btn-sm.sg-btn-primary .elementor-button:link,
.sg-btn-sm.sg-btn-primary .elementor-button:visited {
  font-size: 14px !important;
  padding: 10px 22px !important;
  min-height: 38px !important;
  border-radius: 6px !important;
}
.sg-btn-sm.sg-btn-secondary .elementor-button,
.sg-btn-sm.sg-btn-secondary .elementor-button:link,
.sg-btn-sm.sg-btn-secondary .elementor-button:visited {
  font-size: 14px !important;
  padding: 10px 22px !important;
  min-height: 38px !important;
  border-radius: 6px !important;
}
.sg-btn-sm.sg-btn-tertiary .elementor-button,
.sg-btn-sm.sg-btn-tertiary .elementor-button:link,
.sg-btn-sm.sg-btn-tertiary .elementor-button:visited {
  font-size: 13px !important;
  padding: 7px 14px !important;
  min-height: 34px !important;
  border-radius: 4px !important;
}


/* =======================================================================
   ELEMENTOR INNER SPAN RESET
   Elementor wraps button text in .elementor-button-text — reset its styles
   ======================================================================= */
.sg-btn-primary .elementor-button-text,
.sg-btn-secondary .elementor-button-text,
.sg-btn-tertiary .elementor-button-text {
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

/* Elementor button icon spacing */
.sg-btn-primary .elementor-button-icon,
.sg-btn-secondary .elementor-button-icon,
.sg-btn-tertiary .elementor-button-icon {
  font-size: inherit !important;
  color: inherit !important;
}


/* =======================================================================
   RESPONSIVE
   ======================================================================= */

/* Laptop ≤1024 */
@media (max-width: 1024px) {
  .sg-btn-primary .elementor-button,
  .sg-btn-secondary .elementor-button {
    font-size: 15px !important;
    padding: 13px 28px !important;
    min-height: 46px !important;
  }
  .sg-btn-tertiary .elementor-button {
    font-size: 14px !important;
  }
}

/* Tablet landscape ≤768 */
@media (max-width: 768px) {
  .sg-btn-primary .elementor-button,
  .sg-btn-secondary .elementor-button {
    font-size: 15px !important;
    padding: 12px 24px !important;
    min-height: 44px !important;
    border-radius: 7px !important;
  }
  .sg-btn-tertiary .elementor-button {
    font-size: 14px !important;
    padding: 9px 16px !important;
    min-height: 38px !important;
  }
  .sg-btn-sm.sg-btn-primary .elementor-button,
  .sg-btn-sm.sg-btn-secondary .elementor-button {
    font-size: 13px !important;
    padding: 9px 18px !important;
    min-height: 36px !important;
  }
}

/* Tablet portrait ≤600 */
@media (max-width: 600px) {
  .sg-btn-primary .elementor-button,
  .sg-btn-secondary .elementor-button {
    font-size: 14px !important;
    padding: 12px 22px !important;
    min-height: 44px !important;
  }
}

/* Mobile landscape ≤480: full-width touch targets */
@media (max-width: 480px) {
  .sg-btn-primary .elementor-button,
  .sg-btn-secondary .elementor-button {
    font-size: 14px !important;
    padding: 12px 20px !important;
    min-height: 44px !important;
    border-radius: 6px !important;
    width: 100% !important;
  }
  .sg-btn-tertiary .elementor-button {
    font-size: 14px !important;
    padding: 10px 14px !important;
    min-height: 40px !important;
    width: 100% !important;
  }
  /* Small buttons stay inline on mobile */
  .sg-btn-sm.sg-btn-primary .elementor-button,
  .sg-btn-sm.sg-btn-secondary .elementor-button {
    font-size: 13px !important;
    padding: 9px 16px !important;
    min-height: 38px !important;
    width: auto !important;
  }
  .sg-btn-sm.sg-btn-tertiary .elementor-button {
    font-size: 13px !important;
    width: auto !important;
  }
}

/* Mobile portrait ≤375 */
@media (max-width: 375px) {
  .sg-btn-primary .elementor-button,
  .sg-btn-secondary .elementor-button {
    font-size: 13px !important;
    padding: 12px 16px !important;
    min-height: 44px !important;
  }
  .sg-btn-sm.sg-btn-primary .elementor-button,
  .sg-btn-sm.sg-btn-secondary .elementor-button {
    font-size: 12px !important;
    padding: 8px 14px !important;
    min-height: 36px !important;
  }
}
/* Clickable card hover */
.sg-card-hover {
  transition: box-shadow .2s ease, transform .15s ease;
  cursor: pointer;
}
.sg-card-hover:hover {
  box-shadow: 0 4px 16px rgba(35, 123, 148, .15);
  transform: translateY(-2px);
}

/* ============================================================
   SG – SIZE CHART SCROLL WINDOW (FULL FINAL)
   Class: sg-sizechart-window
   Optional: sg-sizechart-stickyhead
   ============================================================ */

.sg-sizechart-window{
  /* Height control */
  --sg-chart-height: 520px;

  max-height: var(--sg-chart-height);
  overflow-y: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;

  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;

  /* ✅ Balanced padding: top/sides + tight bottom */
  padding: 0px 0px 0px;

  margin: 0;
  box-sizing: border-box;

  /* prevents flex overflow weirdness */
  min-height: 0;
}

/* Tablet */
@media (max-width: 1024px){
  .sg-sizechart-window{
    --sg-chart-height: 460px;
    padding: 8px 8px 8px;
  }
}

/* Mobile */
@media (max-width: 767px){
  .sg-sizechart-window{
    --sg-chart-height: 380px;
    padding: 6px 6px 6px;
  }
}

/* ------------------------------------------------------------
   Table normalization
------------------------------------------------------------ */
.sg-sizechart-window table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 !important;
}

/* kill phantom margins from common wrappers */
.sg-sizechart-window p,
.sg-sizechart-window .elementor-widget,
.sg-sizechart-window .elementor-widget-container{
  margin: 0 !important;
}

/* ------------------------------------------------------------
   Cell sizing (keeps huge charts readable)
------------------------------------------------------------ */
.sg-sizechart-window th,
.sg-sizechart-window td{
  padding: 10px 12px;
  vertical-align: top;
  white-space: nowrap;
}

/* slightly tighter on mobile */
@media (max-width: 767px){
  .sg-sizechart-window th,
  .sg-sizechart-window td{
    padding: 8px 10px;
  }
}

/* ------------------------------------------------------------
   Sticky header (optional)
------------------------------------------------------------ */
.sg-sizechart-window.sg-sizechart-stickyhead thead th{
  position: sticky;
  top: 0;
  z-index: 5;

  background: #ffffff;
  box-shadow: 0 1px 0 rgba(0,0,0,0.10);
}

/* ------------------------------------------------------------
   Bottom whitespace prevention (safe)
------------------------------------------------------------ */
.sg-sizechart-window > *:last-child{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* ============================================================
   SG – WIDER QUANTITY INPUTS (PRODUCT + CART)
   ============================================================ */

/* Base quantity input */
.quantity input.qty {
  min-width: 90px !important;     /* shows 3–4 digits comfortably */
  width: 90px !important;
  padding: 10px 12px !important;
  text-align: center !important;
  font-size: 15px !important;
}

/* Product page specific */
.single-product .quantity input.qty {
  min-width: 100px !important;
  width: 100px !important;
}

/* Cart page specific */
.woocommerce-cart .quantity input.qty {
  min-width: 110px !important;
  width: 110px !important;
}

/* Prevent arrows from squishing numbers */
.quantity input.qty::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button {
  opacity: 1;
  margin-left: 6px;
}

/* Mobile adjustment */
@media (max-width: 767px) {
  .quantity input.qty {
    min-width: 80px !important;
    width: 80px !important;
  }
}


/* ============================================================
   SG – SIZING CHART TABS (5-LEVEL) – BRAND SYSTEM + HARD NO-JUMP
   Elementor NESTED TABS only

   Required CSS Classes (add to each Nested Tabs widget):
   sg-sizing-parent / sg-sizing-child / sg-sizing-grandchild
   sg-sizing-greatgrandchild / sg-sizing-greatgreatgrandchild
============================================================ */

/* =========================
   TOKENS
========================= */
.sg-sizing-parent,
.sg-sizing-child,
.sg-sizing-grandchild,
.sg-sizing-greatgrandchild,
.sg-sizing-greatgreatgrandchild{
  --sg-teal:#237B94;
  --sg-border:#cfe6ee;
  --sg-bg:#f6fbfd;
  --sg-radius:12px;
}

/* =========================
   HARD RESET (NO JUMP)
========================= */
.sg-sizing-parent .e-n-tabs-heading,
.sg-sizing-child .e-n-tabs-heading,
.sg-sizing-grandchild .e-n-tabs-heading,
.sg-sizing-greatgrandchild .e-n-tabs-heading,
.sg-sizing-greatgreatgrandchild .e-n-tabs-heading{
  position: relative !important;
  top: 0 !important;
  transform: none !important;
  translate: none !important;
  filter: none !important;
  border: 0 !important;
  align-items: stretch !important;
}

.sg-sizing-parent .e-n-tab-title,
.sg-sizing-child .e-n-tab-title,
.sg-sizing-grandchild .e-n-tab-title,
.sg-sizing-greatgrandchild .e-n-tab-title,
.sg-sizing-greatgreatgrandchild .e-n-tab-title{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;

  position: relative !important;
  top: 0 !important;
  bottom: auto !important;
  transform: none !important;
  translate: none !important;
  filter: none !important;

  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background-image: none !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:100% !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

/* Kill Elementor indicators */
.sg-sizing-parent .e-n-tab-title::before,
.sg-sizing-parent .e-n-tab-title::after,
.sg-sizing-child .e-n-tab-title::before,
.sg-sizing-child .e-n-tab-title::after,
.sg-sizing-grandchild .e-n-tab-title::before,
.sg-sizing-grandchild .e-n-tab-title::after,
.sg-sizing-greatgrandchild .e-n-tab-title::before,
.sg-sizing-greatgrandchild .e-n-tab-title::after,
.sg-sizing-greatgreatgrandchild .e-n-tab-title::before,
.sg-sizing-greatgreatgrandchild .e-n-tab-title::after{
  content:none !important;
  display:none !important;
}

/* =========================
   BRAND COLORS
========================= */
.sg-sizing-parent .e-n-tab-title,
.sg-sizing-child .e-n-tab-title,
.sg-sizing-grandchild .e-n-tab-title,
.sg-sizing-greatgrandchild .e-n-tab-title,
.sg-sizing-greatgreatgrandchild .e-n-tab-title{
  background:#fff !important;
  color:var(--sg-teal) !important;
  border:1px solid var(--sg-border) !important;
  border-radius:var(--sg-radius) !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease !important;
}

.sg-sizing-parent .e-n-tab-title:hover,
.sg-sizing-child .e-n-tab-title:hover,
.sg-sizing-grandchild .e-n-tab-title:hover,
.sg-sizing-greatgrandchild .e-n-tab-title:hover,
.sg-sizing-greatgreatgrandchild .e-n-tab-title:hover{
  background:var(--sg-bg) !important;
  border-color:var(--sg-teal) !important;
  color:var(--sg-teal) !important;
}

.sg-sizing-parent .e-n-tab-title[aria-selected="true"],
.sg-sizing-child .e-n-tab-title[aria-selected="true"],
.sg-sizing-grandchild .e-n-tab-title[aria-selected="true"],
.sg-sizing-greatgrandchild .e-n-tab-title[aria-selected="true"],
.sg-sizing-greatgreatgrandchild .e-n-tab-title[aria-selected="true"]{
  background:var(--sg-teal) !important;
  border-color:var(--sg-teal) !important;
  color:#fff !important;
}

/* =========================
   DESKTOP (wrap + center)
========================= */
.sg-sizing-parent .e-n-tabs-heading,
.sg-sizing-child .e-n-tabs-heading,
.sg-sizing-grandchild .e-n-tabs-heading,
.sg-sizing-greatgrandchild .e-n-tabs-heading,
.sg-sizing-greatgreatgrandchild .e-n-tabs-heading{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:10px !important;
}

/* =========================
   LEVEL SIZES
========================= */
.sg-sizing-parent{ padding-top:8px !important; }
.sg-sizing-parent .e-n-tabs-heading{ min-height:48px !important; margin:0 0 14px 0 !important; }
.sg-sizing-parent .e-n-tabs-heading > .e-n-tab-title{ min-height:48px !important; padding:0 18px !important; font-weight:650 !important; }

.sg-sizing-parent .sg-sizing-child{ margin-top:10px !important; padding-top:4px !important; }
.sg-sizing-child .e-n-tabs-heading{ min-height:42px !important; margin:0 0 14px 0 !important; }
.sg-sizing-child .e-n-tabs-heading > .e-n-tab-title{ min-height:42px !important; padding:0 16px !important; font-weight:600 !important; }

.sg-sizing-child .sg-sizing-grandchild{ margin-top:8px !important; padding-top:2px !important; }
.sg-sizing-grandchild .e-n-tabs-heading{ min-height:36px !important; margin:0 0 18px 0 !important; }
.sg-sizing-grandchild .e-n-tabs-heading > .e-n-tab-title{ min-height:36px !important; padding:0 14px !important; font-weight:600 !important; font-size:13px !important; }

.sg-sizing-grandchild .sg-sizing-greatgrandchild{ margin-top:8px !important; padding-top:2px !important; }
.sg-sizing-greatgrandchild .e-n-tabs-heading{ min-height:34px !important; margin:0 0 18px 0 !important; }
.sg-sizing-greatgrandchild .e-n-tabs-heading > .e-n-tab-title{ min-height:34px !important; padding:0 13px !important; font-weight:600 !important; font-size:12.5px !important; }

.sg-sizing-greatgrandchild .sg-sizing-greatgreatgrandchild{ margin-top:8px !important; padding-top:2px !important; }
.sg-sizing-greatgreatgrandchild .e-n-tabs-heading{ min-height:32px !important; margin:0 0 18px 0 !important; }
.sg-sizing-greatgreatgrandchild .e-n-tabs-heading > .e-n-tab-title{ min-height:32px !important; padding:0 12px !important; font-weight:600 !important; font-size:12px !important; }

/* =========================
   MOBILE: SWIPE BUT CENTERED
   Technique:
   - Heading scrolls
   - Inner content stays centered using max-content
========================= */
@media (max-width:767px){

  .sg-sizing-parent .e-n-tabs-heading,
  .sg-sizing-child .e-n-tabs-heading,
  .sg-sizing-grandchild .e-n-tabs-heading,
  .sg-sizing-greatgrandchild .e-n-tabs-heading,
  .sg-sizing-greatgreatgrandchild .e-n-tabs-heading{
    /* override Elementor paging */
    transform:none !important;
    translate:none !important;

    /* enable swipe */
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch !important;

    /* CENTER by default */
    justify-content:center !important;

    /* spacing */
    gap:8px !important;
    padding:0 10px 10px !important;

    /* hide scrollbar */
    scrollbar-width:none !important;
  }

  .sg-sizing-parent .e-n-tabs-heading::-webkit-scrollbar,
  .sg-sizing-child .e-n-tabs-heading::-webkit-scrollbar,
  .sg-sizing-grandchild .e-n-tabs-heading::-webkit-scrollbar,
  .sg-sizing-greatgrandchild .e-n-tabs-heading::-webkit-scrollbar,
  .sg-sizing-greatgreatgrandchild .e-n-tabs-heading::-webkit-scrollbar{
    display:none !important;
  }

  /* keep each tab from shrinking */
  .sg-sizing-parent .e-n-tab-title,
  .sg-sizing-child .e-n-tab-title,
  .sg-sizing-grandchild .e-n-tab-title,
  .sg-sizing-greatgrandchild .e-n-tab-title,
  .sg-sizing-greatgreatgrandchild .e-n-tab-title{
    flex:0 0 auto !important;
  }

  /* slightly tighter padding on small screens */
  .sg-sizing-parent .e-n-tabs-heading > .e-n-tab-title{ padding:0 14px !important; }
  .sg-sizing-child  .e-n-tabs-heading > .e-n-tab-title{ padding:0 14px !important; }
  .sg-sizing-grandchild .e-n-tabs-heading > .e-n-tab-title{ padding:0 12px !important; }
  .sg-sizing-greatgrandchild .e-n-tabs-heading > .e-n-tab-title{ padding:0 12px !important; }
  .sg-sizing-greatgreatgrandchild .e-n-tabs-heading > .e-n-tab-title{ padding:0 11px !important; }
}


/* SG — Price positioning (exclude quick view) */

/* Hide variation price in default location on single product page */
.single-product .woocommerce-variation-price {
  display: none !important;
}

/* Restore normal variation price inside quick view */
.iconic-wqv-modal .woocommerce-variation-price,
#iconic-wqv .woocommerce-variation-price,
.iconic-wqv .woocommerce-variation-price {
  display: block !important;
}

.iconic-wqv-modal .woocommerce-variation-price .price,
.iconic-wqv-modal .woocommerce-variation-price .woocommerce-Price-amount {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

/* Initial price range styling */
.single-product .sg-initial-price-range {
  margin-bottom: 12px;
}

.single-product .sg-initial-price-range .sg-price-fix,
.single-product .sg-initial-price-range .woocommerce-Price-amount {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #111827 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

/* Cloned selected price (injected by JS into same position as range) */
.single-product .sg-selected-price {
  margin-bottom: 12px;
  display: none;
}

.single-product .sg-selected-price .woocommerce-Price-amount,
.single-product .sg-selected-price bdi {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #111827 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

@media (max-width: 1024px) {
  .single-product .sg-initial-price-range .sg-price-fix,
  .single-product .sg-initial-price-range .woocommerce-Price-amount,
  .single-product .sg-selected-price .woocommerce-Price-amount,
  .single-product .sg-selected-price bdi {
    font-size: 26px !important;
  }
}

@media (max-width: 768px) {
  .single-product .sg-initial-price-range .sg-price-fix,
  .single-product .sg-initial-price-range .woocommerce-Price-amount,
  .single-product .sg-selected-price .woocommerce-Price-amount,
  .single-product .sg-selected-price bdi {
    font-size: 24px !important;
  }
}

@media (max-width: 480px) {
  .single-product .sg-initial-price-range .sg-price-fix,
  .single-product .sg-initial-price-range .woocommerce-Price-amount,
  .single-product .sg-selected-price .woocommerce-Price-amount,
  .single-product .sg-selected-price bdi {
    font-size: 20px !important;
  }
}
/* Center price on mobile */
@media (max-width: 767px) {
  .single-product .sg-initial-price-range,
  .single-product .sg-selected-price {
    text-align: center;
  }
}

/* ============================================================
   SG — Business Hero CTA visibility (Guest vs Approved B2B)
   Uses B2BKing body classes only

   v3 — fixes a specificity bug in v2 where the .b2bking_logged_out
   rule (specificity 0,2,0) was overriding the p.sg-biz-cta--guest
   rule (specificity 0,1,1), causing the hero <p> sign-in line to
   render with display:flex instead of display:block. That made
   the <br> line break inside the paragraph stop working visually.

   The fix: every active-state rule now explicitly handles the
   paragraph element separately so containers get display:flex and
   paragraphs get display:block, no matter which B2BKing state is
   active.

   How B2BKing classifies users:
     .b2bking_logged_out  → not signed in
     .b2bking_b2c_user    → signed in as regular customer
     .b2bking_b2b_user    → signed in as approved business account
============================================================ */

/* Step 1: Hide both variants by default until B2BKing applies its body class.
   This prevents the brief flash of wrong buttons on initial page load. */
.sg-biz-cta--guest,
.sg-biz-cta--b2b {
  display: none;
}

/* ────────────────────────────────────────────────────────────
   LOGGED OUT — show Guest CTA, hide B2B CTA
   ──────────────────────────────────────────────────────────── */
.b2bking_logged_out .sg-biz-cta--guest {
  display: flex !important;
}
.b2bking_logged_out p.sg-biz-cta--guest {
  display: block !important;
}
.b2bking_logged_out .sg-biz-cta--b2b {
  display: none !important;
}

/* ────────────────────────────────────────────────────────────
   B2C USER (regular customer logged in) — show Guest CTA
   ──────────────────────────────────────────────────────────── */
.b2bking_b2c_user .sg-biz-cta--guest {
  display: flex !important;
}
.b2bking_b2c_user p.sg-biz-cta--guest {
  display: block !important;
}
.b2bking_b2c_user .sg-biz-cta--b2b {
  display: none !important;
}

/* ────────────────────────────────────────────────────────────
   B2B USER (approved business account) — show B2B CTA only
   Hide all guest variants including the inline <p> sign-in line
   ──────────────────────────────────────────────────────────── */
.b2bking_b2b_user .sg-biz-cta--guest {
  display: none !important;
}
.b2bking_b2b_user .sg-biz-cta--b2b {
  display: flex !important;
}

/* SG — Proof chips (hero pills) */
.sg-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;            /* locks pill height */
  padding: 0 12px;         /* horizontal only */
  border-radius: 999px;
  background: #EAF4F7;
  color: #237B94;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.01em;
}


/* =========================================================
   SG — ICONIC SWATCHES (TEXT-ONLY)
   - Styles only TEXT swatches (e.g., Size)
   - Leaves COLOR / IMAGE swatches completely default
   - Tablet Portrait: 3 per row
   - Mobile: 2 per row
   ========================================================= */

/* 1) Clean variation table */
table.variations,
table.variations th,
table.variations td,
table.variations tr,
.woocommerce div.product form.cart table.variations {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 2) Labels */
strong.iconic-was-attr-label-text,
.variations th.label,
.variations label strong {
  font-family: inherit !important;
  font-weight: 500 !important;
  color: #111827 !important;
  font-size: 16px !important;
  text-transform: none !important;
}

/* 3) Chosen value text */
span.iconic-was-chosen-attribute {
  font-weight: 400 !important;
  color: #9CA3AF !important;
  font-size: 15px !important;
}

/* 4) Clear link */
.reset_variations,
a.reset_variations {
  color: #237B94 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
}
.reset_variations:hover,
a.reset_variations:hover {
  color: #F19226 !important;
}

/* =========================================================
   TEXT SWATCHES ONLY (Iconic)
   ========================================================= */

/* Text swatch wrapper: kill horizontal scroll behavior */
.variations_form .iconic-was-swatches--text-swatch {
  overflow-x: visible !important;
  white-space: normal !important;
  margin-top: 8px !important;
}

/* Text swatch base */
.variations_form .iconic-was-swatches--text-swatch .iconic-was-swatch {
  border: 1px solid #E5EEF3 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;

  min-height: 44px !important;
  padding: 10px 12px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Hover */
.variations_form .iconic-was-swatches--text-swatch .iconic-was-swatch:hover {
  border-color: #237B94 !important;
}

/* Selected */
.variations_form .iconic-was-swatches--text-swatch .iconic-was-swatch--selected {
  background-color: #237B94 !important;
  border-color: #237B94 !important;
  color: #FFFFFF !important;
}

/* Tablet Portrait — 3 per row (text swatches only) */
@media (min-width: 768px) and (max-width: 900px) {
  .variations_form .iconic-was-swatches--text-swatch {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
  }
}

/* Mobile — 2 per row (text swatches only) */
@media (max-width: 767px) {
  .variations_form .iconic-was-swatches--text-swatch {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}


/* B2BKING: UNIFIED PRICE & AVAILABILITY STYLING */

/* 1. Price: Primary charcoal at a calm 500 weight */
.b2bking_price_container, 
.price .amount,
.price ins .amount {
    color: #111827 !important; /* Primary Text */
    font-weight: 500 !important;
    font-size: 24px !important;
    display: inline-block;
    margin-bottom: 5px;
}

/* 2. Stock Status: Muted grey for all availability text */
.stock.in-stock,
.stock.available-on-backorder,
.b2bking_stock_status_container,
.available-on-backorder {
    color: #4B5563 !important; /* Muted Text */
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important; /* Removed italic for a cleaner look */
    margin-top: 4px;
    display: block;
}

/* 3. Status Accent: Subtle teal bullet for "In Stock" */
.stock.in-stock::before {
    content: "• ";
    color: #237B94; /* Secondary Teal */
    font-weight: 900;
    padding-right: 4px;
}
/* Stock status typography */
.stock.in-stock,
.stock.available-on-backorder {
  font-family: 'Inter', -apple-system, sans-serif !important;
  margin-top: 8px;
  margin-bottom: 0;
}
/* Backorder — amber instead of teal */
.stock.available-on-backorder::before {
  content: "• ";
  color: #D97706 !important;
  font-weight: 900;
  padding-right: 4px;
}

.stock.available-on-backorder {
  color: #92400E !important;
}
/* Space between stock status and Add to Cart */
.single-product .stock {
  margin-top: 12px;
  margin-bottom: 4px;
}

/* PRODUCT META: CLEAN SPEC ALIGNMENT (NO DIVIDER) */

/* 1. Container: Remove the top line and increase breathing room */
.product_meta {
    border-top: none !important; /* Removes the line above Item Number */
    padding-top: 10px;
    margin-top: 25px;
    font-size: 13px !important;
    line-height: 1.6;
}

/* 2. Labels: Muted and light (e.g., ITEM NUMBER, PRODUCT TYPES) */
.product_meta .sku_wrapper,
.product_meta .posted_in {
    display: block;
    color: #9CA3AF !important; /* Muted Grey */
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

/* 3. Data Values (The actual SKU and Category links) */
.product_meta span.sku,
.product_meta a {
    color: #374151 !important; /* Secondary Text */
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}

/* 4. Link Styling: Technical Teal for product types */
.product_meta a {
    color: #237B94 !important; /* Secondary Teal */
    text-decoration: none;
    transition: color 0.2s ease;
}

.product_meta a:hover {
    color: #F19226 !important; /* Primary Orange hover */
}

/* PRODUCT PAGE: QUANTITY SELECTOR WITH NAVIGATION ARROWS */

/* 1. Target the main quantity input field */
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty,
.quantity input.qty {
    width: 70px !important; /* Slightly wider to accommodate arrows */
    height: 44px !important; /* Matches 'Add to Cart' height */
    border: 1px solid #E5EEF3 !important; /* Your Border Light color */
    border-radius: 4px !important;
    background-color: #F9FAFB !important; /* Subtle grey wash */
    color: #374151 !important; /* Secondary Text */
    font-weight: 500 !important;
    font-size: 16px !important;
    text-align: left !important; /* Shift text left to make room for arrows */
    padding-left: 10px !important;
    outline: none !important;
    /* Re-enable standard browser spinners */
    appearance: auto !important; 
    -webkit-appearance: number-input !important;
    -moz-appearance: number-input !important;
}

/* 2. Ensure arrows are visible on all browsers */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button !important;
    opacity: 1 !important;
}

/* 3. Hover and Focus states */
.quantity input.qty:hover,
.quantity input.qty:focus {
    border-color: #237B94 !important; /* Secondary Teal on interaction */
    background-color: #ffffff !important;
}

/* Fix for Product Card Price Typography */
.sg-price-fix, 
.sg-price-fix .woocommerce-Price-amount, 
.sg-price-fix .woocommerce-Price-currencySymbol {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* Responsive Pricing Scale */
@media (min-width: 1440px) {
    .sg-price-fix { font-size: 20px !important; }
}

@media (max-width: 1024px) {
    .sg-price-fix { font-size: 18px !important; }
}

@media (max-width: 767px) {
    .sg-price-fix { font-size: 16px !important; }
}

/* =========================================================
   SG — SIZE CHART TAB PANEL IS AN <a> (RESET LINK STYLES)
   Elementor Tabs sometimes render panel as <a> when href exists
   Your wrapper class: .sg-sizechart-window
   ========================================================= */

/* Stop theme/global link styling from hijacking the whole chart panel */
a.sg-sizechart-window,
a.sg-sizechart-window:visited,
a.sg-sizechart-window:hover,
a.sg-sizechart-window:active {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

/* Most important: prevent rules like "a * { ... }" from changing everything inside */
a.sg-sizechart-window * {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

/* Make sure table text follows your global body color */
a.sg-sizechart-window .yith-wcpsc-product-table-wrapper,
a.sg-sizechart-window .yith-wcpsc-product-table-wrapper * {
  color: #374151 !important; /* body */
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* Keep the actual table headers looking like headers */
a.sg-sizechart-window .yith-wcpsc-product-table thead th {
  color: #111827 !important; /* heading */
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* If your theme underlines links on hover, kill it */
a.sg-sizechart-window:hover,
a.sg-sizechart-window:hover * {
  text-decoration: none !important;
}


/* -----------------------------------------------------------
   DYNAMIC FLOOR TYPE BADGES (Enlarged Version)
   Styling for "Hard Floor Safe" and "Carpet Friendly Slide".
   ----------------------------------------------------------- */
.sg-badge {
    display: inline-block;
    /* Increased padding for a more substantial look */
    padding: 8px 16px; 
    font-family: 'Inter', sans-serif;
    font-weight: 800; /* Extra bold for authority */
    /* Increased from 10px to 13px for better readability */
    font-size: 13px; 
    /* Tightened slightly for better balance at larger size */
    letter-spacing: 1px; 
    border-radius: 6px;
    text-transform: uppercase;
    margin-bottom: 16px;
    /* Ensures badges look sharp on all screens */
    line-height: 1; 
    transition: all 0.3s ease;
}

/* Hard Floor Safe - Neutral Engineered Look for Glides */
.badge-hard {
    background-color: #F4F4F4;
    color: #1A1A1A;
    /* Thicker border for the larger badge */
    border: 2px solid #D1D5DB; 
}

/* Carpet & Rug Friendly - Brand Teal Accents for Slides */
.badge-soft {
    background-color: #EAF2F4;
    color: #237B94; 
    /* Thicker border to match brand weight */
    border: 2px solid #237B94; 
}

/* Optional: Subtle hover effect to keep the "Interactive" feel */
.sg-badge:hover {
    transform: scale(1.03);
}

/* ==========================================
   SG — Pain Cards (Styling Only: no height equalizing)
   ========================================== */

/* 1. Base Card Styling */
.pain-card {
  background-color: #ffffff !important;
  border: 1px solid #eeeeee !important; /* Subtle resting border */
  border-radius: 4px !important;
  padding: 40px 30px !important;
  transition: all 0.3s ease-in-out !important;
}

/* 2. Icon Spacing & Neutral State */
.pain-card .elementor-widget-image,
.pain-card .elementor-widget-icon,
.pain-card svg {
  display: block !important;
  margin: 0 auto 10px auto !important; /* Gap to Title */
  width: 40px !important;
  fill: #888888 !important; /* Initial professional grey */
  transition: fill 0.3s ease;
}

/* 3. Heading Spacing */
.pain-card .elementor-heading-title {
  text-align: center !important;
  margin: 0 0 12px 0 !important; /* Gap to Bullets */
  color: #111827 !important; /* SG heading color */
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* 4. Text Editor */
.pain-card .elementor-text-editor {
  width: 100% !important;
  text-align: left !important;
  color: #374151 !important; /* SG body text */
  font-size: 15px !important;
}

/* 5. Bullet Point Styling */
.pain-card ul {
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.pain-card li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  line-height: 1.5;
  color: #374151 !important;
}

.pain-card li::before {
  content: "•";
  position: absolute;
  left: 0;
  font-weight: 700;
  color: #888888; /* Initial grey bullets */
  transition: color 0.3s ease;
}

/* 6. Desktop Hover Logic (Grey -> Red) */
@media (min-width: 1025px) {
  .pain-card:hover {
    border-color: #D9534F !important; /* Border turns Red */
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.06) !important;
  }

  /* Transition Icon and Bullet Dots to Red on Hover */
  .pain-card:hover svg,
  .pain-card:hover li::before {
    fill: #D9534F !important;
    color: #D9534F !important;
  }
}

/* 7. Mobile/Tablet Logic (Icons & Bullets stay Red) */
@media (max-width: 1024px) {
  .pain-card {
    border-color: #e0e0e0 !important;
  }

  .pain-card svg,
  .pain-card li::before {
    fill: #D9534F !important;
    color: #D9534F !important;
  }
}


/* Truncate Cart Product Names to 3 Lines */
.elementor-menu-cart__product-name, 
.elementor-menu-cart__product-name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important; /* Increased to 3 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    max-height: 4.2em !important; /* Calculation: 1.4 line-height * 3 lines */
}

/* ============================================================
   Superior Glides — Category Page CSS
   sg-category.css  |  Furniture Glides category page
   v3 — added sister-product related grid; fixed compare-grid
   ============================================================ */

/* ---- Design Tokens --------------------------------------- */
.sg-category-page {
  --sg-teal:         #237B94;
  --sg-teal-dark:    #1a5e70;
  --sg-teal-light:   #e8f4f7;
  --sg-teal-xlight:  #f2f9fb;
  --sg-orange:       #F19226;
  --sg-orange-dark:  #d97d18;
  --sg-orange-light: #fdf3e7;
  --sg-black:        #0f1923;
  --sg-ink:          #1e2a35;
  --sg-grey-dark:    #374151;
  --sg-grey:         #6b7280;
  --sg-grey-light:   #9ca3af;
  --sg-border:       #e5e7eb;
  --sg-border-light: #f3f4f6;
  --sg-bg:           #f8fafc;
  --sg-white:        #ffffff;

  --sg-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --sg-space-xs:  0.5rem;
  --sg-space-sm:  1rem;
  --sg-space-md:  2rem;
  --sg-space-lg:  3rem;
  --sg-space-xl:  5rem;

  --sg-shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --sg-shadow:    0 4px 12px rgba(0,0,0,0.07), 0 2px 6px rgba(0,0,0,0.04);
  --sg-shadow-md: 0 10px 30px rgba(0,0,0,0.09), 0 4px 12px rgba(0,0,0,0.05);

  --sg-radius-sm: 6px;
  --sg-radius:    12px;
  --sg-radius-lg: 20px;

  --sg-max-width: 1140px;

  font-family: var(--sg-font);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--sg-ink);
  background: var(--sg-white);
}

.sg-category-page *,
.sg-category-page *::before,
.sg-category-page *::after {
  box-sizing: border-box;
}

/* ============================================================
   HERO
   ============================================================ */
.sg-cat-hero {
  background: linear-gradient(135deg, var(--sg-black) 0%, #1a2d3d 50%, #1e3a47 100%);
  padding: 72px 40px 64px;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.sg-cat-hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(35,123,148,0.2) 0%, transparent 65%);
  pointer-events: none;
}

.sg-cat-hero::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: 5%;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(241,146,38,0.08) 0%, transparent 65%);
  pointer-events: none;
}

.sg-cat-hero-inner {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
}

.sg-cat-h1 {
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #ffffff !important;
  margin: 0 0 1rem 0;
}

.sg-cat-h1::after {
  content: '';
  display: block;
  width: 56px;
  height: 4px;
  background: linear-gradient(90deg, var(--sg-teal), var(--sg-orange));
  border-radius: 2px;
  margin: 1rem auto 0;
}

.sg-cat-lead {
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(255,255,255,0.78);
  margin: 0 0 2rem 0;
}

.sg-cat-lead strong {
  color: rgba(255,255,255,0.95);
  font-weight: 600;
}

.sg-cat-cta {
  display: flex;
  justify-content: center;
}

.sg-cat-cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--sg-teal);
  color: var(--sg-white) !important;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 13px 26px;
  border-radius: var(--sg-radius-sm);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(35,123,148,0.4);
}

.sg-cat-cta a:hover {
  background: var(--sg-teal-dark);
  color: var(--sg-white) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(35,123,148,0.5);
  text-decoration: none;
}

/* ============================================================
   SECTION WRAPPER — max-width for ultrawide screens
   ============================================================ */
.sg-cat-section {
  padding: var(--sg-space-xl) 60px;
}

.sg-cat-section > * {
  max-width: var(--sg-max-width);
  margin-left: auto;
  margin-right: auto;
}

.sg-cat-section:nth-child(even) {
  background: var(--sg-bg);
}

.sg-cat-section-header {
  text-align: center;
  margin-bottom: var(--sg-space-md);
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.sg-cat-h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--sg-black);
  margin: 0 0 0.75rem 0;
}

.sg-cat-section-header .sg-cat-h2::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, var(--sg-teal), var(--sg-orange));
  border-radius: 2px;
  margin: 0.6rem auto 0;
}

.sg-cat-h3 {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--sg-ink);
  margin: 0 0 0.75rem 0;
}

/* Subtitle span inside h3 — e.g. "(PA6 Sliding Surface)" */
.sg-cat-h3-sub {
  font-weight: 500;
  color: var(--sg-grey);
}

.sg-cat-h4 {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--sg-teal-dark);
  margin: 0 0 0.75rem 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.sg-cat-h4 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.sg-cat-h4 a:hover {
  color: var(--sg-teal);
  text-decoration: underline;
}

.sg-cat-intro {
  font-size: 1rem;
  color: var(--sg-grey-dark);
  line-height: 1.75;
  max-width: 680px;
  margin: 0 auto;
}

/* Inline links — teal, bold (replaces inline styles on <a>) */
.sg-cat-intro a,
.sg-cat-footnote a {
  color: var(--sg-teal);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s;
}

.sg-cat-intro a:hover,
.sg-cat-footnote a:hover {
  color: var(--sg-teal-dark);
  text-decoration: underline;
}

.sg-cat-text-center { text-align: center; }

/* Footnote / helper text below sections */
.sg-cat-footnote {
  font-size: 0.9rem;
  color: var(--sg-grey);
  text-align: center;
  margin-top: 1.5rem;
}

/* ============================================================
   MOUNTING METHOD CARDS (3-up grid)
   ============================================================ */
.sg-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}

.sg-cat-card {
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.75rem;
  box-shadow: var(--sg-shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  display: flex;
  flex-direction: column;
}

.sg-cat-card:hover {
  box-shadow: var(--sg-shadow-md);
  transform: translateY(-3px);
}

/* Featured (middle) card */
.sg-cat-card--featured {
  border-color: var(--sg-teal);
  position: relative;
  padding-top: 2.5rem;
}

.sg-cat-card--featured::before {
  content: 'MOST POPULAR';
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--sg-teal);
  color: var(--sg-white);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

/* Badge pill */
.sg-cat-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--sg-teal-xlight);
  color: var(--sg-teal-dark);
  border: 1px solid rgba(35,123,148,0.2);
  border-radius: 4px;
  padding: 3px 10px;
  margin-bottom: 0.875rem;
}

.sg-cat-card p {
  font-size: 0.92rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
  margin: 0 0 1rem 0;
}

.sg-cat-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
}

.sg-cat-card ul li {
  font-size: 0.88rem;
  color: var(--sg-grey-dark);
  padding: 0.3rem 0 0.3rem 1.2rem;
  position: relative;
  border-bottom: 1px solid var(--sg-border-light);
}

.sg-cat-card ul li:last-child {
  border-bottom: none;
}

.sg-cat-card ul li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--sg-teal);
  font-size: 0.75rem;
  top: 0.38rem;
}

/* Card body text (for pad cards — replaces inline flex:1) */
.sg-cat-card-body {
  flex: 1;
  font-size: 0.92rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
}

/* Card footer */
.sg-cat-card-footer {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sg-border-light);
}

.sg-cat-card-btn {
  display: inline-block;
  color: var(--sg-teal);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--sg-teal);
  border-radius: var(--sg-radius-sm);
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease;
}

.sg-cat-card-btn:hover {
  background: var(--sg-teal);
  color: var(--sg-white) !important;
  text-decoration: none;
}

/* ============================================================
   SUBSECTION (within nail-on / self-adhesive sections)
   ============================================================ */
.sg-cat-subsection {
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  overflow: hidden;
  background: var(--sg-white);
  box-shadow: var(--sg-shadow-sm);
}

.sg-cat-subsection-header {
  background: var(--sg-bg);
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--sg-border);
}

.sg-cat-subsection-body {
  padding: 1.5rem;
}

.sg-cat-subsection-body > p {
  font-size: 0.92rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
  margin: 0 0 0.5rem 0;
}

/* ============================================================
   SIZE TILES (showcase)
   ============================================================ */
.sg-cat-showcase {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 0.75rem;
}

.sg-cat-size-tile {
  background: var(--sg-bg);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  padding: 0.75rem 1rem;
  min-width: 160px;
  flex: 1 1 160px;
  box-shadow: var(--sg-shadow-sm);
}

.sg-cat-size-title {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--sg-ink);
  font-family: 'SF Mono', 'Consolas', monospace;
  letter-spacing: -0.01em;
  margin: 0;
}

.sg-cat-size-desc {
  display: block;
  font-size: 0.78rem;
  color: var(--sg-grey);
  line-height: 1.45;
  margin-top: 0.25rem;
}

/* Spacing helpers */
.sg-cat-mt-md { margin-top: 1.5rem; }
.sg-cat-mt-lg { margin-top: 2rem; }

/* ============================================================
   SIZE REFERENCE TABLE
   ============================================================ */
.sg-cat-table-wrap {
  overflow-x: auto;
  border-radius: var(--sg-radius);
  border: 1px solid var(--sg-border);
  box-shadow: var(--sg-shadow-sm);
}

.sg-cat-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.sg-cat-table thead tr {
  background: var(--sg-teal);
  color: var(--sg-white);
}

.sg-cat-table th {
  padding: 13px 18px;
  text-align: left;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sg-cat-table tbody tr {
  border-bottom: 1px dashed var(--sg-border);
  transition: background 0.15s ease;
}

.sg-cat-table tbody tr:last-child {
  border-bottom: none;
}

.sg-cat-table tbody tr:hover {
  background: var(--sg-teal-xlight);
}

.sg-cat-table tbody tr:nth-child(even) {
  background: var(--sg-bg);
}

.sg-cat-table tbody tr:nth-child(even):hover {
  background: var(--sg-teal-xlight);
}

.sg-cat-table td {
  padding: 12px 18px;
  color: var(--sg-grey-dark);
  vertical-align: middle;
}

.sg-cat-table td:first-child {
  font-weight: 600;
  color: var(--sg-ink);
  font-family: 'SF Mono', 'Consolas', monospace;
  font-size: 0.85rem;
}

.sg-cat-table td a {
  color: var(--sg-teal);
  font-weight: 600;
  text-decoration: none;
  font-size: 0.85rem;
}

.sg-cat-table td a:hover {
  color: var(--sg-teal-dark);
  text-decoration: underline;
}

/* ============================================================
   WHERE THESE GLIDES WORK
   ============================================================ */
.sg-cat-apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: var(--sg-space-md);
}

.sg-cat-app-card {
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.5rem 1.25rem;
  text-align: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: var(--sg-shadow-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sg-cat-app-card:hover {
  border-color: var(--sg-teal);
  box-shadow: var(--sg-shadow);
  transform: translateY(-3px);
}

.sg-cat-app-icon {
  font-size: 1.75rem;
  margin-bottom: 0.625rem;
  display: block;
  text-align: center;
}

.sg-cat-app-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--sg-ink);
  margin: 0 0 0.35rem 0;
  text-align: center;
}

.sg-cat-app-desc {
  font-size: 0.83rem;
  color: var(--sg-grey);
  line-height: 1.55;
  text-align: center;
}

/* ============================================================
   FLOOR COMPATIBILITY GRID
   ============================================================ */
.sg-cat-floors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: var(--sg-space-md);
}

.sg-cat-floor-item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  padding: 0.875rem 1.125rem;
  transition: border-color 0.2s, background 0.2s;
}

.sg-cat-floor-item:hover {
  border-color: var(--sg-teal);
  background: var(--sg-teal-xlight);
}

.sg-cat-floor-check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background: var(--sg-teal);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sg-white);
  font-size: 0.7rem;
  font-weight: 800;
}

.sg-cat-floor-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--sg-ink);
}

/* ============================================================
   COMPARISON SECTION (vs. competitor — used in guide pages)
   "vs. Ours" badge appears top-right on each card.
   Use sg-cat-related-* below for sister-product comparisons
   that should NOT have the badge.
   ============================================================ */
.sg-cat-compare-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
  margin-top: var(--sg-space-md);
}

.sg-cat-compare-card {
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.75rem;
  box-shadow: var(--sg-shadow-sm);
  position: relative;
  overflow: hidden;
}

.sg-cat-compare-card::after {
  content: 'vs. Ours';
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sg-orange);
  background: var(--sg-orange-light);
  border: 1px solid rgba(241,146,38,0.25);
  padding: 2px 8px;
  border-radius: 4px;
}

.sg-cat-compare-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--sg-ink);
  margin: 0 0 0.75rem 0;
}

.sg-cat-compare-desc {
  font-size: 0.88rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
}

/* ============================================================
   RELATED PRODUCT GRID (sister-product comparisons)
   Used for "Glides vs Pads" style cross-references between
   Superior Glide product lines. Same visual treatment as
   compare-card but WITHOUT the "vs. Ours" badge.
   ============================================================ */
.sg-cat-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
  margin-top: var(--sg-space-md);
}

.sg-cat-related-card {
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.75rem;
  box-shadow: var(--sg-shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sg-cat-related-card:hover {
  border-color: var(--sg-teal);
  box-shadow: var(--sg-shadow);
  transform: translateY(-3px);
}

.sg-cat-related-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--sg-ink);
  margin: 0 0 0.75rem 0;
}

.sg-cat-related-title a {
  color: var(--sg-teal);
  text-decoration: none;
  transition: color 0.2s;
}

.sg-cat-related-title a:hover {
  color: var(--sg-teal-dark);
  text-decoration: underline;
}

.sg-cat-related-desc {
  font-size: 0.88rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
}

/* ============================================================
   GUIDES AND RESOURCES
   ============================================================ */
.sg-cat-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: var(--sg-space-md);
  align-items: stretch;
}

.sg-cat-resource-card {
  background: var(--sg-white);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  box-shadow: var(--sg-shadow-sm);
}

.sg-cat-resource-card:hover {
  border-color: var(--sg-teal);
  box-shadow: var(--sg-shadow-md);
  transform: translateY(-3px);
}

.sg-cat-resource-btn {
  display: inline-block;
  margin-top: 1.25rem;
  padding: 0.4rem 1rem;
  font-size: 0.83rem;
  font-weight: 600;
  color: var(--sg-teal);
  background: transparent;
  border: 1px solid var(--sg-teal);
  border-radius: var(--sg-radius-sm);
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
  align-self: flex-start;
  position: relative;
  z-index: 2;
}

.sg-cat-resource-btn:hover {
  background: var(--sg-teal);
  color: var(--sg-white) !important;
  text-decoration: none;
}

.sg-cat-resource-type {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sg-teal);
  background: var(--sg-teal-xlight);
  border: 1px solid rgba(35,123,148,0.2);
  border-radius: 4px;
  padding: 3px 10px;
  display: inline-block;
  margin-bottom: 0.875rem;
  align-self: flex-start;
}

.sg-cat-resource-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--sg-ink);
  margin: 0 0 0.5rem 0;
  line-height: 1.35;
}

.sg-cat-resource-desc {
  font-size: 0.85rem;
  color: var(--sg-grey);
  line-height: 1.6;
  flex: 1;
}

/* ============================================================
   CALLOUT BOXES
   ============================================================ */
.sg-cat-callout {
  border-radius: var(--sg-radius-sm);
  padding: 1.25rem 1.5rem;
  margin-top: 1.5rem;
}

.sg-cat-callout--warn {
  background: #fef3cd;
  border: 1px solid #f0d78c;
}

.sg-cat-callout-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--sg-ink);
  margin: 0 0 0.4rem 0;
}

.sg-cat-callout-text {
  font-size: 0.88rem;
  color: var(--sg-grey-dark);
  line-height: 1.65;
  margin: 0;
}

.sg-cat-callout-text a {
  color: var(--sg-teal);
  font-weight: 600;
  text-decoration: none;
}

.sg-cat-callout-text a:hover {
  color: var(--sg-teal-dark);
  text-decoration: underline;
}

/* ============================================================
   RESPONSIVE — Tablet (≤ 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  .sg-cat-hero,
  .sg-cat-section {
    padding-left: 40px;
    padding-right: 40px;
  }

  .sg-cat-grid,
  .sg-cat-compare-grid,
  .sg-cat-related-grid,
  .sg-cat-resources-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sg-cat-apps-grid,
  .sg-cat-floors-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================================
   RESPONSIVE — Mobile (≤ 768px)
   ============================================================ */
@media (max-width: 768px) {
  .sg-cat-hero {
    padding: 48px 20px 44px;
    text-align: center;
  }

  .sg-cat-hero-inner {
    max-width: 100%;
  }

  .sg-cat-h1 {
    font-size: 2rem;
  }

  .sg-cat-h1::after {
    margin: 0.75rem auto 0;
  }

  .sg-cat-lead {
    font-size: 0.97rem;
    text-align: center;
  }

  .sg-cat-cta {
    justify-content: center;
  }

  .sg-cat-section {
    padding: 3rem 20px;
  }

  /* All grids → single column */
  .sg-cat-grid,
  .sg-cat-compare-grid,
  .sg-cat-related-grid,
  .sg-cat-resources-grid,
  .sg-cat-apps-grid,
  .sg-cat-floors-grid {
    grid-template-columns: 1fr;
  }

  .sg-cat-resource-card {
    width: 100%;
  }

  .sg-cat-resource-type {
    align-self: flex-start;
  }

  .sg-cat-card {
    align-items: center;
    text-align: center;
  }

  .sg-cat-card ul {
    text-align: left;
    width: 100%;
  }

  .sg-cat-card-footer {
    width: 100%;
    text-align: center;
  }

  .sg-cat-card--featured::before {
    font-size: 0.6rem;
  }

  .sg-cat-size-tile {
    min-width: calc(50% - 0.3125rem);
    flex: 1 1 calc(50% - 0.3125rem);
  }
}

/* ============================================================
   RESPONSIVE — Small mobile (≤ 480px)
   ============================================================ */
@media (max-width: 480px) {
  .sg-cat-h1 {
    font-size: 1.8rem;
  }

  .sg-cat-size-tile {
    min-width: 100%;
    flex: 1 1 100%;
  }

  .sg-cat-subsection-body {
    padding: 1rem;
  }

  .sg-cat-table th,
  .sg-cat-table td {
    padding: 10px 12px;
    font-size: 0.82rem;
  }
}

/* ---- Product Category Cards ---- */
.sg-product-card {
  border: 2px solid #ececec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: all 0.2s ease-in-out !important;
}

.sg-product-card:hover {
  border-color: #237B94 !important;
  box-shadow: 0 4px 16px rgba(35,123,148,0.12) !important;
  transform: translateY(-2px) !important;
}

/* ---- Router show/hide ---- */
#hard-floor-options {
  display: none;
}

#hard-floor-question {
  display: none;
}

#hard-floor-options.active {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* ---- Mobile: stack all cards ---- */
@media (max-width: 767px) {
  #floor-type-cards {
    flex-direction: column !important;
    gap: 12px !important;
  }

  #floor-type-cards > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  #hard-floor-options.active {
    flex-direction: column !important;
    gap: 12px !important;
  }

  #hard-floor-options.active > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ---- Tablet: 3 cards fit ---- */
@media (min-width: 768px) and (max-width: 1024px) {
  #hard-floor-options.active > * {
    width: 30% !important;
    min-width: 200px;
  }
}

/* =========================================================================
   SUPERIOR GLIDE — Product Page Content Styles  v3
   =========================================================================
   Scope:  .sg-product-content  (WooCommerce long description)
   Fonts:  Inter (headings + body) · Poppins (specs/badges)
   Palette matched to superiorglide.com homepage
   Zero inline styles required — all styling via classes
   All selectors scoped under .sg-product-content for specificity
   ========================================================================= */


/* --- Tokens --- */
.sg-product-content {
  --sg-teal:            #237B94;
  --sg-teal-light:      #f2f9fb;
  --sg-teal-hover:      #1b6275;
  --sg-teal-border:     rgba(35,123,148,.2);
  --sg-teal-10:         rgba(35,123,148,.08);
  --sg-orange:          #F19226;
  --sg-dark:            #111827;
  --sg-body:            #374151;
  --sg-grey:            #6B7280;
  --sg-grey-light:      #9CA3AF;
  --sg-border:          #ECECEC;
  --sg-border-strong:   #D1D5DB;
  --sg-bg:              #fff;
  --sg-bg-neutral:      #F9FAFB;
  --sg-bg-good:         #F0FDF4;
  --sg-bg-good-border:  #BBF7D0;
  --sg-warn:            #b45309;
  --sg-shadow-sm:       0 1px 3px rgba(0,0,0,.04);
  --sg-shadow:          0 2px 8px rgba(0,0,0,.06);
  --sg-shadow-hover:    0 6px 20px rgba(0,0,0,.10);
  --sg-radius:          8px;
  --sg-radius-sm:       6px;
  --sg-font:            'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --sg-font-spec:       'Poppins','Inter',sans-serif;
}


/* =======================================================================
   CONTAINER
   ======================================================================= */
.sg-product-content {
  font-family: var(--sg-font);
  font-size: 15px;
  line-height: 1.7;
  color: var(--sg-body);
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem;
}


/* =======================================================================
   SECTIONS
   ======================================================================= */
.sg-product-content .sg-pc-section {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 2px solid var(--sg-border);
}
.sg-product-content .sg-pc-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}


/* =======================================================================
   HERO
   ======================================================================= */
.sg-product-content .sg-pc-hero {
  background: var(--sg-bg-neutral);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 2rem 2rem 1.75rem;
  margin-bottom: 2.5rem;
}


/* =======================================================================
   TYPOGRAPHY
   ======================================================================= */
.sg-product-content .sg-pc-h2 {
  font-family: var(--sg-font);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--sg-dark);
  margin: 0 0 1rem;
  letter-spacing: -.01em;
}
.sg-product-content .sg-pc-h3 {
  font-family: var(--sg-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--sg-dark);
  margin: 0 0 .65rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--sg-teal);
  display: inline-block;
}
.sg-product-content .sg-pc-h4 {
  font-family: var(--sg-font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--sg-dark);
  margin: 0 0 .25rem;
}
.sg-product-content .sg-pc-h4--teal  { color: var(--sg-teal); }
.sg-product-content .sg-pc-h4--warn  { color: var(--sg-warn); }

.sg-product-content .sg-pc-p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--sg-body);
  margin: 0 0 .75rem;
}

.sg-product-content .sg-pc-lead {
  font-size: 16px;
  line-height: 1.75;
  color: var(--sg-body);
  margin: 0 0 1rem;
}
.sg-product-content .sg-pc-lead:last-child { margin-bottom: 0; }

.sg-product-content .sg-pc-small {
  font-size: 13px;
  line-height: 1.6;
  color: var(--sg-grey);
  margin: 1.5rem 0 0;
}

/* Imperial size labels inside h4 */
.sg-product-content .sg-pc-imperial {
  font-weight: 400;
  color: var(--sg-grey-light);
}

/* Card body text (tight top margin + flex grow) */
.sg-product-content .sg-pc-card-body {
  margin: .25rem 0 0;
  flex: 1;
}

/* Card internal content push — paragraph grows, button stays at bottom */
.sg-product-content .sg-pc-card > .sg-pc-p,
.sg-product-content .sg-pc-card > .sg-pc-lead {
  flex: 1;
  margin: 0;
}
.sg-product-content .sg-pc-card > .sg-pc-h4 { margin: 0; }
.sg-product-content .sg-pc-card > .sg-pc-btn { margin: 0; }


/* =======================================================================
   LINKS
   ======================================================================= */
.sg-product-content a {
  color: var(--sg-teal);
  text-decoration: underline;
  text-decoration-color: var(--sg-teal-border);
  text-underline-offset: 2px;
  transition: color .15s, text-decoration-color .15s;
}
.sg-product-content a:hover {
  color: var(--sg-teal-hover);
  text-decoration-color: var(--sg-teal-hover);
}
.sg-product-content .sg-pc-link--inherit,
.sg-product-content .sg-pc-link--inherit:link,
.sg-product-content .sg-pc-link--inherit:visited {
  color: inherit !important;
  text-decoration: none !important;
}
.sg-product-content .sg-pc-link--inherit:hover {
  color: var(--sg-teal) !important;
}


/* =======================================================================
   GRIDS
   ======================================================================= */
.sg-product-content .sg-pc-grid { display: grid; gap: 1rem; }
.sg-product-content .sg-pc-grid--cols-2 { grid-template-columns: 1fr 1fr; }
.sg-product-content .sg-pc-grid--cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.sg-product-content .sg-pc-grid--split  { grid-template-columns: 1fr 1fr; gap: 2rem; }
.sg-product-content .sg-pc-grid--tight  { gap: .5rem; }


/* =======================================================================
   CARDS — flex column, space-between for even heading/text/button spacing
   ======================================================================= */
.sg-product-content .sg-pc-card {
  background: var(--sg-bg);
  border: 2px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.5rem 1.5rem;
  box-shadow: var(--sg-shadow-sm);
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.sg-product-content .sg-pc-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sg-shadow-hover);
  border-color: var(--sg-border-strong);
}
.sg-product-content .sg-pc-card--accent {
  border-color: var(--sg-teal);
  background: var(--sg-teal-light);
  box-shadow: 0 2px 12px rgba(35,123,148,.1);
}
.sg-product-content .sg-pc-card--accent:hover {
  border-color: var(--sg-teal);
  transform: none;
}


/* =======================================================================
   PANELS — flex column, space-between for even heading/text/link spacing
   ======================================================================= */
.sg-product-content .sg-pc-panel {
  border: 2px solid var(--sg-border);
  border-radius: var(--sg-radius);
  padding: 1.5rem 1.5rem;
  background: var(--sg-bg);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.sg-product-content .sg-pc-panel > .sg-pc-h4 { margin: 0; }
.sg-product-content .sg-pc-panel > .sg-pc-p { margin: 0; flex: 1; }
.sg-product-content .sg-pc-panel > .sg-pc-panel-link { margin: 0; }
.sg-product-content .sg-pc-panel--neutral {
  background: var(--sg-bg-neutral);
  border-color: var(--sg-border);
}
.sg-product-content .sg-pc-panel--good {
  background: var(--sg-bg-good);
  border-color: var(--sg-bg-good-border);
}
.sg-product-content .sg-pc-panel--current {
  border-color: var(--sg-teal);
  background: var(--sg-teal-light);
}
/* Action link at bottom of panel — distinct from sg-pc-small (grey info text) */
.sg-product-content .sg-pc-panel-link {
  margin: 0;
  padding-top: .5rem;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.sg-product-content .sg-pc-panel-link a {
  text-decoration: none;
}
.sg-product-content .sg-pc-panel-link a:hover {
  text-decoration: underline;
}


/* =======================================================================
   CHIPS — floor compatibility tags
   ======================================================================= */
.sg-product-content .sg-pc-chip {
  border-radius: var(--sg-radius-sm);
  padding: .6rem .9rem;
  font-size: 14px;
  line-height: 1.4;
}
.sg-product-content .sg-pc-chip--good {
  background: var(--sg-bg-good);
  border: 1px solid var(--sg-bg-good-border);
  color: var(--sg-body);
}


/* =======================================================================
   CALLOUTS
   ======================================================================= */
.sg-product-content .sg-pc-callout {
  background: var(--sg-bg-neutral);
  border-left: 4px solid var(--sg-teal);
  border-radius: 0 var(--sg-radius-sm) var(--sg-radius-sm) 0;
  padding: 1rem 1.25rem;
  margin-top: 1.25rem;
  font-size: 14px;
  line-height: 1.65;
  color: var(--sg-body);
}
.sg-product-content .sg-pc-callout strong { color: var(--sg-dark); }


/* =======================================================================
   LISTS
   ======================================================================= */
.sg-product-content .sg-pc-list {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0;
}
.sg-product-content .sg-pc-list li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: .5rem;
  font-size: 15px;
  line-height: 1.6;
  color: var(--sg-body);
}
.sg-product-content .sg-pc-list li::before {
  content: '';
  position: absolute;
  left: 0; top: .55em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--sg-teal);
}


/* =======================================================================
   NUMBERED STEPS
   ======================================================================= */
.sg-product-content .sg-pc-steps {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0;
  counter-reset: sg-step;
}
.sg-product-content .sg-pc-steps li {
  position: relative;
  padding-left: 2.25rem;
  margin-bottom: .85rem;
  font-size: 15px;
  line-height: 1.6;
  color: var(--sg-body);
  counter-increment: sg-step;
}
.sg-product-content .sg-pc-steps li::before {
  content: counter(sg-step);
  position: absolute;
  left: 0; top: .05em;
  width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: var(--sg-teal);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* =======================================================================
   BADGES
   ======================================================================= */
.sg-product-content .sg-pc-badge {
  display: inline-block;
  font-family: var(--sg-font-spec);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sg-teal);
  background: var(--sg-teal-light);
  border: 1px solid var(--sg-teal-border);
  border-radius: 4px;
  padding: 3px 10px;
  margin-left: .5rem;
  vertical-align: middle;
}


/* =======================================================================
   BUTTONS
   sg-btn-secondary style: 4px radius, teal outline
   Uses a.sg-pc-btn for max specificity over theme a:hover overrides
   ======================================================================= */
.sg-product-content a.sg-pc-btn,
.sg-product-content a.sg-pc-btn:link,
.sg-product-content a.sg-pc-btn:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: #237B94 !important;
  background: transparent !important;
  border: 2px solid #237B94 !important;
  border-radius: 4px !important;
  padding: 10px 24px !important;
  min-height: 38px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all .18s ease-in-out !important;
  margin-top: auto;
  align-self: flex-start;
}
.sg-product-content a.sg-pc-btn:hover,
.sg-product-content a.sg-pc-btn:focus {
  background: rgba(35,123,148,.05) !important;
  border-color: #1b6275 !important;
  color: #1b6275 !important;
  text-decoration: none !important;
}

/* Accent card: filled teal with WHITE text — max specificity */
.sg-product-content .sg-pc-card--accent a.sg-pc-btn,
.sg-product-content .sg-pc-card--accent a.sg-pc-btn:link,
.sg-product-content .sg-pc-card--accent a.sg-pc-btn:visited,
.sg-product-content .sg-pc-card--accent a.sg-pc-btn:hover,
.sg-product-content .sg-pc-card--accent a.sg-pc-btn:focus {
  background: #237B94 !important;
  color: #ffffff !important;
  border-color: #237B94 !important;
  cursor: default !important;
  pointer-events: none;
  opacity: .85;
}


/* =======================================================================
   COMPARISON ROWS
   ======================================================================= */
.sg-product-content .sg-pc-compare { display: flex; flex-direction: column; }
.sg-product-content .sg-pc-compare-row {
  padding: 1.5rem 0 1.5rem 1.25rem;
  border-bottom: 1px solid var(--sg-border);
  border-left: 3px solid var(--sg-border);
  background: transparent;
  transition: border-left-color .2s, background .2s;
}
.sg-product-content .sg-pc-compare-row:hover {
  border-left-color: var(--sg-teal);
  background: linear-gradient(90deg, var(--sg-teal-10) 0%, transparent 40%);
}
.sg-product-content .sg-pc-compare-row:last-child { border-bottom: none; padding-bottom: 0; }
.sg-product-content .sg-pc-compare-row .sg-pc-h4 {
  color: var(--sg-teal);
  font-size: 17px;
  font-weight: 700;
  margin-bottom: .5rem;
}


/* =======================================================================
   STACKS & BLOCKS (materials section + related products)
   ======================================================================= */
.sg-product-content .sg-pc-stack { display: flex; flex-direction: column; gap: 2.25rem; }
.sg-product-content .sg-pc-block {
  padding-left: 1.25rem;
  border-left: 3px solid var(--sg-border);
  transition: border-color .2s;
}
.sg-product-content .sg-pc-block:hover { border-left-color: var(--sg-teal); }
.sg-product-content .sg-pc-block .sg-pc-h4 { margin-bottom: .5rem; }
.sg-product-content .sg-pc-block--flex {
  display: flex;
  flex-direction: column;
}
.sg-product-content .sg-pc-block--flex .sg-pc-related { margin-top: auto; }

/* Measurement step cards */
.sg-product-content .sg-pc-feature {
  background: var(--sg-bg-neutral);
  border-radius: var(--sg-radius-sm);
  padding: 1rem 1.25rem;
  border: 1px solid var(--sg-border);
}


/* =======================================================================
   RELATED PRODUCTS
   ======================================================================= */
.sg-product-content .sg-pc-related { margin-top: .75rem; }
.sg-product-content .sg-pc-related a {
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
}
.sg-product-content .sg-pc-related a:hover { text-decoration: underline; }

.sg-product-content .sg-pc-related--centered {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem .75rem;
}
.sg-product-content .sg-pc-related--centered a {
  font-weight: 500;
  font-size: 13.5px;
  background: var(--sg-bg-neutral);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  padding: .5rem .9rem;
  transition: background .15s, border-color .15s;
}
.sg-product-content .sg-pc-related--centered a:hover {
  background: var(--sg-teal-light);
  border-color: var(--sg-teal-border);
  text-decoration: none;
}

/* Sub-group wrapper inside Related Products section */
.sg-product-content .sg-pc-related-group {
  margin-top: 2.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--sg-border);
}
.sg-product-content .sg-pc-related-group:first-of-type {
  margin-top: 1.75rem;
}
.sg-product-content .sg-pc-related-group > .sg-pc-h4 {
  margin-bottom: .75rem;
}


/* =======================================================================
   SPACING UTILITIES
   ======================================================================= */
.sg-product-content .sg-pc-mt-sm  { margin-top: .5rem; }
.sg-product-content .sg-pc-mt     { margin-top: 1.25rem; }


/* =======================================================================
   RESPONSIVE
   ======================================================================= */
@media (max-width: 1024px) {
  .sg-product-content .sg-pc-grid--cols-3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .sg-product-content { padding: 0 .75rem; }
  .sg-product-content .sg-pc-hero { padding: 1.5rem 1.25rem; }
  .sg-product-content .sg-pc-h2 { font-size: 24px; }
  .sg-product-content .sg-pc-h3 { font-size: 19px; }
  .sg-product-content .sg-pc-section { margin-bottom: 2rem; padding-bottom: 2rem; }
  .sg-product-content .sg-pc-card,
  .sg-product-content .sg-pc-panel { padding: 1rem 1.15rem; }
  .sg-product-content .sg-pc-grid--cols-2,
  .sg-product-content .sg-pc-grid--cols-3,
  .sg-product-content .sg-pc-grid--split { grid-template-columns: 1fr; }
  .sg-product-content .sg-pc-compare-row { padding-left: .85rem; }
  .sg-product-content .sg-pc-block { padding-left: .85rem; }
}
/* Force left-align on all product content text */
.sg-pc-section,
.sg-pc-section p,
.sg-pc-section li,
.sg-pc-section ul,
.sg-pc-section ol,
.sg-pc-card,
.sg-pc-panel,
.sg-pc-compare-row {
  text-align: left !important;
}

/* =======================================================================
   SUPERIOR GLIDE — FAQ Accordion
   ======================================================================= */
.sg-faqs {
  max-width: 960px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.sg-faq {
  border-bottom: 1px solid #ECECEC;
}
.sg-faq:last-child {
  border-bottom: none;
}

.sg-faq__q {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: #111827;
  padding: 20px 40px 20px 0;
  cursor: pointer;
  position: relative;
  list-style: none;
}

.sg-faq__q::-webkit-details-marker { display: none; }
.sg-faq__q::marker { display: none; content: ''; }

.sg-faq__q::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23237B94' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform .2s ease;
}
.sg-faq[open] .sg-faq__q::after {
  transform: translateY(-50%) rotate(180deg);
}

.sg-faq__a {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
  padding: 0 0 20px;
}
.sg-faq__a p {
  margin: 0 0 .5rem;
}
.sg-faq__a p:last-child {
  margin-bottom: 0;
}
.sg-faq__a a {
  color: #237B94;
  text-decoration: underline;
  text-decoration-color: rgba(35,123,148,.2);
  text-underline-offset: 2px;
}
.sg-faq__a a:hover {
  color: #1b6275;
  text-decoration-color: #1b6275;
}

.sg-faq__q:hover {
  color: #237B94;
}

@media (max-width: 768px) {
  .sg-faq__q {
    font-size: 15px;
    padding: 16px 36px 16px 0;
  }
  .sg-faq__a {
    font-size: 14px;
    padding: 0 0 16px;
  }
  .sg-faq__q::after {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 480px) {
  .sg-faq__q {
    font-size: 14px;
    padding: 14px 32px 14px 0;
  }
  .sg-faq__a {
    font-size: 14px;
    padding: 0 0 14px;
  }
}

/* =======================================================================
   SUPERIOR GLIDE — Trust Bar + Helper Text
   ======================================================================= */

/* Size help link */
.sg-size-help {
  margin: 8px 0 16px;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 14px;
  color: #6B7280;
}

.sg-size-help a {
  color: #237B94;
  text-decoration: underline;
  text-decoration-color: rgba(35,123,148,.3);
  text-underline-offset: 2px;
}

.sg-size-help a:hover {
  color: #1b6275;
  text-decoration-color: #1b6275;
}

/* Pack note */
.sg-pack-note {
  margin: 0 0 12px;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 14px;
  color: #6B7280;
  line-height: 1.4;
}

/* B2B inline link — quiet path for early-page volume buyers */
.sg-b2b-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  padding: 8px 12px;
  background: #FAF7F1;
  border: 1px solid #ECECEC;
  border-radius: 6px;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 13.5px;
  color: #4B5563;
  line-height: 1.4;
}

.sg-b2b-inline svg {
  color: #237B94;
  flex-shrink: 0;
}

.sg-b2b-inline a {
  color: #237B94;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(35,123,148,.3);
  text-underline-offset: 2px;
  margin-left: 2px;
}

.sg-b2b-inline a:hover {
  color: #1b6275;
  text-decoration-color: #1b6275;
}

@media (max-width: 480px) {
  .sg-b2b-inline {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Trust bar */
.sg-trust-bar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  background: #F9FAFB;
  border: 1px solid #ECECEC;
  border-radius: 8px;
  padding: 14px 16px;
  margin-top: 16px;
  width: fit-content;
}

.sg-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sg-trust-item svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.sg-trust-item span {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}

.sg-trust-item a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.sg-trust-item a span {
  color: #374151;
  transition: color .15s;
}

.sg-trust-item a:hover span {
  color: #237B94;
}

.sg-trust-item a svg path {
  transition: fill .15s;
}

.sg-trust-item a:hover svg path {
  fill: #1b6275;
}

@media (max-width: 480px) {
  .sg-trust-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
    width: 100%;
  }
}

/* Force add to cart row to wrap */
.single-product .woocommerce-variation-add-to-cart {
  flex-wrap: wrap !important;
}

/* Quantity helper */
.sg-qty-helper {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 12px;
  color: #9CA3AF;
  margin: 10px 0 0;
  line-height: 1.4;
  width: 100%;
  flex-basis: 100%;
  order: 99;
}

/* Newsletter form — inline on desktop, stacked on mobile */
.footer-outer .elementor-form {
  width: 100% !important;
  max-width: 600px;
  margin: 0 auto;
}

.footer-outer .elementor-form-fields-wrapper {
  display: flex !important;
  width: 100% !important;
  gap: 10px;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap !important;
}

.footer-outer .elementor-field-group {
  flex: 1 1 0 !important;
  min-width: 0;
}

.footer-outer .elementor-field-group:not(.elementor-field-type-submit) {
  min-width: 160px;
}

.footer-outer .elementor-field-group.elementor-field-type-submit {
  flex: 0 0 auto !important;
}

.footer-outer .elementor-field,
.footer-outer .elementor-button {
  width: 100%;
}

@media (max-width: 767px) {
  .footer-outer .elementor-form-fields-wrapper {
    flex-wrap: wrap !important;
  }
  .footer-outer .elementor-field-group {
    flex: 0 0 100% !important;
    min-width: 0 !important;
  }
  .footer-outer .elementor-field-group.elementor-field-type-submit {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .footer-outer .elementor-field-group.elementor-field-type-submit .elementor-button {
    width: 100% !important;
  }
}

/* ============================================================
   1) DESKTOP STICKY SIDEBAR
   ============================================================ */
@media (min-width: 1025px) {
  .sg-sticky-sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px !important;
    z-index: 100;
    height: fit-content;
  }
}

/* ============================================================
   2) ACCORDION HEADERS (DESKTOP + MOBILE)
   ============================================================ */
.facetwp-facet-label, .facet-accordion h3, .facet-wrap > h3, .facetwp-flyout-content h3 {
  position: relative !important;
  display: block !important;
  border-bottom: 1px solid #ececec !important;
  padding: 12px 35px 12px 0 !important;
  margin: 0 0 10px 0 !important;
  color: #00334e !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.facet-wrap > h3.has-selections,
.facetwp-flyout .flyout-row > h3.has-selections {
  background-color: #f0f8fa !important;
  color: #237B94 !important;
}

.facetwp-facet-label::after, .facet-accordion h3::after, .facet-wrap > h3::after, .facetwp-flyout-content h3::after {
  content: '\2b' !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: transform 0.2s ease !important;
}

.facet-wrap > h3.active::after,
.facetwp-flyout .flyout-row > h3.active::after {
  content: '\2212' !important;
  transform: translateY(-50%) rotate(0deg) !important;
}

.facet-wrap > h3 .selection-count,
.facetwp-flyout .flyout-row > h3 .selection-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 6px !important;
  margin-left: 8px !important;
  background: #237B94 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}

/* ============================================================
   3) DESKTOP ACCORDION
   ============================================================ */
@media (min-width: 1025px) {
  .facet-wrap > h3.active ~ .facetwp-facet {
    display: block !important;
  }
}

/* ============================================================
   4) MOBILE FLYOUT ACCORDION
   ============================================================ */
@media (max-width: 1024px) {
  .facetwp-flyout .flyout-item {
    display: none;
  }

  .facetwp-flyout .flyout-row > h3.active ~ .flyout-item {
    display: block !important;
  }
}

/* ============================================================
   5) ALWAYS VISIBLE: Pager, Reset, Selections
   ============================================================ */
.facetwp-facet.facetwp-type-pager,
.facetwp-facet.facetwp-type-reset,
.facetwp-selections,
.name-sg_reset_all .flyout-item,
[data-name="reset_all"] .facetwp-facet {
  display: block !important;
}

[class*="reset_all"] h3,
[class*="reset_all"] .facetwp-facet-label,
.facetwp-type-reset h3 {
  display: none !important;
  border: none !important;
}

/* ============================================================
   6) SCROLLABLE FACETS
   ============================================================ */
[data-name="sg_floor_type"],
[data-name="sg_size"],
[data-name="sg_feature"],
[data-name="sg_color"] {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 8px !important;
}

[data-name="sg_floor_type"]::-webkit-scrollbar,
[data-name="sg_size"]::-webkit-scrollbar,
[data-name="sg_feature"]::-webkit-scrollbar,
[data-name="sg_color"]::-webkit-scrollbar {
  width: 6px;
}

[data-name="sg_floor_type"]::-webkit-scrollbar-track,
[data-name="sg_size"]::-webkit-scrollbar-track,
[data-name="sg_feature"]::-webkit-scrollbar-track,
[data-name="sg_color"]::-webkit-scrollbar-track {
  background: #f4f4f4;
  border-radius: 3px;
}

[data-name="sg_floor_type"]::-webkit-scrollbar-thumb,
[data-name="sg_size"]::-webkit-scrollbar-thumb,
[data-name="sg_feature"]::-webkit-scrollbar-thumb,
[data-name="sg_color"]::-webkit-scrollbar-thumb {
  background: #c4c4c4;
  border-radius: 3px;
}

[data-name="sg_floor_type"]::-webkit-scrollbar-thumb:hover:hover,
[data-name="sg_size"]::-webkit-scrollbar-thumb:hover,
[data-name="sg_feature"]::-webkit-scrollbar-thumb:hover,
[data-name="sg_color"]::-webkit-scrollbar-thumb:hover {
  background: #999;
}

.sg-custom-search {
  width: 100% !important;
  border: 1px solid #ececec !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  margin-bottom: 12px !important;
  background: #ffffff !important;
  font-size: 14px !important;
  color: #00334e !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}

.sg-custom-search:focus {
  border-color: #237B94 !important;
}

@media (max-width: 1024px) {
  .facetwp-flyout .sg-custom-search {
    margin: 0 0 12px 0 !important;
  }

  .facetwp-flyout [data-name="sg_floor_type"],
  .facetwp-flyout   .facetwp-flyout [data-name="sg_size"],
  .facetwp-flyout [data-name="sg_feature"],
  .facetwp-flyout [data-name="sg_color"] {
    max-height: 200px !important;
  }
}

/* ============================================================
   7) USER SELECTION PILLS (desktop + flyout)
   ============================================================ */
.facetwp-selections .facetwp-selection-label { display: none !important; }

.facetwp-selections {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px 12px !important;
  margin: 20px 0 30px 0 !important;
  width: 100% !important;
}

.facetwp-selection-value {
  background: #f4f4f4 !important;
  color: #00334e !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 1px solid #237B94 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  margin-bottom: 5px !important;
  transition: all 0.2s ease !important;
}

.facetwp-selection-value:hover {
  background: #237B94 !important;
  color: #ffffff !important;
}

.facetwp-selection-value:after {
  content: "\00d7" !important;
  margin-left: 12px !important;
  font-size: 20px !important;
  color: #237B94 !important;
  line-height: 1 !important;
  display: inline-block !important;
  transition: color 0.2s ease !important;
}

.facetwp-selection-value:hover:after {
  color: #ffffff !important;
}

@media (max-width: 1024px) {
  .facetwp-flyout .sg-flyout-selections {
    padding: 10px 0 14px 0 !important;
    border-bottom: 1px solid #ececec !important;
    margin-bottom: 12px !important;
    display: none;
  }
  .facetwp-flyout .sg-flyout-pending {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}

/* ============================================================
   8) MOBILE FLYOUT BUTTON + CLOSE ICON
   ============================================================ */
@media (max-width: 1024px) {
  .facetwp-flyout-open {
    position: fixed !important;
    bottom: 25px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 9999 !important;
    background: #237B94 !important;
    padding: 10px 25px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  }

  .facetwp-flyout-open button, .facetwp-flyout-open .elementor-button {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 !important;
  }

  .facetwp-flyout-close {
    position: absolute !important;
    font-size: 40px !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 10px !important;
    right: 15px !important;
    color: #00334e !important;
    cursor: pointer !important;
    z-index: 100 !important;
  }

  .facetwp-flyout-close::after,
  .facetwp-flyout-close::before {
    content: none !important;
    display: none !important;
  }

  .facetwp-flyout .facetwp-flyout-content {
    padding-top: 60px !important;
  }

  .facetwp-flyout::after,
  .facetwp-flyout::before,
  .facetwp-flyout.active::after,
  .facetwp-flyout.active::before {
    content: none !important;
    display: none !important;
  }
}

/* ============================================================
   9) FLYOUT APPLY + RESET BAR (MOBILE)
   ============================================================ */
@media (max-width: 1024px) {
  .facetwp-flyout .facetwp-flyout-content { padding-bottom: 110px !important; }

  .facetwp-flyout .sg-fwp-controls {
    position: sticky !important;
    bottom: 0 !important;
    left: 0;
    right: 0;
    z-index: 99999 !important;
    display: flex !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border-top: 1px solid #ececec !important;
  }

  .facetwp-flyout .sg-fwp-controls .sg-fwp-reset {
    flex: 1 1 auto !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    border: 2px solid #237B94 !important;
    background: transparent !important;
    color: #237B94 !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  .facetwp-flyout .sg-fwp-controls .sg-fwp-reset:hover {
    background: #f0f8fa !important;
  }

  .facetwp-flyout .sg-fwp-controls .sg-fwp-apply {
    flex: 1 1 auto !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #237B94 !important;
    color: #ffffff !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12) !important;
    transition: all 0.2s ease !important;
  }

  .facetwp-flyout .sg-fwp-controls .sg-fwp-apply:hover {
    background: #1d6478 !important;
  }
}

/* ============================================================
   10) DESKTOP: RESET + LOAD MORE BUTTONS
   ============================================================ */
@media (min-width: 1025px) {
  .facetwp-reset {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    border: 2px solid #237B94 !important;
    background: transparent !important;
    color: #237B94 !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
  }

  .facetwp-reset:hover {
    background: #f0f8fa !important;
  }

  .facetwp-reset::after { display: none !important; content: none !important; }

  .facetwp-load-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #237B94 !important;
    color: #ffffff !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
    transition: all 0.2s ease !important;
  }

  .facetwp-load-more:hover {
    background: #1d6478 !important;
  }
}

.facetwp-counter {
    display: none !important;
}
/* ============================================================
   11) COLLAPSE HIDDEN FACET-WRAP GAPS
   ============================================================ */
.facet-wrap[style*="display: none"],
.facet-wrap[style*="display:none"] {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

.product_meta .sku_wrapper {
    display: none;
}

@media print {
    /* Hide all site chrome */
    header,
    footer,
    .site-header,
    .site-footer,
    .main-navigation,
    .woocommerce-breadcrumb,
    .sg-sticky-nav,
    .elementor-location-header,
    .elementor-location-footer,
    form.cart,
    .cart-collaterals,
    .product_meta,
    .woocommerce-tabs ul.tabs,
    .related.products,
    .upsells,
    #sg-reviews,
    .woocommerce-Reviews,
    .newsletter-section,
    #wpadminbar,
    .sg-trust-bar,
    .b2bking-wrapper,
    .fibosearch-bar,
    .sg-pc-btn,
    .sg-pc-related,
    .sg-pc-related-group,
    .sg-pc-panel-link {
        display: none !important;
    }

    /* Clean up body */
    body {
        font-size: 11pt;
        line-height: 1.5;
        color: #000 !important;
        background: #fff !important;
        margin: 0;
        padding: 0;
    }

    /* Make links black, no underlines */
    a {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* Force all containers full width */
    .elementor-widget-wrap,
    .elementor-element,
    .elementor-container,
    .elementor-column,
    .elementor-column-wrap,
    .elementor-widget,
    .sg-product-content,
    .sg-pc-section,
    .sg-pc-hero {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Force single column on all grids */
    .sg-pc-grid,
    .sg-pc-grid--cols-2,
    .sg-pc-grid--cols-3,
    .sg-pc-grid--split {
        display: block !important;
        width: 100% !important;
    }

    .sg-pc-grid > div,
    .sg-pc-grid > * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin-bottom: 0.5rem;
    }

    /* Fix lists */
    ul, ol,
    .sg-pc-list,
    .sg-pc-steps {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1.5em !important;
    }

    .sg-pc-list li,
    .sg-pc-steps li {
        width: 100% !important;
        max-width: 100% !important;
        display: list-item !important;
    }

    /* Remove decorative styling from cards/panels */
    .sg-pc-card,
    .sg-pc-panel,
    .sg-pc-callout,
    .sg-pc-chip,
    .sg-pc-block,
    .sg-pc-compare-row {
        border: 1px solid #ccc !important;
        box-shadow: none !important;
        background: #fff !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Accent cards lose color */
    .sg-pc-card--accent,
    .sg-pc-panel--current {
        border-color: #999 !important;
        background: #f9f9f9 !important;
    }

    /* Floor chips inline */
    .sg-pc-grid--tight {
        display: block !important;
    }

    .sg-pc-chip {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0.25rem;
    }

    /* Keep images but limit width */
    img {
        max-width: 100% !important;
    }

    /* Page break control — both syntaxes for Firefox + Chrome */
    h2, h3 {
        page-break-after: avoid;
        break-after: avoid;
    }

    .sg-pc-section {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}

/* =========================================================================
   SUPERIOR GLIDE — Homepage Final CSS
   Single consolidated stylesheet for all homepage sections.
   Replaces all previous SG hero / homepage v2 / shop snippets.
   ========================================================================= */


/* =========================================================================
   1. HERO SECTION (sg-hero-2026)
   Full-bleed environmental dining-room photo with white text overlay.
   ========================================================================= */

.sg-hero-2026 {
    position: relative;
    overflow: hidden;
    width: 100%;
}

/* Soft vignette darkening the left side of the photo where the headline sits.
   Layered ON TOP of Elementor's gradient overlay. */
.sg-hero-2026::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        ellipse at 28% 50%,
        rgba(0, 0, 0, 0.30) 0%,
        rgba(0, 0, 0, 0) 65%
    );
    pointer-events: none;
    z-index: 1;
}

.sg-hero-2026 > .e-con-inner,
.sg-hero-2026 .sg-hero-2026__content {
    position: relative;
    z-index: 2;
}

.sg-hero-2026__content {
    max-width: 640px;
}

.sg-hero-2026__h1 {
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}

.sg-hero-2026__sub p {
    margin: 0 !important;
    max-width: 580px;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.sg-hero-2026__trust {
    margin: 22px 0 0 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.sg-hero-2026__dot {
    opacity: 0.5;
    font-size: 0.9em;
    line-height: 1;
}


/* =========================================================================
   2. SHOP BY TYPE SECTION (sg-shop-2026)
   Six product router cards with cream image panel + white body.
   ========================================================================= */

.sg-shop-2026 {
    overflow: hidden;
}

.sg-shop-card {
    overflow: hidden;
    transition: transform 0.25s cubic-bezier(0.16, 0.84, 0.32, 1),
                box-shadow 0.25s ease,
                border-color 0.25s ease;
    will-change: transform;
    cursor: pointer;
    text-decoration: none !important;
}

.sg-shop-card:hover {
    transform: translateY(-4px);
    border-color: #D5C7AE !important;
}

.sg-shop-card:hover .e-con-inner {
    box-shadow: 0 12px 28px rgba(35, 123, 148, 0.10) !important;
}

.sg-shop-card__img-wrap {
    transition: background-color 0.25s ease;
}

.sg-shop-card:hover .sg-shop-card__img-wrap {
    background-color: #F5F0E5 !important;
}

.sg-shop-card__img img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 180px !important;
    width: auto !important;
    object-fit: contain;
    transition: transform 0.4s cubic-bezier(0.16, 0.84, 0.32, 1);
}

.sg-shop-card:hover .sg-shop-card__img img {
    transform: scale(1.04);
}

.sg-shop-card__body p {
    margin: 0 !important;
}

.sg-shop-card__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #237B94;
    margin: 0 !important;
}

.sg-shop-card__title {
    margin: 0 !important;
}

.sg-shop-card__link {
    font-family: 'Inter', sans-serif;
    font-size: 14px !important;
    font-weight: 600;
    color: #237B94;
    margin-top: 8px !important;
    transition: color 0.2s ease;
}

.sg-shop-card__arrow {
    display: inline-block;
    margin-left: 4px;
    transition: transform 0.25s cubic-bezier(0.16, 0.84, 0.32, 1);
}

.sg-shop-card:hover .sg-shop-card__link {
    color: #1B6275;
}

.sg-shop-card:hover .sg-shop-card__arrow {
    transform: translateX(4px);
}


/* =========================================================================
   3. PROOF SECTION (sg-proof-2026)
   Three testimonial cards with environmental photos + stats row.
   ========================================================================= */

.sg-proof-2026 {
    overflow: hidden;
}

.sg-proof-card {
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    will-change: transform;
}

.sg-proof-card:hover {
    transform: translateY(-3px);
}

.sg-proof-card:hover .e-con-inner > div {
    box-shadow: 0 12px 32px rgba(35, 123, 148, 0.10) !important;
}

.sg-proof-card__img {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.sg-proof-card__img img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-top-left-radius: 11px;
    border-top-right-radius: 11px;
}

.sg-proof-card__body {
    padding: 28px !important;
}

.sg-proof-card__quote::before {
    content: "\201C";
    display: block;
    font-family: 'Georgia', serif;
    font-size: 56px;
    line-height: 0.5;
    margin-top: 12px;
    margin-bottom: 12px;
    color: #F19226;
    opacity: 0.5;
}

.sg-proof-card__quote p {
    margin: 0 !important;
}

.sg-proof-card__attribution {
    margin-top: 4px !important;
    padding-top: 16px !important;
    border-top: 1px solid #E8DFD2;
}

.sg-proof-card__attribution p {
    margin: 0 !important;
    line-height: 1.4;
}

.sg-proof-card__name {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #1F2937;
}

.sg-proof-card__org {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #6B7280;
    margin-top: 2px !important;
}

.sg-proof-stat__num {
    margin: 0 !important;
}


/* =========================================================================
   4. FINAL CTA SECTION (sg-finalcta-2026)
   Dark environmental hero, smaller than main hero, evening dining room.
   ========================================================================= */

.sg-finalcta-2026 {
    position: relative;
    overflow: hidden;
}

.sg-finalcta-2026::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        ellipse at 50% 50%,
        rgba(0, 0, 0, 0.20) 0%,
        rgba(0, 0, 0, 0) 70%
    );
    pointer-events: none;
    z-index: 1;
}

.sg-finalcta-2026 > .e-con-inner,
.sg-finalcta-2026 .sg-finalcta-2026__content {
    position: relative;
    z-index: 2;
}

.sg-finalcta-2026__h2 {
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.sg-finalcta-2026__sub p {
    margin: 0 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}


/* =========================================================================
   5. BUTTON OVERRIDES FOR DARK SECTIONS
   Your global sg-btn-secondary uses teal-on-light. On dark photo backgrounds,
   that combination has poor contrast. These rules override the secondary's
   color ONLY when inside the hero or final CTA. Global system stays clean.
   ========================================================================= */

/* Hero — primary button gets stronger shadow to lift off the photo */
.sg-hero-2026 .sg-btn-primary .elementor-button {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30) !important;
}
.sg-hero-2026 .sg-btn-primary .elementor-button:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.40) !important;
}

/* Hero — secondary becomes white outline */
.sg-hero-2026 .sg-btn-secondary .elementor-button,
.sg-hero-2026 .sg-btn-secondary .elementor-button:link,
.sg-hero-2026 .sg-btn-secondary .elementor-button:visited {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    color: #ffffff !important;
}
.sg-hero-2026 .sg-btn-secondary .elementor-button:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #1A1A1A !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}
.sg-hero-2026 .sg-btn-secondary .elementor-button:active {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    color: #1A1A1A !important;
}

/* Final CTA — same overrides as hero */
.sg-finalcta-2026 .sg-btn-primary .elementor-button {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30) !important;
}
.sg-finalcta-2026 .sg-btn-primary .elementor-button:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.40) !important;
}

.sg-finalcta-2026 .sg-btn-secondary .elementor-button,
.sg-finalcta-2026 .sg-btn-secondary .elementor-button:link,
.sg-finalcta-2026 .sg-btn-secondary .elementor-button:visited {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    color: #ffffff !important;
}
.sg-finalcta-2026 .sg-btn-secondary .elementor-button:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #1A1A1A !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}
.sg-finalcta-2026 .sg-btn-secondary .elementor-button:active {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    color: #1A1A1A !important;
}


/* =========================================================================
   6. CREAM-ON-CREAM SEPARATOR
   When two cream sections sit back-to-back (e.g. Comparison + Materials,
   or Proof + FAQ), a hairline divider keeps them from blurring together.
   The .sg-cream class is added to all editorial cream-background sections.
   ========================================================================= */

.sg-cream + .sg-cream {
    position: relative;
}

.sg-cream + .sg-cream::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(213, 199, 174, 0) 0%,
        rgba(213, 199, 174, 0.6) 50%,
        rgba(213, 199, 174, 0) 100%
    );
    pointer-events: none;
    z-index: 1;
}


/* =========================================================================
   7. RESPONSIVE BREAKPOINTS
   ========================================================================= */

/* Laptop (1025–1365px) */
@media (max-width: 1024px) {
    .sg-hero-2026 {
        background-position: 65% center !important;
    }
    .sg-hero-2026__content {
        max-width: 560px;
    }
    .sg-shop-card__img img {
        max-height: 160px !important;
    }
    .sg-proof-card__body {
        padding: 24px !important;
    }
}

/* Tablet portrait (768–880px) */
@media (max-width: 880px) {
    .sg-hero-2026::after {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.18) 0%,
            rgba(0, 0, 0, 0.50) 100%
        );
    }
    .sg-finalcta-2026 {
        background-position: 50% center !important;
    }
    .sg-finalcta-2026::after {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.20) 0%,
            rgba(0, 0, 0, 0.50) 100%
        );
    }
}

/* Mobile (under 600px) */
@media (max-width: 600px) {
    /* Hero */
    .sg-hero-2026__content {
        max-width: 100%;
    }
    .sg-hero-2026__h1 {
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6) !important;
    }
    .sg-hero-2026__sub p {
        text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
    }
    .sg-hero-2026__buttons .elementor-button {
        width: 100%;
        justify-content: center;
    }

    /* Shop cards */
    .sg-shop-card__img img {
        max-height: 140px !important;
    }
    .sg-shop-card__title {
        font-size: 18px !important;
    }
    /* Disable hover on touch — looks weird when tap stays active */
    .sg-shop-card:hover {
        transform: none;
    }
    .sg-shop-card:hover .sg-shop-card__img img {
        transform: none;
    }

    /* Proof cards */
    .sg-proof-card__body {
        padding: 20px !important;
    }
    .sg-proof-card__quote::before {
        font-size: 44px;
        margin-bottom: 8px;
    }

    /* Final CTA */
    .sg-finalcta-2026__h2 {
        text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55) !important;
    }
    .sg-finalcta-2026__sub p {
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
    }
    .sg-finalcta-2026__buttons .elementor-button {
        width: 100%;
        justify-content: center;
    }

    /* Cream-on-cream separator gets thinner on mobile */
    .sg-cream + .sg-cream::before {
        width: 60px;
    }
}


/* =========================================================================
   8. ENTRANCE ANIMATIONS
   Soft fade-up on hero load and on first scroll-into-view for cards.
   Disabled when user prefers reduced motion.
   ========================================================================= */

/* Hero animation — runs on page load */
.sg-hero-2026__h1,
.sg-hero-2026__sub p,
.sg-hero-2026__buttons,
.sg-hero-2026__trust {
    opacity: 0;
    transform: translateY(12px);
    animation: sgHeroFade 0.9s cubic-bezier(0.16, 0.84, 0.32, 1) forwards;
    will-change: opacity, transform;
}
.sg-hero-2026__h1     { animation-delay: 0.10s; }
.sg-hero-2026__sub p  { animation-delay: 0.28s; }
.sg-hero-2026__buttons { animation-delay: 0.46s; }
.sg-hero-2026__trust  { animation-delay: 0.62s; }

@keyframes sgHeroFade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Card stagger animations — run on first paint */
@media (prefers-reduced-motion: no-preference) {
    .sg-shop-card,
    .sg-proof-card {
        opacity: 0;
        transform: translateY(16px);
        animation: sgCardFade 0.7s cubic-bezier(0.16, 0.84, 0.32, 1) forwards;
    }
    .sg-shop-grid > .sg-shop-card:nth-child(1) { animation-delay: 0.05s; }
    .sg-shop-grid > .sg-shop-card:nth-child(2) { animation-delay: 0.12s; }
    .sg-shop-grid > .sg-shop-card:nth-child(3) { animation-delay: 0.19s; }
    .sg-shop-grid > .sg-shop-card:nth-child(4) { animation-delay: 0.26s; }
    .sg-shop-grid > .sg-shop-card:nth-child(5) { animation-delay: 0.33s; }
    .sg-shop-grid > .sg-shop-card:nth-child(6) { animation-delay: 0.40s; }
    .sg-proof-cards > .sg-proof-card:nth-child(1) { animation-delay: 0.05s; }
    .sg-proof-cards > .sg-proof-card:nth-child(2) { animation-delay: 0.15s; }
    .sg-proof-cards > .sg-proof-card:nth-child(3) { animation-delay: 0.25s; }
}

@keyframes sgCardFade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduced motion — turn animations off */
@media (prefers-reduced-motion: reduce) {
    .sg-hero-2026__h1,
    .sg-hero-2026__sub p,
    .sg-hero-2026__buttons,
    .sg-hero-2026__trust {
        opacity: 1;
        transform: none;
        animation: none;
    }
}


/* =========================================================================
   9. COMPARISON SECTION IMAGE PANELS
   Cream-panel framing around the Superior Glide vs cheap-product images
   in the Comparison section.
   ========================================================================= */

.sg-comparison-panel {
    transition: background-color 0.25s ease;
}

.sg-comparison-img img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
    width: auto !important;
    object-fit: contain;
}

/* Placeholder treatment — when the felt-pad image hasn't been uploaded yet,
   the broken image fallback shows a dashed outline with helper text.
   Remove this rule once the real image is wired in. */
.sg-comparison-panel--bad .sg-comparison-img img[src*="SG_competitor_worn-felt-pad"] {
    opacity: 0.4;
}
.sg-comparison-panel--bad::after {
    content: "Cheap-felt-pad image pending";
    display: block;
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #6B7280;
    opacity: 0.6;
}
/* Once you wire the real image (replace placeholder URL with real upload),
   delete the two rules above. The image will render normally. */

/* Mobile — smaller panels */
@media (max-width: 600px) {
    .sg-comparison-img img {
        max-height: 120px !important;
    }
}

/* ============================================================
   SG — Buttons On Dark
   ============================================================
   Purpose: When a section has the .sg-on-dark class, flip the
   .sg-btn-secondary visual treatment so it remains visible
   against a dark/colored background.

   Default global secondary = teal outline + teal text + white fill on hover.
   On-dark secondary       = white outline + white text + white fill on hover (dark text).

   Sections currently using sg-on-dark:
   - Business Solutions hero (dark image overlay)
   - Business Solutions final CTA (teal #237B94 background)

   To use: add `sg-on-dark` to any section's CSS classes that has
   a dark or colored background. The override applies automatically.

   IMPORTANT: This MUST be loaded AFTER your global SG button CSS.
   In Code Snippets Pro, set this snippet's priority HIGHER than
   the global button snippet (or add it as a separate CSS snippet
   below the global one in load order).
============================================================ */

/* SECONDARY button on dark: white outline, white text, transparent fill */
.sg-on-dark .sg-btn-secondary .elementor-button,
.sg-on-dark.sg-btn-secondary .elementor-button {
  background-color: transparent !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  border-width: 2px !important;
  border-style: solid !important;
}

/* SECONDARY hover on dark: white fill, dark text */
.sg-on-dark .sg-btn-secondary .elementor-button:hover,
.sg-on-dark .sg-btn-secondary .elementor-button:focus,
.sg-on-dark.sg-btn-secondary .elementor-button:hover,
.sg-on-dark.sg-btn-secondary .elementor-button:focus {
  background-color: #FFFFFF !important;
  color: #237B94 !important;
  border-color: #FFFFFF !important;
}

/* Optional: PRIMARY on dark stays orange but gain a soft white halo on hover.
   Comment out if you don't want this. */
.sg-on-dark .sg-btn-primary .elementor-button:hover,
.sg-on-dark.sg-btn-primary .elementor-button:hover {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4) !important;
}

/* TERTIARY (text-link button) on dark: white text */
.sg-on-dark .sg-btn-tertiary .elementor-button,
.sg-on-dark.sg-btn-tertiary .elementor-button {
  color: #FFFFFF !important;
}

.sg-on-dark .sg-btn-tertiary .elementor-button:hover,
.sg-on-dark.sg-btn-tertiary .elementor-button:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Focus ring on dark: white instead of teal */
.sg-on-dark .sg-btn-primary .elementor-button:focus-visible,
.sg-on-dark .sg-btn-secondary .elementor-button:focus-visible,
.sg-on-dark .sg-btn-tertiary .elementor-button:focus-visible {
  outline: 2px solid #FFFFFF !important;
  outline-offset: 2px !important;
}

/* ============================================================
   SG: Rank Math Breadcrumb Styling
   Editorial breadcrumb treatment with horizontal line separators.
   Works on both light and dark (sg-on-dark) container backgrounds.
   ============================================================ */

/* Base wrapper */
.rank-math-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #6B7280;
    letter-spacing: 0.01em;
    padding: 0;
    margin: 0;
}

.rank-math-breadcrumb p {
    margin: 0;
    padding: 0;
}

/* Links */
.rank-math-breadcrumb a {
    color: #6B7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.rank-math-breadcrumb a:hover {
    color: #237B94; /* SG teal */
    text-decoration: none;
}

/* Current page (last crumb) */
.rank-math-breadcrumb .last {
    color: #1A1A1A;
    font-weight: 500;
}

/* ============================================================
   Separator — CSS-rendered horizontal line (no glyph)
   The original character is hidden via font-size: 0;
   A thin horizontal line is drawn via ::before pseudo-element.
   ============================================================ */

.rank-math-breadcrumb .separator {
    font-size: 0;
    margin: 0 6px;
    display: inline-block;
    position: relative;
    width: 14px;
    height: 1em;
    vertical-align: middle;
}

.rank-math-breadcrumb .separator::before {
    content: '';
    display: block;
    width: 12px;
    height: 1px;
    background: #C9BFAE; /* warm cream-gray, matches site palette */
    position: absolute;
    top: 50%;
    left: 1px;
    transform: translateY(-50%);
}

/* ============================================================
   Dark background variant — apply sg-on-dark class to the
   container holding the breadcrumb shortcode widget.
   ============================================================ */

.sg-on-dark .rank-math-breadcrumb,
.sg-on-dark .rank-math-breadcrumb a {
    color: #F0E9DC; /* slightly brighter cream for dark backgrounds */
}

.sg-on-dark .rank-math-breadcrumb a:hover {
    color: #FFFFFF;
}

.sg-on-dark .rank-math-breadcrumb .last {
    color: #FFFFFF;
}

/* Separator on dark backgrounds — line is brighter, semi-transparent */
.sg-on-dark .rank-math-breadcrumb .separator::before {
    background: rgba(240, 233, 220, 0.55);
}

/* ============================================================
   Spacing refinements when breadcrumbs sit inside dark heroes
   ============================================================ */

.sg-on-dark .rank-math-breadcrumb {
    margin-bottom: 24px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: none;
    opacity: 0.95;
}

/* ============================================================
   Mobile tuning — slightly tighter spacing on small screens
   ============================================================ */

@media (max-width: 640px) {
    .rank-math-breadcrumb {
        font-size: 12px;
    }
    
    .rank-math-breadcrumb .separator {
        width: 10px;
        margin: 0 4px;
    }
    
    .rank-math-breadcrumb .separator::before {
        width: 8px;
    }
    
    .sg-on-dark .rank-math-breadcrumb {
        font-size: 11px;
        letter-spacing: 0.05em;
        margin-bottom: 16px;
    }
}

/* ============================================================
   SG – FacetWP: Collapse Empty Space from Hidden Facets
   ============================================================
   When the Shop Page Conditional Logic snippet hides .facet-wrap
   elements, the parent flex container still reserves "gap" space
   for those hidden children. This is a known CSS flex/gap behavior
   — gap is applied between flex children regardless of whether the
   child has display:none.

   Fix: replace the flex `gap` with margin-bottom on visible facets.
   Hidden facets contribute zero margin, so spacing collapses cleanly.
   ============================================================ */

/* Neutralize the flex gap on the Facets sidebar container only.
   The .facet-accordion class is the wrapper around all facet-wrap
   elements (set in the Elementor JSON). */
.facet-accordion {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* Now use margin-bottom on visible facet wraps instead. This way
   hidden ones contribute no space at all. */
.facet-accordion > .elementor-element,
.facet-accordion > .facet-wrap {
  margin-bottom: 0 !important;
}

/* Apply spacing only to visible facet wraps */
.facet-accordion > .elementor-element:not([style*="display: none"]):not([style*="display:none"]),
.facet-accordion > .facet-wrap:not([style*="display: none"]):not([style*="display:none"]) {
  margin-bottom: 16px !important;
}

/* Belt-and-suspenders: harden the existing collapse rule from snippet
   429 in case any inline style variants slip through. Match all common
   inline display:none variations, including the !important variant the
   snippet now uses. */
.facet-wrap[style*="display: none"],
.facet-wrap[style*="display:none"],
.facet-wrap[style*="display : none"],
.elementor-element[style*="display: none"],
.elementor-element[style*="display:none"],
.elementor-element[style*="display : none"],
.elementor-widget-facetwp-facet[style*="display: none"],
.elementor-widget-facetwp-facet[style*="display:none"] {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Mobile flyout — same problem can occur there */
@media (max-width: 1024px) {
  .facetwp-flyout-content {
    row-gap: 0 !important;
    gap: 0 !important;
  }

  .facetwp-flyout .flyout-row[style*="display: none"],
  .facetwp-flyout .flyout-row[style*="display:none"] {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .facetwp-flyout .flyout-row:not([style*="display: none"]):not([style*="display:none"]) {
    margin-bottom: 12px !important;
  }
}

/* =========================================================================
   SG: FOOTER LAYOUT LOCK
   Snippet type: CSS  ·  Location: site-css  ·  Priority: 10

   Slimmed version (May 2026). All layout (column flex, gap, max-width,
   responsive direction, padding) now lives in the Elementor JSON itself.
   This file only contains rules the Elementor editor UI cannot express:

     - icon-list bullet/icon stripping
     - ::placeholder color on form inputs
     - :focus-visible outline overrides
     - widget-internal hover transitions on links
     - newsletter form button styling not exposed by Form widget UI
     - trust strip border-top/bottom + label semantics

   Design tokens:
     Teal:    #237B94    Teal hover:  #1b6275
     Footer bg: #062F36
     Text: #CBD5E1   Text hover: #FFFFFF   Muted label: #94A3B8
     Font: Inter
   ========================================================================= */


/* ----- COLUMN HEADINGS -------------------------------------------------- */
/* Full typography lock so headings stay consistent across all 4 columns
   without setting these values in each heading widget × 7 breakpoints. */
.sg-footer-heading .elementor-heading-title,
.sg-footer-heading h1,
.sg-footer-heading h2,
.sg-footer-heading h3,
.sg-footer-heading h4 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  margin: 0 0 16px 0 !important;
}


/* ----- COLUMN LINK LISTS ------------------------------------------------ */
/* Icon-list widget always renders a bullet/icon slot even when empty.
   Stripping it must be done in CSS — Elementor has no UI toggle for this. */
.sg-footer-links .elementor-icon-list-items {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.sg-footer-links .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
.sg-footer-links .elementor-icon-list-item:before,
.sg-footer-links .elementor-icon-list-item:after,
.sg-footer-links .elementor-icon-list-icon {
  content: none !important;
  display: none !important;
}

/* Link typography + color + hover. Setting font-family/size/weight/line-height
   here keeps all 4 column link lists identical without per-widget settings. */
.sg-footer-links a,
.sg-footer-links .elementor-icon-list-text {
  color: #CBD5E1 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 160ms ease !important;
}
.sg-footer-links a:hover,
.sg-footer-links a:focus-visible,
.sg-footer-links .elementor-icon-list-text:hover {
  color: #FFFFFF !important;
  text-decoration: none !important;
  outline: none;
}


/* ----- NEWSLETTER FORM -------------------------------------------------- */
/* Elementor Form widget exposes basic input/button styling but NOT:
   - ::placeholder color
   - :focus border-color
   - dark-on-dark input background with translucent border
   So input/button styling lives here in full to keep all states coherent. */
.sg-footer-newsletter-form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}
.sg-footer-newsletter-form .elementor-field-group {
  width: 100% !important;
}
.sg-footer-newsletter-form input[type="text"],
.sg-footer-newsletter-form input[type="email"] {
  width: 100% !important;
  padding: 11px 14px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 8px !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  transition: border-color 160ms ease, background 160ms ease !important;
}
.sg-footer-newsletter-form input::placeholder {
  color: #94A3B8 !important;
  opacity: 1 !important;
}
.sg-footer-newsletter-form input:focus {
  outline: none !important;
  border-color: #237B94 !important;
  background: rgba(255,255,255,0.10) !important;
}

.sg-footer-newsletter-form button[type="submit"],
.sg-footer-newsletter-form .elementor-button {
  width: 100% !important;
  padding: 12px 18px !important;
  background-color: #237B94 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background 160ms ease !important;
  box-shadow: none !important;
  line-height: 1.3 !important;
}
.sg-footer-newsletter-form button[type="submit"]:hover,
.sg-footer-newsletter-form .elementor-button:hover {
  background-color: #1b6275 !important;
}

.sg-footer-newsletter-form .elementor-message-success {
  color: #4ADE80 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  margin-top: 8px !important;
}
.sg-footer-newsletter-form .elementor-message-danger {
  color: #F87171 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  margin-top: 8px !important;
}


/* ----- SOCIAL ICONS ----------------------------------------------------- */
/* The Icon widget's Style tab can set bg color but not the circle background
   that morphs into the teal fill on hover with consistent timing across all
   5 icons. Locking it here ensures all 5 stay identical. */
.sg-footer-socials .elementor-widget-icon .elementor-icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: #CBD5E1 !important;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease !important;
}
.sg-footer-socials .elementor-widget-icon .elementor-icon:hover {
  background: #237B94 !important;
  border-color: #237B94 !important;
  color: #FFFFFF !important;
}
.sg-footer-socials .elementor-widget-icon svg,
.sg-footer-socials .elementor-widget-icon i {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: inherit !important;
  fill: currentColor !important;
}


/* ----- TRUST STRIP (Phone / Email / Hours / Ships from) ----------------- */
/* JSON handles flex layout + responsive direction. Borders + the small
   uppercase label semantics ("PHONE", "EMAIL") live here because they
   apply to inline-element spans inside text-editor widgets — Elementor
   has no per-span styling UI. */
.sg-footer-trust {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.sg-footer-trust .elementor-widget-text-editor p {
  color: #CBD5E1 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.sg-footer-trust .sg-footer-contact-label {
  display: inline-block !important;
  margin-right: 6px !important;
  color: #94A3B8 !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.sg-footer-trust a {
  color: #CBD5E1 !important;
  text-decoration: none !important;
  transition: color 160ms ease !important;
}
.sg-footer-trust a:hover {
  color: #FFFFFF !important;
}


/* ----- BOTTOM BAR (legal links) ----------------------------------------- */
/* Copyright / address text inside text-editor widgets. */
.sg-footer-bottom .elementor-widget-text-editor p {
  color: #94A3B8 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Same icon-list bullet-strip pattern as the column links. */
.sg-footer-legal-links .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-footer-legal-links .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
.sg-footer-legal-links .elementor-icon-list-icon,
.sg-footer-legal-links .elementor-icon-list-item:before,
.sg-footer-legal-links .elementor-icon-list-item:after {
  display: none !important;
  content: none !important;
}
.sg-footer-legal-links a,
.sg-footer-legal-links .elementor-icon-list-text {
  color: #94A3B8 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: color 160ms ease !important;
}
.sg-footer-legal-links a:hover,
.sg-footer-legal-links a:focus-visible {
  color: #FFFFFF !important;
}
.sg-footer-bottom .sg-footer-address {
  color: #6E7C8A !important;
  font-size: 12px !important;
  display: inline-block !important;
  margin-top: 2px !important;
}

/**
 * SG: Category & Guide UX Polish
 * Scope: site-css
 *
 * Unified site-wide CSS for:
 *   1. Global smooth-scroll for anchor jumps
 *   2. Clickable size tile hover states (category pages)
 *   3. Table of Contents chip hover states (guide + category)
 *   3b. Quick Decision tile hover states (guide page)
 *   3c. Furniture Pads compare card (category page)
 *   4. Glide Guide size-by-shape table styling
 *   5. Glide Guide "by furniture type" lookup card styling
 *   6. Glide Guide Product Advisor CTA styling
 *   7. Hero trust strip styling (guide + category)
 *
 * Pairs with: Furniture Glides Category, Furniture Glides Guide,
 * and (future) Slide Guide / Pad Guide / etc. category + guide pages.
 *
 * All clickable cards (size tiles, TOC chips, Quick Decision tiles)
 * are real <a> tags wrapping their entire content. No JavaScript needed.
 */


/* =========================================================
   1. SMOOTH SCROLL FOR ANCHOR JUMPS (global)
   ========================================================= */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
/* Offset anchored sections so they clear the sticky header (~90px)
   AND the sticky TOC bar (~56px). Was 24px, which only cleared a
   fraction of the sticky elements and left section headings hidden
   underneath. 150px desktop / 130px mobile lands the heading just
   below the sticky bar. Tune if the gap looks off. */
[id]:not(body) {
  scroll-margin-top: 150px;
}
@media (max-width: 767px) {
  [id]:not(body) {
    scroll-margin-top: 130px;
  }
}


/* =========================================================
   2. SIZE TILE HOVER + EQUAL-HEIGHT (category page deep-links)
   ========================================================= */
/* Equal-height row: force every size tile in a row to match the
   tallest sibling. The <a class="sg-size-tile-link"> has height:100%,
   but its Elementor widget wrappers need to pass that height through. */
.sg-size-tile-link {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
}
/* When an Elementor widget container holds a size tile, stretch it */
.elementor-widget-html:has(.sg-size-tile-link),
.elementor-widget-html:has(.sg-size-tile-link) > .elementor-widget-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* Fallback for browsers without :has() — uses a class hook we set in JSON */
.sg-size-tile-cell {
  display: flex;
  align-self: stretch;
}
.sg-size-tile-cell .elementor-widget-html,
.sg-size-tile-cell .elementor-widget-html > .elementor-widget-container {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.sg-size-tile-link:hover {
  border-color: #237b94 !important;
  box-shadow: 0 4px 12px rgba(35, 123, 148, 0.15);
  transform: translateY(-2px);
}
.sg-size-tile-link:hover h4 {
  color: #237b94 !important;
}
.sg-size-tile-link:focus-visible {
  outline: 2px solid #237b94;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .sg-size-tile-link:hover { transform: none; }
  .sg-size-tile-link:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }
}


/* =========================================================
   3. TOC CHIP HOVER (guide + category)
   ========================================================= */
.sg-toc-chip:hover {
  background-color: #237b94 !important;
  border-color: #237b94 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}
.sg-toc-chip:focus-visible {
  outline: 2px solid #237b94;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .sg-toc-chip:hover { transform: none; }
  .sg-toc-chip:active {
    background-color: #237b94 !important;
    color: #FFFFFF !important;
    transform: scale(0.97);
    transition: all 0.1s ease;
  }
}

/* When the TOC strip can't fit all chips on one line, scroll horizontally
   instead of wrapping to a second row. Kicks in at the laptop breakpoint
   so the strip stays a clean single line on every viewport.
   Drag-to-scroll on touch devices, swipe / mousewheel on desktop. */
@media (max-width: 1024px) {
  .sg-toc { align-items: stretch !important; }
  .sg-toc-pills {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    /* Subtle right-edge fade hint that more chips exist */
    mask-image: linear-gradient(to right, black calc(100% - 24px), transparent);
    -webkit-mask-image: linear-gradient(to right, black calc(100% - 24px), transparent);
    padding-right: 24px;
    margin-right: -16px;
    /* Hide scrollbar visually but keep functionality */
    scrollbar-width: thin;
    scrollbar-color: rgba(35,123,148,0.3) transparent;
  }
  .sg-toc-pills::-webkit-scrollbar { height: 4px; }
  .sg-toc-pills::-webkit-scrollbar-track { background: transparent; }
  .sg-toc-pills::-webkit-scrollbar-thumb {
    background: rgba(35,123,148,0.3);
    border-radius: 2px;
  }
  .sg-toc-chip { flex-shrink: 0; }
}


/* =========================================================
   3c. FURNITURE PADS COMPARE CARD (category page)
   ========================================================= */
/* The "Furniture Pads" card in the Glides vs Pads section is a real
   <a> wrapping the entire card content. Sibling "Furniture Glides" card
   stays non-clickable since you're already on that page. */
.sg-pads-compare-card {
  cursor: pointer;
}
.sg-pads-compare-card:hover {
  border-color: #237b94 !important;
  box-shadow: 0 6px 18px rgba(35, 123, 148, 0.15) !important;
  transform: translateY(-2px);
}
.sg-pads-compare-card:hover h3 {
  color: #1a5f73 !important;
}
.sg-pads-compare-card:focus-visible {
  outline: 2px solid #237b94;
  outline-offset: 2px;
}
/* Equal-height: stretch widget wrappers so both Glides + Pads cards match heights */
.sg-pads-compare-cell {
  display: flex;
  align-self: stretch;
}
.sg-pads-compare-cell .elementor-widget-html,
.sg-pads-compare-cell .elementor-widget-html > .elementor-widget-container {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .sg-pads-compare-card { padding: 24px !important; }
  .sg-pads-compare-card h3 { font-size: 20px !important; }
  .sg-pads-compare-card:hover { transform: none; }
  .sg-pads-compare-card:active {
    transform: scale(0.99);
    transition: transform 0.1s ease;
  }
}


/* =========================================================
   3b. QUICK DECISION TILE HOVER (guide page)
   ========================================================= */
/* The 4 cards inside the Quick Decision section are real <a> tags
   wrapping the entire tile content (built as HTML widgets). This
   guarantees the whole card is clickable on every device without
   relying on JS or Elementor's container link behavior. */
.sg-qd-tile-link {
  cursor: pointer;
}
.sg-qd-tile-link:hover {
  border-color: #237b94 !important;
  box-shadow: 0 6px 18px rgba(35, 123, 148, 0.15) !important;
  transform: translateY(-2px);
}
.sg-qd-tile-link:hover h4 {
  color: #237b94 !important;
}
.sg-qd-tile-link:focus-visible {
  outline: 2px solid #237b94;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .sg-qd-tile-link { padding: 24px !important; }
  .sg-qd-tile-link h4 { font-size: 20px !important; }
  .sg-qd-tile-link:hover { transform: none; }
  .sg-qd-tile-link:active {
    transform: scale(0.99);
    transition: transform 0.1s ease;
  }
}


/* =========================================================
   4. GLIDE GUIDE — SIZE BY SHAPE TABLE (.sg-gd-sizes)
   ========================================================= */
.sg-gd-sizes {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 0;
  font-family: 'Inter', sans-serif;
  margin: 16px 0 0;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.03);
  overflow: hidden;
}

/* Second-half table (Square + Rectangular) sits flush under the first half */
.sg-gd-sizes--continuation {
  margin-top: 0;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

/* Title eyebrow — tighter, integrated into the card */
.sg-gd-sizes__title {
  font-size: 12px;
  font-weight: 700;
  color: #237B94;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
  padding: 18px 24px 14px 24px;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
}

/* Table itself */
.sg-gd-sizes table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
  color: #374151;
}

/* Column headers (Shape / Glide size / Fits leg base) */
.sg-gd-sizes thead th {
  text-align: left;
  font-weight: 600;
  color: #6B7280;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 12px 20px;
  border: none;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  white-space: nowrap;
}

/* Set explicit column widths for visual rhythm */
.sg-gd-sizes thead th:nth-child(1) { width: 18%; }
.sg-gd-sizes thead th:nth-child(2) { width: 22%; }
.sg-gd-sizes thead th:nth-child(3) { width: 60%; }

/* Body cells */
.sg-gd-sizes tbody td {
  padding: 13px 20px;
  border: none;
  border-bottom: 1px solid #F3F4F6;
  line-height: 1.45;
  vertical-align: middle;
}

/* Glide-size column (2nd col) is the main identifier — always bold */
.sg-gd-sizes tbody td:nth-child(2) {
  font-weight: 600;
  color: #1F2937;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

/* On rows where shape-cell takes col 1, the glide-size moves to col 2 visually
   but the bold treatment applies regardless because of nth-child(2) above.
   On continuation rows (no rowspan), col 1 is the glide-size itself. */
.sg-gd-sizes tbody tr:not(.sg-gd-shape-divider) td:first-child {
  font-weight: 600;
  color: #1F2937;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

/* Fits-leg-base column — secondary info */
.sg-gd-sizes tbody td:last-child {
  color: #4B5563;
  font-variant-numeric: tabular-nums;
}

/* Last row of each table — no bottom border */
.sg-gd-sizes tbody tr:last-child td { border-bottom: none; }

/* Shape divider — visual separator between Round / Square / Rectangular groups */
.sg-gd-sizes tr.sg-gd-shape-divider td {
  border-top: 1px solid #E5E7EB;
  padding-top: 18px;
}
.sg-gd-sizes tr.sg-gd-shape-divider:first-of-type td {
  border-top: none;
  padding-top: 13px;
}
/* When continuation table starts with a divider, no border-top on its first row either */
.sg-gd-sizes--continuation tr.sg-gd-shape-divider:first-of-type td {
  border-top: none;
}

/* Shape label cell (col 1, rowspanned) — left-rail treatment */
.sg-gd-sizes .sg-gd-shape-cell {
  font-weight: 700;
  color: #237B94;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  vertical-align: top;
  padding-top: 18px;
  background: #F9FAFB;
  border-right: 1px solid #E5E7EB;
  width: 18%;
}
.sg-gd-sizes tr.sg-gd-shape-divider:first-of-type .sg-gd-shape-cell {
  padding-top: 16px;
}

/* Row hover — subtle highlight for scannability */
.sg-gd-sizes tbody tr:not(.sg-gd-shape-divider):hover td:not(.sg-gd-shape-cell),
.sg-gd-sizes tbody tr.sg-gd-shape-divider:hover td:not(.sg-gd-shape-cell) {
  background: #F9FAFB;
}

/* Mobile — tighten everything */
@media (max-width: 680px) {
  .sg-gd-sizes { border-radius: 10px; }
  .sg-gd-sizes__title {
    padding: 16px 18px 12px 18px;
    font-size: 11px;
  }
  .sg-gd-sizes table { font-size: 13px; }
  .sg-gd-sizes thead th {
    padding: 10px 14px;
    font-size: 10px;
  }
  .sg-gd-sizes tbody td {
    padding: 12px 14px;
  }
  .sg-gd-sizes .sg-gd-shape-cell {
    padding-top: 14px;
    font-size: 11px;
  }
  .sg-gd-sizes tr.sg-gd-shape-divider td { padding-top: 14px; }
  /* Adjust column widths on mobile for better readability */
  .sg-gd-sizes thead th:nth-child(1) { width: 22%; }
  .sg-gd-sizes thead th:nth-child(2) { width: 28%; }
  .sg-gd-sizes thead th:nth-child(3) { width: 50%; }
  .sg-gd-sizes .sg-gd-shape-cell { width: 22%; }
}


/* =========================================================
   5. GLIDE GUIDE — FURNITURE LOOKUP CARDS (.sg-gd-lookup)
   ========================================================= */
.sg-gd-lookup {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  overflow: hidden;
}
.sg-gd-lookup--continuation {
  margin-top: 0;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.sg-gd-lookup__row {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.4fr;
  gap: 0;
  padding: 18px 22px;
  border-bottom: 1px solid #F3F4F6;
  align-items: start;
}
.sg-gd-lookup__row:last-child { border-bottom: none; }
.sg-gd-lookup__row--header {
  background: #F9FAFB;
  font-weight: 600;
  color: #1F2937;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 14px 22px;
}
.sg-gd-lookup__furniture {
  font-weight: 700;
  color: #1F2937;
  font-size: 15px;
  padding-right: 16px;
}
.sg-gd-lookup__pick {
  color: #374151;
  font-size: 14px;
  line-height: 1.6;
  padding-right: 16px;
}
.sg-gd-lookup__pick strong { color: #1F2937; }
.sg-gd-lookup__why {
  color: #6B7280;
  font-size: 13px;
  line-height: 1.55;
  font-style: italic;
}
@media (max-width: 780px) {
  .sg-gd-lookup__row { grid-template-columns: 1fr; gap: 8px; padding: 16px 18px; }
  .sg-gd-lookup__row--header { display: none; }
  .sg-gd-lookup__furniture { font-size: 16px; margin-bottom: 4px; }
  .sg-gd-lookup__pick { font-size: 14px; }
  .sg-gd-lookup__pick::before { content: "Recommended: "; font-weight: 700; color: #1F2937; font-style: normal; }
  .sg-gd-lookup__why { font-size: 13px; font-style: normal; }
  .sg-gd-lookup__why::before { content: "Why: "; font-weight: 700; color: #1F2937; }
}


/* =========================================================
   6. GLIDE GUIDE — PRODUCT ADVISOR CTA (.sg-glide-advisor-cta)
   ========================================================= */
.sg-glide-advisor-cta {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 760px;
  margin: 0 auto;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  font-family: 'Inter', sans-serif;
}
.sg-glide-advisor-cta__icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, #237B94 0%, #1A5F73 100%);
  color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(35, 123, 148, 0.25);
}
.sg-glide-advisor-cta__text { flex: 1; min-width: 0; }
.sg-glide-advisor-cta__title {
  font-size: 18px;
  font-weight: 600;
  color: #1F2937;
  margin: 0 0 4px 0;
  line-height: 1.3;
}
.sg-glide-advisor-cta__subtitle {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}
.sg-glide-advisor-cta__btn,
button.sg-glide-advisor-cta__btn {
  background: #237B94 !important;
  background-color: #237B94 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(35, 123, 148, 0.2) !important;
  text-shadow: none !important;
  outline: none !important;
  line-height: 1.2 !important;
}
.sg-glide-advisor-cta__btn:hover,
button.sg-glide-advisor-cta__btn:hover {
  background: #1A5F73 !important;
  background-color: #1A5F73 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(35, 123, 148, 0.32) !important;
  color: #FFFFFF !important;
}
.sg-glide-advisor-cta__btn:focus,
.sg-glide-advisor-cta__btn:active {
  outline: 2px solid #237B94 !important;
  outline-offset: 2px !important;
}
.sg-glide-advisor-cta__btn svg { flex-shrink: 0; }
@media (max-width: 640px) {
  .sg-glide-advisor-cta {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
    gap: 16px;
  }
  .sg-glide-advisor-cta__icon { width: 48px; height: 48px; }
  .sg-glide-advisor-cta__title { font-size: 17px; }
  .sg-glide-advisor-cta__subtitle { font-size: 13px; }
  .sg-glide-advisor-cta__btn,
  button.sg-glide-advisor-cta__btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 13px 20px !important;
    font-size: 14px !important;
  }
}


/* =========================================================
   7. HERO TRUST STRIP (guide + category, on dark hero bg)
   ========================================================= */
/* The horizontal "Specified by hotels... · NWFA-recommended..." line
   that sits below the hero CTAs on a dark background. */
.sg-hero-2026__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 24px 0 0 0;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.sg-hero-2026__trust a {
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease;
}
.sg-hero-2026__trust a:hover {
  color: #FFFFFF !important;
}
/* The bullet/dot separator between strip items */
.sg-hero-2026__dot {
  color: rgba(255, 255, 255, 0.35);
  font-weight: 700;
  user-select: none;
}
/* Mobile: stack each item on its own line for legibility */
@media (max-width: 600px) {
  .sg-hero-2026__trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
  }
  .sg-hero-2026__dot { display: none; }
}

/* ==========================================================================
   SG: Cart Page Styling
   Scope: WooCommerce cart shortcode + B2BKing quote form on /cart/
   Font: Inter | Brand teal: #237B94
   ========================================================================== */

/* ---------- Page wrapper: subtle white card for the whole cart area ------ */
.woocommerce-cart .woocommerce {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #1A1A1A;
}

/* ==========================================================================
   1. CART TABLE
   ========================================================================== */

.woocommerce-cart table.shop_table {
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    background: #FFFFFF;
    margin-bottom: 32px !important;
}

/* Header row */
.woocommerce-cart table.shop_table thead th {
    background: #F9FAFB !important;
    color: #6B7280 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #E5E7EB !important;
}

/* Body cells */
.woocommerce-cart table.shop_table tbody td {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #1F2937 !important;
    padding: 18px 16px !important;
    border-top: 1px solid #F3F4F6 !important;
    vertical-align: middle !important;
}

.woocommerce-cart table.shop_table tbody tr:first-child td {
    border-top: none !important;
}

/* Product thumbnail */
.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    background: #F9FAFB;
    padding: 4px;
}

/* Product name link */
.woocommerce-cart table.shop_table td.product-name a {
    color: #111827 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}
.woocommerce-cart table.shop_table td.product-name a:hover {
    color: #237B94 !important;
}

/* ----------------------------------------------------------
   Variation list under product name
   Each attribute renders on its own line. The :empty rules hide
   orphan "Color:" rows where the attribute exists on the product
   but isn't a variation axis (single-color products).
   Backorder notification is force-broken below all attributes
   and styled to match the product-page amber convention.
   ---------------------------------------------------------- */
.woocommerce-cart table.shop_table td.product-name dl.variation {
    margin-top: 6px !important;
    font-size: 13px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
    display: block !important;
}

/* Each attribute pair: dt and dd flow inline within a single line */
.woocommerce-cart table.shop_table td.product-name dl.variation dt,
.woocommerce-cart table.shop_table td.product-name dl.variation dd {
    display: inline !important;
    margin: 0 !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dt {
    font-weight: 500 !important;
    color: #6B7280 !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dt::after {
    content: "\00a0" !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dd {
    font-weight: 400 !important;
    color: #1F2937 !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
}

/* Force line break AFTER each dd so attributes stack vertically.
   Using a generated newline character with white-space:pre is more
   reliable than display:block on ::after when WooCommerce/B2BKing
   injects extra inline elements (like .backorder_notification) into
   the dl flow. */
.woocommerce-cart table.shop_table td.product-name dl.variation dd::after {
    content: "\A" !important;
    white-space: pre !important;
}

/* Hide variation rows where the <dd> is empty.
   This happens when a product attribute is "visible" but not used as
   a variation axis (e.g., Color: Black on single-color products) —
   WooCommerce renders the dt label with an empty dd. */
.woocommerce-cart table.shop_table td.product-name dl.variation dd:empty {
    display: none !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dd:has(> p:empty) {
    display: none !important;
}
/* Hide the dt label whose immediately-following dd is empty.
   Browser support note: :has() is supported in all modern evergreen
   browsers (Chrome 105+, Safari 15.4+, Firefox 121+). Older browsers
   will simply show "Color:" with no value — same as before this fix
   on the desktop view, which is graceful degradation. */
.woocommerce-cart table.shop_table td.product-name dl.variation dt:has(+ dd:empty) {
    display: none !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation dt:has(+ dd:has(> p:empty)) {
    display: none !important;
}

/* Backorder notification — break onto its own line below all attributes,
   match the amber color used in product-page stock status (#356) */
.woocommerce-cart table.shop_table td.product-name .backorder_notification,
.woocommerce-cart table.shop_table td.product-name p.backorder_notification,
.woocommerce-cart table.shop_table td.product-name .wc-backorder_notification {
    display: block !important;
    margin-top: 6px !important;
    color: #92400E !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}
.woocommerce-cart table.shop_table td.product-name .backorder_notification::before,
.woocommerce-cart table.shop_table td.product-name p.backorder_notification::before {
    content: "• " !important;
    color: #D97706 !important;
    font-weight: 700 !important;
}

/* Price + subtotal cells */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    font-weight: 500 !important;
    color: #111827 !important;
}
.woocommerce-cart table.shop_table td.product-subtotal {
    font-weight: 600 !important;
}

/* "Quote" text replacement (when B2BKing shows quote-only mode) */
.woocommerce-cart table.shop_table td.product-price .woocommerce-Price-amount,
.woocommerce-cart table.shop_table td.product-subtotal .woocommerce-Price-amount {
    color: #111827 !important;
}

/* Remove button (×) */
.woocommerce-cart table.shop_table td.product-remove a.remove {
    color: #9CA3AF !important;
    background: transparent !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 26px !important;
    border-radius: 50% !important;
    transition: all 0.15s ease;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    color: #DC2626 !important;
    background: #FEF2F2 !important;
}

/* ==========================================================================
   2. QUANTITY INPUTS
   ========================================================================== */

.woocommerce-cart table.shop_table td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-cart table.shop_table td.product-quantity input.qty {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #111827 !important;
    width: 72px !important;
    height: 40px !important;
    padding: 8px 10px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    text-align: center !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce-cart table.shop_table td.product-quantity input.qty:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* ==========================================================================
   3. COUPON + UPDATE CART ROW
   ========================================================================== */

.woocommerce-cart table.shop_table td.actions {
    background: #F9FAFB !important;
    padding: 16px !important;
    border-top: 1px solid #E5E7EB !important;
    /* Keep as table-cell so colspan="6" still works.
       Float-based layout: Coupon floats left (default), Update Cart floats right.
       Children align via their own float properties below. */
    text-align: left !important;
}

/* Coupon group — floats left by default, fits naturally beside Update Cart */
.woocommerce-cart .coupon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    float: left !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.woocommerce-cart .coupon label {
    display: none !important; /* "Coupon:" label is redundant when input is placeholdered */
}

.woocommerce-cart .coupon input.input-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    min-width: 200px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce-cart .coupon input.input-text:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}
.woocommerce-cart .coupon input.input-text::placeholder {
    color: #9CA3AF !important;
}

/* Hide coupon entirely for B2BKing logged-in B2B users (they don't use coupons) */
body.b2bking_b2b_user.woocommerce-cart .coupon {
    display: none !important;
}

/* ==========================================================================
   4. CART BUTTONS (Apply coupon, Update cart, Continue Shopping)
   ========================================================================== */

.woocommerce-cart .button,
.woocommerce-cart button.button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    height: 40px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-transform: none !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Primary teal button (Apply coupon) */
.woocommerce-cart .coupon button.button,
.woocommerce-cart button[name="apply_coupon"] {
    background: #237B94 !important;
    color: #FFFFFF !important;
    border-color: #237B94 !important;
}
.woocommerce-cart .coupon button.button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* Secondary outline button (Update cart) */
.woocommerce-cart button[name="update_cart"] {
    background: #FFFFFF !important;
    color: #237B94 !important;
    border-color: #237B94 !important;
    float: right !important;
    margin: 0 !important;
    vertical-align: middle !important;
}
.woocommerce-cart button[name="update_cart"]:hover {
    background: #F0F7F9 !important;
}

/* (B2B-specific layout for the actions cell is handled in Section 10 at the
   end of this file, using a JS-injected .sg-b2b-actions-wrap wrapper.) */

/* Update cart: always look enabled. The JS snippet removes the disabled
   attribute on page load so the button is also functionally clickable. */
.woocommerce-cart button[name="update_cart"][disabled],
.woocommerce-cart button[name="update_cart"]:disabled {
    opacity: 1 !important;
    cursor: pointer !important;
    color: #237B94 !important;
    border-color: #237B94 !important;
    background: #FFFFFF !important;
}
.woocommerce-cart button[name="update_cart"][disabled]:hover,
.woocommerce-cart button[name="update_cart"]:disabled:hover {
    background: #F0F7F9 !important;
}

/* ==========================================================================
   5. CART TOTALS BLOCK (right column)
   ========================================================================== */

.woocommerce-cart .cart-collaterals {
    margin-top: 8px;
}

.woocommerce-cart .cart_totals {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

.woocommerce-cart .cart_totals table.shop_table_responsive {
    border: none !important;
    background: transparent !important;
    margin-bottom: 20px !important;
}

/* Kill any data-title ::before label that theme/plugin CSS adds to totals cells —
   the totals table is already structured as label/value (th/td), so a ::before
   pseudo would render the label twice. */
.woocommerce-cart .cart_totals table th::before,
.woocommerce-cart .cart_totals table td::before {
    display: none !important;
    content: none !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    background: transparent !important;
}

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

.woocommerce-cart .cart_totals table td {
    font-size: 14px !important;
    color: #111827 !important;
    text-align: right !important;
}

/* Order total row — make it prominent */
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding-top: 14px !important;
    border-bottom: none !important;
}
.woocommerce-cart .cart_totals table tr.order-total td .woocommerce-Price-amount {
    color: #237B94 !important;
}

/* Proceed to Checkout button (B2C primary CTA) */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 16px 0 0 0 !important;  /* breathing room above, no horizontal margin */
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;  /* forces text to sit in the vertical center of the padding */
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    transition: background 0.15s ease;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* Shipping calculator link */
.woocommerce-cart .shipping-calculator-button {
    color: #237B94 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.woocommerce-cart .shipping-calculator-button:hover {
    text-decoration: underline !important;
}

/* ==========================================================================
   5b. SHIPPING CALCULATOR FORM (opens from "Calculate shipping" / "Change address")
   ========================================================================== */

.woocommerce-cart .shipping-calculator-form {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #F3F4F6 !important;
}

/* Form row spacing */
.woocommerce-cart .shipping-calculator-form .form-row,
.woocommerce-cart .shipping-calculator-form p {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

/* Labels — match the B2BKing quote form label style */
.woocommerce-cart .shipping-calculator-form label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
    letter-spacing: 0.01em !important;
}
.woocommerce-cart .shipping-calculator-form label abbr,
.woocommerce-cart .shipping-calculator-form label .required {
    color: #DC2626 !important;
    text-decoration: none !important;
    margin-left: 2px !important;
}

/* All text inputs */
.woocommerce-cart .shipping-calculator-form input[type="text"],
.woocommerce-cart .shipping-calculator-form input[type="number"],
.woocommerce-cart .shipping-calculator-form input.input-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    text-align: left !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce-cart .shipping-calculator-form input[type="text"]:focus,
.woocommerce-cart .shipping-calculator-form input[type="number"]:focus,
.woocommerce-cart .shipping-calculator-form input.input-text:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}
.woocommerce-cart .shipping-calculator-form input::placeholder {
    color: #9CA3AF !important;
    opacity: 1 !important;
}

/* Native select for Country/State */
.woocommerce-cart .shipping-calculator-form select {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 36px 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background-color: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.woocommerce-cart .shipping-calculator-form select:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Select2 styling (WooCommerce uses Select2 for country/state on many setups) */
.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single {
    font-family: 'Inter', sans-serif !important;
    height: 42px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
}
.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 40px !important;
    padding: 0 36px 0 12px !important;
    color: #111827 !important;
    font-size: 14px !important;
    text-align: left !important;
}
.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 8px !important;
}
.woocommerce-cart .shipping-calculator-form .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-cart .shipping-calculator-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
}

/* Update button — match the secondary outline-teal style of Update Cart */
.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"],
.woocommerce-cart .shipping-calculator-form button.button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    background: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    height: 40px !important;
    padding: 0 18px !important;
    width: 100% !important;
    margin: 4px 0 0 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}
.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"]:hover,
.woocommerce-cart .shipping-calculator-form button.button:hover {
    background: #F0F7F9 !important;
}

/* When the Shipment row's content stacks under it, give breathing room */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping-calculator-form {
    text-align: left !important;
}

/* ==========================================================================
   6. B2BKING CUSTOM QUOTE FORM (replaces checkout for B2B logged-in users)
   Real class/ID names from live HTML:
     - Trigger button:    #b2bking_request_custom_quote_button (type=button)
     - Field container:   .b2bking_custom_quote_field_container
     - Label span:        .b2bking_request_custom_quote_text_label
     - Input/select/etc:  .b2bking_custom_quote_field
     - Form wrapper:      assumed parent of trigger + fields
   ----------------------------------------------------------
   Behavior:
   - On page load: trigger button is visible. All field containers, the
     textarea, the message label, and the (eventual) submit button are hidden.
   - On trigger click: a body class `.sg-quote-form-open` is toggled, which
     reveals everything and hides the trigger.
   ========================================================================== */

/* ---------- COLLAPSED STATE (default) ---------- */

/* Hide all field containers and their inputs when collapsed */
body:not(.sg-quote-form-open) .woocommerce-cart .b2bking_custom_quote_field_container {
    display: none !important;
}

/* Hide the textarea label + textarea when collapsed */
body:not(.sg-quote-form-open) .woocommerce-cart #b2bking_request_custom_quote_textarea_abovetext,
body:not(.sg-quote-form-open) .woocommerce-cart #b2bking_request_custom_quote_textarea {
    display: none !important;
}

/* ---------- TRIGGER BUTTON: "Request custom quote" ---------- */

/* Style the trigger button as a full-width teal CTA — same look as Proceed to Checkout */
.woocommerce-cart #b2bking_request_custom_quote_button {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    width: 100% !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 48px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    opacity: 1 !important;
}

/* When Update Cart precedes the trigger button (B2B logged-in scenario),
   force significant top spacing. Highest specificity to beat any prior rules. */
.woocommerce-cart td.actions button[name="update_cart"] ~ #b2bking_request_custom_quote_button,
.woocommerce-cart .actions button[name="update_cart"] ~ #b2bking_request_custom_quote_button,
body .woocommerce-cart #b2bking_request_custom_quote_button {
    margin-top: 36px !important;
}
.woocommerce-cart #b2bking_request_custom_quote_button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* When form is expanded: keep the trigger button visible (B2BKing changes
   its text to "Send custom quote request" and re-uses it as the form's
   submit button). Hide Update Cart instead since user has committed to
   the quote flow. */
body.sg-quote-form-open.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* Add breathing room between the textarea and the Send button when form
   is open. The button itself doesn't need this gap in closed state because
   Update Cart sits above it instead. */
body.sg-quote-form-open.woocommerce-cart #b2bking_request_custom_quote_button {
    margin-top: 20px !important;
}

/* ---------- FORM WRAPPER ---------- */

/* The form area as a card. Target the container that holds the trigger +
   hidden fields. B2BKing doesn't always put these in a named wrapper, so we
   target the cart-form's child that contains the trigger button. */
.woocommerce-cart .b2bking_custom_quote_form,
.woocommerce-cart #b2bking_custom_quote_form,
.woocommerce-cart form#b2bking_custom_quote_form,
.woocommerce-cart .b2bking_custom_quote_field_container_wrap,
.woocommerce-cart .b2bking_request_custom_quote_form {
    font-family: 'Inter', sans-serif !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-top: 32px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* When the form is expanded, give it visible card styling even if B2BKing
   doesn't wrap it in a named container */
body.sg-quote-form-open.woocommerce-cart .cart-collaterals + *,
body.sg-quote-form-open.woocommerce-cart .b2bking_quote_form_wrapper {
    margin-top: 32px !important;
}

/* ---------- FIELD CONTAINERS (when expanded) ---------- */

.woocommerce-cart .b2bking_custom_quote_field_container {
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* When expanded, override the display:none to show as block */
body.sg-quote-form-open.woocommerce-cart .b2bking_custom_quote_field_container {
    display: block !important;
}

body.sg-quote-form-open.woocommerce-cart #b2bking_request_custom_quote_textarea_abovetext,
body.sg-quote-form-open.woocommerce-cart span#b2bking_request_custom_quote_textarea_abovetext {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 16px 0 6px 0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}

body.sg-quote-form-open.woocommerce-cart #b2bking_request_custom_quote_textarea {
    display: block !important;
}

/* ---------- LABELS ---------- */

.woocommerce-cart .b2bking_request_custom_quote_text_label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.01em !important;
}

/* ---------- INPUTS / SELECTS / TEXTAREAS ---------- */

.woocommerce-cart .b2bking_custom_quote_field,
.woocommerce-cart #b2bking_request_custom_quote_textarea {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    margin: 0 !important;
}

.woocommerce-cart textarea.b2bking_custom_quote_field,
.woocommerce-cart #b2bking_request_custom_quote_textarea {
    height: auto !important;
    min-height: 120px !important;
    padding: 12px !important;
    resize: vertical !important;
}

.woocommerce-cart select.b2bking_custom_quote_field {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 36px !important;
    cursor: pointer !important;
}

.woocommerce-cart .b2bking_custom_quote_field:focus,
.woocommerce-cart #b2bking_request_custom_quote_textarea:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

.woocommerce-cart .b2bking_custom_quote_field::placeholder,
.woocommerce-cart #b2bking_request_custom_quote_textarea::placeholder {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #9CA3AF !important;
    opacity: 1 !important;
}

/* ---------- SUBMIT BUTTON: "Send custom quote request" ---------- */

.woocommerce-cart .b2bking_request_custom_quote_button,
.woocommerce-cart button.b2bking_request_custom_quote_button,
.woocommerce-cart input.b2bking_request_custom_quote_button,
.woocommerce-cart .b2bking_send_custom_quote_button,
.woocommerce-cart #b2bking_send_custom_quote_request,
.woocommerce-cart #b2bking_custom_quote_form button[type="submit"],
.woocommerce-cart #b2bking_custom_quote_form input[type="submit"],
.woocommerce-cart .b2bking_custom_quote_form button[type="submit"],
.woocommerce-cart .b2bking_custom_quote_form input[type="submit"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    width: 100% !important;
    margin: 16px 0 0 0 !important;
    height: auto !important;
    min-height: 48px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    float: none !important;
    opacity: 1 !important;
}

.woocommerce-cart .b2bking_request_custom_quote_button:hover,
.woocommerce-cart #b2bking_custom_quote_form button[type="submit"]:hover,
.woocommerce-cart .b2bking_custom_quote_form button[type="submit"]:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* ==========================================================================
   6b. UPDATE CART BUTTON spacing when above the quote form
   ========================================================================== */

body.b2bking_b2b_user.woocommerce-cart button[name="update_cart"],
body.logged-in.woocommerce-cart .actions button[name="update_cart"] {
    margin-top: 8px !important;
}

/* ==========================================================================
   7. CROSS-SELLS (related products below cart)
   ========================================================================== */

.woocommerce-cart .cross-sells {
    margin-top: 48px;
}
.woocommerce-cart .cross-sells > h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 20px !important;
}

/* ==========================================================================
   8. WC NOTICES (success / error banners)
   ========================================================================== */

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    padding: 14px 18px 14px 48px !important;  /* extra left padding to clear the ::before icon */
    border: 1px solid !important;
    margin-bottom: 20px !important;
    list-style: none !important;
    position: relative !important;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}
.woocommerce-cart .woocommerce-message {
    background: #F0FDF4 !important;
    border-color: #BBF7D0 !important;
    color: #166534 !important;
}
.woocommerce-cart .woocommerce-info {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
    color: #1E40AF !important;
}
.woocommerce-cart .woocommerce-error {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}

/* ==========================================================================
   9. RESPONSIVE — matches Elementor's 7-breakpoint system
   ----------------------------------------------------------
   widescreen   2400+        (min-width: 2400px)
   desktop      1366-2399    (default styles above)
   laptop       1200-1365    (max-width: 1365px)
   tablet_extra 881-1199     (max-width: 1199px)
   tablet       768-880      (max-width: 880px)
   mobile_extra 481-767      (max-width: 767px)
   mobile       320-480      (max-width: 480px)
   ========================================================================== */

/* ---------- Widescreen (2400px+) — bigger card padding, larger totals ---- */
@media (min-width: 2400px) {
    .woocommerce-cart .cart_totals,
    .woocommerce-cart .b2bking_custom_quote_form,
    .woocommerce-cart #b2bking_custom_quote_form,
    .woocommerce-cart .b2bking_request_custom_quote_form {
        padding: 32px !important;
    }
    .woocommerce-cart table.shop_table tbody td {
        padding: 22px 20px !important;
    }
    .woocommerce-cart table.shop_table thead th {
        padding: 16px 20px !important;
    }
    .woocommerce-cart .cart_totals table tr.order-total th,
    .woocommerce-cart .cart_totals table tr.order-total td {
        font-size: 20px !important;
    }
}

/* ---------- Laptop (1200-1365px) — slightly tighter ---------------------- */
@media (max-width: 1365px) {
    .woocommerce-cart .cart_totals {
        padding: 22px !important;
    }
    .woocommerce-cart table.shop_table tbody td {
        padding: 16px 14px !important;
    }
}

/* ---------- Tablet Extra (881-1199px) ------------------------------------ */
@media (max-width: 1199px) {
    .woocommerce-cart .cart_totals {
        padding: 20px !important;
    }
    .woocommerce-cart table.shop_table tbody td {
        padding: 14px 12px !important;
    }
    .woocommerce-cart table.shop_table thead th {
        padding: 12px 12px !important;
        font-size: 11px !important;
    }
    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
    }
}

/* ---------- Tablet (768-880px) — cart items switch to grid-card mode --
   IMPORTANT: scoped to .woocommerce-cart-form so it does NOT affect the
   cart_totals table. */
@media (max-width: 880px) {
    /* Hide the column header row */
    .woocommerce-cart .woocommerce-cart-form table.shop_table thead {
        display: none !important;
    }

    /* Each cart item row becomes a card with grid layout */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        grid-template-areas:
            "thumb  name"
            "price  price"
            "qty    qty"
            "total  total" !important;
        column-gap: 14px !important;
        row-gap: 8px !important;
        align-items: start !important;
        position: relative !important;
        padding: 16px 16px 16px 16px !important;
        border-top: 1px solid #F3F4F6 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item:first-child {
        border-top: none !important;
    }

    /* Each cell becomes a block, ignore default table layout */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
        width: auto !important;
    }

    /* Assign grid areas */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
        grid-area: thumb !important;
        float: none !important;
        margin: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
        display: block !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name {
        grid-area: name !important;
        padding-right: 28px !important; /* reserve space for the X button */
        min-width: 0 !important;        /* allow text to wrap */
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name a {
        font-size: 15px !important;
        line-height: 1.35 !important;
        display: inline !important;
        word-break: break-word !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation {
        margin: 6px 0 0 0 !important;
        font-size: 13px !important;
        color: #6B7280 !important;
        line-height: 1.5 !important;
        display: block !important;
    }

    /* Variation list mobile: same as desktop — each attribute on its own line,
       empty <dd> rows hidden, backorder notification breaks below. */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dt,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd {
        display: inline !important;
        margin: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dt::after {
        content: "\00a0" !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd::after {
        content: "\A" !important;
        white-space: pre !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd p {
        display: inline !important;
        margin: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd:empty {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dd:has(> p:empty) {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dt:has(+ dd:empty) {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name dl.variation dt:has(+ dd:has(> p:empty)) {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name .backorder_notification,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name p.backorder_notification {
        display: block !important;
        margin-top: 6px !important;
        color: #92400E !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name .backorder_notification::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name p.backorder_notification::before {
        content: "• " !important;
        color: #D97706 !important;
        font-weight: 700 !important;
    }

    /* Price / Quantity / Subtotal rows: show LABEL: VALUE inline */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-price {
        grid-area: price !important;
        padding-top: 8px !important;
        border-top: 1px solid #F3F4F6 !important;
        margin-top: 4px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity {
        grid-area: qty !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
        grid-area: total !important;
    }

    /* The label-value pattern */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-price,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 4px 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-price::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal::before {
        content: attr(data-title) !important;
        font-family: 'Inter', sans-serif !important;
        font-weight: 600 !important;
        color: #6B7280 !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        margin: 0 !important;
    }

    /* Don't show ::before for non-data cells */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-remove::before {
        display: none !important;
        content: "" !important;
    }

    /* Remove (×) button absolute-positioned top-right */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-remove {
        position: absolute !important;
        right: 12px !important;
        top: 12px !important;
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 2;
    }

    /* Quantity input: keep its compact size, don't stretch */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity input.qty {
        width: 80px !important;
    }

    /* Subtotal value: prominent */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
        font-size: 16px !important;
    }

    /* Actions row (Coupon + Update Cart): not a cart_item, so doesn't get grid styling.
       Make sure it stays as a full-width block. */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.actions {
        display: block !important;
        padding: 14px !important;
        background: #F9FAFB !important;
        border: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.actions::before {
        display: none !important;
        content: "" !important;
    }
    .woocommerce-cart .coupon {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        margin: 0 0 12px 0 !important;
        width: 100% !important;
    }
    .woocommerce-cart .coupon input.input-text {
        width: 100% !important;
        min-width: 0 !important;
    }
    .woocommerce-cart .coupon button.button {
        width: 100% !important;
    }
    .woocommerce-cart button[name="update_cart"] {
        width: 100% !important;
        float: none !important;
    }

    /* Cart totals card — stays as a clean key/value table, just tighten padding */
    .woocommerce-cart .cart_totals {
        padding: 20px !important;
    }
    /* Totals table cells stay in their proper two-column layout */
    .woocommerce-cart .cart_totals table th,
    .woocommerce-cart .cart_totals table td {
        display: table-cell !important;
    }

    .woocommerce-cart .b2bking_custom_quote_form,
    .woocommerce-cart #b2bking_custom_quote_form,
    .woocommerce-cart .b2bking_request_custom_quote_form {
        padding: 20px !important;
    }
}

/* ---------- Mobile Extra (481-767px) — tighter cards, smaller thumbs ---- */
@media (max-width: 767px) {
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        grid-template-columns: 64px 1fr !important;
        column-gap: 12px !important;
        padding: 14px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name a {
        font-size: 14px !important;
    }
    .woocommerce-cart .cart_totals,
    .woocommerce-cart .b2bking_custom_quote_form,
    .woocommerce-cart #b2bking_custom_quote_form,
    .woocommerce-cart .b2bking_request_custom_quote_form {
        padding: 18px !important;
        border-radius: 10px !important;
    }
    .woocommerce-cart .cart_totals h2 {
        font-size: 17px !important;
    }
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    .woocommerce-cart .b2bking_request_custom_quote_button,
    .woocommerce-cart .b2bking_custom_quote_form button[type="submit"],
    .woocommerce-cart #b2bking_send_custom_quote_request {
        font-size: 15px !important;
        padding: 13px 18px !important;
    }
}

/* ---------- Mobile (320-480px) — smallest viewport, edge-to-edge feel --- */
@media (max-width: 480px) {
    .woocommerce-cart table.shop_table {
        border-radius: 8px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        grid-template-columns: 56px 1fr !important;
        column-gap: 10px !important;
        padding: 12px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img {
        width: 56px !important;
        height: 56px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name a {
        font-size: 14px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-price,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
        font-size: 14px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
        font-size: 15px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-price::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal::before {
        font-size: 10px !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-quantity input.qty {
        width: 72px !important;
        height: 38px !important;
    }

    .woocommerce-cart .cart_totals,
    .woocommerce-cart .b2bking_custom_quote_form,
    .woocommerce-cart #b2bking_custom_quote_form,
    .woocommerce-cart .b2bking_request_custom_quote_form {
        padding: 16px !important;
        border-radius: 8px !important;
    }
    .woocommerce-cart .cart_totals h2 {
        font-size: 16px !important;
    }
    .woocommerce-cart .cart_totals table tr.order-total th,
    .woocommerce-cart .cart_totals table tr.order-total td {
        font-size: 16px !important;
    }

    /* Form labels and inputs scale down */
    .woocommerce-cart .b2bking_request_custom_quote_text_label {
        font-size: 12px !important;
    }
    .woocommerce-cart .b2bking_custom_quote_field {
        font-size: 14px !important;
        height: 40px !important;
    }
    .woocommerce-cart textarea.b2bking_custom_quote_field {
        height: auto !important;
        min-height: 96px !important;
    }

    /* Buttons full-width and slightly smaller */
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    .woocommerce-cart .b2bking_request_custom_quote_button,
    .woocommerce-cart .b2bking_custom_quote_form button[type="submit"],
    .woocommerce-cart #b2bking_send_custom_quote_request {
        font-size: 14px !important;
        padding: 12px 16px !important;
        border-radius: 8px !important;
    }

    /* Cross-sells heading */
    .woocommerce-cart .cross-sells > h2 {
        font-size: 19px !important;
    }
}

/* ==========================================================================
   10. B2B CART ACTIONS OVERRIDE — final cascade
   Placed at end of file with maximum specificity to beat any other rule
   styling td.actions to display:block. Required because mobile-cart-style
   rules from other snippets were winning the cascade.
   ========================================================================== */

/* B2B view: the JS snippet wraps Update Cart + Request Custom Quote in a
   .sg-b2b-actions-wrap div so we can flex them without breaking the TD's
   colspan layout. */
html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap,
html body.b2bking_b2b_user .elementor-widget-woocommerce-cart .sg-b2b-actions-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap button[name="update_cart"],
html body.b2bking_b2b_user .elementor-widget-woocommerce-cart .sg-b2b-actions-wrap button[name="update_cart"] {
    float: none !important;
    width: auto !important;
    align-self: flex-end !important;
    margin: 0 !important;
}

html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap #b2bking_request_custom_quote_button,
html body.b2bking_b2b_user .elementor-widget-woocommerce-cart .sg-b2b-actions-wrap #b2bking_request_custom_quote_button {
    width: 100% !important;
    align-self: stretch !important;
    margin: 0 !important;
    float: none !important;
}

/* When form is open, push the Send button down so it's not crammed against
   the textarea above. Must come AFTER the wrapper rule to win the cascade. */
html body.sg-quote-form-open.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap #b2bking_request_custom_quote_button,
html body.sg-quote-form-open.b2bking_b2b_user.woocommerce-cart #b2bking_request_custom_quote_button {
    margin-top: 20px !important;
}

/* On B2B view, hide the coupon (B2B users don't use coupons) so the actions
   cell only contains the wrapper */
body.b2bking_b2b_user.woocommerce-cart .coupon {
    display: none !important;
}

/* Mobile: tighter gap */
@media (max-width: 767px) {
    html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap {
        gap: 12px !important;
    }
    html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap button[name="update_cart"] {
        width: 100% !important;
        align-self: stretch !important;
    }
}

@media (max-width: 480px) {
    html body.b2bking_b2b_user.woocommerce-cart .sg-b2b-actions-wrap {
        gap: 10px !important;
    }
}

/* ==========================================================================
   SG: Cart Flyout Styling
   Replaces:
     #210 Elementor: Menu Cart Styling
     #348 Elementor: Remove all styling from menu cart widget
   Keep active alongside this:
     #370 Menu Cart - Truncate Cart Titles to 2 Lines (content rule)
     #247 Woocommerce - Hide Variation Attributes in Mini Cart (content rule)
     #216 Woo - View Cart Button Only (different element, no conflict)
   Brand tokens: Inter, teal #237B94, hover #1B6378
   ========================================================================== */


/* ==========================================================================
   1. CART ICON TOGGLE IN HEADER
   Strip Elementor's default button styling so the icon shows cleanly
   ========================================================================== */

.elementor-menu-cart__toggle,
.elementor-menu-cart__toggle button,
.elementor-menu-cart__toggle .elementor-button,
.elementor-menu-cart__toggle .elementor-button-link,
.elementor-menu-cart__toggle.elementor-button {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    border-radius: 0 !important;
}

.elementor-menu-cart__toggle svg,
.elementor-menu-cart__toggle i {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111827 !important;
    transition: color 0.15s ease;
}

.elementor-menu-cart__toggle:hover svg,
.elementor-menu-cart__toggle:hover i {
    color: #237B94 !important;
}

/* The cart count bubble (ShoppingCart bubble count snippet #262 outputs this) */
.elementor-menu-cart__toggle .elementor-button-text,
.elementor-menu-cart__toggle .elementor-menu-cart__toggle-counter {
    font-family: 'Inter', sans-serif !important;
}


/* ==========================================================================
   2. FLYOUT WRAPPER + HEADER
   ========================================================================== */

/* The flyout drawer container */
.elementor-menu-cart__container {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #1A1A1A !important;
}

/* Inner main wrapper */
.elementor-menu-cart__main {
    background: #FFFFFF !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

/* Header bar with title + close button */
.elementor-menu-cart__close-button-wrapper,
.elementor-menu-cart__close-button {
    color: #6B7280 !important;
    transition: color 0.15s ease;
}
.elementor-menu-cart__close-button:hover {
    color: #111827 !important;
}


/* ==========================================================================
   3. PRODUCT ROWS
   ========================================================================== */

/* The list wrapper */
.elementor-menu-cart__products,
.woocommerce-mini-cart {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Each product row */
.elementor-menu-cart__product,
.woocommerce-mini-cart__item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    background: transparent !important;
    position: relative;
}

.elementor-menu-cart__product:last-child,
.woocommerce-mini-cart__item:last-child {
    border-bottom: none !important;
}

/* Product thumbnail — border on the img only, not on Elementor's wrapper */
.elementor-menu-cart__product-image {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    flex-shrink: 0 !important;
}

.elementor-menu-cart__product img,
.elementor-menu-cart__product-image img,
.woocommerce-mini-cart__item img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    background: #F9FAFB !important;
    padding: 4px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: block !important;
}

/* Product name */
.elementor-menu-cart__product-name {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.4 !important;
    margin: 0 0 6px 0 !important;
    max-width: 100% !important;
    padding-right: 24px !important; /* reserve space for the × button */
}

.elementor-menu-cart__product-name a {
    color: #111827 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.15s ease;
}

.elementor-menu-cart__product-name a:hover {
    color: #237B94 !important;
}

/* Quantity + price line below name */
.elementor-menu-cart__product-price,
.woocommerce-mini-cart__item .quantity {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #6B7280 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* The "×" times character separator and the price itself */
.elementor-menu-cart__product-price .amount,
.elementor-menu-cart__product-price .woocommerce-Price-amount {
    color: #1F2937 !important;
    font-weight: 500 !important;
}

/* Remove (×) button */
.elementor-menu-cart__product-remove,
.elementor-menu-cart__product .remove,
.elementor-menu-cart__product a.remove {
    position: absolute !important;
    top: 14px !important;
    right: 0 !important;
    width: 24px !important;
    height: 24px !important;
    color: #9CA3AF !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    text-align: center !important;
    border-radius: 50% !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: all 0.15s ease;
}

.elementor-menu-cart__product-remove:hover,
.elementor-menu-cart__product .remove:hover,
.elementor-menu-cart__product a.remove:hover {
    color: #DC2626 !important;
    background: #FEF2F2 !important;
}

/* Product details column (everything to the right of the thumbnail) */
.elementor-menu-cart__product-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
}


/* ==========================================================================
   4. SUBTOTAL ROW
   ========================================================================== */

.elementor-menu-cart__subtotal,
.woocommerce-mini-cart__total {
    border: none !important;
    background: transparent !important;
    padding: 16px 0 !important;
    margin: 0 0 16px 0 !important;
    border-top: 1px solid #E5E7EB !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111827 !important;
}

.elementor-menu-cart__subtotal strong,
.woocommerce-mini-cart__total strong {
    font-weight: 600 !important;
    color: #111827 !important;
}

.elementor-menu-cart__subtotal .amount,
.elementor-menu-cart__subtotal .woocommerce-Price-amount,
.woocommerce-mini-cart__total .amount,
.woocommerce-mini-cart__total .woocommerce-Price-amount {
    color: #237B94 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}


/* ==========================================================================
   5. FOOTER BUTTONS
   ========================================================================== */

.elementor-menu-cart__footer-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* All footer buttons — shared base */
.elementor-menu-cart__footer-buttons .elementor-button,
.elementor-menu-cart__footer-buttons a.button {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 14px 20px !important;
    border-radius: 10px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}

/* View Cart — secondary outline teal */
.elementor-menu-cart__footer-buttons .elementor-button--view-cart,
.elementor-menu-cart__footer-buttons a.button.wc-forward:not(.checkout) {
    background: #FFFFFF !important;
    color: #237B94 !important;
    border: 1px solid #237B94 !important;
    box-shadow: none !important;
    transform: none !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
.elementor-menu-cart__footer-buttons a.button.wc-forward:not(.checkout):hover {
    background: #F0F7F9 !important;
    color: #237B94 !important;
    border-color: #237B94 !important;
}

/* Checkout — primary teal */
.elementor-menu-cart__footer-buttons .elementor-button--checkout,
.elementor-menu-cart__footer-buttons a.button.checkout {
    background: #237B94 !important;
    color: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    transform: none !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
.elementor-menu-cart__footer-buttons a.button.checkout:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}


/* ==========================================================================
   6. B2B REQUEST QUOTE BUTTON (injected by JS for B2B users)
   ========================================================================== */

.elementor-menu-cart__footer-buttons .sg-flyout-request-quote {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 14px 20px !important;
    border-radius: 10px !important;
    background: #237B94 !important;
    color: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
}

.elementor-menu-cart__footer-buttons .sg-flyout-request-quote:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}

/* For B2B users: hide the default Checkout button (replaced by Request Quote) */
body.b2bking_b2b_user .elementor-menu-cart__footer-buttons .elementor-button--checkout,
body.b2bking_b2b_user .elementor-menu-cart__footer-buttons a.button.checkout {
    display: none !important;
}


/* ==========================================================================
   7. EMPTY CART STATE
   ========================================================================== */

.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #6B7280 !important;
    text-align: center !important;
    padding: 40px 20px !important;
    margin: 0 !important;
}


/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */

@media (max-width: 767px) {
    .elementor-menu-cart__main {
        padding: 20px !important;
    }

    .elementor-menu-cart__product img,
    .elementor-menu-cart__product-image img,
    .woocommerce-mini-cart__item img {
        width: 52px !important;
        height: 52px !important;
    }

    .elementor-menu-cart__product-name {
        font-size: 14px !important;
    }

    .elementor-menu-cart__subtotal,
    .woocommerce-mini-cart__total {
        font-size: 14px !important;
    }

    .elementor-menu-cart__subtotal .amount,
    .woocommerce-mini-cart__total .amount {
        font-size: 17px !important;
    }

    .elementor-menu-cart__footer-buttons .elementor-button,
    .elementor-menu-cart__footer-buttons .sg-flyout-request-quote,
    .elementor-menu-cart__footer-buttons a.button {
        font-size: 14px !important;
        min-height: 44px !important;
        padding: 12px 18px !important;
    }
}

@media (max-width: 480px) {
    .elementor-menu-cart__main {
        padding: 16px !important;
    }

    .elementor-menu-cart__product img,
    .elementor-menu-cart__product-image img,
    .woocommerce-mini-cart__item img {
        width: 48px !important;
        height: 48px !important;
    }
}

/* ==========================================================================
   SG: Checkout Page Styling
   Scope: WooCommerce checkout shortcode + B2BKing extensions on /checkout/
   Font: Inter | Brand teal: #237B94
   Layout: Two-column on desktop (form left, order summary sticky right),
           Single-column stack on tablet and below.
   ========================================================================== */

.woocommerce-checkout .woocommerce {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #1A1A1A;
}

/* ==========================================================================
   1. TOP NOTICES (login / coupon reminders WooCommerce shows above the form)
   ========================================================================== */

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 20px 0 !important;
}

/* Hide the "Have a coupon? Click here to enter your code" notice when the
   coupon form is already expanded. Uses :has() to detect when the form's
   inline display:none has been removed by WooCommerce JS. */
body.woocommerce-checkout:has(form.checkout_coupon:not([style*="display: none"])) .woocommerce-form-coupon-toggle {
    display: none !important;
}
body.woocommerce-checkout:has(form.woocommerce-form-login:not([style*="display: none"])) .woocommerce-form-login-toggle {
    display: none !important;
}

.woocommerce-checkout .woocommerce-info {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    background: #EFF6FF !important;
    border: 1px solid #BFDBFE !important;
    color: #1E40AF !important;
    border-radius: 10px !important;
    padding: 14px 18px 14px 48px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
}
.woocommerce-checkout .woocommerce-info::before {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-info .showcoupon,
.woocommerce-checkout .woocommerce-info .showlogin {
    color: #237B94 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.woocommerce-checkout .woocommerce-info a:hover,
.woocommerce-checkout .woocommerce-info .showcoupon:hover,
.woocommerce-checkout .woocommerce-info .showlogin:hover {
    color: #1B6378 !important;
}

/* Login form when expanded */
.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 0 0 24px 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* Coupon form layout: input + button on the same row */
.woocommerce-checkout form.checkout_coupon {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}
.woocommerce-checkout form.checkout_coupon p {
    margin: 0 !important;
    flex: 1 1 auto !important;
}
.woocommerce-checkout form.checkout_coupon p:last-of-type {
    flex: 0 0 auto !important;
}
.woocommerce-checkout form.checkout_coupon input.input-text {
    min-width: 200px !important;
}

/* Apply Coupon + Login submit buttons — teal primary */
.woocommerce-checkout form.checkout_coupon button[type="submit"],
.woocommerce-checkout form.checkout_coupon .button,
.woocommerce-checkout form.woocommerce-form-login button[type="submit"],
.woocommerce-checkout form.woocommerce-form-login .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 0 18px !important;
    height: 42px !important;
    min-height: 42px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}
.woocommerce-checkout form.checkout_coupon button[type="submit"]:hover,
.woocommerce-checkout form.checkout_coupon .button:hover,
.woocommerce-checkout form.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-checkout form.woocommerce-form-login .button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}

/* "Lost password?" link inside login form */
.woocommerce-checkout form.woocommerce-form-login .lost_password a {
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    font-size: 13px !important;
}

/* ==========================================================================
   2. CHECKOUT TWO-COLUMN LAYOUT (desktop)
   Form on the left (~60%), order review on the right (~36%), sticky.
   ========================================================================== */

.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
    grid-template-areas:
        "customer review"
        "additional review" !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
}

/* Customer details wraps both billing and shipping — it IS the left column */
.woocommerce-checkout form.checkout #customer_details {
    grid-area: customer !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.woocommerce-checkout form.checkout .woocommerce-billing-fields,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields,
.woocommerce form .woocommerce-billing-fields,
.woocommerce form .woocommerce-shipping-fields {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
    flex: 1 1 auto !important;
    float: none !important;
    clear: none !important;
}

/* WooCommerce wraps billing in .col-1 and shipping in .col-2 with default
   floated 2-column layout (~47% width each). Override that — we manage layout
   via our own grid + flex above. */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .col2-set {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .col2-set {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.woocommerce-checkout form.checkout .woocommerce-additional-fields {
    grid-area: additional !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 24px !important;
}

/* Order review column — sticky on desktop */
.woocommerce-checkout form.checkout h3#order_review_heading,
.woocommerce-checkout form.checkout #order_review {
    grid-area: review !important;
    min-width: 0 !important;
}
.woocommerce-checkout form.checkout #order_review {
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide the duplicate Order Review heading since we'll show it inside the card */
.woocommerce-checkout form.checkout h3#order_review_heading {
    display: none !important;
}

/* ==========================================================================
   3. FORM SECTION CARDS (billing, shipping, additional)
   Each section gets its own white card matching the cart aesthetic
   ========================================================================== */

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* Section headings */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* "Ship to different address" toggle */
.woocommerce-checkout #ship-to-different-address {
    margin: 0 0 16px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
.woocommerce-checkout #ship-to-different-address label {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

/* ==========================================================================
   4. FORM FIELDS — inputs, selects, textareas
   ========================================================================== */

.woocommerce-checkout .form-row,
.woocommerce-checkout p.form-row {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
    letter-spacing: 0.01em !important;
}

.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required {
    color: #DC2626 !important;
    text-decoration: none !important;
    margin-left: 2px !important;
}

.woocommerce-checkout .form-row label .optional {
    color: #9CA3AF !important;
    font-weight: 400 !important;
}

/* Two-column form rows (first name / last name etc.) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 7px) !important;
    display: inline-block !important;
    vertical-align: top !important;
}
.woocommerce-checkout .form-row-first {
    margin-right: 14px !important;
}
.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    clear: both !important;
}

/* All text inputs, emails, phones, numbers */
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout input[type="text"],
.woocommerce-checkout form.checkout input[type="email"],
.woocommerce-checkout form.checkout input[type="tel"],
.woocommerce-checkout form.checkout input[type="number"],
.woocommerce-checkout form.checkout input[type="password"],
.woocommerce-checkout form.woocommerce-form-login input[type="text"],
.woocommerce-checkout form.woocommerce-form-login input[type="email"],
.woocommerce-checkout form.woocommerce-form-login input[type="password"],
.woocommerce-checkout form.checkout_coupon input[type="text"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout input[type="text"]:focus,
.woocommerce-checkout form.checkout input[type="email"]:focus,
.woocommerce-checkout form.checkout input[type="tel"]:focus,
.woocommerce-checkout form.checkout input[type="number"]:focus,
.woocommerce-checkout form.checkout input[type="password"]:focus,
.woocommerce-checkout form.woocommerce-form-login input[type="text"]:focus,
.woocommerce-checkout form.woocommerce-form-login input[type="email"]:focus,
.woocommerce-checkout form.woocommerce-form-login input[type="password"]:focus,
.woocommerce-checkout form.checkout_coupon input[type="text"]:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

.woocommerce-checkout form.checkout .input-text::placeholder,
.woocommerce-checkout form.woocommerce-form-login .input-text::placeholder,
.woocommerce-checkout form.checkout_coupon .input-text::placeholder {
    color: #9CA3AF !important;
    opacity: 1 !important;
}

/* Textareas (order notes) */
.woocommerce-checkout form.checkout textarea {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    min-height: 110px !important;
    padding: 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-checkout form.checkout textarea:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Native selects */
.woocommerce-checkout form.checkout select {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 36px 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background-color: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce-checkout form.checkout select:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Select2 (Country/State use Select2 on most WC versions) */
.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single,
.woocommerce-checkout form.checkout + .select2-container--default .select2-selection--single {
    font-family: 'Inter', sans-serif !important;
    height: 42px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
}
.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 40px !important;
    padding: 0 36px 0 12px !important;
    color: #111827 !important;
    font-size: 14px !important;
}
.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 8px !important;
}
.woocommerce-checkout form.checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout form.checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
}

/* Checkboxes — account creation, save info, etc. */
.woocommerce-checkout .form-row.woocommerce-form__input-checkbox-label,
.woocommerce-checkout label.checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout form.checkout input[type="checkbox"],
.woocommerce-checkout form.woocommerce-form-login input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: #237B94 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

/* Validation states */
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
    border-color: #DC2626 !important;
}
.woocommerce-checkout .form-row.woocommerce-validated input.input-text {
    border-color: #D1D5DB !important;
}

/* ==========================================================================
   5. ORDER REVIEW CARD (right column)
   ========================================================================== */

.woocommerce-checkout #order_review {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* Heading inside the card */
.woocommerce-checkout #order_review::before {
    content: "Order summary";
    display: block;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

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

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    font-family: 'Inter', sans-serif !important;
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
    background: transparent !important;
    font-size: 14px !important;
    color: #1F2937 !important;
}

.woocommerce-checkout table.shop_table th {
    font-weight: 600 !important;
    color: #6B7280 !important;
    text-align: left !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

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

/* Product rows */
.woocommerce-checkout table.shop_table .cart_item .product-name {
    font-weight: 500 !important;
    color: #111827 !important;
    padding-right: 12px !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout table.shop_table .cart_item .product-quantity {
    color: #6B7280 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
}
.woocommerce-checkout table.shop_table .cart_item .product-total {
    text-align: right !important;
    white-space: nowrap !important;
}

/* Subtotal / shipping / tax rows */
.woocommerce-checkout table.shop_table .cart-subtotal th,
.woocommerce-checkout table.shop_table .shipping th,
.woocommerce-checkout table.shop_table .tax-rate th,
.woocommerce-checkout table.shop_table tr.fee th {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4B5563 !important;
}

.woocommerce-checkout table.shop_table .cart-subtotal td,
.woocommerce-checkout table.shop_table .shipping td,
.woocommerce-checkout table.shop_table .tax-rate td,
.woocommerce-checkout table.shop_table tr.fee td {
    text-align: right !important;
    color: #111827 !important;
    font-weight: 500 !important;
}

/* Order total row */
.woocommerce-checkout table.shop_table tr.order-total th,
.woocommerce-checkout table.shop_table tr.order-total td {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding-top: 14px !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.woocommerce-checkout table.shop_table tr.order-total td .woocommerce-Price-amount {
    color: #237B94 !important;
}

/* Shipping methods radio list inside the order review */
.woocommerce-checkout #shipping_method {
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce-checkout #shipping_method li {
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #4B5563 !important;
}
.woocommerce-checkout #shipping_method li input[type="radio"] {
    margin-right: 6px !important;
    accent-color: #237B94 !important;
}

/* ==========================================================================
   6. PAYMENT METHODS
   ========================================================================== */

.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    margin: 16px 0 0 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout ul.payment_methods {
    background: transparent !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    margin: 0 0 16px 0 !important;
    padding: 4px !important;
    list-style: none !important;
}

.woocommerce-checkout ul.payment_methods li.wc_payment_method {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 14px 12px !important;
    border-bottom: 1px solid #F3F4F6 !important;
    position: relative;
}
.woocommerce-checkout ul.payment_methods li.wc_payment_method:last-child {
    border-bottom: none !important;
}

.woocommerce-checkout ul.payment_methods li.wc_payment_method > label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout ul.payment_methods li.wc_payment_method input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: #237B94 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

/* Card icon row — let them wrap if too many */
.woocommerce-checkout ul.payment_methods li.wc_payment_method img {
    max-height: 20px !important;
    width: auto !important;
    margin: 0 !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

/* Wrap multiple card icons inline */
.woocommerce-checkout ul.payment_methods li.wc_payment_method label > img,
.woocommerce-checkout ul.payment_methods li.wc_payment_method label img + img {
    margin-left: 4px !important;
}

/* Payment method description box (expanded when selected) */
.woocommerce-checkout ul.payment_methods .payment_box {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid #F3F4F6 !important;
    border-radius: 0 !important;
    padding: 14px 0 0 0 !important;
    margin: 12px 0 0 0 !important;
    font-size: 13px !important;
    color: #4B5563 !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout ul.payment_methods .payment_box::before {
    display: none !important;  /* kill the WC default ▲ triangle */
}
.woocommerce-checkout ul.payment_methods .payment_box p {
    margin: 0 0 10px 0 !important;
    color: #6B7280 !important;
    font-size: 13px !important;
}
.woocommerce-checkout ul.payment_methods .payment_box p:last-child {
    margin: 0 !important;
}

/* Square payment iframe wrapper — Square's own iframe has its own border,
   so we don't add one on top */
.woocommerce-checkout ul.payment_methods .payment_box .wc-square-credit-card,
.woocommerce-checkout ul.payment_methods .payment_box #wc-square-credit-card-fields,
.woocommerce-checkout ul.payment_methods .payment_box .wc-square-credit-card-fields,
.woocommerce-checkout ul.payment_methods .payment_box .sq-card-component {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    margin: 8px 0 0 0 !important;
    overflow: visible !important;
}

/* Stripe/Square card field iframes — keep them tidy */
.woocommerce-checkout ul.payment_methods .payment_box iframe {
    border: none !important;
    background: transparent !important;
}

/* ==========================================================================
   7. PLACE ORDER BUTTON — the final CTA
   ========================================================================== */

.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 16px 0 0 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(35, 123, 148, 0.2) !important;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
    float: none !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button#place_order:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    box-shadow: 0 3px 6px rgba(35, 123, 148, 0.25) !important;
}

.woocommerce-checkout #place_order:active {
    transform: translateY(1px) !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.2) !important;
}

/* Terms & conditions checkbox above Place Order */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 16px 0 0 0 !important;
    padding: 14px !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
    font-size: 13px !important;
    color: #4B5563 !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ==========================================================================
   8. TRUST STRIP (custom widget inserted via Elementor JSON)
   ========================================================================== */

.sg-checkout-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 24px !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    background: #F9FAFB !important;
    border: 1px solid #F3F4F6 !important;
    border-radius: 10px !important;
}

.sg-checkout-trust .sg-trust-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #4B5563 !important;
    line-height: 1.3 !important;
}

.sg-checkout-trust .sg-trust-item svg {
    width: 18px !important;
    height: 18px !important;
    color: #237B94 !important;
    flex-shrink: 0 !important;
}

/* ==========================================================================
   9. WC NOTICES
   ========================================================================== */

.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    padding: 14px 18px 14px 48px !important;
    border: 1px solid !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
}
.woocommerce-checkout .woocommerce-message {
    background: #F0FDF4 !important;
    border-color: #BBF7D0 !important;
    color: #166534 !important;
}
.woocommerce-checkout .woocommerce-error {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-info::before {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

/* ==========================================================================
   10. RESPONSIVE — Elementor 7-breakpoint system
   ========================================================================== */

/* Laptop (1200–1365px) — tighten the order summary column slightly */
@media (max-width: 1365px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr 340px !important;
        gap: 20px !important;
    }
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields {
        padding: 22px !important;
    }
}

/* Tablet Extra (881–1199px) — narrower summary */
@media (max-width: 1199px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr 320px !important;
    }
}

/* Tablet (768–880px) — switch to single column stack */
@media (max-width: 880px) {
    .woocommerce-checkout form.checkout {
        display: block !important;
        grid-template-columns: none !important;
    }
    .woocommerce-checkout form.checkout #customer_details {
        display: block !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        margin: 0 0 20px 0 !important;
        position: static !important;
    }
    .woocommerce-checkout #order_review {
        position: static !important;
    }
    /* Two-column form rows stack on mobile */
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* Mobile Extra (481–767px) */
@media (max-width: 767px) {
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout form.woocommerce-form-login,
    .woocommerce-checkout form.checkout_coupon {
        padding: 18px !important;
        border-radius: 10px !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields > h3,
    .woocommerce-checkout .woocommerce-shipping-fields > h3,
    .woocommerce-checkout .woocommerce-additional-fields > h3 {
        font-size: 17px !important;
    }
    .woocommerce-checkout #place_order {
        font-size: 16px !important;
        padding: 14px 18px !important;
    }
    .sg-checkout-trust {
        gap: 14px !important;
        padding: 14px !important;
    }
    .sg-checkout-trust .sg-trust-item {
        font-size: 12px !important;
    }

    /* Coupon form stacks vertically on mobile */
    .woocommerce-checkout form.checkout_coupon {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .woocommerce-checkout form.checkout_coupon p,
    .woocommerce-checkout form.checkout_coupon input.input-text,
    .woocommerce-checkout form.checkout_coupon button[type="submit"],
    .woocommerce-checkout form.checkout_coupon .button {
        width: 100% !important;
    }
}

/* Mobile (320–480px) */
@media (max-width: 480px) {
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout form.woocommerce-form-login,
    .woocommerce-checkout form.checkout_coupon {
        padding: 16px !important;
        border-radius: 8px !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields > h3,
    .woocommerce-checkout .woocommerce-shipping-fields > h3,
    .woocommerce-checkout .woocommerce-additional-fields > h3 {
        font-size: 16px !important;
    }
    .woocommerce-checkout table.shop_table tr.order-total th,
    .woocommerce-checkout table.shop_table tr.order-total td {
        font-size: 16px !important;
    }
    .woocommerce-checkout #place_order {
        font-size: 15px !important;
        min-height: 50px !important;
    }
    .sg-checkout-trust {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .sg-checkout-trust .sg-trust-item {
        width: 100% !important;
    }
}

/* ==========================================================================
   SG: My Account Page Styling
   Scope: /my-account/ — WooCommerce + B2BKing my-account tabs + login/register
   Font: Inter | Brand teal: #237B94 | Hover: #1B6378
   ========================================================================== */

.woocommerce-account .woocommerce {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #1A1A1A !important;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    display: none !important;
}


/* ==========================================================================
   1. SIDEBAR + CONTENT GRID (logged-in only)
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    box-sizing: border-box !important;
}

.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 28px !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    min-width: 0 !important;
}


/* ==========================================================================
   2. SIDEBAR NAV
   ========================================================================== */

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

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li::marker {
    content: none !important;
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    color: #4B5563 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    line-height: 1.3 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #F3F4F6 !important;
    color: #111827 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover {
    background: #237B94 !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: 0.8;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    background: currentColor;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--conversations a::before,
.woocommerce-account .woocommerce-MyAccount-navigation-link--messages a::before,
.woocommerce-account .woocommerce-MyAccount-navigation-link--b2bking_conversations a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--offers a::before,
.woocommerce-account .woocommerce-MyAccount-navigation-link--b2bking_offers a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.58a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.58a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #F3F4F6 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}


/* ==========================================================================
   3. CONTENT HEADINGS
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    margin: 0 0 18px 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
    color: #1B6378 !important;
}


/* ==========================================================================
   4. EMPTY STATE NOTICES
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    color: #4B5563 !important;
    border-radius: 10px !important;
    padding: 18px 22px 18px 52px !important;
    margin: 0 !important;
    list-style: none !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    background: #237B94 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: contain !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    flex-shrink: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}


/* ==========================================================================
   5. DASHBOARD TILE GRID (injected by JS)
   ========================================================================== */

.sg-dashboard {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.sg-dashboard-welcome { margin: 0 0 4px 0 !important; }
.sg-dashboard-welcome h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    border: none !important;
}
.sg-dashboard-welcome p {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #6B7280 !important;
    margin: 0 !important;
}

/* DEAD: Section 5's .sg-dashboard-stats / .sg-dashboard-stat / :hover rules
   all shadowed by Section 34's higher-specificity block (.X .Y .sg-dashboard-stats a.sg-dashboard-stat).
   Section 32 also overrides the grid-template-columns at all viewports. */
/* DEAD: .sg-stat-value rule removed — Section 22 made tiles label-only, no JS injects this class.
   DEAD: .sg-stat-label here was overridden by Section 22's 14px/600 rule and again by Section 34. */

.sg-dashboard-section-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 0 8px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

.sg-dashboard-recent {
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 16px !important;
}
.sg-dashboard-recent ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.sg-dashboard-recent li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #E5E7EB !important;
    font-size: 14px !important;
}
.sg-dashboard-recent li:last-child { border-bottom: none !important; }
.sg-dashboard-recent .sg-order-id { font-weight: 600 !important; color: #111827 !important; }
.sg-dashboard-recent .sg-order-date { color: #6B7280 !important; font-size: 13px !important; }
.sg-dashboard-recent .sg-order-status {
    padding: 2px 8px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    background: #DBEAFE !important;
    color: #1E40AF !important;
}
.sg-dashboard-recent .sg-order-status.sg-status-completed { background: #DCFCE7 !important; color: #166534 !important; }
.sg-dashboard-recent .sg-order-status.sg-status-processing { background: #FEF3C7 !important; color: #92400E !important; }
.sg-dashboard-recent .sg-order-status.sg-status-pending { background: #F3F4F6 !important; color: #4B5563 !important; }
.sg-dashboard-recent .sg-order-view { color: #237B94 !important; text-decoration: none !important; font-weight: 500 !important; }
.sg-dashboard-recent .sg-order-view:hover { text-decoration: underline !important; }

.sg-dashboard-onboarding {
    background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%) !important;
    border: 1px solid #BAE6FD !important;
    border-radius: 10px !important;
    padding: 20px !important;
}
.sg-dashboard-onboarding h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #075985 !important;
    margin: 0 0 12px 0 !important;
}
.sg-dashboard-onboarding ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.sg-dashboard-onboarding li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #0C4A6E !important;
}
.sg-dashboard-onboarding li::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #0EA5E9 !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    background: #FFFFFF !important;
}
.sg-dashboard-onboarding li.sg-done::before {
    background: #0EA5E9 !important;
    border-color: #0EA5E9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;
}
.sg-dashboard-onboarding li a { color: #0C4A6E !important; text-decoration: none !important; font-weight: 500 !important; }
.sg-dashboard-onboarding li a:hover { text-decoration: underline !important; }
.sg-dashboard-onboarding li.sg-done a { text-decoration: line-through !important; color: #6B7280 !important; }

.sg-dashboard-pending {
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%) !important;
    border: 1px solid #FDE68A !important;
    border-radius: 10px !important;
    padding: 20px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
}
.sg-dashboard-pending svg { width: 24px !important; height: 24px !important; color: #B45309 !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.sg-dashboard-pending div { flex: 1 !important; }
.sg-dashboard-pending h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #78350F !important;
    margin: 0 0 4px 0 !important;
}
.sg-dashboard-pending p {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #92400E !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}


/* ==========================================================================
   6. ORDERS TABLE
   ========================================================================== */

.woocommerce-account .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.woocommerce-account .woocommerce-orders-table th {
    background: #F9FAFB !important;
    border: none !important;
    border-bottom: 1px solid #E5E7EB !important;
    padding: 12px 14px !important;
    text-align: left !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.woocommerce-account .woocommerce-orders-table td {
    padding: 14px !important;
    border: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
    background: #FFFFFF !important;
}
.woocommerce-account .woocommerce-orders-table tr:last-child td { border-bottom: none !important; }
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    background: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    text-decoration: none !important;
    margin: 0 4px 0 0 !important;
    transition: background 0.15s ease !important;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover { background: #F0F7F9 !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-status { font-weight: 500 !important; }


/* ==========================================================================
   7. ADDRESSES PAGE
   ========================================================================== */

.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin: 0 !important;
}
.woocommerce-account .woocommerce-Address {
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin: 0 !important;
}
.woocommerce-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 12px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
.woocommerce-account .woocommerce-Address-title .edit {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    text-decoration: none !important;
}
.woocommerce-account .woocommerce-Address-title .edit:hover { color: #1B6378 !important; text-decoration: underline !important; }
.woocommerce-account .woocommerce-Address address {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    font-style: normal !important;
    margin: 0 !important;
}


/* ==========================================================================
   8. ACCOUNT DETAILS FORM
   ========================================================================== */

.woocommerce-account form.edit-account,
.woocommerce-account form.woocommerce-EditAccountForm { margin: 0 !important; }

.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account form.edit-account .form-row {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

.woocommerce-account form.edit-account .form-row label,
.woocommerce-account form.woocommerce-EditAccountForm label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
}
.woocommerce-account form.edit-account .form-row .required { color: #DC2626 !important; text-decoration: none !important; }

.woocommerce-account form.edit-account .form-row-first,
.woocommerce-account form.edit-account .form-row-last {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top !important;
}
.woocommerce-account form.edit-account .form-row-first { margin-right: 16px !important; }
.woocommerce-account form.edit-account .form-row-wide { width: 100% !important; clear: both !important; }

.woocommerce-account form.edit-account input[type="text"],
.woocommerce-account form.edit-account input[type="email"],
.woocommerce-account form.edit-account input[type="tel"],
.woocommerce-account form.edit-account input[type="password"],
.woocommerce-account form.edit-account input[type="number"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce-account form.edit-account input:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

.woocommerce-account form.edit-account fieldset {
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 18px 20px !important;
    margin: 0 0 20px 0 !important;
}
.woocommerce-account form.edit-account fieldset legend {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    padding: 0 8px !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 6px !important;
    margin: 0 0 12px 0 !important;
}

.woocommerce-account form.edit-account .form-row em,
.woocommerce-account form.edit-account .form-row .description {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #6B7280 !important;
    font-style: normal !important;
    margin: 4px 0 0 0 !important;
    line-height: 1.4 !important;
}

.woocommerce-account form.edit-account button[type="submit"],
.woocommerce-account form.edit-account .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 11px 22px !important;
    height: 44px !important;
    min-height: 44px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    margin-top: 8px !important;
}
.woocommerce-account form.edit-account button[type="submit"]:hover { background: #1B6378 !important; border-color: #1B6378 !important; }


/* ==========================================================================
   9. B2BKING CONVERSATIONS TAB
   ========================================================================== */

.woocommerce-account #b2bking_create_new_conversation_button,
.woocommerce-account .b2bking_new_conversation_button,
.woocommerce-account a.b2bking_create_conversation,
.woocommerce-account .b2bking_messages_button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account #b2bking_create_new_conversation_button:hover,
.woocommerce-account .b2bking_new_conversation_button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}

.woocommerce-account .b2bking_my_account_conversations_table,
.woocommerce-account .b2bking-conversations-table,
.woocommerce-account table.b2bking_conversations_list {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 0 16px 0 !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.woocommerce-account .b2bking_my_account_conversations_table thead th,
.woocommerce-account .b2bking-conversations-table thead th,
.woocommerce-account table.b2bking_conversations_list thead th {
    background: #F9FAFB !important;
    color: #6B7280 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 14px !important;
    border: none !important;
    border-bottom: 1px solid #E5E7EB !important;
    text-align: left !important;
}
.woocommerce-account .b2bking_my_account_conversations_table tbody td,
.woocommerce-account .b2bking-conversations-table tbody td,
.woocommerce-account table.b2bking_conversations_list tbody td {
    background: #FFFFFF !important;
    padding: 14px !important;
    border: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
}
.woocommerce-account .b2bking_my_account_conversations_table tbody tr:last-child td,
.woocommerce-account .b2bking-conversations-table tbody tr:last-child td { border-bottom: none !important; }

.woocommerce-account a.b2bking_view_conversation_btn,
.woocommerce-account .b2bking_view_conversation,
.woocommerce-account a[href*="b2bking_conversation"],
.woocommerce-account .button.b2bking_view_offer {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account a.b2bking_view_conversation_btn:hover,
.woocommerce-account .b2bking_view_conversation:hover,
.woocommerce-account a[href*="b2bking_conversation"]:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}


/* ==========================================================================
   10. LOGIN / REGISTER PAGE
   #customer_login.u-columns.col2-set holds two children: .u-column1.col-1
   and .u-column2.col-2. The col2-set class generates clearfix ::before /
   ::after pseudo-elements that become unintended grid items, throwing off
   auto-placement. Fix: hide the pseudo-elements AND set explicit grid
   placement on the column children.
   ========================================================================== */

.woocommerce-account:not(.logged-in) #customer_login,
.woocommerce-account:not(.logged-in) #customer_login.u-columns,
.woocommerce-account:not(.logged-in) #customer_login.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide col2-set clearfix pseudo-elements so they don't take grid cells */
.woocommerce-account:not(.logged-in) #customer_login::before,
.woocommerce-account:not(.logged-in) #customer_login::after,
.woocommerce-account:not(.logged-in) .u-columns::before,
.woocommerce-account:not(.logged-in) .u-columns::after,
.woocommerce-account:not(.logged-in) .col2-set::before,
.woocommerce-account:not(.logged-in) .col2-set::after {
    content: none !important;
    display: none !important;
}

/* Explicit grid placement on column children */
.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
.woocommerce-account:not(.logged-in) #customer_login > .col-1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* Column children styling — cards */
.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
.woocommerce-account:not(.logged-in) #customer_login > .col-1,
.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 28px !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

.woocommerce-account:not(.logged-in) .u-column1 h2,
.woocommerce-account:not(.logged-in) .u-column2 h2,
.woocommerce-account:not(.logged-in) .col-1 h2,
.woocommerce-account:not(.logged-in) .col-2 h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

.woocommerce-account:not(.logged-in) form .form-row {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}
.woocommerce-account:not(.logged-in) form .form-row label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
}
.woocommerce-account:not(.logged-in) form .form-row label .required {
    color: #DC2626 !important;
    text-decoration: none !important;
}

.woocommerce-account:not(.logged-in) form input[type="text"],
.woocommerce-account:not(.logged-in) form input[type="email"],
.woocommerce-account:not(.logged-in) form input[type="password"],
.woocommerce-account:not(.logged-in) form input[type="tel"],
.woocommerce-account:not(.logged-in) form select {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-account:not(.logged-in) form select {
    padding: 10px 36px 10px 12px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

.woocommerce-account:not(.logged-in) form textarea {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    min-height: 80px !important;
    padding: 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
    resize: vertical !important;
}

.woocommerce-account:not(.logged-in) form input:focus,
.woocommerce-account:not(.logged-in) form select:focus,
.woocommerce-account:not(.logged-in) form textarea:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

.woocommerce-account:not(.logged-in) form.woocommerce-form-login button[type="submit"],
.woocommerce-account:not(.logged-in) form.register button[type="submit"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 11px 24px !important;
    height: 44px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    margin: 0 !important;
}
.woocommerce-account:not(.logged-in) form.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-account:not(.logged-in) form.register button[type="submit"]:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 0 14px !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    cursor: pointer !important;
}
.woocommerce-account:not(.logged-in) form.woocommerce-form-login input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #237B94 !important;
    margin: 0 !important;
}

.woocommerce-account:not(.logged-in) form.woocommerce-form-login .lost_password { margin: 14px 0 0 0 !important; }
.woocommerce-account:not(.logged-in) form.woocommerce-form-login .lost_password a {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.woocommerce-account:not(.logged-in) form.register .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
    margin: 12px 0 16px 0 !important;
}
.woocommerce-account:not(.logged-in) form.register .woocommerce-privacy-policy-text a {
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}


/* ==========================================================================
   11. WOOCOMMERCE NOTICES (success, info, error)
   ========================================================================== */

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    padding: 14px 18px 14px 48px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
}
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message { background: #F0FDF4 !important; border: 1px solid #BBF7D0 !important; color: #166534 !important; }
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error { background: #FEF2F2 !important; border: 1px solid #FECACA !important; color: #991B1B !important; }
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info { background: #EFF6FF !important; border: 1px solid #BFDBFE !important; color: #1E40AF !important; }


/* ==========================================================================
   12. RESPONSIVE
   ========================================================================== */

@media (max-width: 1365px) {
    .woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 240px minmax(0, 1fr) !important;
        gap: 20px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 24px !important; }
}

@media (max-width: 1199px) {
    .woocommerce-account.logged-in .woocommerce { grid-template-columns: 220px minmax(0, 1fr) !important; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        font-size: 13px !important;
        padding: 9px 12px !important;
    }
}

@media (max-width: 880px) {
    .woocommerce-account.logged-in .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation {
        position: static !important;
        padding: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        gap: 4px !important;
        min-width: max-content !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li { flex-shrink: 0 !important; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 8px 14px !important;
        white-space: nowrap !important;
        font-size: 13px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        border-left: 1px solid #F3F4F6 !important;
        padding-left: 8px !important;
        margin-left: 4px !important;
    }
    .woocommerce-account:not(.logged-in) #customer_login,
    .woocommerce-account:not(.logged-in) #customer_login.u-columns,
    .woocommerce-account:not(.logged-in) #customer_login.col2-set {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .woocommerce-account:not(.logged-in) #customer_login > .u-column1,
    .woocommerce-account:not(.logged-in) #customer_login > .col-1,
    .woocommerce-account:not(.logged-in) #customer_login > .u-column2,
    .woocommerce-account:not(.logged-in) #customer_login > .col-2 {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 18px !important;
        border-radius: 10px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-content > h2,
    .woocommerce-account .woocommerce-MyAccount-content > h3 { font-size: 19px !important; }
    .sg-dashboard-welcome h2 { font-size: 20px !important; }
    /* DEAD: .sg-stat-value font-size override removed — class no longer rendered */
    /* DEAD: .sg-dashboard-stats grid-template-columns:repeat(2,1fr) at 767px shadowed by Section 32's 880px rule (also 2-col) */
    .woocommerce-account form.edit-account .form-row-first,
    .woocommerce-account form.edit-account .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
        display: block !important;
    }
    .woocommerce-account .woocommerce-orders-table { font-size: 13px !important; }
    .woocommerce-account .woocommerce-orders-table th,
    .woocommerce-account .woocommerce-orders-table td { padding: 10px 8px !important; }
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 16px !important;
        border-radius: 8px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-content > h2,
    .woocommerce-account .woocommerce-MyAccount-content > h3 { font-size: 17px !important; }
    /* DEAD: .sg-dashboard-stats grid:1fr at 480px shadowed by Section 32's 600px rule (also 1fr) */
    .woocommerce-account:not(.logged-in) .u-column1,
    .woocommerce-account:not(.logged-in) .u-column2,
    .woocommerce-account:not(.logged-in) .col-1,
    .woocommerce-account:not(.logged-in) .col-2 {
        padding: 18px !important;
        border-radius: 10px !important;
    }
    .woocommerce-account .woocommerce-Address { padding: 16px !important; }
    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-date,
    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status { display: none !important; }
}


/* ==========================================================================
   13. DASHBOARD RHYTHM TIGHTENING
   ========================================================================== */

.sg-dashboard { gap: 16px !important; }
.sg-dashboard-welcome { margin: 0 !important; }
.sg-dashboard-welcome p { margin-top: 4px !important; }


/* ==========================================================================
   14. ORDER DETAIL VIEW
   /my-account/view-order/{n}/ — order details, totals table, tracking strip,
   refund quantity rendering.
   ========================================================================== */

/* Order header sentence ("Order #X was placed on...") */
.woocommerce-account .woocommerce-MyAccount-content > p.woocommerce-order {
    margin-bottom: 24px !important;
}

/* Order details table — same look as orders list table */
.woocommerce-account .woocommerce-table--order-details,
.woocommerce-account table.shop_table.order_details {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 0 0 24px 0 !important;
}
.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account table.shop_table.order_details th {
    background: #F9FAFB !important;
    border: none !important;
    border-bottom: 1px solid #E5E7EB !important;
    padding: 12px 14px !important;
    text-align: left !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.woocommerce-account .woocommerce-table--order-details td,
.woocommerce-account table.shop_table.order_details td {
    background: #FFFFFF !important;
    padding: 14px !important;
    border: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
    vertical-align: top !important;
}
.woocommerce-account .woocommerce-table--order-details tfoot th,
.woocommerce-account table.shop_table.order_details tfoot th {
    background: #FFFFFF !important;
    text-transform: none !important;
    font-size: 14px !important;
    color: #374151 !important;
    letter-spacing: 0 !important;
    width: 60% !important;
}
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-account table.shop_table.order_details tfoot tr:last-child th,
.woocommerce-account table.shop_table.order_details tfoot tr:last-child td {
    border-bottom: none !important;
}

/* Product name link in order detail */
.woocommerce-account .woocommerce-table__product-name a,
.woocommerce-account td.product-name a {
    color: #237B94 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    font-weight: 500 !important;
}
.woocommerce-account .woocommerce-table__product-name a:hover,
.woocommerce-account td.product-name a:hover {
    color: #1B6378 !important;
}

/* Refund quantity rendering: × ~~8~~ 0
   <strong class="product-quantity">×&nbsp;<del>8</del><ins>0</ins></strong>
   Make the strikethrough visible and the new value bold. */
.woocommerce-account .product-quantity del,
.woocommerce-account td.product-name del {
    color: #9CA3AF !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    margin-right: 4px !important;
}
.woocommerce-account .product-quantity ins,
.woocommerce-account td.product-name ins {
    color: #DC2626 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    background: transparent !important;
}

/* wc-item-meta (Size / Color sublines under product name) */
.woocommerce-account .wc-item-meta {
    list-style: none !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
}
.woocommerce-account .wc-item-meta li {
    display: flex !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #4B5563 !important;
}
.woocommerce-account .wc-item-meta li::before {
    content: none !important;
}
.woocommerce-account .wc-item-meta-label {
    color: #374151 !important;
    font-weight: 600 !important;
}
.woocommerce-account .wc-item-meta p {
    margin: 0 !important;
}

/* Refund line item (negative amount) */
.woocommerce-account .woocommerce-table--order-details td .woocommerce-Price-amount,
.woocommerce-account table.shop_table.order_details td .woocommerce-Price-amount {
    font-weight: 500 !important;
}

/* Total row: emphasis */
.woocommerce-account .woocommerce-table--order-details tfoot tr:has(td .woocommerce-Price-amount) th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:has(td strong) th {
    font-weight: 600 !important;
    color: #111827 !important;
}

/* Actions column "Track" button inside order detail tfoot */
.woocommerce-account .woocommerce-table--order-details .button,
.woocommerce-account table.shop_table.order_details .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    background: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account .woocommerce-table--order-details .button:hover,
.woocommerce-account table.shop_table.order_details .button:hover {
    background: #F0F7F9 !important;
    color: #1B6378 !important;
}

/* ---- Tracking strip (Advanced Shipment Tracking plugin) ---- */

/* The carrier+tracking-number block above the order details */
.woocommerce-account .ast-shipment-tracking-table,
.woocommerce-account .ast_shipment_block,
.woocommerce-account .shipment-tracking-information {
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin: 0 0 24px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

/* Tracking number link */
.woocommerce-account .ast-tracking-link,
.woocommerce-account .shipment-tracking-information a {
    color: #237B94 !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* The "Track Your Order" button on the tracking strip */
.woocommerce-account .ast-shipment-tracking-button,
.woocommerce-account a.shipment-tracking-link,
.woocommerce-account .shipment-tracking-information .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-left: auto !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account .ast-shipment-tracking-button:hover,
.woocommerce-account a.shipment-tracking-link:hover,
.woocommerce-account .shipment-tracking-information .button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* "Tracking Information" + "Order details" + "Customer details" H2s in order view */
.woocommerce-account .woocommerce-MyAccount-content > h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 24px 0 14px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
.woocommerce-account .woocommerce-MyAccount-content > h2:first-of-type {
    margin-top: 0 !important;
}

/* The phone/email icon in address blocks (svg/dashicon next to phone number) */
.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--email::before {
    color: #6B7280 !important;
}


/* ==========================================================================
   15. AST PLUGIN "TRACK YOUR ORDER" BUTTON
   Specific selector .button.track-button — beats both the AST plugin's
   blue background and my generic .woocommerce-MyAccount-content a teal text.
   ========================================================================== */

.woocommerce-account a.button.track-button,
.woocommerce-account .button.track-button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-left: auto !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account a.button.track-button:hover,
.woocommerce-account .button.track-button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}


/* ==========================================================================
   16. ORDER DETAIL — ADDRESS BLOCK ALIGNMENT + INS UNDERLINE FIX
   ========================================================================== */

/* The .col-set wrapper that holds Billing + Shipping address columns gets
   left padding from WooCommerce defaults — neutralize it so addresses sit
   flush left with the rest of the content. */
.woocommerce-account .woocommerce-MyAccount-content .col2-set,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .addresses {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .col-1,
.woocommerce-account .woocommerce-MyAccount-content .col-2,
.woocommerce-account .woocommerce-MyAccount-content .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .u-column2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* In the order detail "Customer details" section, the address h2's are children
   of the .woocommerce-MyAccount-content directly — make sure they align flush. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content > h2.woocommerce-column__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Total row: <del>$2.79</del> <ins>$0.00</ins>
   Same del/ins pattern as refund quantity — kill the default underline on <ins>
   so the new total reads plain (not falsely struck-through). */
.woocommerce-account .woocommerce-table--order-details ins,
.woocommerce-account .woocommerce-table--order-details ins .woocommerce-Price-amount,
.woocommerce-account table.shop_table.order_details ins,
.woocommerce-account table.shop_table.order_details ins .woocommerce-Price-amount {
    text-decoration: none !important;
    background: transparent !important;
    font-weight: 600 !important;
    color: #111827 !important;
}
.woocommerce-account .woocommerce-table--order-details del,
.woocommerce-account .woocommerce-table--order-details del .woocommerce-Price-amount,
.woocommerce-account table.shop_table.order_details del,
.woocommerce-account table.shop_table.order_details del .woocommerce-Price-amount {
    color: #9CA3AF !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}


/* ==========================================================================
   17. ADDRESSES TAB FIX
   /my-account/edit-address/ — the .u-columns.woocommerce-Addresses wrapper
   IS a 2-col grid, but the .woocommerce-Address children render too narrow.
   Force them to fill their grid cells.
   ========================================================================== */

.woocommerce-account.woocommerce-edit-address .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 16px 0 0 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin: 0 !important;
}

/* Title row — heading on left, Edit link on right, single line each */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    flex-wrap: nowrap !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
/* Catches both <a class="edit"> (when address exists) and the "Add" anchor
   (when address is empty) which may not have the .edit class. Any anchor
   inside the title row gets uniform styling. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
    color: #1B6378 !important;
    text-decoration: underline !important;
}

/* The address text block under the title */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    font-style: normal !important;
    white-space: normal !important;
    word-break: normal !important;
}

/* On narrower screens, stack vertically */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================================
   18. ADDRESSES TAB — KILL FLOATS + EXPLICIT GRID PLACEMENT
   The .woocommerce-Address cards have float:left and float:right from
   WooCommerce defaults, which interferes with grid placement. Kill the floats
   and force each card into its explicit grid cell (col 1 row 1, col 2 row 1).
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    float: none !important;
    clear: none !important;
}

/* Billing address card — first child of .woocommerce-Addresses */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address:nth-child(1),
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Shipping address card — second child of .woocommerce-Addresses */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address:nth-child(2),
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* Hide any clearfix pseudo-elements on the addresses wrapper that might be
   taking grid cells (same pattern as the login page col2-set fix). */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
    content: none !important;
    display: none !important;
}

/* Mobile stack — explicit reset of grid-row so they don't both try to be row 1 */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address:nth-child(1),
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-1,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column1,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address:nth-child(2),
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-2,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column2 {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}


/* ==========================================================================
   19. B2B DASHBOARD POLISH
   - Stat tiles in a row (not stacked vertically)
   - Stat tiles must not show link underlines (they're anchors)
   - Onboarding card cleanup
   ========================================================================== */

/* DEAD: Section 19's .sg-dashboard-stats grid + responsive overrides moved into Section 32's block.
   Section 32 now owns all stat grid layout across all viewports. */

/* Stat tile anchors — kill the inherited link underline from Section 3 */
.woocommerce-account .woocommerce-MyAccount-content a.sg-dashboard-stat,
.sg-dashboard-stat,
.sg-dashboard-stat:hover {
    text-decoration: none !important;
}
/* DEAD selectors trimmed: .sg-stat-value no longer rendered. Label rule kept. */
.woocommerce-account .woocommerce-MyAccount-content a.sg-dashboard-stat .sg-stat-label,
.sg-dashboard-stat .sg-stat-label {
    text-decoration: none !important;
}

/* Onboarding checklist anchor — kill underline too */
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-onboarding a {
    text-decoration: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-onboarding a:hover {
    text-decoration: underline !important;
}


/* ==========================================================================
   20. B2BKING CONVERSATIONS TAB — full restyle
   B2BKing uses a custom div-based card-grid for the conversations list.
   Each "row" is a .b2bking_myaccount_individual_conversation_container with
   children that include a header bar (titles) and cells holding the data.

   This section also handles the orange "New Conversation" / "View Conversation"
   buttons that B2BKing renders with its own brand color.
   ========================================================================== */

/* The dark header bar that says Title / Type / User / Last Reply */
.woocommerce-account .b2bking_myaccount_individual_conversation_header,
.woocommerce-account .b2bking_myaccount_conversations_header,
.woocommerce-account [class*="conversation"][class*="header"] {
    background: #F9FAFB !important;
    color: #6B7280 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border: 1px solid #E5E7EB !important;
    border-bottom: none !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 12px 14px !important;
}
.woocommerce-account .b2bking_myaccount_individual_conversation_header > *,
.woocommerce-account .b2bking_myaccount_conversations_header > * {
    color: #6B7280 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* Each conversation row container */
.woocommerce-account .b2bking_myaccount_individual_conversation_container {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* The 4-cell content row inside each conversation container */
.woocommerce-account .b2bking_myaccount_individual_conversation_content {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr auto !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 14px !important;
    background: #FFFFFF !important;
}

/* Each cell */
.woocommerce-account .b2bking_myaccount_individual_conversation_content_item {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* First cell = title — slightly bolder */
.woocommerce-account .b2bking_myaccount_individual_conversation_content_item:first-child {
    font-weight: 600 !important;
    color: #111827 !important;
}

/* "Last reply" timestamp — slightly muted */
.woocommerce-account .b2bking_myaccount_individual_conversation_content_item:nth-child(4) {
    color: #6B7280 !important;
    font-size: 13px !important;
}


/* ==========================================================================
   21. B2BKING BUTTON OVERRIDES
   B2BKing renders <button> elements (not <a>) with its own orange theme.
   Override with our teal across all conversation-related buttons.
   ========================================================================== */

/* New Conversation button — top right of Quotes & Messages page */
.woocommerce-account button#b2bking_myaccount_make_inquiry_button,
.woocommerce-account #b2bking_myaccount_make_inquiry_button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account button#b2bking_myaccount_make_inquiry_button:hover,
.woocommerce-account #b2bking_myaccount_make_inquiry_button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}

/* "Start Conversation" submit button inside the new-conversation form */
.woocommerce-account button#b2bking_myaccount_send_inquiry_button,
.woocommerce-account button.b2bking_myaccount_start_conversation_button,
.woocommerce-account .b2bking_myaccount_start_conversation_button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account button.b2bking_myaccount_start_conversation_button:hover,
.woocommerce-account .b2bking_myaccount_start_conversation_button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* View Conversation button on each row */
.woocommerce-account button.b2bking_myaccount_view_conversation_button,
.woocommerce-account .b2bking_myaccount_view_conversation_button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    margin: 0 !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account button.b2bking_myaccount_view_conversation_button:hover,
.woocommerce-account .b2bking_myaccount_view_conversation_button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}

/* SVG icons inside B2BKing buttons — keep them white (currentColor inherits) */
.woocommerce-account #b2bking_myaccount_make_inquiry_button svg,
.woocommerce-account .b2bking_myaccount_view_conversation_button svg,
.woocommerce-account .b2bking_myaccount_start_conversation_button svg {
    fill: #FFFFFF !important;
}
.woocommerce-account #b2bking_myaccount_make_inquiry_button svg path,
.woocommerce-account .b2bking_myaccount_view_conversation_button svg path,
.woocommerce-account .b2bking_myaccount_start_conversation_button svg path {
    fill: #FFFFFF !important;
}


/* ==========================================================================
   22. STAT TILES — LABEL-ONLY VARIANT
   Tiles are now labels only (no big numbers). Override Section 5's value
   styling and make labels read as proper tile text.
   ========================================================================== */

/* DEAD: Section 22's stat tile rules removed.
   - .sg-stat-label rule shadowed by Section 34's higher-specificity descendant selector.
   - .sg-dashboard-stat (position/padding-right) shadowed by Section 34.
   - .sg-dashboard-stat::after and :hover::after shadowed by Section 34. */


/* ==========================================================================
   23. B2BKING CONVERSATIONS — hide per-row header bars
   B2BKing renders a Title/Type/User/Last Reply header above EVERY single
   conversation row. With our card layout that becomes very repetitive.
   Hide them — the content cells (Custom Quote Request / quote / user / time)
   are self-explanatory.
   ========================================================================== */

.woocommerce-account .b2bking_myaccount_individual_conversation_top {
    display: none !important;
}

/* The .b2bking_myaccount_individual_conversation_bottom holds the
   "View Conversation" button. Right-align it inside the card and give it
   a top border to separate from the content. */
.woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 12px 14px !important;
    background: #F9FAFB !important;
    border-top: 1px solid #F3F4F6 !important;
}
.woocommerce-account .b2bking_myaccount_individual_conversation_bottom a {
    display: inline-flex !important;
    text-decoration: none !important;
}

/* Reflow the content row: 4 columns of equal data, View button moved to its
   own row in .conversation_bottom (above). Title cell can wrap if needed. */
.woocommerce-account .b2bking_myaccount_individual_conversation_content {
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
}
.woocommerce-account .b2bking_myaccount_individual_conversation_content_item:first-child {
    white-space: normal !important;
    word-break: normal !important;
}


/* ==========================================================================
   24. B2BKING PAGE TITLES (the renamed "Quotes & Messages" / "Pricing & Offers")
   B2BKing uses <div id="b2bking_myaccount_conversations_title"> and
   <div id="b2bking_myaccount_offers_title"> instead of h2/h3 — style them
   like our other content headings.
   ========================================================================== */

.woocommerce-account #b2bking_myaccount_conversations_title,
.woocommerce-account #b2bking_myaccount_offers_title {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

/* The New Conversation button sits inside or beside the title — pull it to the right */
.woocommerce-account #b2bking_myaccount_conversations_title #b2bking_myaccount_make_inquiry_button,
.woocommerce-account #b2bking_myaccount_offers_title #b2bking_myaccount_make_inquiry_button {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}


/* ==========================================================================
   25. B2BKING OFFER CARDS — Pricing & Offers tab
   Each offer renders inside a .b2bking_myaccount_individual_offer_container
   with a dark title bar, a table-like grid of Item/Qty/Unit/Subtotal, an
   optional custom-text row, and a bottom button row with Add to Cart + PDF.
   ========================================================================== */

.woocommerce-account .b2bking_myaccount_individual_offer_container {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    margin: 0 0 16px 0 !important;
    overflow: hidden !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* Title bar at the top of each offer card */
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="title"],
.woocommerce-account .b2bking_myaccount_individual_offer_title,
.woocommerce-account .b2bking_myaccount_individual_offer_top {
    background: #F9FAFB !important;
    color: #111827 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #E5E7EB !important;
    border-radius: 10px 10px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* The offer-tag icon inside the title bar (B2BKing renders a tag svg) */
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="title"] svg,
.woocommerce-account .b2bking_myaccount_individual_offer_title svg,
.woocommerce-account .b2bking_myaccount_individual_offer_top svg {
    width: 18px !important;
    height: 18px !important;
    fill: #237B94 !important;
    flex-shrink: 0 !important;
}
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="title"] svg path,
.woocommerce-account .b2bking_myaccount_individual_offer_title svg path,
.woocommerce-account .b2bking_myaccount_individual_offer_top svg path {
    fill: #237B94 !important;
}

/* Offer details grid header (Item / Quantity / Unit Price / Subtotal) */
.woocommerce-account .b2bking_myaccount_individual_offer_table_header,
.woocommerce-account .b2bking_myaccount_individual_offer_items_header,
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="header"]:not([class*="title"]):not([class*="top"]) {
    background: #FFFFFF !important;
    color: #6B7280 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 18px !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* The actual item rows (product image, qty, unit price, subtotal) */
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="row"],
.woocommerce-account .b2bking_myaccount_individual_offer_item,
.woocommerce-account .b2bking_myaccount_individual_offer_items_row {
    padding: 14px 18px !important;
    border-bottom: 1px solid #F3F4F6 !important;
    background: #FFFFFF !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
}

/* Product image cell — give the image a clean border and modest size */
.woocommerce-account .b2bking_myaccount_individual_offer_container img {
    border: 1px solid #E5E7EB !important;
    border-radius: 6px !important;
    max-width: 80px !important;
    height: auto !important;
    background: #FFFFFF !important;
}

/* Bottom row with Add to Cart + PDF + Total */
.woocommerce-account .b2bking_myaccount_individual_offer_bottom,
.woocommerce-account .b2bking_myaccount_individual_offer_bottom_line {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 18px !important;
    background: #F9FAFB !important;
    border-top: 1px solid #F3F4F6 !important;
    flex-wrap: wrap !important;
}

/* The Total: $50.00 area at the right end of the bottom row */
.woocommerce-account .b2bking_myaccount_individual_offer_bottom_line_total,
.woocommerce-account .b2bking_myaccount_individual_offer_total {
    margin-left: auto !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    font-weight: 500 !important;
}
.woocommerce-account .b2bking_myaccount_individual_offer_bottom_line_total strong,
.woocommerce-account .b2bking_myaccount_individual_offer_total strong {
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-left: 6px !important;
}

/* Add to Cart button — teal filled */
.woocommerce-account button.b2bking_offer_add,
.woocommerce-account .b2bking_offer_add {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account button.b2bking_offer_add:hover,
.woocommerce-account .b2bking_offer_add:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}

/* PDF download button — teal outline (secondary) */
.woocommerce-account button.b2bking_offer_download,
.woocommerce-account .b2bking_offer_download {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    background: #FFFFFF !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
}
.woocommerce-account button.b2bking_offer_download:hover,
.woocommerce-account .b2bking_offer_download:hover {
    background: #F0F7F9 !important;
    color: #1B6378 !important;
}

/* SVG icons in offer buttons inherit color */
.woocommerce-account button.b2bking_offer_add svg,
.woocommerce-account button.b2bking_offer_add svg path {
    fill: #FFFFFF !important;
}
.woocommerce-account button.b2bking_offer_download svg,
.woocommerce-account button.b2bking_offer_download svg path {
    fill: #237B94 !important;
}

/* Custom text row (free-form text the admin added to the offer) */
.woocommerce-account .b2bking_myaccount_individual_offer_custom_text,
.woocommerce-account .b2bking_myaccount_individual_offer_container [class*="custom_text"] {
    padding: 14px 18px !important;
    background: #FFFFFF !important;
    border-top: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}


/* ==========================================================================
   26. HIDE B2BKING PENDING-APPLICATION ITALIC NOTICE
   B2BKing renders "You are logged in as a B2C user / We are currently
   reviewing your B2B account application and it is pending" inside a
   .b2bking-application-pending span. Our yellow banner replaces this,
   so hide the duplicate.
   ========================================================================== */

.woocommerce-account .b2bking-application-pending {
    display: none !important;
}


/* ==========================================================================
   27. SET-A-NEW-PASSWORD RESET PAGE
   Body class: .woocommerce-account.woocommerce-lost-password
   Markup is a sibling <p>Enter a new password below.</p> followed by
   <form class="woocommerce-ResetPassword lost_reset_password">. There is
   no #customer_login wrapper here, so Section 10 rules do not catch this
   page. Goals:
     - Center the form as a single ~480px card matching Login/Register.
     - Style the intro <p> as the card heading.
     - Stack the two password fields (form-row--first / --last) vertically
       instead of Woo's default 50/50 float layout.
     - Style the .password-input wrapper that holds the show/hide eye btn.
     - Replace the bright-lime password strength meter with a neutral
       gray → teal palette (.short / .bad / .good / .strong).
     - Style the Save submit button (form.lost_reset_password .button)
       teal-filled to match the Login button.
   ========================================================================== */

/* Center wrapping: constrain the form (and its sibling intro paragraph) to
   ~480px and center on the page. The original selectors here depended on
   specific parent chains (.entry-content > .woocommerce > ...) which didn't
   match on this site's theme. Replaced with body-class-scoped rules that
   work regardless of wrapper structure. */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password,
.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword {
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* Intro paragraph — match it by being the immediate sibling preceding the form */
.woocommerce-account.woocommerce-lost-password p:has(+ form.lost_reset_password) {
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Intro paragraph styled as the heading sitting above the card */
.woocommerce-account.woocommerce-lost-password .woocommerce > p {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #4B5563 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    margin: 0 auto 20px auto !important;
    padding: 0 !important;
}

/* The form itself becomes the card */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password,
.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    padding: 28px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Card-level heading inside the form (visually marks the action) */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
    content: "Set a new password";
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* Stack the two password fields vertically (kill Woo's 50/50 float layout) */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .form-row,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-form-row,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .form-row-first,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .form-row-last,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-form-row--first,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-form-row--last {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Kill the .clear div Woo injects between form-row-first / form-row-last */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .clear {
    display: none !important;
}

/* Labels */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
}
.woocommerce-account.woocommerce-lost-password form.lost_reset_password label .required {
    color: #DC2626 !important;
    text-decoration: none !important;
}

/* Password-input wrapper (holds the input + show/hide eye button).
   Make it position:relative so the absolutely-positioned eye button
   anchors inside, and give it full-width so it fills the card. */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Password input field */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="password"],
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"].woocommerce-Input {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 44px 10px 12px !important; /* right padding for eye btn */
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="password"]:focus,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"].woocommerce-Input:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Show/hide password eye button */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.show-password-input {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #6B7280 !important;
    opacity: 0.7 !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.show-password-input:hover,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.show-password-input:focus {
    opacity: 1 !important;
    color: #237B94 !important;
    outline: none !important;
}
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.show-password-input.display-password {
    color: #237B94 !important;
    opacity: 1 !important;
}

/* ----- Password strength meter (rendered by Woo JS after user types) -----
   Default Woo rule paints .strong with bright lime green via the
   wc-blocks stylesheet. We replace the entire palette with neutral
   gray for weak states and teal for good/strong. */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-strength {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding: 6px 10px !important;
    margin: 6px 0 0 0 !important;
    border-radius: 6px !important;
    border: 1px solid transparent !important;
    background: #F3F4F6 !important;
    color: #6B7280 !important;
    letter-spacing: 0.01em !important;
}

/* Short / Very weak — light gray */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-strength.short {
    background: #F3F4F6 !important;
    border-color: #E5E7EB !important;
    color: #6B7280 !important;
}

/* Bad / Weak — slightly darker neutral with amber-leaning text */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-strength.bad {
    background: #FEF3C7 !important;
    border-color: #FDE68A !important;
    color: #92400E !important;
}

/* Good — light teal tint */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-strength.good {
    background: #F0F7F9 !important;
    border-color: #BCD8E0 !important;
    color: #1B6378 !important;
}

/* Strong — solid teal accent (replaces default lime green) */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-strength.strong {
    background: #E6F0F3 !important;
    border-color: #237B94 !important;
    color: #1B6378 !important;
}

/* Password hint text (shows when too weak) */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-password-hint {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    font-style: normal !important;
}

/* Save submit button — teal filled, matches Login button */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button[type="submit"],
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-Button,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.button {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 11px 24px !important;
    height: 44px !important;
    width: 100% !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    margin: 4px 0 0 0 !important;
    box-sizing: border-box !important;
}
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button[type="submit"]:hover,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-Button:hover,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
}
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button[type="submit"]:focus,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-Button:focus,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password button.button:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.25) !important;
}

/* The submit button sits inside its own .form-row at the end — kill its
   default bottom margin so the card padding handles the spacing */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password .form-row:last-of-type {
    margin-bottom: 0 !important;
}

/* ----- Responsive: all 7 Elementor breakpoints -----
   Card width and padding scale down on smaller viewports. */

/* Widescreen 2400+ — same as default desktop, explicit for clarity */
@media (min-width: 2401px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        max-width: 480px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 28px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
        font-size: 22px !important;
    }
}

/* Laptop (≤1366px) */
@media (max-width: 1366px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        max-width: 480px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 28px !important;
    }
}

/* Tablet Extra (≤1024px) */
@media (max-width: 1024px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        max-width: 460px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 26px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
        font-size: 21px !important;
    }
}

/* Tablet (≤880px) */
@media (max-width: 880px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        max-width: 440px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 24px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
        font-size: 20px !important;
        margin: 0 0 16px 0 !important;
        padding: 0 0 12px 0 !important;
    }
}

/* Mobile Extra (≤600px) */
@media (max-width: 600px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        max-width: 100% !important;
    }
    .woocommerce-account.woocommerce-lost-password .woocommerce > p {
        font-size: 14px !important;
        margin: 0 auto 16px auto !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 22px 20px !important;
        border-radius: 10px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
        font-size: 19px !important;
        margin: 0 0 14px 0 !important;
        padding: 0 0 12px 0 !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="password"],
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"].woocommerce-Input {
        height: 44px !important;
        font-size: 16px !important; /* prevents iOS zoom on focus */
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password button[type="submit"],
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password .woocommerce-Button,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password button.button {
        height: 46px !important;
        font-size: 15px !important;
    }
}

/* Mobile (≤480px) */
@media (max-width: 480px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > p {
        font-size: 14px !important;
        line-height: 1.5 !important;
        padding: 0 4px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password {
        padding: 20px 18px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
        font-size: 18px !important;
    }
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password .form-row {
        margin: 0 0 12px 0 !important;
    }
}


/* ==========================================================================
   28. PENDING-APPROVAL BANNER — bottom spacing
   The yellow .sg-dashboard-pending banner had no bottom margin, so when a
   Woo notice (success / info / error) rendered below it on the Dashboard,
   the two boxes sat flush against each other. Add explicit bottom spacing
   on the banner so it always has breathing room from whatever follows.
   ========================================================================== */

.woocommerce-account .sg-dashboard-pending {
    margin-bottom: 20px !important;
}

/* Tighten on smaller viewports */
@media (max-width: 880px) {
    .woocommerce-account .sg-dashboard-pending {
        margin-bottom: 18px !important;
    }
}
@media (max-width: 600px) {
    .woocommerce-account .sg-dashboard-pending {
        margin-bottom: 16px !important;
    }
}
@media (max-width: 480px) {
    .woocommerce-account .sg-dashboard-pending {
        margin-bottom: 14px !important;
    }
}


/* ==========================================================================
   29. EDIT BILLING / SHIPPING ADDRESS FORMS
   Body class: .woocommerce-account.woocommerce-edit-address
   The address edit form has NO class on the <form> element itself (unlike
   Account Details which uses form.edit-account). It lives at:
     .woocommerce-MyAccount-content > form (no class)
   Inputs are .input-text with name="billing_*" or "shipping_*".
   Country + State are Select2-enhanced (.select2-hidden-accessible on the
   native <select>, with .select2-selection rendering the visible widget).
   Submit button is <button class="button" name="save_address" type="submit">.

   Scope: target the form inside .woocommerce-MyAccount-content on
   .woocommerce-edit-address pages so we don't accidentally style the
   Account Details form (Section 8 handles that).
   ========================================================================== */

/* Form base */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form {
    margin: 0 !important;
}

/* Form rows — base */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* 50/50 layout for First Name + Last Name row */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    float: none !important;
    clear: none !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first {
    margin-right: 16px !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
    margin-right: 0 !important;
}

/* Full-width rows */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-wide {
    width: 100% !important;
    clear: both !important;
}

/* Labels */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row label .required {
    color: #DC2626 !important;
    text-decoration: none !important;
    margin-left: 2px !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row label .optional {
    color: #6B7280 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    margin-left: 4px !important;
}

/* Text / email / tel / number inputs */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="text"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="email"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="number"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input.input-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="text"]:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="email"]:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="tel"]:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="number"]:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input.input-text:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Placeholder text */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input::placeholder {
    color: #9CA3AF !important;
    opacity: 1 !important;
}

/* ----- Select2 enhanced dropdowns (Country / State) -----
   Native <select> elements have class .select2-hidden-accessible and are
   hidden via WC defaults. The visible widget is .select2-container with
   .select2-selection inside. Match the input look. */

/* Outer container — same width as inputs */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* The visible "selection box" */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection--single {
    height: 42px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    outline: none !important;
}

/* The text inside the selection box */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__rendered,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    line-height: 40px !important; /* 42px - 2px border */
    padding: 0 36px 0 12px !important;
}

/* Placeholder text when no selection */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9CA3AF !important;
}

/* Hide the default Select2 arrow and replace with our SVG chevron */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__arrow {
    height: 40px !important;
    width: 36px !important;
    right: 0 !important;
    top: 0 !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__arrow b {
    display: none !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__arrow::before {
    content: "" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 12px !important;
    height: 8px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Open / focus state for the Select2 selection box */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default.select2-container--open .select2-selection,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default.select2-container--focus .select2-selection {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* When dropdown is open below, kill the rounded bottom corners so it
   connects cleanly to the dropdown panel */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default.select2-container--open.select2-container--below .select2-selection {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default.select2-container--open.select2-container--above .select2-selection {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* ----- Select2 dropdown panel (the floating menu when open) -----
   The .select2-dropdown lives at body level, NOT inside the form, so the
   form-scoped selectors above don't reach it. Use a top-level rule and
   accept that this styles every Select2 dropdown on the site — which is
   fine, since our brand palette should apply everywhere consistently. */

body .select2-dropdown {
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    font-family: 'Inter', sans-serif !important;
}
body .select2-dropdown--below {
    border-top: 1px solid #237B94 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}
body .select2-dropdown--above {
    border-bottom: 1px solid #237B94 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* The search input inside the dropdown */
body .select2-search--dropdown {
    padding: 8px !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
body .select2-search--dropdown .select2-search__field {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    padding: 8px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 6px !important;
    background: #FFFFFF !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
}
body .select2-search--dropdown .select2-search__field:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 2px rgba(35, 123, 148, 0.12) !important;
}

/* The list of options */
body .select2-results {
    padding: 4px 0 !important;
}
body .select2-results__option {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1F2937 !important;
    padding: 8px 12px !important;
    line-height: 1.4 !important;
}
body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted {
    background: #F0F7F9 !important;
    color: #1B6378 !important;
}
body .select2-container--default .select2-results__option[aria-selected="true"] {
    background: #E6F0F3 !important;
    color: #1B6378 !important;
    font-weight: 600 !important;
}

/* "No results found" empty state */
body .select2-results__message {
    color: #6B7280 !important;
    font-style: italic !important;
    padding: 12px !important;
}

/* ----- Field hints / description text ----- */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row em,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row .description {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #6B7280 !important;
    font-style: normal !important;
    margin: 4px 0 0 0 !important;
    line-height: 1.4 !important;
}

/* ----- Save address button ----- */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[name="save_address"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[type="submit"].button,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .button {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 11px 22px !important;
    height: 44px !important;
    min-height: 44px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    margin: 8px 0 0 0 !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[name="save_address"]:hover,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[type="submit"].button:hover,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .button:hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[name="save_address"]:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[type="submit"].button:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.25) !important;
}

/* The wrapper <p class="form-row"> around the submit button — kill its
   bottom margin so the card padding handles the spacing */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row:last-of-type {
    margin-bottom: 0 !important;
}

/* ----- Section heading inside form (e.g. "Billing address" h3) ----- */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* ----- Validation: when WC adds .woocommerce-invalid to a row ----- */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row.woocommerce-invalid input.input-text,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row.woocommerce-invalid .select2-container .select2-selection {
    border-color: #DC2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08) !important;
}
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row.woocommerce-validated input.input-text,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row.woocommerce-validated .select2-container .select2-selection {
    border-color: #10B981 !important;
}

/* ----- Responsive: all 7 Elementor breakpoints ----- */

/* Widescreen 2400+ — same as default desktop, explicit for clarity */
@media (min-width: 2401px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
        width: calc(50% - 8px) !important;
    }
}

/* Laptop (≤1366px) — keep 50/50 */
@media (max-width: 1366px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
        width: calc(50% - 8px) !important;
    }
}

/* Tablet Extra (≤1024px) — still 50/50, slight gap tightening */
@media (max-width: 1024px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first {
        margin-right: 12px !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
        width: calc(50% - 6px) !important;
    }
}

/* Tablet (≤880px) — stack first/last rows */
@media (max-width: 880px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
        display: block !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row-first {
        margin-bottom: 16px !important;
    }
}

/* Mobile Extra (≤600px) — touch-target adjustments */
@media (max-width: 600px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="text"],
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="email"],
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="tel"],
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input[type="number"],
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form input.input-text {
        height: 44px !important;
        font-size: 16px !important; /* prevents iOS zoom on focus */
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection--single {
        height: 44px !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__rendered,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 42px !important;
        font-size: 16px !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .select2-container .select2-selection__arrow {
        height: 42px !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[name="save_address"],
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form button[type="submit"].button {
        height: 46px !important;
        font-size: 15px !important;
        width: 100% !important;
    }
}

/* Mobile (≤480px) */
@media (max-width: 480px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form .form-row {
        margin: 0 0 14px 0 !important;
    }
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content form h3 {
        font-size: 16px !important;
        margin: 0 0 14px 0 !important;
        padding: 0 0 10px 0 !important;
    }
}


/* ==========================================================================
   30. LOST-PASSWORD REQUEST FORM (Section 27 refinement)
   Same body class (.woocommerce-account.woocommerce-lost-password) and same
   form class (form.lost_reset_password) as the Set-a-new-password page, so
   Section 27 catches BOTH forms. The card, centering, label, input, and
   button styles work for both. What needs fixing:

     - Section 27's ::before forces "Set a new password" on every render of
       form.lost_reset_password, which is wrong on the request page (this
       page asks for username/email).
     - The request form has a single full-width text input (name="user_login")
       which Section 27 doesn't explicitly style — but its .input-text class
       is generic and will pick up our defaults if we add a rule.
     - The "Reset password" submit button is button.woocommerce-Button.button
       — already caught by Section 27's button rule.

   Strategy: use :has() to detect which form we're on.
     - form.lost_reset_password:has([name="password_1"]) = new-password form
     - form.lost_reset_password:has([name="user_login"])  = request form
   ========================================================================== */

/* Restrict Section 27's "Set a new password" heading to the new-password
   form only. We override Section 27's ::before by making the content come
   from the actual form contents. */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password::before {
    content: none !important;
}

/* Add heading back, but only on the form that actually has password fields */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password:has(input[name="password_1"])::before {
    content: "Set a new password" !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* Add the correct heading for the request form */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password:has(input[name="user_login"])::before {
    content: "Reset your password" !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}

/* Style the user_login text input (Section 27 only styles type="password"
   and the Woo-Input variant — the request form uses a plain type="text" or
   type="email" input). */
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[name="user_login"],
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input.input-text,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"]:not(.woocommerce-Input) {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[name="user_login"]:focus,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input.input-text:focus,
.woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"]:not(.woocommerce-Input):focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}

/* Responsive: mobile font-size for the user_login input
   (Section 27 only adjusts password inputs at ≤600px) */
@media (max-width: 600px) {
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password input[name="user_login"],
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password input.input-text,
    .woocommerce-account.woocommerce-lost-password form.lost_reset_password input[type="text"]:not(.woocommerce-Input) {
        height: 44px !important;
        font-size: 16px !important; /* prevents iOS zoom on focus */
    }
}


/* ==========================================================================
   31. B2BKING CONVERSATION THREAD VIEW
   URL: /my-account/b2bking_conversations/?conversation_id=N
   (B2BKing's internal redirect lands users at /my-account/conversations/)

   Markup structure (top → bottom):
     DIV#b2bking_myaccount_conversation_endpoint_container
       DIV#b2bking_myaccount_conversation_endpoint_container_top
         DIV#b2bking_myaccount_conversation_endpoint_title  ("Custom Quote Request")
         DIV#b2bking_myaccount_conversation_endpoint_container_top_header
           DIV.b2bking_myaccount_conversation_endpoint_container_top_header_item
             "TYPE:" + SPAN.b2bking_myaccount_conversation_endpoint_top_header_text_bold "QUOTE"
           DIV.b2bking_myaccount_conversation_endpoint_container_top_header_item
             "DATE STARTED:" + SPAN... "10:34 am"
       DIV#b2bking_conversation_messages_container
         DIV.woocommerce-mini-cart__empty-message  (empty artifact, hide)
         DIV.b2bking_conversation_message[.b2bking_conversation_message_self]
         DIV.b2bking_conversation_message_time  ("username - timestamp")
         DIV.sg-pc-sep  (our class, leaked in, hide here)
       DIV#b2bking_myaccount_conversation_endpoint_bottom
         BUTTON.b2bking_myaccount_conversation_endpoint_button
                #b2bking_conversation_message_submit ("Send Message")
         SVG icon inside button

     Go Back: <a href="/my-account/conversations/"><button>← Go Back</button></a>
       (rendered separately, likely above the title)

     Textarea + hidden input live somewhere; from the diag, the textarea
     #b2bking_conversation_user_new_message has no parent form. It's
     positioned visually above the Send Message button.

   Goals:
     - Title: H2 treatment matching other tabs.
     - Go Back: teal outline button.
     - Black/white header bar: flatten to light gray pill row with neutral type.
     - Message bubbles: chat-app layout. _self on right, teal-tint. Other on
       left, light gray. Limit max-width so they don't span the full pane.
     - Bubble content: typography pass on the <b>label</b>:value pattern,
       tighten line-height, give Requested items / Message / custom fields
       clear visual rhythm without restructuring the HTML.
     - Timestamp row: small, muted, aligned to the bubble it follows.
     - Reply textarea: 8px radius, teal focus, comfortable height.
     - Send Message button: teal filled, replaces B2BKing orange.
   ========================================================================== */

/* Page-level container — give the conversation endpoint some breathing room
   and a subtle background to differentiate it from the surrounding card */
.woocommerce-account #b2bking_myaccount_conversation_endpoint_container {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* ----- Go Back link (anchor wrapping a button) -----
   Visual: text-style link, not a pill button. "Go Back" is navigation, not
   action — the primary action on this page is "Send Message" at the bottom.
   Keeping Go Back subtle preserves the one-prominent-button-per-page rhythm. */
.woocommerce-account a[href*="/conversations/"]:has(> button),
.woocommerce-account .woocommerce-MyAccount-content a[href$="/conversations/"] {
    display: inline-block !important;
    text-decoration: none !important;
    margin: 0 0 16px 0 !important;
}

.woocommerce-account a[href*="/conversations/"] > button,
.woocommerce-account .woocommerce-MyAccount-content a[href$="/conversations/"] > button {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #237B94 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 4px 0 !important;
    text-transform: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: color 0.15s ease !important;
    box-shadow: none !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.woocommerce-account a[href*="/conversations/"] > button:hover,
.woocommerce-account .woocommerce-MyAccount-content a[href$="/conversations/"] > button:hover {
    background: transparent !important;
    color: #1B6378 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ----- Page title ("Custom Quote Request") ----- */
.woocommerce-account #b2bking_myaccount_conversation_endpoint_title {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    display: block !important;
    background: transparent !important;
}

/* ----- Top header bar (TYPE / DATE STARTED) -----
   Flatten the black/white default. Use a light gray pill row with neutral
   typography for both label and value. */
.woocommerce-account #b2bking_myaccount_conversation_endpoint_container_top_header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce-account .b2bking_myaccount_conversation_endpoint_container_top_header_item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 12px !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 999px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* The bold value (QUOTE, 10:34 am) inside each header item */
.woocommerce-account .b2bking_myaccount_conversation_endpoint_top_header_text_bold {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ----- Messages container ----- */
.woocommerce-account #b2bking_conversation_messages_container {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 16px !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    max-height: 600px !important;
    overflow-y: auto !important;
    margin: 0 0 16px 0 !important;
}

/* Hide artifacts that leak into the messages container */
.woocommerce-account #b2bking_conversation_messages_container .woocommerce-mini-cart__empty-message,
.woocommerce-account #b2bking_conversation_messages_container .sg-pc-sep {
    display: none !important;
}

/* ----- Message bubbles -----
   B2BKing adds .b2bking_conversation_message to every bubble, and adds
   .b2bking_conversation_message_self when the current viewer is the
   author of that message. We use _self to right-align (chat-app style)
   and tint teal; non-_self stays left-aligned and gray. */
.woocommerce-account .b2bking_conversation_message {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #1F2937 !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 8px 0 4px 0 !important;
    max-width: 85% !important;
    align-self: flex-start !important; /* left-aligned default for "other" */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Sender's own message: right-aligned, teal-tinted */
.woocommerce-account .b2bking_conversation_message.b2bking_conversation_message_self {
    background: #F0F7F9 !important;
    border-color: #BCD8E0 !important;
    align-self: flex-end !important;
    color: #1F2937 !important;
}

/* Bold labels inside the bubble (e.g. <b>Requested items:</b>, <b>Message:</b>,
   custom-field labels like <b>Company or Individual Name:</b>) */
.woocommerce-account .b2bking_conversation_message b,
.woocommerce-account .b2bking_conversation_message strong {
    color: #111827 !important;
    font-weight: 600 !important;
    display: inline !important;
}

/* The .description span inside a product line (size/color summary) */
.woocommerce-account .b2bking_conversation_message .description {
    display: inline !important;
    color: #6B7280 !important;
    font-size: 13px !important;
}

/* DEAD: Section 31's timestamp rules removed.
   - First rule fully shadowed by Section 43's higher-specificity child selector.
   - Adjacent-sibling rule matched nothing (timestamp is a child of the bubble). */

/* ----- Bottom area: textarea + Send Message button -----
   The textarea and button aren't wrapped in a form, so we style them as
   sibling elements. Visual treatment: textarea sits above button. */

.woocommerce-account textarea#b2bking_conversation_user_new_message {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #111827 !important;
    width: 100% !important;
    min-height: 100px !important;
    padding: 12px 14px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    margin: 0 0 12px 0 !important;
    display: block !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce-account textarea#b2bking_conversation_user_new_message:focus {
    border-color: #237B94 !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.12) !important;
    outline: none !important;
}
.woocommerce-account textarea#b2bking_conversation_user_new_message::placeholder {
    color: #9CA3AF !important;
}

/* ----- Bottom container (holds the Send button) ----- */
.woocommerce-account #b2bking_myaccount_conversation_endpoint_bottom {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* ----- Send Message button -----
   Overrides B2BKing's orange. Selector hits the specific ID and the
   class B2BKing applies to ALL its myaccount-endpoint buttons (Go Back
   would also match the second selector, but that one is inside an anchor
   and was already overridden above with higher specificity). */
.woocommerce-account button#b2bking_conversation_message_submit,
.woocommerce-account .b2bking_myaccount_conversation_endpoint_button:not(a > *) {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    background: #237B94 !important;
    border: 1px solid #237B94 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(35, 123, 148, 0.15) !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.woocommerce-account button#b2bking_conversation_message_submit:hover,
.woocommerce-account .b2bking_myaccount_conversation_endpoint_button:not(a > *):hover {
    background: #1B6378 !important;
    border-color: #1B6378 !important;
    color: #FFFFFF !important;
}
.woocommerce-account button#b2bking_conversation_message_submit:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.25) !important;
}

/* The SVG icon inside the Send button — already fill="#fff" inline, but
   force it for safety in case B2BKing's CSS overrides */
.woocommerce-account button#b2bking_conversation_message_submit svg,
.woocommerce-account .b2bking_myaccount_conversation_endpoint_button_icon {
    width: 18px !important;
    height: 18px !important;
    fill: #FFFFFF !important;
    flex-shrink: 0 !important;
}
.woocommerce-account button#b2bking_conversation_message_submit svg path,
.woocommerce-account .b2bking_myaccount_conversation_endpoint_button_icon path {
    fill: #FFFFFF !important;
}

/* ----- Responsive: all 7 Elementor breakpoints ----- */

/* Widescreen 2400+ — keep generous max-widths */
@media (min-width: 2401px) {
    .woocommerce-account .b2bking_conversation_message {
        max-width: 80% !important;
    }
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: 700px !important;
    }
}

/* Laptop (≤1366px) — same defaults */
@media (max-width: 1366px) {
    .woocommerce-account .b2bking_conversation_message {
        max-width: 85% !important;
    }
}

/* Tablet Extra (≤1024px) — slightly wider bubbles */
@media (max-width: 1024px) {
    .woocommerce-account .b2bking_conversation_message {
        max-width: 90% !important;
    }
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: 520px !important;
    }
}

/* Tablet (≤880px) — bubbles fill more width, header items wrap */
@media (max-width: 880px) {
    .woocommerce-account .b2bking_conversation_message {
        max-width: 92% !important;
        padding: 12px 14px !important;
    }
    .woocommerce-account #b2bking_myaccount_conversation_endpoint_title {
        font-size: 20px !important;
    }
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: 480px !important;
        padding: 12px !important;
    }
}

/* Mobile Extra (≤600px) — full-width bubbles, comfortable touch targets */
@media (max-width: 600px) {
    .woocommerce-account .b2bking_conversation_message {
        max-width: 95% !important;
        font-size: 14px !important;
        padding: 12px !important;
    }
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: 420px !important;
        padding: 10px !important;
    }
    .woocommerce-account textarea#b2bking_conversation_user_new_message {
        font-size: 16px !important; /* prevents iOS zoom on focus */
        min-height: 90px !important;
    }
    .woocommerce-account button#b2bking_conversation_message_submit {
        height: 44px !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .woocommerce-account #b2bking_myaccount_conversation_endpoint_bottom {
        justify-content: stretch !important;
    }
    /* On mobile, let the meta bar pills wrap cleanly */
    .woocommerce-account .b2bking_myaccount_conversation_endpoint_container_top_header_item {
        font-size: 11px !important;
        padding: 5px 10px !important;
    }
}

/* Mobile (≤480px) — tighter spacing, smaller title */
@media (max-width: 480px) {
    .woocommerce-account #b2bking_myaccount_conversation_endpoint_title {
        font-size: 18px !important;
        margin: 0 0 12px 0 !important;
        padding: 0 0 10px 0 !important;
    }
    .woocommerce-account .b2bking_conversation_message {
        max-width: 100% !important;
        padding: 10px 12px !important;
        font-size: 13.5px !important;
    }
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: 380px !important;
        padding: 10px !important;
    }
    .woocommerce-account textarea#b2bking_conversation_user_new_message {
        min-height: 80px !important;
    }
}


/* ==========================================================================
   32. DASHBOARD TILE + ONBOARDING POLISH
   Two visible issues on the B2B-approved dashboard:

   ISSUE 1 — Tile size mismatch
   Section 19 set the grid to 3 equal columns. With 4 tiles in the dashboard
   (Orders, Quotes & Messages, Pricing & Offers, Addresses), row 1 fills 3
   columns and the 4th tile lands on row 2 looking orphaned and off-size.
   Fix: 4-column grid so all four sit on one row at equal width. Cascades
   to 2 cols on tablet, 1 col on mobile.

   ISSUE 2 — Onboarding checklist misalignment
   The ::before checkbox visual was vertically centered on the li's whole
   height while the text sat with its own line-height, leaving the checkbox
   slightly low relative to the first line of text. Switch to align-items:
   flex-start and nudge the checkbox down a couple of px so it visually
   aligns to the cap height of the first line.
   ========================================================================== */

/* ----- Stat tiles grid: 4 columns to fit 4 tiles cleanly ----- */
.sg-dashboard-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}

/* DEAD: Section 32's .sg-dashboard-stat and .sg-stat-label rules shadowed by Section 34's
   higher-specificity block (which sets min-height: 86px overriding 64px here, plus all other props). */

/* Responsive breakdown (Section 32 + 34 consolidated):
   - Widescreen / Desktop / Laptop (>1199px): 4 columns (set on main rule above)
   - Tablet Extra / Tablet (≤1199px): 2 columns
   - Mobile (≤600px): 1 column

   Note: 1366px (no-op: same as default 4-col) and 880px (no-op: same as 1199 2-col)
   rules removed in Tier 2. The remaining 1199 and 600 breakpoints fully cover the
   responsive needs without redundancy. */
@media (max-width: 1199px) {
    .sg-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    .sg-dashboard-stats {
        grid-template-columns: 1fr !important;
    }
}

/* ----- Onboarding checklist: fix checkbox/text alignment -----
   Change from align-items: center to flex-start, then nudge the checkbox
   down a couple px so it visually aligns to the cap-height of the first
   line of text. This handles wrapping text correctly too — multiline list
   items keep the checkbox aligned to the top line. */
.sg-dashboard-onboarding li {
    align-items: flex-start !important;
    line-height: 1.4 !important;
}

.sg-dashboard-onboarding li::before {
    margin-top: 2px !important;
}

/* Anchor text inside the list item — ensure the line-height matches the
   ::before height so single-line items still center perfectly */
.sg-dashboard-onboarding li a {
    line-height: 1.4 !important;
    display: inline-block !important;
}


/* ==========================================================================
   33. DASHBOARD TILES — FILL GRID CELLS
   The .sg-dashboard-stat element is an <a> (anchor) which is inline by
   default. Section 5/22/32 progressively styled it but never forced
   width: 100%, so each tile sized to its content width rather than
   filling its grid cell. With "Orders" (6 chars) vs "Quotes & Messages"
   (17 chars), tiles render at very different widths even though the
   grid cells are equal (1fr).

   Fix: force width: 100% on the tile so it fills its cell.
   Also box-sizing: border-box so the padding doesn't push past the cell.
   ========================================================================== */

/* DEAD: Section 33's rule shadowed by Section 34's higher-specificity block.
   All three properties (width, box-sizing, justify-content) are set with identical
   values in Section 34. */


/* ==========================================================================
   34. DASHBOARD GRID + GO-BACK SCOPE FIX
   Root cause traced via diagnostic:

   Tile 1 ("Quotes & Messages") was rendering display: block instead of flex
   because Section 31's Go Back rule used selector:

     .woocommerce-MyAccount-content a[href$="/conversations/"] { display: inline-block; margin: 0 0 16px 0 }

   That selector ALSO matches the dashboard tile linking to /my-account/conversations/,
   not just the Go Back button (which is the only intended target). Result:
   - Tile 1 inherited display: inline-block (overrode flex from Section 32)
   - Tile 1 inherited margin-bottom: 16px (broke height parity with siblings)

   Fix here: re-scope the Go Back rule so it ONLY matches anchors that contain
   a <button> child (which is the actual Go Back markup). Use :has(> button)
   universally instead of the fallback selector.
   ========================================================================== */

/* Undo the over-reaching Go Back selector for dashboard tiles
   (tile anchors don't have <button> children, so :has(> button) won't match them) */
.woocommerce-account .woocommerce-MyAccount-content a[href$="/conversations/"]:not(:has(> button)) {
    display: flex !important;
    margin: 0 !important;
}

/* And re-state the dashboard tile rule with strong specificity to win the cascade.
   Use the explicit parent .sg-dashboard-stats to outrank the generic a[href$="/conversations/"]
   selector by selector specificity. */
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats {
    align-items: stretch !important; /* every tile matches tallest sibling's height */
}

.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats a.sg-dashboard-stat {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 86px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px !important;
    padding-right: 32px !important;
    background: #F9FAFB !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    color: inherit !important;
    position: relative !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats a.sg-dashboard-stat:hover {
    border-color: #237B94 !important;
    box-shadow: 0 2px 8px rgba(35, 123, 148, 0.08) !important;
    text-decoration: none !important;
}

/* The arrow (re-stating for cascade certainty) */
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats a.sg-dashboard-stat::after {
    content: "→" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #9CA3AF !important;
    font-size: 16px !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats a.sg-dashboard-stat:hover::after {
    color: #237B94 !important;
    transform: translateY(-50%) translateX(2px) !important;
}

/* The label inside the tile */
.woocommerce-account .woocommerce-MyAccount-content .sg-dashboard-stats a.sg-dashboard-stat .sg-stat-label {
    flex: 1 1 auto !important;
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}


/* ==========================================================================
   35. QUOTES & MESSAGES LIST — POLISH
   Visible issues from desktop and mobile screenshots:
     - Page title underline doesn't span the full content width (it sizes
       to the title text since the wrapper is display: flex; flex-wrap: wrap)
     - "Quote" type column renders lowercase ("quote") instead of capitalized
     - Wasteful empty gray bottom strip on every row that only holds the
       View Conversation button — adds vertical bulk and feels disconnected
     - On mobile, the Type column disappears entirely and timestamps clip
       at the right edge with no ellipsis/wrap

   Strategy:
     1. Replace the title's border-bottom with a separate ::after that spans
        the full content width regardless of how the title flex-wraps.
     2. Capitalize the type column with text-transform.
     3. Hide the bottom strip entirely and move the View Conversation
        button into the main content row as a 5th grid column.
     4. On mobile, switch the row to a vertical stack: title → meta row
        (type · date) → full-width button. Drop the username column at
        small viewports.
   ========================================================================== */

/* ----- Title underline spans full width -----
   Section 24's title rule sets border-bottom on the title div, but the div
   is display: flex; flex-wrap: wrap, so its width = max(title text, button)
   not the full content width. Remove that border and add a ::after that's
   100% wide of the parent .woocommerce-MyAccount-content. */

.woocommerce-account #b2bking_myaccount_conversations_title,
.woocommerce-account #b2bking_myaccount_offers_title {
    border-bottom: none !important;
    position: relative !important;
    width: 100% !important;
}
/* Title divider hairline. Uses the same gray (#ECECEC) as other content dividers
   in the file for visual consistency. The earlier #F3F4F6 was too pale to read. */
.woocommerce-account #b2bking_myaccount_conversations_title::after,
.woocommerce-account #b2bking_myaccount_offers_title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 1px !important;
    background: #ECECEC !important;
}

/* ----- Capitalize the Type column ("quote" → "Quote") -----
   In the .b2bking_myaccount_individual_conversation_content grid, column 2
   is the type. We target the 2nd child of the content row. */
.woocommerce-account .b2bking_myaccount_individual_conversation_content
    .b2bking_myaccount_individual_conversation_content_item:nth-child(2) {
    text-transform: capitalize !important;
}

/* ----- Hide the bottom strip; move button into the content row -----
   Section 23 hid the per-row HEADER (.conversation_top). Now we hide the
   per-row FOOTER (.conversation_bottom) too. The button gets re-positioned
   absolutely to the top-right of the parent container. */

.woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
    display: none !important;
}

/* The parent .b2bking_myaccount_individual_conversation_container becomes
   relatively positioned so the button can anchor inside it. Reduce padding
   since we lost the bottom strip. */
.woocommerce-account .b2bking_myaccount_individual_conversation_container {
    position: relative !important;
}

/* Re-style the content row as a 5-column grid that ALSO holds the View
   Conversation button. We use a wrapper trick: the button isn't in the
   .conversation_content DOM, but in .conversation_bottom (now hidden).
   So we use ::after on the container to render an empty cell where the
   button visually appears — and use a separate rule to absolutely-
   position the actual button into that cell. */

/* DEAD: grid-template-columns, gap, padding from this rule are overridden by Section 40.
   Only align-items remains unique to this block. */
.woocommerce-account .b2bking_myaccount_individual_conversation_content {
    align-items: center !important;
}

/* Show the bottom strip again, but ONLY to extract its button. Use
   visibility/position tricks: make the bottom strip's container absolute,
   positioned over the right side of the content row, transparent bg. */
.woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
    display: flex !important;
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    transform: translateY(-50%) !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-top: none !important;
    z-index: 2 !important;
}

/* ----- Responsive: redesign for mobile -----
   Below 880px (Tablet and smaller), switch to a vertical card layout. */

@media (max-width: 880px) {
    /* Restore the bottom strip to its in-flow position so the button has
       room without overlapping content */
    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
        position: static !important;
        transform: none !important;
        padding: 12px 14px !important;
        background: #F9FAFB !important;
        border-top: 1px solid #F3F4F6 !important;
        justify-content: stretch !important;
    }

    /* Make button full-width on mobile */
    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom button {
        width: 100% !important;
        justify-content: center !important;
    }

    /* Stack the content row as a card layout: title on top, then a meta
       row (type + date), username hidden (low priority on mobile) */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        padding: 14px !important;
    }

    /* Title becomes its own row */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content
        .b2bking_myaccount_individual_conversation_content_item:nth-child(1) {
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #111827 !important;
        margin: 0 0 2px 0 !important;
    }

    /* Type pill — inline chip styling */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content
        .b2bking_myaccount_individual_conversation_content_item:nth-child(2) {
        display: inline-block !important;
        background: #F0F7F9 !important;
        color: #1B6378 !important;
        border: 1px solid #BCD8E0 !important;
        padding: 2px 10px !important;
        border-radius: 999px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        margin: 0 0 2px 0 !important;
    }

    /* Hide the username column on mobile (column 3) — keep it desktop-only */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content
        .b2bking_myaccount_individual_conversation_content_item:nth-child(3) {
        display: none !important;
    }

    /* Date row */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content
        .b2bking_myaccount_individual_conversation_content_item:nth-child(4) {
        font-size: 13px !important;
        color: #6B7280 !important;
        margin: 0 !important;
        white-space: normal !important;
    }
}

@media (max-width: 600px) {
    /* On smaller mobile, same layout but tighter spacing */
    .woocommerce-account .b2bking_myaccount_individual_conversation_content {
        padding: 12px !important;
    }
    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
        padding: 10px 12px !important;
    }
}

/* ----- Tablet Extra (≤1024px) — keep desktop layout but tighten ----- */
/* DEAD: Section 35's 881-1024px responsive block shadowed by Section 40's
   (max-width: 1199px) and (min-width: 881px) rule with different values. */


/* ==========================================================================
   36. QUOTES LIST — CARD HEIGHT TIGHTENING
   The cards rendered taller than needed on desktop because:
     1. The title column ("Custom Quote Request") wrapped to 2 lines under
        Section 35's "2fr 1fr 1.2fr 1.5fr" grid distribution — the 2fr
        title column was too narrow at this content area width.
     2. Padding was 16px top/bottom from Section 35.

   Fix: widen the title column so "Custom Quote Request" fits on one line,
   and trim vertical padding to 12px.
   ========================================================================== */

/* DEAD: Section 36's entire ruleset shadowed:
   - Main grid + padding by Section 40
   - Title nowrap/overflow/ellipsis by Section 37's white-space:normal counterpart
   - Responsive 881-1199 grid + padding by Section 40's same breakpoint
   - Responsive title font-size 13.5px by Section 37's identical rule at same breakpoint */


/* ==========================================================================
   37. QUOTES LIST — HIDE USERNAME COLUMN + FINAL DENSITY PASS
   The username column shows the current user's own name on every row,
   which is dead weight in the customer-facing my-account view. Hiding it
   frees space for the title column so "Custom Quote Request" fits without
   ellipsis, and shrinks each card's vertical bulk.

   Final layout: Title — Type — Date — [Absolute Button]
   ========================================================================== */

/* Hide the username column (3rd content item) on desktop view */
.woocommerce-account .b2bking_myaccount_individual_conversation_content
    .b2bking_myaccount_individual_conversation_content_item:nth-child(3) {
    display: none !important;
}

/* DEAD: grid-template-columns and padding overridden by Section 40. Only gap is unique. */
.woocommerce-account .b2bking_myaccount_individual_conversation_content {
    gap: 14px !important;
}

/* Drop the nowrap on title — let it wrap if it ever has to, and remove
   the truncation behavior that was causing the "Custom Quote Req..." text */
.woocommerce-account .b2bking_myaccount_individual_conversation_content
    .b2bking_myaccount_individual_conversation_content_item:nth-child(1) {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Tablet Extra (881-1199px) — title font-size adjustment.
   DEAD: grid-template-columns and padding values here overridden by Section 40's
   same-breakpoint rule. Only title font-size is unique. */
@media (max-width: 1199px) and (min-width: 881px) {
    .woocommerce-account .b2bking_myaccount_individual_conversation_content
        .b2bking_myaccount_individual_conversation_content_item:nth-child(1) {
        font-size: 13.5px !important;
    }
}


/* ==========================================================================
   38. QUOTES LIST — KILL B2BKING MIN-HEIGHT + ITEM WIDTH CONSTRAINTS
   Diagnostic revealed B2BKing's own CSS is forcing:
     - .b2bking_myaccount_individual_conversation_container has min-height: 150px
       → cards stay 150px tall regardless of content
     - .b2bking_myaccount_individual_conversation_content_item has a fixed
       width (rendering at 140px) regardless of grid column width (192px+)
       → title text wraps because it has less space than its grid cell

   Fix: override both with max specificity.
   ========================================================================== */

/* Kill the card's min-height so it shrinks to content + padding */
.woocommerce-account .b2bking_myaccount_individual_conversation_container {
    min-height: 0 !important;
    height: auto !important;
}

/* Kill any width/max-width on content items so they fill their grid cells.
   Match all three remaining columns (title, type, date — username is hidden). */
.woocommerce-account .b2bking_myaccount_individual_conversation_content
    .b2bking_myaccount_individual_conversation_content_item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}


/* ==========================================================================
   39. QUOTES LIST — FIX DATE/BUTTON OVERLAP
   After Section 38 collapsed the card heights to match content, the absolute
   button positioning revealed that the date column was rendering wider than
   its grid allocation, causing it to be overlapped by the absolutely-
   positioned button on the right.

   Fix: reduce the right padding reservation so the date column has less
   space but enough for "Yesterday at 8:47 pm" (~150px at 13px font), and
   move the button right slightly so there's a clear gap between date end
   and button start.
   ========================================================================== */

/* DEAD: Section 39's grid + padding shadowed by Section 40 (same selector, later rule). */

/* Position the button with a clear gap from the date column */
.woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
    right: 12px !important;
}

/* The date cell — let it fit on one line, no wrap */
.woocommerce-account .b2bking_myaccount_individual_conversation_content
    .b2bking_myaccount_individual_conversation_content_item:nth-child(4) {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 13px !important;
    color: #6B7280 !important;
}


/* ==========================================================================
   40. QUOTES LIST — TIGHTEN PADDING FOR SHORTER "View" BUTTON
   Companion to sg-rename-view-conversation-button.js which shortens the
   row-level button text from "View Conversation" → "View". The button is
   now ~70-80px wide instead of ~140px, so Section 39's 180px right-padding
   reservation is wastefully large. Tighten to ~120px and give the date
   column the freed space.
   ========================================================================== */

.woocommerce-account .b2bking_myaccount_individual_conversation_content {
    grid-template-columns: 2.5fr 0.8fr 1.4fr !important;
    padding: 10px 120px 10px 16px !important;
}

/* Tablet Extra (881-1199px) — match the proportional tightening */
@media (max-width: 1199px) and (min-width: 881px) {
    .woocommerce-account .b2bking_myaccount_individual_conversation_content {
        grid-template-columns: 2.3fr 0.8fr 1.4fr !important;
        padding: 10px 110px 10px 14px !important;
    }
}


/* ==========================================================================
   41. QUOTES LIST — CONSTRAIN VIEW BUTTON WIDTH
   After Section 40 tightened the right padding and the JS snippet shortened
   "View Conversation" → "View", the button is rendering huge — stretching
   to fill an inherited width: 100% from B2BKing's button rule.

   Fix: force the button to size to its content (width: auto), and force
   the bottom strip wrapper to also auto-size so it doesn't stretch the
   button container.

   On mobile (≤880px) the button SHOULD be full-width (per Section 35),
   so this fix is desktop-only.
   ========================================================================== */

@media (min-width: 881px) {
    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom {
        width: auto !important;
        max-width: none !important;
    }

    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom
        button.b2bking_myaccount_view_conversation_button,
    .woocommerce-account .b2bking_myaccount_individual_conversation_bottom button {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}


/* ==========================================================================
   42. CONVERSATION THREAD — POLISH PASS
   Three issues from the screenshots:

   1. Section 31's max-height: 600px on the messages container creates a
      fixed-size gray panel that looks empty when there's only one bubble
      (lots of dead vertical space, especially on Quote threads where the
      bubble is wider than tall). Drop the max-height and let the panel
      size to its content. The .woocommerce-MyAccount-content card already
      handles overall page scrolling.

   2. The Type/Date meta bar sits with too much whitespace between it and
      the chat panel below. Tighten the gap.

   3. In Message-type threads (not Quote), the timestamp div renders close
      to / overlapping the message bubble content because the bubble is
      shorter than the timestamp text width. Force the timestamp onto its
      own row with explicit display:block and width: 100%, plus a small
      top margin.
   ========================================================================== */

/* ----- Drop the fixed max-height on the messages container ----- */
.woocommerce-account #b2bking_conversation_messages_container {
    max-height: none !important;
    overflow-y: visible !important;
    padding: 14px !important;
}

/* ----- Tighten gap between meta bar and chat panel ----- */
.woocommerce-account #b2bking_myaccount_conversation_endpoint_container_top_header {
    margin-bottom: 10px !important;
}

/* DEAD: Section 42's timestamp rules removed.
   - First rule shadowed by Section 43 (higher specificity).
   - Sibling rules (text-align for _self/non-_self) matched nothing — timestamp is a child. */

/* Ensure bubbles can't have absolutely-positioned timestamps overlapping them.
   Make the messages container a flex column so bubbles + timestamps stack
   cleanly with no overlap potential. */
.woocommerce-account #b2bking_conversation_messages_container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important; /* gap handled by individual element margins */
}

/* Responsive overrides for max-height removal — drop them on smaller screens too */
@media (max-width: 1024px) {
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: none !important;
    }
}
@media (max-width: 880px) {
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: none !important;
        padding: 12px !important;
    }
}
@media (max-width: 600px) {
    .woocommerce-account #b2bking_conversation_messages_container {
        max-height: none !important;
        padding: 10px !important;
    }
    /* DEAD: Section 42's timestamp margin override removed — shadowed by Section 43's 600px rule. */
}


/* ==========================================================================
   43. CONVERSATION THREAD — TIMESTAMP IS A CHILD OF THE BUBBLE
   Critical fix: Sections 31 and 42 both assumed .b2bking_conversation_message_time
   was a SIBLING of the bubble, but the diagnostic confirmed it's actually
   the LAST CHILD of the bubble.

   Actual markup:
     <div class="b2bking_conversation_message [b2bking_conversation_message_self]">
       Requested items: <br>...content as flat HTML with <br>s...
       <div class="b2bking_conversation_message_time">
         username -                                     timestamp
       </div>
     </div>

   The adjacent-sibling rules in Sections 31 + 42 never matched. As a result
   the timestamp inherited B2BKing's default styling and rendered either
   overlapping the message text (Message-type, short bubble) or floating in
   the bottom-right of the bubble with a huge whitespace gap (Quote-type).

   Fix: target the timestamp as a CHILD of the bubble. Style it as a proper
   bubble footer: thin top border, small muted text, username on the left,
   timestamp on the right.
   ========================================================================== */

/* DEAD: Section 31 and 42's adjacent-sibling rules (.message + .message_time)
   never matched because .b2bking_conversation_message_time is a CHILD of the
   bubble, not a sibling. Their `all: unset` companion has been removed too;
   no-op selectors don't help the cascade. The active rule is below. */

/* ----- The actual fix: timestamp as a CHILD of the bubble ----- */

.woocommerce-account .b2bking_conversation_message .b2bking_conversation_message_time {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    border-top: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #9CA3AF !important;
    line-height: 1.3 !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;
    position: static !important; /* override any absolute positioning B2BKing applies */
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* On _self bubbles, slightly darker timestamp color to differentiate */
.woocommerce-account .b2bking_conversation_message.b2bking_conversation_message_self
    .b2bking_conversation_message_time {
    color: #6B7280 !important;
}

/* Ensure the bubble itself has reset padding-bottom so the timestamp's own
   top padding + border creates the right visual rhythm */
.woocommerce-account .b2bking_conversation_message {
    padding-bottom: 12px !important;
}

/* Mobile — slightly smaller timestamp */
@media (max-width: 600px) {
    .woocommerce-account .b2bking_conversation_message .b2bking_conversation_message_time {
        font-size: 10.5px !important;
        margin: 8px 0 0 0 !important;
        padding: 6px 0 0 0 !important;
        gap: 8px !important;
    }
}

/* ----- Optional: also handle the case where the bubble's flat HTML content
   leaves giant whitespace gaps (Quote bubbles have lots of <br><br>).
   This is a B2BKing template issue — they emit <br><br><br><br> sequences.
   We can't change the markup, but we can collapse consecutive <br>s
   visually by making each <br> contribute less line-height. ----- */
.woocommerce-account .b2bking_conversation_message br + br {
    /* CSS can't actually merge consecutive <br>s, but we can reduce their
       visual impact slightly. This is mild — kept as-is since the diagnostic
       didn't flag it as a critical issue. */
    line-height: 0.5 !important;
}


/* ==========================================================================
   44. LOST-PASSWORD SUCCESS STATE
   After submitting the lost-password request form, WooCommerce renders:
     - <ul class="woocommerce-message">…Password reset email has been sent.</ul>
     - <p>A password reset email has been sent to the email address on file…</p>
   The form itself is no longer present at this point. Section 27's form-
   centering rule doesn't apply, and Section 4's generic .woocommerce-message
   styling sizes the box to its content width — leaving a tiny gray pill on
   the left with the longer paragraph floating beside it unstyled.

   Fix: center both elements as a stacked block, max-width 600px, with the
   message box full-width within that constraint.
   ========================================================================== */

/* Center the success-state ul + sibling p */
.woocommerce-account.woocommerce-lost-password .woocommerce > .woocommerce-message,
.woocommerce-account.woocommerce-lost-password .woocommerce-notices-wrapper + p,
.woocommerce-account.woocommerce-lost-password .woocommerce > p {
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Stretch the message banner to its container's full width so the icon +
   text + (no-button) sit cleanly */
.woocommerce-account.woocommerce-lost-password .woocommerce-message {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 auto 16px auto !important;
}

/* The longer paragraph below the success notice */
.woocommerce-account.woocommerce-lost-password .woocommerce-message + p,
.woocommerce-account.woocommerce-lost-password .woocommerce-notices-wrapper + p {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Mobile (≤600px): respect viewport */
@media (max-width: 600px) {
    .woocommerce-account.woocommerce-lost-password .woocommerce > .woocommerce-message,
    .woocommerce-account.woocommerce-lost-password .woocommerce-notices-wrapper + p,
    .woocommerce-account.woocommerce-lost-password .woocommerce > p {
        max-width: 100% !important;
    }
    .woocommerce-account.woocommerce-lost-password .woocommerce-message {
        font-size: 13px !important;
    }
}

/* ==========================================================================
   SG: Recently Viewed Products — Strip Styling
   Companion to sg-recently-viewed-products.php
   Renders below the related products section on every product page.
   ========================================================================== */

.sg-recently-viewed {
    margin: 48px 0 32px 0 !important;
    padding: 32px 0 0 0 !important;
    border-top: 1px solid #F3F4F6 !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.sg-rv-heading {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.3 !important;
}

.sg-rv-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
}

/* Each card is a thumbnail + name + meta inside an anchor */
.sg-rv-card {
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    padding: 12px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.sg-rv-card:hover {
    border-color: #237B94 !important;
    box-shadow: 0 4px 12px rgba(35, 123, 148, 0.08) !important;
    text-decoration: none !important;
    transform: translateY(-2px) !important;
}

/* Thumbnail container — square aspect-ratio */
.sg-rv-card-img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #F9FAFB !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.sg-rv-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Product name — 2-line max, ellipsis */
.sg-rv-card-name {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.35 !important;
    margin: 0 0 4px 0 !important;

    /* Clamp to 2 lines */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.sg-rv-card-meta {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* ----- Responsive: all 7 Elementor breakpoints ----- */

/* Widescreen 2400+ — 6 cols (default) */
@media (min-width: 2401px) {
    .sg-rv-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

/* Laptop (≤1366px) — 6 cols still fits */
@media (max-width: 1366px) {
    .sg-rv-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

/* Tablet Extra (≤1024px) — 4 cols */
@media (max-width: 1024px) {
    .sg-rv-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
    .sg-recently-viewed {
        margin: 40px 0 28px 0 !important;
        padding: 28px 0 0 0 !important;
    }
    .sg-rv-heading {
        font-size: 20px !important;
        margin: 0 0 18px 0 !important;
    }
}

/* Tablet (≤880px) — 3 cols */
@media (max-width: 880px) {
    .sg-rv-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
    .sg-rv-card {
        padding: 10px !important;
    }
}

/* Mobile Extra (≤600px) — horizontal scroll instead of grid */
@media (max-width: 600px) {
    .sg-recently-viewed {
        margin: 32px 0 24px 0 !important;
        padding: 24px 0 0 0 !important;
    }
    .sg-rv-heading {
        font-size: 19px !important;
        margin: 0 0 16px 0 !important;
    }
    .sg-rv-grid {
        display: flex !important;
        grid-template-columns: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        padding: 0 4px 8px 4px !important;
        margin: 0 -4px !important;
        gap: 12px !important;
        /* Hide scrollbar but keep functionality */
        scrollbar-width: thin !important;
        scrollbar-color: #D1D5DB transparent !important;
    }
    .sg-rv-grid::-webkit-scrollbar {
        height: 4px !important;
    }
    .sg-rv-grid::-webkit-scrollbar-track {
        background: transparent !important;
    }
    .sg-rv-grid::-webkit-scrollbar-thumb {
        background: #D1D5DB !important;
        border-radius: 2px !important;
    }
    .sg-rv-card {
        flex: 0 0 160px !important;
        scroll-snap-align: start !important;
    }
    .sg-rv-card-name {
        font-size: 13px !important;
    }
}

/* Mobile (≤480px) — narrower cards in horizontal scroll */
@media (max-width: 480px) {
    .sg-rv-card {
        flex: 0 0 140px !important;
        padding: 10px !important;
    }
    .sg-rv-card-name {
        font-size: 12.5px !important;
    }
    .sg-rv-card-meta {
        font-size: 11.5px !important;
    }
}

/* =========================================================================
   SG — Size Dropdown Override (v7 — final)
   =========================================================================
   The Iconic <ul> for each attribute carries data-attribute="attribute_pa_<slug>".
   Hide the size <ul> via that attribute. Show the native <select> by walking
   up from select#pa_size via a column-scoped rule that doesn't affect Color.
   ========================================================================= */

/* Hide Iconic's Size swatch list entirely — clean, targeted */
body.sg-size-dropdown ul.iconic-was-swatches[data-attribute="attribute_pa_size"] {
  display: none !important;
}

/* Hide Iconic's "No selection" label text in the Size row only */
body.sg-size-dropdown label[for="pa_size"] .iconic-was-chosen-attribute,
body.sg-size-dropdown label[for="pa_size"] .iconic-was-attr-label-sep {
  display: none !important;
}

/* Show the native <select> for Size. Iconic wraps it in a hidden <div>;
   we walk up the row scope (label[for="pa_size"] sits in the same row's <th>,
   the <td> sibling holds the <select>). Force the wrapper visible. */
body.sg-size-dropdown select#pa_size {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  
  width: 100%;
  max-width: 100%;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: #111827;
  background-color: #FAF7F1;
  border: 1.5px solid #D1D5DB;
  border-radius: 6px;
  padding: 14px 44px 14px 16px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23237B94' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 18px;
  transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
  margin-top: 4px;
  box-sizing: border-box;
}

/* Force-show the unclassed wrapper <div> that contains select#pa_size.
   The wrapper is the direct parent of the select, so target it via a 
   tiny JS-free trick: it always has the select as a child. We use an
   adjacent attribute lookup. */
body.sg-size-dropdown select#pa_size {
  /* (CSS handles select itself — the parent div needs a different rule) */
}

body.sg-size-dropdown select#pa_size:hover {
  border-color: #237B94;
  background-color: #FFFFFF;
}

body.sg-size-dropdown select#pa_size:focus {
  outline: none;
  border-color: #237B94;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(35, 123, 148, 0.15);
}

/* Mobile: prevent iOS zoom */
@media (max-width: 768px) {
  body.sg-size-dropdown select#pa_size {
    font-size: 16px;
    padding: 14px 44px 14px 14px;
  }
}

/* ============================================================
   SG: Linked Product Titles — Teal (.sg-product-link)
   ------------------------------------------------------------
   Section-title headings that link to a product page use the
   class `sg-product-link` (Glides, Slides, Pads, and future
   category pages). Elementor sets the heading color inline, but
   when a heading is linked it wraps the text in an <a>, whose
   inherited theme link color can override the inline color on
   some setups. This forces the teal consistently and adds a
   subtle hover so the titles read as clickable.

   Safe site-wide: only affects headings carrying sg-product-link.
   ============================================================ */

.sg-product-link,
.sg-product-link a,
.sg-product-link .elementor-heading-title,
.sg-product-link .elementor-heading-title a {
  color: #237B94 !important;
  text-decoration: none;
  transition: color 0.15s ease;
}

.sg-product-link:hover,
.sg-product-link a:hover,
.sg-product-link .elementor-heading-title:hover,
.sg-product-link .elementor-heading-title a:hover {
  color: #1a5e70 !important;   /* darker teal on hover */
  text-decoration: underline;
}

/* ============================================================
   SG: Icon List — Align Checkmarks to First Line
   ------------------------------------------------------------
   Elementor's icon-list widget vertically CENTERS the icon
   against the full text block, so on multi-line items the
   checkmark floats to the middle instead of sitting next to
   the first line (visible on the tube-plug "Pad Type" cards
   where size lines wrap to two rows).

   This aligns the icon to the top so it lines up with the
   first line of text. Applies to all Elementor icon lists; if
   you ever want a list to stay centered, that's rare for these
   bullet-style lists, so site-wide is the right scope.
   ============================================================ */

.elementor-icon-list-item {
  align-items: flex-start !important;
}

/* Nudge the icon down a hair so it optically aligns with the
   cap height of the first text line rather than its very top. */
.elementor-icon-list-icon {
  display: flex;
  align-items: flex-start;
  padding-top: 0.15em !important;
}

/* Keep the text block left-aligned and tight so wrapped lines
   indent under the text, not under the icon. */
.elementor-icon-list-text {
  align-self: flex-start;
}

/* show the manual break only on desktop+; let title flow on tablet/mobile */
@media (max-width: 1024px) {
  .sg-desktop-only-br { display: none; }
}

