/**
 * SMT UI Polish — match checkout typography & controls sitewide.
 * Layout/structure untouched. Scoped to avoid breaking header/PDP/filters.
 */
:root {
  --smt-ui-ink: #010f1c;
  --smt-ui-body: #2a2a2a;
  --smt-ui-muted: #6d7175;
  --smt-ui-line: #e1e3e5;
  --smt-ui-line-strong: #c9cccf;
  --smt-ui-soft: #f6f6f7;
  --smt-ui-brand: #0c55aa;
  --smt-ui-brand-rgb: 12, 85, 170;
  --smt-ui-brand-deep: #094589;
  --smt-ui-secondary: #821f40;
  --smt-ui-radius: 8px;
  --smt-ui-radius-sm: 6px;
}

/* —— Base text (soft) —— */
body:not(.checkout-page) {
  color: var(--smt-ui-body);
  -webkit-font-smoothing: antialiased;
}

body:not(.checkout-page) h1,
body:not(.checkout-page) h2,
body:not(.checkout-page) h3,
body:not(.checkout-page) h4,
body:not(.checkout-page) h5,
body:not(.checkout-page) h6 {
  color: var(--smt-ui-ink);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

/* Don't crush slider / feature marketing headings */
body:not(.checkout-page) .tp-slider-title,
body:not(.checkout-page) .tp-slider-title *,
body:not(.checkout-page) .tp-feature-title,
body:not(.checkout-page) .tp-feature-title-2,
body:not(.checkout-page) .tp-slider-content h2,
body:not(.checkout-page) .tp-slider-content h3 {
  color: revert !important;
  font-size: revert !important;
  font-weight: revert !important;
  letter-spacing: revert !important;
  line-height: revert !important;
}

/* Section titles */
body:not(.checkout-page) .tp-section-title,
body:not(.checkout-page) .section-title.tp-section-title,
body:not(.checkout-page) main .tp-section-title {
  color: var(--smt-ui-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}

body:not(.checkout-page) .tp-section-title-wrapper p,
body:not(.checkout-page) .tp-section-title-wrapper .tp-section-title-pre {
  color: var(--smt-ui-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Breadcrumb page titles */
body:not(.checkout-page) .breadcrumb__title,
body:not(.checkout-page) .tp-breadcrumb-title,
body:not(.checkout-page) .tp-shop-top-result,
body:not(.checkout-page) .tp-shop-top-select .nice-select .current {
  color: var(--smt-ui-ink);
}

body:not(.checkout-page) .breadcrumb,
body:not(.checkout-page) .tp-breadcrumb span,
body:not(.checkout-page) .breadcrumb__list a,
body:not(.checkout-page) .breadcrumb__list span,
body:not(.checkout-page) .tp-shop-top-result p,
body:not(.checkout-page) .tp-shop-top-result span {
  font-size: 13px !important;
  color: var(--smt-ui-muted) !important;
}

body:not(.checkout-page) .breadcrumb__list a:hover {
  color: var(--smt-ui-brand) !important;
}

/* —— Product cards (listing) —— */
body:not(.checkout-page) .tp-product-title,
body:not(.checkout-page) .tp-product-title a,
body:not(.checkout-page) .smt-product-card__title,
body:not(.checkout-page) .smt-product-card__title a,
body:not(.checkout-page) .tp-cart-title a {
  color: var(--smt-ui-ink) !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
}

body:not(.checkout-page) .tp-product-title a:hover,
body:not(.checkout-page) .smt-product-card__title a:hover,
body:not(.checkout-page) .tp-cart-title a:hover {
  color: var(--smt-ui-brand) !important;
}

body:not(.checkout-page) .tp-product-price,
body:not(.checkout-page) .tp-product-price span {
  color: var(--smt-ui-ink) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

body:not(.checkout-page) .smt-product-card__price-current,
body:not(.checkout-page) .smt-product-card__price .product-price,
body:not(.checkout-page) .smt-product-card__price > span:first-child {
  color: var(--smt-ui-brand, var(--smt-bag)) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

body:not(.checkout-page) .tp-product-price del,
body:not(.checkout-page) .old-price {
  color: var(--smt-ui-muted) !important;
  font-weight: 500 !important;
}

body:not(.checkout-page) .tp-product-tag,
body:not(.checkout-page) .tp-product-category a,
body:not(.checkout-page) .smt-product-card__meta {
  color: var(--smt-ui-muted) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
}

/* —— Breadcrumb titles —— */
body:not(.checkout-page) .breadcrumb__title {
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: var(--smt-ui-ink) !important;
}

/* —— PDP title (larger than cards) —— */
body:not(.checkout-page) .smt-product-page .tp-product-details-title,
body:not(.checkout-page) .tp-product-details-wrapper .tp-product-details-title,
body:not(.checkout-page) h1.tp-product-details-title {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--smt-ui-ink) !important;
  letter-spacing: -0.02em !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
}

body:not(.checkout-page) #product-quick-view-modal .tp-product-details-title {
  font-size: 20px !important;
  font-weight: 600 !important;
}

/* Match checkout ink prices (override storefront .new-price blue) */
body:not(.checkout-page) .tp-product-details-price.new-price,
body:not(.checkout-page) .smt-product-page .tp-product-details-price.new-price,
body:not(.checkout-page) .tp-product-details-price.new-price span {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--smt-ui-ink) !important;
}

body:not(.checkout-page) .tp-product-details-price.old-price,
body:not(.checkout-page) .smt-product-page .tp-product-details-price.old-price {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #9aa0a8 !important;
}

body:not(.checkout-page) .tp-product-details-desc p,
body:not(.checkout-page) .tp-product-details-additional-info p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--smt-ui-body) !important;
}

/* —— Soft product image hover —— */
body:not(.checkout-page) .tp-product-thumb img,
body:not(.checkout-page) .smt-product-card__media img {
  transition: transform 0.35s ease;
}

body:not(.checkout-page) .tp-product-item:hover .tp-product-thumb img,
body:not(.checkout-page) .smt-product-card:hover .smt-product-card__media img {
  transform: scale(1.04);
}

body:not(.checkout-page) .tp-product-thumb,
body:not(.checkout-page) .smt-product-card__media {
  overflow: hidden;
  border-radius: var(--smt-ui-radius-sm);
}

/* —— Labels —— */
body:not(.checkout-page) label,
body:not(.checkout-page) .form-label,
body:not(.checkout-page) .control-label {
  color: #303030 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

/* —— Forms: scoped to main content (not header/qty/nl) —— */
body:not(.checkout-page) main .form-control,
body:not(.checkout-page) main input[type="text"]:not(.tp-cart-input):not(.smt-nl__input),
body:not(.checkout-page) main input[type="email"]:not(.smt-nl__input),
body:not(.checkout-page) main input[type="password"],
body:not(.checkout-page) main input[type="tel"],
body:not(.checkout-page) main input[type="number"]:not(.tp-cart-input),
body:not(.checkout-page) main select.form-control,
body:not(.checkout-page) main textarea.form-control,
body:not(.checkout-page) .tp-login-wrapper .form-control,
body:not(.checkout-page) .tp-login-wrapper input[type="text"],
body:not(.checkout-page) .tp-login-wrapper input[type="email"],
body:not(.checkout-page) .tp-login-wrapper input[type="password"],
body:not(.checkout-page) .customer-profile-form .form-control,
body:not(.checkout-page) .smt-contact__form .form-control,
body:not(.checkout-page) .smt-contact__form input,
body:not(.checkout-page) .smt-contact__form textarea,
body:not(.checkout-page) .tp-contact-input input,
body:not(.checkout-page) .tp-contact-input textarea {
  border: 1px solid var(--smt-ui-line-strong) !important;
  border-radius: var(--smt-ui-radius) !important;
  color: var(--smt-ui-ink) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  background: #fff !important;
}

body:not(.checkout-page) main .form-control:not(textarea),
body:not(.checkout-page) main input[type="text"]:not(.tp-cart-input):not(.smt-nl__input),
body:not(.checkout-page) main input[type="email"]:not(.smt-nl__input),
body:not(.checkout-page) main input[type="password"],
body:not(.checkout-page) main input[type="tel"],
body:not(.checkout-page) main select.form-control,
body:not(.checkout-page) .tp-login-wrapper .form-control,
body:not(.checkout-page) .tp-login-wrapper input[type="text"],
body:not(.checkout-page) .tp-login-wrapper input[type="email"],
body:not(.checkout-page) .tp-login-wrapper input[type="password"],
body:not(.checkout-page) .customer-profile-form .form-control:not(textarea),
body:not(.checkout-page) .smt-contact__form input:not([type="checkbox"]):not([type="radio"]),
body:not(.checkout-page) .tp-contact-input input {
  min-height: 46px;
  height: 46px;
  padding: 11px 13px !important;
}

body:not(.checkout-page) main textarea.form-control,
body:not(.checkout-page) .smt-contact__form textarea,
body:not(.checkout-page) .tp-contact-input textarea {
  min-height: 120px;
  height: auto !important;
  padding: 11px 13px !important;
}

body:not(.checkout-page) main .form-control:focus,
body:not(.checkout-page) main input:focus,
body:not(.checkout-page) .tp-login-wrapper input:focus,
body:not(.checkout-page) .smt-contact__form input:focus,
body:not(.checkout-page) .smt-contact__form textarea:focus,
body:not(.checkout-page) .tp-contact-input input:focus,
body:not(.checkout-page) .tp-contact-input textarea:focus {
  border-color: var(--smt-ui-brand) !important;
  box-shadow: 0 0 0 3px rgba(var(--smt-ui-brand-rgb), 0.18) !important;
  outline: none !important;
}

/* Header search — keep chrome intact */
body:not(.checkout-page) .tp-header-search-box input,
body:not(.checkout-page) .tp-header-search-box input[type="text"],
body:not(.checkout-page) .tp-header-search-box input[type="search"],
body:not(.checkout-page) .tp-header-search input {
  height: 46px !important;
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 12px 0 16px !important;
  background: transparent !important;
  font-size: 14px !important;
}

body:not(.checkout-page) .tp-header-search-box input:focus,
body:not(.checkout-page) .tp-header-search input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Qty steppers */
body:not(.checkout-page) .tp-product-quantity input,
body:not(.checkout-page) .tp-cart-input,
body:not(.checkout-page) input.tp-cart-input {
  height: auto !important;
  min-height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body:not(.checkout-page) .smt-product-page .tp-product-details-quantity .tp-cart-input[type="number"] {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 36px !important;
}

/* Newsletter */
body:not(.checkout-page) .smt-nl__form input,
body:not(.checkout-page) .smt-nl__form .smt-nl__input,
body:not(.checkout-page) .smt-nl__form #newsletter-email {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 48px !important;
  min-height: 48px !important;
  color: inherit !important;
}

body:not(.checkout-page) .smt-nl__form input:focus {
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.checkout-page) .smt-nl p,
body:not(.checkout-page) .smt-nl__copy p,
body:not(.checkout-page) .smt-nl__title {
  color: inherit !important;
}

/* —— Checkboxes (forms / login / account) —— */
body:not(.checkout-page) .form-check:not(.filter-checkbox) {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-left: 0 !important;
}

body:not(.checkout-page) .form-check-input,
body:not(.checkout-page) input.form-check-input[type="checkbox"],
body:not(.checkout-page) input.form-check-input[type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  top: 0 !important;
  flex-shrink: 0 !important;
  border: 1.5px solid #b0b7c3 !important;
  border-radius: 5px !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  accent-color: var(--smt-ui-brand);
}

body:not(.checkout-page) .form-check-input[type="radio"] {
  border-radius: 50% !important;
}

body:not(.checkout-page) .form-check-input::before,
body:not(.checkout-page) .form-check-input::after {
  content: none !important;
  display: none !important;
}

body:not(.checkout-page) .form-check-input:checked,
body:not(.checkout-page) input.form-check-input[type="checkbox"]:checked {
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") !important;
  background-size: 12px 12px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body:not(.checkout-page) .form-check-input[type="radio"]:checked {
  background-image: none !important;
  box-shadow: inset 0 0 0 5px var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  background-color: #fff !important;
}

body:not(.checkout-page) .form-check-input:focus,
body:not(.checkout-page) .form-check-input:focus-visible {
  border-color: var(--smt-ui-brand) !important;
  box-shadow: 0 0 0 3px rgba(var(--smt-ui-brand-rgb), 0.22) !important;
}

body:not(.checkout-page) .form-check-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--smt-ui-body) !important;
  line-height: 1.4 !important;
  cursor: pointer;
  padding-top: 1px;
}

/* —— Shop filters: keep theme label::after pattern, brand color —— */
body:not(.checkout-page) .filter-checkbox input[type="checkbox"],
body:not(.checkout-page) .bb-shop-sidebar .filter-checkbox input[type="checkbox"],
body:not(.checkout-page) .bb-product-filter-items.filter-checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  pointer-events: none;
}

body:not(.checkout-page) .bb-product-filter-items.filter-checkbox .bb-product-filter-item label::after,
body:not(.checkout-page) .filter-checkbox .bb-product-filter-item label::after,
body:not(.checkout-page) .bb-shop-sidebar .filter-checkbox label::after {
  display: block !important;
  position: absolute !important;
  content: "" !important;
  top: 2px !important;
  inset-inline-start: 0 !important;
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid #b0b7c3 !important;
  border-radius: 4px !important;
  background-color: #fff !important;
  background-image: none !important;
  z-index: 1 !important;
}

body:not(.checkout-page) .bb-shop-sidebar .filter-checkbox input:checked ~ label::after,
body:not(.checkout-page) .filter-checkbox input:checked ~ label::after {
  display: block !important;
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") !important;
  background-size: 10px 10px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body:not(.checkout-page) .filter-checkbox label,
body:not(.checkout-page) .bb-shop-sidebar .filter-checkbox label {
  display: block !important;
  position: relative !important;
  padding-inline-start: 28px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--smt-ui-body) !important;
  line-height: 1.4 !important;
  cursor: pointer;
}

/* —— Buttons —— */
body:not(.checkout-page) .tp-btn,
body:not(.checkout-page) .tp-btn-2,
body:not(.checkout-page) .tp-btn-blue,
body:not(.checkout-page) .btn-primary,
body:not(.checkout-page) .tp-cart-checkout-btn,
body:not(.checkout-page) .tp-cart-coupon-input-box button,
body:not(.checkout-page) .tp-login-btn button,
body:not(.checkout-page) .tp-shop-widget-btn button,
body:not(.checkout-page) .bb-shop-sidebar .btn,
body:not(.checkout-page) button.tp-filter-btn,
body:not(.checkout-page) .tp-shop-top .btn {
  border-radius: var(--smt-ui-radius) !important;
  font-weight: 650 !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body:not(.checkout-page) .tp-btn:hover,
body:not(.checkout-page) .tp-btn-2:hover,
body:not(.checkout-page) .tp-btn-blue:hover,
body:not(.checkout-page) .btn-primary:hover,
body:not(.checkout-page) .tp-cart-checkout-btn:hover,
body:not(.checkout-page) .tp-cart-coupon-input-box button:hover,
body:not(.checkout-page) .tp-login-btn button:hover {
  background-color: var(--smt-ui-brand-deep) !important;
  border-color: var(--smt-ui-brand-deep) !important;
  color: #fff !important;
}

/* Shop filter / primary CTA buttons — brand blue not ink black */
body:not(.checkout-page) .tp-shop-top button.btn,
body:not(.checkout-page) .tp-shop-widget-filter-btn,
body:not(.checkout-page) .offcanvas-filter .btn-primary,
body:not(.checkout-page) .bb-shop-sidebar .tp-shop-widget-btn button,
body:not(.checkout-page) .tp-filter-btn,
body:not(.checkout-page) button[data-bb-toggle="shop-filter"],
body:not(.checkout-page) .tp-shop-top .tp-shop-top-filter button {
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  color: #fff !important;
}

/* Sidebar search: icon-only control (not a blue CTA strip) */
body:not(.checkout-page) .bb-shop-sidebar .tp-sidebar-search-input {
  position: relative;
}

body:not(.checkout-page) .bb-shop-sidebar .tp-sidebar-search-input input {
  height: 42px !important;
  padding-inline-end: 44px !important;
  border: 1px solid var(--smt-ui-line-strong, #e0e2e3) !important;
  border-radius: 6px !important;
}

body:not(.checkout-page) .bb-shop-sidebar .tp-sidebar-search-input button[type="submit"] {
  position: absolute !important;
  top: 50% !important;
  inset-inline-end: 10px !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body:not(.checkout-page) .bb-shop-sidebar .tp-sidebar-search-input button[type="submit"]:hover {
  background: rgba(12, 85, 170, 0.08) !important;
  color: var(--smt-ui-brand, #0c55aa) !important;
}

body:not(.checkout-page) .bb-shop-sidebar .tp-sidebar-search-input button[type="submit"] svg {
  width: 16px !important;
  height: 16px !important;
  display: block;
}

body:not(.checkout-page) .tp-shop-top button.btn:hover,
body:not(.checkout-page) .tp-filter-btn:hover,
body:not(.checkout-page) button[data-bb-toggle="shop-filter"]:hover {
  background-color: var(--smt-ui-brand-deep) !important;
  border-color: var(--smt-ui-brand-deep) !important;
}

body:not(.checkout-page) .tp-btn-border:hover,
body:not(.checkout-page) .tp-btn-outline:hover,
body:not(.checkout-page) .cartmini__checkout-btn .tp-btn:hover,
body:not(.checkout-page) .cartmini__checkout-btn .tp-btn-border:hover {
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  color: #fff !important;
}

/* Shop sort selects */
body:not(.checkout-page) .tp-shop-top-select .nice-select,
body:not(.checkout-page) .tp-shop-top select {
  border: 1px solid var(--smt-ui-line-strong) !important;
  border-radius: var(--smt-ui-radius-sm) !important;
  font-size: 13px !important;
  color: var(--smt-ui-ink) !important;
  min-height: 38px;
}

/* —— Links (scoped; don't repaint main nav) —— */
body:not(.checkout-page) .tp-product-details-action a:hover,
body:not(.checkout-page) .tp-product-details-wishlist a:hover,
body:not(.checkout-page) .tp-cart-action a:hover,
body:not(.checkout-page) .smt-footer .tp-footer-widget-content ul li a:hover,
body:not(.checkout-page) .breadcrumb__list a:hover,
body:not(.checkout-page) .tp-blog-title a:hover {
  color: var(--smt-ui-brand) !important;
}

body:not(.checkout-page) a:focus-visible,
body:not(.checkout-page) button:focus-visible,
body:not(.checkout-page) .tp-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--smt-ui-brand-rgb), 0.22);
}

/* —— Footer —— */
body:not(.checkout-page) .smt-footer .tp-footer-widget-title,
body:not(.checkout-page) .tp-footer-widget h4 {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: var(--smt-ui-ink) !important;
  letter-spacing: 0 !important;
}

body:not(.checkout-page) .smt-footer .tp-footer-widget-content ul li a,
body:not(.checkout-page) .smt-footer .tp-footer-contact-content p,
body:not(.checkout-page) .smt-footer .tp-footer-desc {
  font-size: 14px !important;
  color: var(--smt-ui-muted) !important;
  line-height: 1.5 !important;
}

body:not(.checkout-page) .smt-footer .tp-footer-copyright p {
  font-size: 13px !important;
  color: var(--smt-ui-muted) !important;
}

/* —— Cart / wishlist —— */
body:not(.checkout-page) .tp-cart-list .tp-cart-input,
body:not(.checkout-page) .tp-cart-list input[type="number"] {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 8px !important;
}

body:not(.checkout-page) .tp-cart-list p,
body:not(.checkout-page) .tp-cart-list small {
  font-size: 12.5px !important;
  color: var(--smt-ui-muted) !important;
}

body:not(.checkout-page) .tp-cart-checkout-btn,
body:not(.checkout-page) .tp-cart-coupon-input-box button {
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  color: #fff !important;
}

/* —— Auth —— */
body:not(.checkout-page) .tp-login-wrapper label,
body:not(.checkout-page) #page-auth label {
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 6px;
}

body:not(.checkout-page) .tp-login-title,
body:not(.checkout-page) .smt-auth-page h3,
body:not(.checkout-page) .smt-auth-page h4 {
  color: var(--smt-ui-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

/* —— Contact / wholesale / static pages —— */
body:not(.checkout-page) .smt-contact h3,
body:not(.checkout-page) .smt-contact__title,
body:not(.checkout-page) .tp-contact-title,
body:not(.checkout-page) .page-content h1,
body:not(.checkout-page) .page-content h2 {
  color: var(--smt-ui-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

body:not(.checkout-page) .page-content p,
body:not(.checkout-page) .smt-contact p,
body:not(.checkout-page) .tp-faq-tab-content p,
body:not(.checkout-page) .tp-faq-question p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--smt-ui-body) !important;
}

body:not(.checkout-page) .tp-contact-input input,
body:not(.checkout-page) .smt-contact__form input[type="text"],
body:not(.checkout-page) .smt-contact__form input[type="email"],
body:not(.checkout-page) .smt-contact__form input[type="tel"] {
  height: 50px !important;
  min-height: 50px !important;
}

/* —— Blog —— */
body:not(.checkout-page) .tp-blog-title,
body:not(.checkout-page) .tp-blog-title a {
  color: var(--smt-ui-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

body:not(.checkout-page) .tp-blog-meta span,
body:not(.checkout-page) .tp-blog-meta a {
  color: var(--smt-ui-muted) !important;
  font-size: 12.5px !important;
}

/* —— Sale badge / discount ribbon (secondary maroon) —— */
body:not(.checkout-page) .tp-product-badge span.on-sale,
body:not(.checkout-page) .tp-product-badge span.product-sale,
body:not(.checkout-page) .tp-product-badge span.product-offer,
body:not(.checkout-page) .product-badge .badge-sale {
  background-color: var(--smt-ui-secondary) !important;
}

body:not(.checkout-page) .smt-product-card__ribbon-inner {
  background: var(--smt-ui-secondary) !important;
  color: #fff !important;
}

body:not(.checkout-page) .smt-product-card__ribbon-inner::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23821f40' d='M0 0h10v3L5 10 0 3z'/%3E%3C/svg%3E") !important;
}

/* —— Primary CTAs (contact / tracking / wishlist empty) —— */
body:not(.checkout-page) .smt-contact__form button[type="submit"],
body:not(.checkout-page) .tp-contact-btn button,
body:not(.checkout-page) .tp-order-info-list button,
body:not(.checkout-page) .tp-order-area button[type="submit"],
body:not(.checkout-page) .tp-wishlist-area .tp-cart-checkout-btn,
body:not(.checkout-page) main .tp-cart-coupon-input-box button {
  background-color: var(--smt-ui-brand) !important;
  border-color: var(--smt-ui-brand) !important;
  color: #fff !important;
  border-radius: var(--smt-ui-radius) !important;
  min-height: 46px;
  font-weight: 650 !important;
}

body:not(.checkout-page) .smt-contact__form button[type="submit"]:hover,
body:not(.checkout-page) .tp-order-area button[type="submit"]:hover,
body:not(.checkout-page) .tp-wishlist-area .tp-cart-checkout-btn:hover,
body:not(.checkout-page) main .tp-cart-coupon-input-box button:hover {
  background-color: var(--smt-ui-brand-deep) !important;
  border-color: var(--smt-ui-brand-deep) !important;
}

/* —— FAQ accordion —— */
body:not(.checkout-page) .tp-faq-area .accordion-button,
body:not(.checkout-page) .faq-item .accordion-button,
body:not(.checkout-page) .tp-faq-tab-content .accordion-button {
  font-size: 15px !important;
  font-weight: 650 !important;
  color: var(--smt-ui-ink) !important;
  box-shadow: none !important;
}

body:not(.checkout-page) .tp-faq-area .accordion-button:not(.collapsed),
body:not(.checkout-page) .faq-item .accordion-button:not(.collapsed) {
  color: var(--smt-ui-brand) !important;
  background: transparent !important;
}

/* —— Stuck shortcode / lazy spinners —— */
body.smt-lazy-timeout .shortcode-lazy-loading > .loading-spinner,
body.smt-lazy-timeout [data-bb-toggle="block-lazy-loading"] .loading-spinner {
  display: none !important;
}

body.smt-lazy-timeout img.loading[data-ll-status="loading"],
body.smt-lazy-timeout img[data-ll-status="loading"] {
  opacity: 1 !important;
}

/* —— No checkout-style left accent bars outside checkout —— */
body:not(.checkout-page) .list-group-item,
body:not(.checkout-page) .list-group-item.active,
body:not(.checkout-page) .payment-method-item,
body:not(.checkout-page) .list-group-item:has(input:checked) {
  box-shadow: none !important;
}

/* —— Feature / trust rows: keep designed sizes —— */
body:not(.checkout-page) .tp-feature-content p,
body:not(.checkout-page) .tp-feature-content-2 p,
body:not(.checkout-page) .smt-hero-trust p,
body:not(.checkout-page) .tp-feature-item p {
  font-size: revert !important;
  color: revert !important;
  line-height: revert !important;
  font-weight: revert !important;
}

/* —— Mobile —— */
@media (max-width: 767.98px) {
  body:not(.checkout-page) .breadcrumb__title {
    font-size: 22px !important;
  }

  body:not(.checkout-page) .smt-product-card__title,
  body:not(.checkout-page) .smt-product-card__title a,
  body:not(.checkout-page) .tp-product-title,
  body:not(.checkout-page) .tp-product-title a {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body:not(.checkout-page) .smt-product-page .tp-product-details-title,
  body:not(.checkout-page) h1.tp-product-details-title {
    font-size: 20px !important;
  }

  body:not(.checkout-page) .tp-product-details-price.new-price,
  body:not(.checkout-page) .tp-product-details-price.new-price span,
  body:not(.checkout-page) .smt-product-page .tp-product-details-price.new-price {
    font-size: 18px !important;
  }

  body:not(.checkout-page) main .form-control:not(textarea),
  body:not(.checkout-page) .tp-login-wrapper .form-control {
    height: 44px !important;
    min-height: 44px !important;
  }

  body:not(.checkout-page) .tp-contact-input input,
  body:not(.checkout-page) .smt-contact__form input[type="text"],
  body:not(.checkout-page) .smt-contact__form input[type="email"] {
    height: 48px !important;
    min-height: 48px !important;
  }

  body:not(.checkout-page) .tp-cart-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 991.98px) {
  body:not(.checkout-page) .smt-product-page .tp-product-details-title {
    font-size: 20px !important;
  }
}

/* —— Sticky header account + icon row —— */
.tp-header-sticky-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}

.tp-header-sticky-actions > .tp-header-action {
  display: flex;
  align-items: center;
  margin: 0 !important;
  margin-left: 0 !important;
  gap: 18px;
}

.tp-header-sticky-actions .tp-header-action-item,
.tp-header-sticky-actions .tp-header-action-item:not(:first-child),
.tp-header-sticky-actions .tp-header-action-item:last-child {
  margin: 0 !important;
}

.tp-header-sticky-actions .tp-header-action-btn {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  line-height: 0;
  vertical-align: middle;
}

.tp-header-sticky-actions .tp-header-action-btn svg {
  display: block;
  flex-shrink: 0;
}

.tp-header-sticky-actions .tp-header-account-avatar {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(1, 15, 28, 0.14);
  box-sizing: border-box;
  line-height: 0;
}

.tp-header-sticky-actions .tp-header-account-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tp-header-sticky-actions .tp-header-action-badge {
  top: -4px;
  right: -10px;
  width: 18px;
  height: 18px;
  line-height: 14px;
  font-size: 10px;
  border-width: 1.5px;
}
