/* CoreSmart Theme Engine v3.2.1 runtime layer. Loaded last on every storefront page. */
:root {
  --theme-font: Inter, sans-serif;
  --theme-font-size: 15px;
  --theme-page-bg: #f4f7f7;
  --theme-text: #243447;
  --theme-heading: #102a43;
  --theme-link: #0b7468;
  --theme-icon: #0b7468;
  --theme-border: #dce6e8;
  --theme-surface: #fff;
  --theme-surface-fore: #243447;
  --theme-card: #fff;
  --theme-card-fore: #243447;
  --theme-button-bg: #0b7468;
  --theme-button-text: #fff;
  --theme-button-icon: #fff;
  --theme-button-border: #0b7468;
  --theme-button-hover-bg: #102a43;
  --theme-button-hover-text: #fff;
  --theme-radius: 18px;
  --theme-animation-duration: 520ms;
}

body.core-theme-ready {
  min-height: 100vh;
  background-color: var(--theme-page-bg) !important;
  color: var(--theme-text) !important;
  font-family: var(--theme-font) !important;
  font-size: var(--theme-font-size) !important;
}

/* Global tokens are deliberately low-specificity fallbacks. Existing branded
   sections keep their intentional contrast until the user adds a section
   override in Theme Studio. */
:where(body.core-theme-ready) :where(h1,h2,h3,h4,h5,h6) { color: var(--theme-heading); }
:where(body.core-theme-ready) :where(p,li,small,label,.text-muted) { color: var(--theme-text); }
:where(body.core-theme-ready) :where(a:not(.btn):not(.premium-primary-button):not(.premium-secondary-button)) { color: var(--theme-link); }
:where(body.core-theme-ready) :where(i,.fa,.fa-solid,.fa-regular,.fa-brands) { color: var(--theme-icon); }
:where(body.core-theme-ready) :where(hr,.border,.border-top,.border-bottom,.border-start,.border-end) { border-color: var(--theme-border); }
body.core-theme-ready .text-white :where(h1,h2,h3,h4,h5,h6) { color: inherit !important; }

body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)) {
  background: var(--section-button-bg, var(--theme-button-bg)) !important;
  color: var(--section-button-text, var(--theme-button-text)) !important;
  border-color: var(--section-button-border, var(--theme-button-border)) !important;
}
body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)) :where(i,.fa,.fa-solid,.fa-regular,.fa-brands) {
  color: var(--section-button-icon, var(--theme-button-icon)) !important;
}
body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)) :where(span,strong,small) {
  color: var(--section-button-text, var(--theme-button-text)) !important;
}
body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)):hover,
body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)):focus-visible {
  background: var(--section-button-hover-bg, var(--theme-button-hover-bg)) !important;
  color: var(--section-button-hover-text, var(--theme-button-hover-text)) !important;
  border-color: var(--section-button-hover-bg, var(--theme-button-hover-bg)) !important;
}
body.core-theme-ready :where(.btn-primary,.btn-success,.btn-warning,.btn-bh-primary,.btn-add-cart,.btn-add-cart-sellzy,.btn-add-cart-main,.btn-mini-add,.btn-order-again,.premium-primary-button,.premium-search-button,.premium-newsletter-form button,.back-to-top-btn,.btn-search,.auth-submit,.checkout-btn,.place-order-btn,button[type="submit"]:not(.btn-close)):is(:hover,:focus-visible) :where(i,.fa,.fa-solid,.fa-regular,.fa-brands,span,strong,small) {
  color: var(--section-button-hover-text, var(--theme-button-hover-text)) !important;
}

body.core-theme-ready :where(.product-card,.beauty-product-card,.mini-product-card,.blog-card,.order-card,.commercial-panel,.dashboard-sidebar,.category-sidebar-card,.category-card,.premium-checkout-card,.premium-order-review,.auth-shell) {
  background: var(--section-card, var(--theme-card)) !important;
  color: var(--section-card-fore, var(--theme-card-fore)) !important;
  border-color: var(--section-border, var(--theme-border)) !important;
  border-radius: var(--section-radius, var(--theme-radius)) !important;
}

body.core-theme-ready :where(.form-control,.form-select,.search-wrapper,.premium-search-wrap,.auth-tabs,.premium-payment-choice label) {
  background-color: var(--section-surface, var(--theme-surface)) !important;
  color: var(--section-surface-fore, var(--theme-surface-fore)) !important;
  border-color: var(--section-border, var(--theme-border)) !important;
}

/* Component palettes must beat the global fallbacks. This is especially
   important for the dark navigation and footer surfaces. */
body.core-theme-ready [data-theme-component] { border-color: var(--component-border) !important; color: var(--component-text) !important; }
body.core-theme-ready [data-theme-component] :where(p,li,small,label,span,.text-muted) { color: var(--component-text) !important; }
body.core-theme-ready [data-theme-component] :where(h1,h2,h3,h4,h5,h6,strong) { color: var(--component-heading) !important; }
body.core-theme-ready [data-theme-component] :where(a,.premium-action,.premium-nav-menu,.premium-cart-action) { color: var(--component-link) !important; }
body.core-theme-ready [data-theme-component] :where(i,.fa,.fa-solid,.fa-regular,.fa-brands) { color: var(--component-icon) !important; }
body.core-theme-ready [data-theme-component="header"] :where(.search-wrapper,.premium-search-wrap),
body.core-theme-ready [data-theme-component="footer"] :where(input,.premium-newsletter-form > div) { background: var(--component-surface) !important; color: var(--component-surface-fore) !important; }
body.core-theme-ready [data-theme-component="footer"] input::placeholder { color: color-mix(in srgb, var(--component-surface-fore) 68%, transparent) !important; opacity: 1; }
body.core-theme-ready [data-theme-component="navbar"] :where(a.active,a[aria-current="page"]) { color: var(--component-active) !important; }

[data-theme-section] {
  position: relative;
  isolation: isolate;
  color: var(--section-text, inherit);
  transition: background-color .22s ease, color .22s ease, border-radius .22s ease;
}
body.core-theme-ready [data-theme-section][data-theme-text] :where(p,li,small,label,.text-muted) { color: var(--section-text) !important; }
body.core-theme-ready [data-theme-section][data-theme-heading] :where(h1,h2,h3,h4,h5,h6) { color: var(--section-heading) !important; }
body.core-theme-ready [data-theme-section][data-theme-link] :where(a:not(.btn)) { color: var(--section-link) !important; }
body.core-theme-ready [data-theme-section][data-theme-icon] :where(i,.fa,.fa-solid,.fa-regular,.fa-brands) { color: var(--section-icon) !important; }
[data-theme-section][data-theme-wave] { overflow: hidden; overflow-anchor: none; }
[data-theme-section].theme-preview-selected { outline: 3px solid #6d5dfc !important; outline-offset: -3px; }
[data-theme-section].theme-preview-selected::before {
  content: attr(data-theme-label);
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1200;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: #6d5dfc;
  color: #fff;
  font: 700 11px/1 var(--theme-font);
  letter-spacing: .02em;
  pointer-events: none;
}

.theme-reveal {
  opacity: 0;
  will-change: transform, opacity;
  transition: opacity var(--theme-animation-duration) ease var(--theme-reveal-delay, 0ms), transform var(--theme-animation-duration) cubic-bezier(.22,.8,.22,1) var(--theme-reveal-delay, 0ms);
}
[data-product-animation="float"] .theme-reveal { transform: translateY(22px); }
[data-product-animation="slide"] .theme-reveal { transform: translateX(26px); }
[data-product-animation="zoom"] .theme-reveal { transform: scale(.965); }
[data-section-animation="float"] .theme-reveal { transform: translateY(22px); }
[data-section-animation="slide"] .theme-reveal { transform: translateX(26px); }
[data-section-animation="zoom"] .theme-reveal { transform: scale(.965); }
[data-section-animation="none"] .theme-reveal { opacity: 1; transform: none; }
.theme-reveal.is-visible { opacity: 1; transform: none !important; }

.core-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 5000;
  transform: translateY(-150%);
  padding: .7rem 1rem;
  border-radius: 10px;
  background: var(--theme-heading);
  color: #fff !important;
}
.core-skip-link:focus { transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .theme-reveal { opacity: 1 !important; transform: none !important; }
}
