:root {
  --cs-header-bg: #ffffff;
  --cs-header-text: #07132d;
  --cs-header-hover: #6c4cff;
  --cs-header-border: #e4e7ec;
  --cs-header-action-bg: #ffffff;
  --cs-topbar-bg: #ff6b3d;
  --cs-topbar-text: #ffffff;
  --cs-mega-bg: #ffffff;
  --cs-mega-text: #07132d;
  --cs-category-bg: #ffffff;
  --cs-category-text: #07132d;
  --cs-category-hover: #6c4cff;
  --cs-footer-bg: #f4f4f4;
  --cs-footer-text: #7d828a;
  --cs-footer-link: #07132d;
  --cs-footer-border: #e4e7ec;
  --cs-body-bg: #ffffff;
  --cs-body-text: #07132d;
  --cs-heading-color: #07132d;
  --cs-accent: #6c4cff;
  --cs-accent-alt: #ec2f8c;
  --cs-link: #6c4cff;
  --cs-link-hover: #ec2f8c;
  --cs-line: #e4e7ec;
  --cs-surface: #f6f7fb;
  --cs-button-bg: #07132d;
  --cs-button-text: #ffffff;
  --cs-button-hover-bg: #6c4cff;
  --cs-search-bg: #ffffff;
  --cs-search-text: #07132d;
  --cs-search-muted: #9aa0a6;
  --cs-search-border: #eeeeee;
  --cs-search-icon-color: #9aa0a6;
  --cs-price-color: #07132d;
  --cs-sale-color: #ec2f8c;
  --cs-product-title: #07132d;
  --cs-badge-bg: #ec2f8c;
  --cs-badge-text: #ffffff;
  --cs-offcanvas-bg: #ffffff;
  --cs-offcanvas-heading: #07132d;
  --cs-offcanvas-text: #667085;
  --cs-header-height: 86px;
  --cs-header-max-width: 1320px;
  --cs-logo-width: 190px;
  --cs-footer-logo-width: 190px;
  --cs-footer-padding: 72px;
  --cs-topbar-height: 34px;
  --cs-nav-font-size: 14px;
  --cs-nav-gap: 28px;
  --cs-action-icon-size: 22px;
  --cs-action-gap: 18px;
  --cs-action-radius: 999px;
  --cs-mega-width: 720px;
  --cs-mega-columns: 4;
  --cs-category-font-size: 13px;
  --cs-body-font-size: 16px;
  --cs-body-line-height: 1.6;
  --cs-h1-size: 42px;
  --cs-h2-size: 34px;
  --cs-h3-size: 26px;
  --cs-radius: 24px;
  --cs-button-radius: 999px;
  --cs-content-width: 760px;
  --cs-site-width: 1320px;
  --cs-search-panel-height: 300px;
  --cs-search-input-size: 50px;
  --cs-mobile-logo-width: 74px;
  --cs-mobile-header-height: 74px;
  --cs-shop-columns: 4;
  --cs-shop-gap: 28px;
  --cs-shop-mobile-columns: 2;
  --cs-product-card-radius: 24px;
  --cs-product-gallery-width: 52%;
  --cs-product-title-font-size: 14px;
  --cs-main-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --cs-heading-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --cs-nav-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --cs-button-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --cs-nav-weight: 700;
  --cs-heading-weight: 800;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cs-body-bg);
  color: var(--cs-body-text);
  font-family: var(--cs-main-font);
  font-size: var(--cs-body-font-size);
  line-height: var(--cs-body-line-height);
  overflow-x: hidden;
}
a { color: var(--cs-link); text-decoration: none; }
a:hover { color: var(--cs-link-hover); }
img, svg { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-content { flex: 1 0 auto; }
.cs-container { width: min(var(--cs-site-width), calc(100vw - 64px)); margin-inline: auto; padding-block: clamp(48px, 7vw, 96px); }
.cs-page, .cs-single { max-width: var(--cs-content-width); }
h1, h2, h3, h4, h5, h6 { color: var(--cs-heading-color); font-family: var(--cs-heading-font); font-weight: var(--cs-heading-weight); line-height: 1.08; }
h1 { font-size: var(--cs-h1-size); }
h2 { font-size: var(--cs-h2-size); }
h3 { font-size: var(--cs-h3-size); }

/* Header */
.cs-site-header {
  background: var(--cs-header-bg);
  color: var(--cs-header-text);
  border-bottom: 1px solid var(--cs-header-border);
  position: relative;
  z-index: 50;
}
.cs-topbar {
  min-height: var(--cs-topbar-height);
  background: var(--cs-topbar-bg);
  color: var(--cs-topbar-text);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 800;
}
.cs-topbar-inner {
  width: min(var(--cs-header-max-width), calc(100vw - 64px));
  margin-inline: auto;
  text-align: center;
}
.cs-header-main {
  background: inherit;
}
.cs-header-inner {
  width: min(var(--cs-header-max-width), calc(100vw - 64px));
  margin-inline: auto;
  min-height: var(--cs-header-height);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(20px, 3vw, 54px);
}
.cs-brand { min-width: min(var(--cs-logo-width), 42vw); }
.cs-logo { display: inline-flex; align-items: center; }
.cs-logo img { display: block; width: var(--cs-logo-width); max-height: calc(var(--cs-header-height) - 24px); object-fit: contain; }

.cs-primary-nav { justify-self: center; min-width: 0; }
.cs-menu, .cs-menu ul, .cs-mobile-nav, .cs-category-menu, .cs-footer-menu { list-style: none; padding: 0; margin: 0; }
.cs-menu { display: flex; align-items: center; justify-content: center; gap: var(--cs-nav-gap); flex-wrap: wrap; }
.cs-menu > li { position: relative; }
.cs-menu a {
  color: var(--cs-header-text);
  font-family: var(--cs-nav-font);
  font-size: var(--cs-nav-font-size);
  font-weight: var(--cs-nav-weight);
  text-transform: uppercase;
  letter-spacing: .02em;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
}
.cs-menu a:hover, .cs-menu li:hover > a { color: var(--cs-header-hover); }

.cs-header-actions {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: var(--cs-action-gap);
  min-width: max-content;
}
.cs-header-action {
  position: relative;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: var(--cs-action-radius);
  background: var(--cs-header-action-bg);
  color: var(--cs-header-text);
  padding: 0;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}
.cs-header-action svg { width: var(--cs-action-icon-size); height: var(--cs-action-icon-size); display: block; }
.cs-header-action:hover { color: var(--cs-header-hover); }
.cs-cart-count { margin-left: 4px; font-size: 13px; font-weight: 800; }
.cs-cart-count-bubble .cs-cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--cs-accent);
  color: #fff;
  font-size: 10px;
  line-height: 17px;
  text-align: center;
}
.cs-account-label { margin-left: 6px; font-size: 13px; font-weight: 700; }
.cs-account-profile { width: auto; padding-inline: 10px; min-width: 34px; border: 1px solid var(--cs-header-border); }
.cs-menu-toggle { display: none; }

/* Header layouts */
.cs-header-layout-1 .cs-header-inner { min-height: var(--cs-header-height); }
.cs-header-layout-3 {
  --cs-header-bg: #07132d;
  --cs-header-text: #ffffff;
  --cs-header-border: rgba(255,255,255,.14);
  --cs-header-action-bg: rgba(255,255,255,.08);
}
.cs-header-layout-3 .cs-header-inner { grid-template-columns: auto minmax(260px, 1fr) auto; }
.cs-header-layout-3 .cs-primary-nav { justify-self: start; }
.cs-header-layout-4 .cs-header-inner { min-height: 76px; }

/* Mega menu */
.cs-menu .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  width: min(var(--cs-mega-width), 92vw);
  display: grid;
  grid-template-columns: repeat(var(--cs-mega-columns), minmax(0, 1fr));
  gap: 14px 26px;
  background: var(--cs-mega-bg);
  color: var(--cs-mega-text);
  border: 1px solid var(--cs-line);
  border-radius: 10px;
  padding: 18px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 120;
}
.cs-menu li:hover > .sub-menu,
.cs-menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cs-menu .sub-menu a {
  color: var(--cs-mega-text);
  min-height: 24px;
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
.cs-menu .sub-menu > li > a { font-weight: 800; }
.cs-menu .sub-menu .sub-menu {
  position: static;
  display: grid;
  grid-template-columns: 1fr;
  opacity: 1;
  visibility: visible;
  transform: none;
  width: auto;
  border: 0;
  padding: 8px 0 0;
  box-shadow: none;
}

/* Category bar */
.cs-category-bar {
  background: var(--cs-category-bg);
  color: var(--cs-category-text);
  border-top: 1px solid var(--cs-header-border);
  border-bottom: 1px solid var(--cs-header-border);
}
.cs-category-bar-inner {
  width: min(var(--cs-header-max-width), calc(100vw - 64px));
  margin-inline: auto;
}
.cs-category-menu {
  display: flex;
  gap: clamp(16px, 2vw, 30px);
  align-items: center;
  flex-wrap: wrap;
  min-height: 44px;
}
.cs-category-align-center .cs-category-menu { justify-content: center; }
.cs-category-align-right .cs-category-menu { justify-content: flex-end; }
.cs-category-menu a {
  color: var(--cs-category-text);
  font-size: var(--cs-category-font-size);
  font-weight: 600;
}
.cs-category-menu a:hover { color: var(--cs-category-hover); }

/* Mobile */
.cs-mobile-menu {
  border-top: 1px solid var(--cs-header-border);
  padding: 16px 32px 24px;
  background: var(--cs-offcanvas-bg);
  color: var(--cs-offcanvas-text);
}
.cs-mobile-menu[hidden] { display: none !important; }
.cs-mobile-nav { display: grid; gap: 14px; }
.cs-mobile-nav a { color: var(--cs-offcanvas-heading); font-weight: 700; }

/* Search panel */
.cs-search-panel {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0px);
  left: 0;
  right: 0;
  z-index: 900;
  min-height: var(--cs-search-panel-height);
  background: var(--cs-search-bg);
  color: var(--cs-search-text);
  box-shadow: 0 18px 60px rgba(15,23,42,.14);
}
.cs-search-panel[hidden] { display: none !important; }
.cs-search-panel-inner {
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin-inline: auto;
  padding: clamp(42px, 6vw, 76px) 0;
  position: relative;
}
.cs-search-close {
  position: absolute;
  top: 32px;
  right: 0;
  border: 0;
  background: transparent;
  color: var(--cs-search-text);
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.cs-search-close svg { width: 28px; height: 28px; }
.cs-search-kicker { margin: 0 0 24px; color: var(--cs-search-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.cs-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--cs-search-border);
  padding-bottom: 22px;
}
.cs-search-field {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--cs-search-text);
  font-size: clamp(30px, 5vw, var(--cs-search-input-size));
  font-weight: 800;
}
.cs-search-field::placeholder { color: var(--cs-search-muted); opacity: 1; }
.cs-search-submit {
  width: 58px;
  height: 58px;
  border: 0;
  background: transparent;
  color: var(--cs-search-icon-color);
  cursor: pointer;
}
.cs-search-submit svg { width: 46px; height: 46px; }

/* Content */
.cs-entry-card { margin-bottom: clamp(28px, 5vw, 56px); }
.cs-entry-title a { color: var(--cs-heading-color); }
.cs-entry-meta { color: var(--cs-body-text); opacity: .72; font-size: 13px; }
.cs-read-more { font-weight: 800; text-transform: uppercase; font-size: 13px; }
.page-links, .post-navigation, .posts-navigation { margin-top: 32px; }

/* Buttons */
.wp-block-button__link,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: var(--cs-button-radius) !important;
  background: var(--cs-button-bg) !important;
  color: var(--cs-button-text) !important;
  border: 0 !important;
  font-family: var(--cs-button-font);
  font-weight: 800;
}
.wp-block-button__link:hover,
button.button:hover,
a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--cs-button-hover-bg) !important;
  color: var(--cs-button-text) !important;
}

/* WooCommerce */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(var(--cs-shop-columns), minmax(0, 1fr));
  gap: var(--cs-shop-gap);
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  border-radius: var(--cs-product-card-radius);
  overflow: hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--cs-product-title);
  font-size: var(--cs-product-title-font-size);
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--cs-price-color); }
.woocommerce span.onsale {
  background: var(--cs-badge-bg);
  color: var(--cs-badge-text);
  border-radius: 999px;
}

/* Footer */
.cs-site-footer {
  background: var(--cs-footer-bg);
  color: var(--cs-footer-text);
  border-top: 1px solid var(--cs-footer-border);
  padding-top: var(--cs-footer-padding);
  padding-bottom: 0;
  position: relative;
}

.cs-footer-main {
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin-inline: auto;
}

.cs-footer-before-widget,
.cs-footer-cta-widget {
  margin-bottom: var(--cs-footer-main-gap, 32px);
}

.cs-footer-cta-widget {
  padding: clamp(22px, 3vw, 42px);
  border: 1px solid var(--cs-footer-border);
  border-radius: var(--cs-radius);
  background: color-mix(in srgb, var(--cs-footer-bg) 88%, var(--cs-surface));
}

.cs-footer-cta-widget :where(h1,h2,h3,h4,p) {
  margin-top: 0;
}


.cs-footer-inner {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 1.7fr) minmax(220px, .85fr);
  gap: var(--cs-footer-main-gap, 32px);
  align-items: start;
  text-align: left;
}

.cs-footer-no-menus.cs-footer-has-commerce .cs-footer-inner {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, .65fr);
}

.cs-footer-has-menus.cs-footer-no-commerce .cs-footer-inner {
  grid-template-columns: minmax(220px, .65fr) minmax(0, 1.7fr);
}

.cs-footer-no-menus.cs-footer-no-commerce .cs-footer-inner {
  grid-template-columns: 1fr;
}

.cs-footer-logo {
  display: inline-flex;
  align-items: center;
}

.cs-footer-logo img {
  width: var(--cs-footer-logo-width);
  max-height: 58px;
  object-fit: contain;
  display: block;
}

.cs-footer-description,
.cs-footer-company-widget,
.cs-footer-newsletter-widget,
.cs-footer-trust-widget,
.cs-footer-trust-html,
.cs-footer-empty-note {
  margin-top: 16px;
  color: var(--cs-footer-text);
  font-size: 14px;
  line-height: 1.65;
}

.cs-footer-description :where(p, div, span, strong),
.cs-footer-company-widget :where(p, div, span, strong),
.cs-footer-trust-html :where(p, div, span, strong),
.cs-footer-newsletter-widget :where(p, div, span, strong) {
  color: inherit;
}

.cs-footer-menus {
  display: grid;
  grid-template-columns: repeat(var(--cs-footer-columns, 4), minmax(0, 1fr));
  gap: clamp(18px, 3vw, 42px);
}

.cs-footer-heading,
.footer-widget-title {
  margin: 0 0 14px;
  color: var(--cs-footer-heading) !important;
  font-size: var(--cs-footer-heading-size, 13px);
  font-weight: var(--cs-footer-heading-weight, 800);
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cs-footer-menu {
  list-style-type: var(--cs-footer-menu-bullet-style, none);
  padding-left: 0;
  margin: 0;
}

.cs-footer-menu,
.cs-footer-menu ul {
  color: var(--cs-footer-text);
}

.cs-footer-menu li {
  margin: 0 0 9px;
  color: var(--cs-footer-text);
}

.cs-footer-menu li::marker {
  color: var(--cs-footer-menu-bullet-color, var(--cs-accent));
}

.cs-footer-menu a,
.cs-footer a {
  color: var(--cs-footer-link);
}

.cs-footer-menu a:hover,
.cs-footer a:hover {
  color: var(--cs-footer-link-hover);
}

.cs-footer-commerce {
  display: grid;
  gap: 28px;
  justify-items: start;
}

.cs-footer-trust-image {
  width: var(--cs-footer-trust-width);
  max-width: 100%;
  height: auto;
  display: block;
}

.cs-footer-trust-widget img,
.cs-footer-trust-html img,
.cs-footer-newsletter-widget img,
.cs-footer-company-widget img {
  max-width: 100%;
  height: auto;
}

.cs-trust-html-example {
  display: grid;
  gap: 4px;
  color: var(--cs-footer-text);
}

.cs-footer-social {
  margin-top: 18px;
}

.cs-footer-social-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.cs-footer-social-menu a {
  color: var(--cs-footer-link);
}

.cs-footer-social-menu a:hover {
  color: var(--cs-footer-link-hover);
}

.cs-footer-widget-grid {
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin: var(--cs-footer-main-gap, 32px) auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  text-align: left;
}

.cs-footer-bottom {
  margin-top: var(--cs-footer-bottom-spacing, 24px);
  background: var(--cs-footer-bottom-bg);
  color: var(--cs-footer-bottom-text);
  border-top: 1px solid var(--cs-footer-border);
}

.cs-footer-bottom-inner {
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin-inline: auto;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 13px;
}

.cs-footer-copy,
.cs-footer-copy :where(p, div, span),
.cs-footer-bottom-widget,
.cs-footer-bottom-widget :where(p, div, span) {
  margin: 0;
  color: inherit;
}

.cs-footer-bottom-widget {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.cs-footer-menu-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.cs-back-to-top {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--cs-footer-back-bg);
  color: var(--cs-footer-back-color);
  border: 1px solid var(--cs-footer-border);
  box-shadow: 0 16px 40px rgba(7, 19, 45, .12);
}

/* CreatuShop shine button style: lightweight now, Extender-ready later. */
.is-style-creatushop-shine .wp-block-button__link,
.cs-button-shine,
.cs-footer-cta-widget .wp-block-button__link {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.is-style-creatushop-shine .wp-block-button__link::after,
.cs-button-shine::after,
.cs-footer-cta-widget .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -70%;
  width: 48%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  opacity: .7;
  transition: transform .75s ease;
  z-index: -1;
}

.is-style-creatushop-shine .wp-block-button__link:hover::after,
.cs-button-shine:hover::after,
.cs-footer-cta-widget .wp-block-button__link:hover::after {
  transform: translateX(360%) skewX(-22deg);
}

@media (prefers-reduced-motion: reduce) {
  .is-style-creatushop-shine .wp-block-button__link::after,
  .cs-button-shine::after,
  .cs-footer-cta-widget .wp-block-button__link::after {
    display: none;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .cs-header-inner {
    width: min(var(--cs-site-width), calc(100vw - 32px));
    min-height: var(--cs-mobile-header-height);
    grid-template-columns: auto 1fr auto;
    gap: 16px;
  }
  .cs-logo img { width: var(--cs-mobile-logo-width); max-height: calc(var(--cs-mobile-header-height) - 20px); }
  .cs-primary-nav { display: none; }
  .cs-menu-toggle { display: inline-grid; }
  .cs-header-actions { gap: 10px; }
  .cs-category-bar-inner,
  .cs-search-panel-inner,
  .cs-footer-inner,
  .cs-container {
    width: calc(100vw - 32px);
  }
  .cs-menu .sub-menu { display: none; }
  .cs-search-form { grid-template-columns: 1fr; }
  .cs-search-submit { justify-self: end; }
  .woocommerce ul.products { grid-template-columns: repeat(var(--cs-shop-mobile-columns), minmax(0, 1fr)); }
  .cs-footer-widgets { grid-template-columns: 1fr; }
}


/* Mega menu is configured per menu item in Appearance > Menus. */
.cs-menu li {
  position: relative;
}

.cs-menu-item-mega {
  position: static;
}

.cs-menu-item-mega > .sub-menu {
  width: min(var(--cs-mega-width, 720px), calc(100vw - 48px));
  display: grid;
  gap: 22px 28px;
  padding: 28px;
  background-color: var(--cs-mega-bg);
  background-image: var(--cs-mega-bg-img);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  color: var(--cs-mega-text);
}

.cs-mega-cols-2 > .sub-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cs-mega-cols-3 > .sub-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cs-mega-cols-4 > .sub-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cs-mega-cols-5 > .sub-menu { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cs-mega-cols-6 > .sub-menu { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.cs-menu-item-mega > .sub-menu > li > a {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
}

.cs-menu-label {
  display: block;
  margin-top: 2px;
  color: var(--cs-accent);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.cs-menu-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--cs-badge-bg);
  color: var(--cs-badge-text);
  font-size: 10px;
  font-weight: 800;
  vertical-align: middle;
}

.cs-site-header .cs-header-actions .cs-header-action {
  display: inline-grid;
  place-items: center;
}

/* Header layout variants are controlled by Customizer. */
.cs-header-layout-1 .cs-header-inner,
.cs-header-layout-2 .cs-header-inner,
.cs-header-layout-3 .cs-header-inner,
.cs-header-layout-4 .cs-header-inner {
  min-height: var(--cs-header-height);
}

@media (max-width: 900px) {
  .cs-menu-item-mega > .sub-menu {
    width: auto;
    display: block;
    padding: 0;
    background-image: none;
  }
}


/* Theme-owned cart drawer. */
.cs-cart-scrim {
  position: fixed;
  inset: 0;
  z-index: 910;
  background: rgba(7, 19, 45, .32);
}

.cs-cart-scrim[hidden],
.cs-cart-panel[hidden] {
  display: none !important;
}

.cs-cart-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 920;
  width: min(410px, 92vw);
  background: var(--cs-offcanvas-bg);
  color: var(--cs-offcanvas-text);
  box-shadow: -24px 0 80px rgba(7, 19, 45, .22);
  display: flex;
  flex-direction: column;
  padding: 0;
}

.admin-bar .cs-cart-panel {
  top: var(--wp-admin--admin-bar--height, 32px);
}

.cs-cart-panel-header {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 22px;
  border-bottom: 1px solid var(--cs-line);
}

.cs-cart-panel-header h2 {
  margin: 0;
  color: var(--cs-offcanvas-heading);
  font-size: 20px;
}

.cs-cart-close {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: var(--cs-surface);
  color: var(--cs-offcanvas-heading);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}

.cs-cart-close svg {
  width: 20px;
  height: 20px;
}

.cs-cart-panel-body {
  padding: 22px;
  overflow-y: auto;
}

.cs-mini-cart-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}

.cs-mini-cart-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.cs-mini-cart-thumb img {
  width: 72px;
  height: 72px;
  border-radius: 14px;
  object-fit: cover;
  display: block;
}

.cs-mini-cart-content {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.cs-mini-cart-title {
  color: var(--cs-offcanvas-heading);
  font-weight: 800;
  line-height: 1.25;
}

.cs-mini-cart-qty {
  color: var(--cs-offcanvas-text);
  font-size: 14px;
}

.cs-cart-panel-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--cs-line);
  margin-top: 22px;
  padding-top: 18px;
}

.cs-cart-panel-actions {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.cs-cart-panel-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  text-align: center;
}

.cs-cart-empty {
  margin: 0 0 18px;
  color: var(--cs-offcanvas-text);
}


/* Header stability fix. */
.cs-site-header .cs-logo img {
  opacity: 1 !important;
  visibility: visible !important;
}

.cs-header-action {
  flex: 0 0 auto;
}

.cs-cart-toggle {
  font: inherit;
}

.cs-cart-count[data-count="0"] {
  display: none;
}


/* Stable header and cart drawer animation. */
.cs-site-header::before,
.cs-site-header::after,
body::before {
  content: none !important;
}

.cs-site-header {
  overflow: visible;
}

.cs-header-inner {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.cs-logo img,
.cs-footer-logo img {
  display: block;
  opacity: 1 !important;
  visibility: visible !important;
}

.cs-cart-scrim {
  opacity: 0;
  transition: opacity .24s ease;
}

.cs-cart-scrim.is-open {
  opacity: 1;
}

.cs-cart-panel {
  transform: translateX(104%);
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease;
  will-change: transform;
  background: var(--cs-offcanvas-bg);
  color: var(--cs-offcanvas-text);
}

.cs-cart-panel.is-open {
  transform: translateX(0);
}

.cs-cart-panel-header {
  background: var(--cs-offcanvas-bg);
}

.cs-cart-panel-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 0;
}

.cs-cart-empty {
  margin: 0;
  color: var(--cs-offcanvas-text);
  font-size: 15px;
  line-height: 1.6;
}

.cs-cart-panel-button,
.woocommerce .cs-cart-panel-button,
a.cs-cart-panel-button {
  width: 100%;
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 18px !important;
  border-radius: 14px !important;
  background: var(--cs-button-bg) !important;
  color: var(--cs-button-text) !important;
  border: 1px solid var(--cs-button-bg) !important;
  font-weight: 800;
  text-align: center;
  white-space: nowrap;
  line-height: 1.2;
}

.cs-cart-panel-button:hover,
.woocommerce .cs-cart-panel-button:hover,
a.cs-cart-panel-button:hover {
  background: var(--cs-button-hover-bg) !important;
  color: var(--cs-button-text) !important;
  transform: translateY(-1px);
}

.cs-cart-panel-actions .cs-cart-panel-button + .cs-cart-panel-button {
  margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  .cs-cart-panel,
  .cs-cart-scrim,
  .cs-search-panel {
    transition: none !important;
  }
}


/* Header, search, topbar and Customizer refinements. */
.cs-header-action,
.cs-site-header .cs-header-actions .cs-header-action,
.cs-header-layout-3 .cs-header-action {
  width: auto;
  min-width: 28px;
  height: 34px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cs-header-action-color, var(--cs-header-text)) !important;
  padding: 0;
}

.cs-header-action:hover,
.cs-site-header .cs-header-actions .cs-header-action:hover {
  color: var(--cs-header-hover) !important;
  background: transparent !important;
}

.cs-header-action svg {
  width: var(--cs-action-icon-size);
  height: var(--cs-action-icon-size);
}

.cs-account-profile,
.cs-account-icon,
.cs-cart-toggle,
.cs-search-toggle,
.cs-menu-toggle {
  border-radius: 0 !important;
  background: transparent !important;
}

.cs-cart-count:not([data-count="0"]) {
  display: inline-block;
}

.cs-topbar {
  overflow: hidden;
}

.cs-topbar-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: var(--cs-topbar-height);
}

.cs-topbar a,
.cs-topbar span {
  color: inherit;
}

.cs-topbar-marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.cs-topbar-track {
  display: inline-flex;
  align-items: center;
  gap: 56px;
  min-width: max-content;
  animation: cs-topbar-marquee var(--cs-topbar-speed, 22s) linear infinite;
}

.cs-topbar:hover .cs-topbar-track {
  animation-play-state: paused;
}

.cs-topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
}

.cs-topbar-close {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
}

.cs-topbar-close svg {
  width: 16px;
  height: 16px;
}

@keyframes cs-topbar-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.cs-search-panel {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-105%);
  transition: transform .30s cubic-bezier(.22,.61,.36,1), opacity .24s ease, visibility .24s ease;
  will-change: transform, opacity;
}

.cs-search-panel[hidden] {
  display: none !important;
}

.cs-search-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.cs-search-close {
  transition: transform .2s ease, color .2s ease;
}

.cs-search-close:hover {
  color: var(--cs-header-hover);
  transform: scale(1.05);
}

.cs-cart-panel-button,
.woocommerce .cs-cart-panel-button,
a.cs-cart-panel-button {
  border-radius: var(--cs-button-radius) !important;
  max-width: 100%;
}

/* Make Customizer values visibly control the theme. */
body,
.site {
  background: var(--cs-body-bg) !important;
  color: var(--cs-body-text) !important;
  font-family: var(--cs-main-font) !important;
}

.cs-site-header {
  background: var(--cs-header-bg) !important;
  color: var(--cs-header-text) !important;
  border-bottom-color: var(--cs-header-border) !important;
}

.cs-site-header a,
.cs-menu a {
  color: var(--cs-header-text) !important;
}

.cs-site-header a:hover,
.cs-menu a:hover,
.cs-menu li:hover > a {
  color: var(--cs-header-hover) !important;
}

h1, h2, h3, h4, h5, h6,
.cs-entry-title a,
.woocommerce-loop-product__title {
  color: var(--cs-heading-color) !important;
  font-family: var(--cs-heading-font) !important;
}

.cs-menu a {
  font-family: var(--cs-nav-font) !important;
  font-size: var(--cs-nav-font-size) !important;
  font-weight: var(--cs-nav-weight) !important;
}

.wp-block-button__link,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.cs-cart-panel-button {
  font-family: var(--cs-button-font) !important;
  background: var(--cs-button-bg) !important;
  color: var(--cs-button-text) !important;
}

.cs-site-footer {
  background: var(--cs-footer-bg) !important;
  color: var(--cs-footer-text) !important;
  border-top-color: var(--cs-footer-border) !important;
}

.cs-site-footer a {
  color: var(--cs-footer-link) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cs-search-panel,
  .cs-topbar-track {
    transition: none !important;
    animation: none !important;
  }
}


/* Footer layouts: logo, menu columns, trust/payment image and bottom bar. */
.cs-site-footer {
  background: var(--cs-footer-bg);
  color: var(--cs-footer-text);
  border-top: 1px solid var(--cs-footer-border);
  padding: 0;
}

.cs-footer-main {
  padding-block: var(--cs-footer-padding);
}

.cs-footer-inner,
.cs-footer-widget-grid,
.cs-footer-bottom-inner {
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin-inline: auto;
}

.cs-footer-inner {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(280px, 2fr) minmax(220px, .9fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}

.cs-footer-layout-minimal .cs-footer-inner {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, .7fr);
}

.cs-footer-layout-support .cs-footer-inner,
.cs-footer-layout-corporate .cs-footer-inner {
  grid-template-columns: minmax(220px, 1fr) minmax(340px, 1.4fr) minmax(220px, .8fr);
}

.cs-footer-brand {
  min-width: 0;
}

.cs-footer-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

.cs-footer-logo img {
  display: block;
  width: var(--cs-footer-logo-width);
  max-height: 64px;
  object-fit: contain;
}

.cs-footer-description {
  max-width: 320px;
  margin: 0;
  color: var(--cs-footer-text);
  line-height: 1.7;
}

.cs-footer-heading,
.footer-widget-title {
  margin: 0 0 14px;
  color: var(--cs-footer-heading);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cs-footer-menus {
  display: grid;
  grid-template-columns: repeat(var(--cs-footer-columns, 4), minmax(0, 1fr));
  gap: clamp(18px, 3vw, 40px);
  align-items: start;
}

.cs-footer-menu,
.cs-footer-social-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cs-footer-menu {
  display: grid;
  gap: 8px;
}

.cs-footer-menu a,
.cs-footer a {
  color: var(--cs-footer-link);
}

.cs-footer-menu a:hover,
.cs-footer a:hover {
  color: var(--cs-footer-link-hover);
}

.cs-footer-commerce {
  display: grid;
  gap: 22px;
  align-content: start;
  justify-items: start;
}

.cs-footer-trust-image {
  display: block;
  width: min(var(--cs-footer-trust-width, 250px), 100%);
  max-height: 80px;
  object-fit: contain;
}

.cs-trust-badge {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cs-trust-badge span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--cs-footer-border);
  border-radius: 8px;
  background: #fff;
  color: var(--cs-footer-link);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
}

.cs-footer-social-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.cs-footer-social-menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  min-height: 26px;
  color: var(--cs-footer-link);
  font-weight: 800;
}

.cs-footer-newsletter-form {
  display: flex;
  gap: 8px;
  width: min(330px, 100%);
}

.cs-footer-newsletter-form input {
  min-width: 0;
  flex: 1;
  min-height: 42px;
  border: 1px solid var(--cs-footer-border);
  border-radius: var(--cs-button-radius);
  padding-inline: 14px;
  background: #fff;
  color: var(--cs-body-text);
}

.cs-footer-newsletter-form button {
  min-height: 42px;
  border: 0;
  border-radius: var(--cs-button-radius);
  padding-inline: 16px;
  background: linear-gradient(135deg, var(--cs-accent), var(--cs-accent-alt));
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.cs-footer-widget-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 36px);
  margin-top: 42px;
  padding-top: 34px;
  border-top: 1px solid var(--cs-footer-border);
}

.cs-footer-bottom {
  background: var(--cs-footer-bottom-bg);
  color: var(--cs-footer-bottom-text);
  border-top: 1px solid var(--cs-footer-border);
}

.cs-footer-bottom-inner {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.cs-footer-copy {
  margin: 0;
  color: inherit;
  font-size: 13px;
}

.cs-footer-menu-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.cs-footer-menu-inline a {
  color: var(--cs-footer-bottom-text);
  font-size: 13px;
}

.cs-back-to-top {
  background: var(--cs-footer-link);
  color: var(--cs-footer-bg);
  border-color: var(--cs-footer-border);
}

@media (max-width: 1100px) {
  .cs-footer-inner,
  .cs-footer-layout-support .cs-footer-inner,
  .cs-footer-layout-corporate .cs-footer-inner {
    grid-template-columns: 1fr 1.4fr;
  }

  .cs-footer-commerce {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .cs-footer-inner,
  .cs-footer-layout-minimal .cs-footer-inner,
  .cs-footer-layout-support .cs-footer-inner,
  .cs-footer-layout-corporate .cs-footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cs-footer-menus,
  .cs-footer-widget-grid {
    grid-template-columns: 1fr;
  }

  .cs-footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    padding-block: 16px;
  }

  .cs-footer-newsletter-form {
    flex-direction: column;
  }
}

/* Mobile header and app menu. */
.cs-mobile-appbar {
  display: none;
}

@media (max-width: 900px) {
  .cs-header-inner {
    width: min(var(--cs-site-width), calc(100vw - 32px));
    min-height: var(--cs-mobile-header-height) !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
  }

  .cs-brand {
    min-width: 0;
    justify-self: start;
  }

  .cs-logo img {
    width: var(--cs-mobile-logo-width) !important;
    max-width: var(--cs-mobile-logo-width) !important;
    max-height: calc(var(--cs-mobile-header-height) - 24px) !important;
    object-fit: contain;
  }

  .cs-header-actions {
    justify-self: end;
    gap: 16px;
  }

  .cs-header-actions > .cs-search-toggle,
  .cs-header-actions > .cs-account-link {
    display: none !important;
  }

  .cs-header-actions > .cs-cart-toggle,
  .cs-header-actions > .cs-menu-toggle {
    display: inline-grid !important;
  }

  .cs-header-action,
  .cs-site-header .cs-header-actions .cs-header-action {
    width: auto;
    min-width: 30px;
    height: 38px;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--cs-header-action-color, var(--cs-header-text)) !important;
  }

  .cs-header-action svg {
    width: var(--cs-action-icon-size);
    height: var(--cs-action-icon-size);
  }

  .cs-mobile-header-logo-center .cs-header-inner,
  .cs-mobile-header-logo-center .cs-header-actions {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .cs-mobile-header-logo-center .cs-brand {
    grid-column: 2;
    justify-self: center;
  }

  .cs-mobile-header-logo-center .cs-header-actions {
    grid-column: 1 / 4;
    grid-row: 1;
    width: 100%;
  }

  .cs-mobile-header-logo-center .cs-menu-toggle {
    grid-column: 1;
    justify-self: start;
  }

  .cs-mobile-header-logo-center .cs-cart-toggle {
    grid-column: 3;
    justify-self: end;
  }

  .cs-mobile-appbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 780;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: center;
    min-height: 68px;
    padding: 8px max(10px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));
    background: var(--cs-mobile-appbar-bg, #ffffff);
    color: var(--cs-mobile-appbar-text, #07132d);
    border-top: 1px solid var(--cs-mobile-appbar-border, var(--cs-line));
    box-shadow: 0 -10px 38px rgba(15, 23, 42, .08);
  }

  .cs-mobile-appbar-item {
    min-width: 0;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 4px;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0 4px;
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
  }

  .cs-mobile-appbar-item svg {
    width: var(--cs-mobile-appbar-icon-size, 24px);
    height: var(--cs-mobile-appbar-icon-size, 24px);
  }

  .cs-mobile-appbar-item span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
  }

  .cs-mobile-appbar-item:hover,
  .cs-mobile-appbar-item:focus-visible {
    color: var(--cs-accent, #6c4cff);
  }

  .cs-cart-panel {
    bottom: 68px;
    width: min(410px, 94vw);
  }

  .cs-cart-scrim {
    bottom: 68px;
  }
}

/* Header, off-canvas menu and footer refinements. */
.cs-header-layout-5 .cs-header-inner {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.cs-header-layout-5 .cs-menu-toggle-primary {
  display: inline-grid !important;
  justify-self: start;
}

.cs-header-layout-5 .cs-brand {
  justify-self: center;
}

.cs-header-layout-5 .cs-primary-nav {
  display: none !important;
}

.cs-header-layout-5 .cs-header-actions {
  justify-self: end;
}


.cs-menu-scrim,
.cs-cart-scrim {
  position: fixed;
  inset: 0;
  z-index: 910;
  background: rgba(7, 19, 45, .32);
  opacity: 0;
  transition: opacity .24s ease;
}

.cs-menu-scrim.is-open,
.cs-cart-scrim.is-open {
  opacity: 1;
}

.cs-menu-scrim[hidden],
.cs-mobile-menu[hidden] {
  display: none !important;
}

.cs-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 930;
  width: min(390px, 92vw);
  background: var(--cs-offcanvas-bg);
  color: var(--cs-offcanvas-text);
  border-top: 0;
  padding: 0;
  box-shadow: 24px 0 80px rgba(7, 19, 45, .18);
  transform: translateX(-104%);
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease;
  will-change: transform;
  overflow-y: auto;
}

.admin-bar .cs-mobile-menu {
  top: var(--wp-admin--admin-bar--height, 32px);
}

.cs-mobile-menu.is-open {
  transform: translateX(0);
}

.cs-mobile-menu-header {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 22px;
  border-bottom: 1px solid var(--cs-line);
  color: var(--cs-offcanvas-heading);
  font-weight: 850;
}

.cs-menu-close {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: var(--cs-surface);
  color: var(--cs-offcanvas-heading);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}

.cs-menu-close svg {
  width: 20px;
  height: 20px;
}

.cs-mobile-menu-body {
  padding: 20px 22px 28px;
}

.cs-mobile-nav {
  display: grid;
  gap: 0;
}

.cs-mobile-nav li {
  border-bottom: 1px solid color-mix(in srgb, var(--cs-line) 82%, transparent);
}

.cs-mobile-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  color: var(--cs-offcanvas-heading);
  font-weight: 760;
}

.cs-mobile-nav .sub-menu {
  position: static !important;
  width: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 0 10px 16px !important;
  background: transparent !important;
}

.cs-mobile-nav .sub-menu a {
  min-height: 36px;
  font-size: 14px;
  font-weight: 600;
  color: var(--cs-offcanvas-text);
}

.cs-back-to-top {
  background: var(--cs-footer-back-bg, var(--cs-accent)) !important;
  color: var(--cs-footer-back-color, #ffffff) !important;
  border-color: transparent !important;
  box-shadow: 0 16px 42px rgba(7, 19, 45, .18);
}

.cs-footer-social-custom .cs-social-link {
  min-width: auto;
  min-height: auto;
  padding: 0;
  font-size: 13px;
}

.cs-footer-newsletter-widget .footer-widget,
.cs-footer-newsletter-widget .widget {
  margin: 0;
}

.cs-footer-newsletter-note {
  margin: 0;
  color: var(--cs-footer-text);
  font-size: 13px;
  line-height: 1.55;
}

@media (min-width: 901px) {
  .cs-menu-toggle-primary {
    display: none;
  }

  .cs-header-layout-5 .cs-menu-toggle-primary {
    display: inline-grid !important;
  }
}

@media (max-width: 900px) {
  .cs-header-inner {
    width: min(var(--cs-site-width), calc(100vw - 42px));
    min-height: var(--cs-mobile-header-height) !important;
  }

  .cs-logo img {
    width: var(--cs-mobile-logo-width) !important;
    max-width: var(--cs-mobile-logo-width) !important;
  }

  .cs-mobile-header-logo-left .cs-brand,
  .cs-mobile-header-logo-left .cs-logo {
    margin-left: 6px;
  }

  .cs-mobile-header-logo-center .cs-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .cs-mobile-header-logo-center .cs-menu-toggle-primary,
  .cs-mobile-header-logo-center .cs-menu-toggle {
    grid-column: 1;
    justify-self: start;
  }

  .cs-mobile-header-logo-center .cs-brand {
    grid-column: 2;
    justify-self: center;
  }

  .cs-mobile-header-logo-center .cs-header-actions {
    grid-column: 3;
    justify-self: end;
    width: auto;
    display: inline-flex !important;
  }

  .cs-mobile-header-logo-center .cs-header-actions > .cs-menu-toggle {
    display: none !important;
  }

  .cs-header-actions > .cs-search-toggle,
  .cs-header-actions > .cs-account-link {
    display: none !important;
  }


  .cs-cart-panel,
  .cs-mobile-menu {
    width: min(390px, 94vw);
  }

  .cs-cart-panel,
  .cs-cart-scrim,
  .cs-mobile-menu,
  .cs-menu-scrim {
    bottom: 68px;
  }

  .cs-mobile-appbar {
    border-radius: 0;
  }
}


/* Desktop hamburger belongs only to Drawer Left + Center Logo layout. */
@media (min-width: 901px) {
  .cs-site-header:not(.cs-header-layout-5) .cs-menu-toggle {
    display: none !important;
  }

  .cs-header-layout-5 .cs-menu-toggle-primary {
    display: inline-grid !important;
  }

  .cs-header-layout-5 .cs-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .cs-header-layout-5 .cs-brand {
    justify-self: center;
  }
}

/* Clean Minimal layout replaces the old category-header preset. Category bar is now optional only. */
.cs-header-layout-4 .cs-header-inner {
  min-height: var(--cs-header-height);
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.cs-header-layout-4 .cs-primary-nav {
  justify-self: end;
}

.cs-header-layout-4 .cs-header-actions {
  justify-self: end;
}


/* Footer bullet fallback. Padding is added dynamically only when bullets are enabled. */
.cs-footer-menu { padding-left: 0; }

@media (max-width: 900px) {
  .cs-footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .cs-footer-menus {
    grid-template-columns: 1fr;
  }
  .cs-footer-widget-grid {
    grid-template-columns: 1fr;
    width: calc(100vw - 32px);
  }
  .cs-footer-main,
  .cs-footer-bottom-inner {
    width: calc(100vw - 32px);
  }
  .cs-footer-bottom-inner {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 18px;
  }
}

/* Product-page option support. */
.cs-product-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: min(var(--cs-site-width), calc(100vw - 64px));
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid var(--cs-line);
}

.cs-product-nav-link {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--cs-line);
  border-radius: min(var(--cs-radius), 20px);
  background: var(--cs-surface);
  color: var(--cs-body-text);
}

.cs-product-nav-next {
  text-align: right;
}

.cs-product-nav-link span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--cs-accent);
  font-family: var(--cs-nav-font);
  font-weight: var(--cs-nav-weight);
}

.cs-product-nav-link strong {
  font-family: var(--cs-heading-font);
  font-weight: var(--cs-heading-weight);
  color: var(--cs-heading-color);
}

@media (max-width: 720px) {
  .cs-product-nav {
    grid-template-columns: 1fr;
  }

  .cs-product-nav-next {
    text-align: left;
  }
}

.woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-name,
.cs-product-title {
  font-size: var(--cs-product-title-font-size) !important;
}

.cs-footer-newsletter-form {
  display: flex;
  gap: 8px;
  align-items: center;
  max-width: 360px;
}

.cs-footer-newsletter-form input {
  min-width: 0;
  flex: 1 1 auto;
  border: 1px solid var(--cs-line);
  border-radius: var(--cs-button-radius);
  padding: 12px 16px;
  background: var(--cs-body-bg);
  color: var(--cs-body-text);
}

.cs-footer-newsletter-form button {
  border: 0;
  border-radius: var(--cs-button-radius);
  padding: 12px 18px;
  background: var(--cs-button-bg);
  color: var(--cs-button-text);
  cursor: not-allowed;
  opacity: .72;
}

@media (max-width: 560px) {
  .cs-footer-newsletter-form {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Final Customizer typography layer. Keep this block last so font controls apply everywhere. */
:root {
  --cs-body-font-weight: 400;
  --cs-button-weight: 800;
}

body,
.site,
.wp-site-blocks,
.wp-block-post-content,
.entry-content,
.cs-entry-content,
.editor-styles-wrapper,
.editor-styles-wrapper .wp-block,
.woocommerce,
.woocommerce-page,
.woocommerce-page .site,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-components-main,
.widget,
.footer-widget,
.cs-site-footer,
.cs-footer-text,
.cs-cart-panel,
.cs-mobile-menu,
.cs-search-panel,
.cs-product-nav,
.site table,
.site caption,
.site thead,
.site tbody,
.site tfoot,
.site tr,
.site th,
.site td,
.site p,
.site li,
.site dd,
.site dt,
.site figcaption,
.site blockquote,
.site label,
.site legend,
.site small,
.site input,
.site select,
.site textarea,
.site option,
.site optgroup,
.site button,
.woocommerce input,
.woocommerce select,
.woocommerce textarea,
.woocommerce button,
.wc-block-components-form input,
.wc-block-components-form select,
.wc-block-components-form textarea,
.wc-block-components-button {
  font-family: var(--cs-main-font) !important;
}

body,
.site,
.wp-site-blocks,
.wp-block-post-content,
.entry-content,
.cs-entry-content,
.editor-styles-wrapper,
.editor-styles-wrapper .wp-block,
.woocommerce,
.woocommerce-page,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-components-main,
.cs-cart-panel,
.cs-search-panel,
.cs-site-footer {
  font-size: var(--cs-body-font-size) !important;
  line-height: var(--cs-body-line-height) !important;
  font-weight: var(--cs-body-font-weight) !important;
}

.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.wp-block-post-content p,
.wp-block-post-content li,
.wp-block-post-content td,
.wp-block-post-content th,
.editor-styles-wrapper p,
.editor-styles-wrapper li,
.woocommerce p,
.woocommerce li,
.woocommerce table,
.woocommerce label,
.wc-block-components-form,
.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-address-form,
.wc-block-components-checkout-step,
.wc-block-components-totals-item,
.wc-block-components-product-metadata,
.wc-block-components-product-price,
.wc-block-components-quantity-selector,
.wc-block-components-validation-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: var(--cs-main-font) !important;
  font-size: inherit;
  line-height: var(--cs-body-line-height) !important;
}

h1, h2, h3, h4, h5, h6,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.wp-block-heading,
.wp-block-post-title,
.wp-block-query-title,
.wp-block-site-title,
.wp-block-site-title a,
.cs-entry-title,
.cs-entry-title a,
.page-title,
.entry-title,
.widget-title,
.footer-widget-title,
.cs-footer-heading,
.cs-search-title,
.cs-cart-panel-title,
.cs-mobile-menu-title,
.product_title,
.woocommerce div.product .product_title,
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wc-block-components-title,
.wc-block-components-product-title,
.wc-block-components-product-title a,
.wc-block-components-product-name,
.wc-block-components-product-name a,
.cs-product-title,
.cs-product-nav-link strong {
  font-family: var(--cs-heading-font) !important;
  font-weight: var(--cs-heading-weight) !important;
  color: var(--cs-heading-color) !important;
}

h1,
.editor-styles-wrapper h1,
.wp-block-post-title,
.entry-title,
.page-title,
.product_title,
.woocommerce div.product .product_title {
  font-size: var(--cs-h1-size) !important;
  line-height: 1.08 !important;
}

h2,
.editor-styles-wrapper h2,
.wp-block-heading.has-large-font-size,
.woocommerce div.product .woocommerce-tabs h2,
.related.products > h2,
.up-sells > h2,
.cross-sells > h2 {
  font-size: var(--cs-h2-size) !important;
  line-height: 1.12 !important;
}

h3,
.editor-styles-wrapper h3,
.widget-title,
.footer-widget-title,
.cs-footer-heading,
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-title,
.wc-block-components-product-name,
.cs-product-title {
  font-size: var(--cs-h3-size) !important;
  line-height: 1.16 !important;
}

.cs-primary-nav,
.cs-menu,
.cs-menu a,
.cs-menu .sub-menu,
.cs-menu .sub-menu a,
.cs-mobile-nav,
.cs-mobile-nav a,
.cs-mobile-appbar,
.cs-mobile-appbar-item,
.cs-mobile-appbar-item span,
.cs-category-menu,
.cs-category-menu a,
.cs-topbar,
.cs-topbar a,
.cs-account-label,
.cs-cart-count,
.cs-footer-menu,
.cs-footer-menu a,
.cs-product-nav-link span,
.breadcrumb,
.woocommerce-breadcrumb,
.rank-math-breadcrumb,
.yoast-breadcrumb {
  font-family: var(--cs-nav-font) !important;
}

.cs-menu a,
.cs-menu .sub-menu a,
.cs-mobile-nav a,
.cs-mobile-appbar-item,
.cs-category-menu a,
.cs-topbar,
.cs-footer-menu a,
.woocommerce-breadcrumb,
.rank-math-breadcrumb,
.yoast-breadcrumb {
  font-size: var(--cs-nav-font-size) !important;
  font-weight: var(--cs-nav-weight) !important;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-block-button__link,
.wp-element-button,
a.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.add_to_cart_button,
.product_type_simple,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.cs-cart-panel-button,
.cs-search-submit,
.cs-menu-close,
.cs-search-close,
.cs-header-action,
.cs-mobile-appbar-item,
.cs-back-to-top {
  font-family: var(--cs-button-font) !important;
  font-weight: var(--cs-button-weight) !important;
}

input,
select,
textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.select2-container,
.select2-container .select2-selection,
.select2-results__option,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  font-family: var(--cs-main-font) !important;
  font-size: var(--cs-body-font-size) !important;
  line-height: var(--cs-body-line-height) !important;
}

.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wc-block-components-product-name,
.wc-block-components-product-name a,
.cs-product-title {
  font-size: var(--cs-product-title-font-size) !important;
}

/* WordPress admin bar / Dashicons protection. Theme typography must never override admin UI icons. */
#wpadminbar,
#wpadminbar *,
#wpadminbar input,
#wpadminbar select,
#wpadminbar textarea,
#wpadminbar button {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 400 !important;
}

#wpadminbar .ab-icon,
#wpadminbar .ab-icon::before,
#wpadminbar .ab-item::before,
#wpadminbar .ab-item::after,
#wpadminbar .dashicons,
#wpadminbar .dashicons::before,
#wpadminbar .dashicons-before::before,
.dashicons,
.dashicons::before,
.dashicons-before::before {
  font-family: dashicons !important;
  font-weight: 400 !important;
  font-style: normal !important;
  speak: never;
}



/* CreatuShop Builder bridge */
body.cs-builder-page .cs-page,
body.cs-builder-ready .cs-page {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.cs-builder-page-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
body.cs-builder-page .entry-header,
body.cs-builder-ready .entry-header {
	display: none;
}
body.cs-builder-page .entry-content,
body.cs-builder-ready .entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}


/* Ecosystem integration — Builder owns typography and transaction UI only inside its scope. */
.csb-render .csb-widget-title,
.csb-render .csb-woo-page-title,
.csb-canvas .csb-widget-title,
.csb-canvas .csb-woo-page-title {
  color: var(--csb-hero-title-color, currentColor) !important;
  font-family: var(--csb-hero-title-font-family, inherit) !important;
  font-size: var(--csb-hero-title-size, inherit) !important;
  font-weight: var(--csb-hero-title-weight, inherit) !important;
  line-height: var(--csb-hero-title-line-height, inherit) !important;
  letter-spacing: var(--csb-hero-title-spacing, normal) !important;
  text-align: var(--csb-widget-title-align, inherit) !important;
  text-transform: var(--csb-widget-title-transform, none) !important;
}
.csb-render .csb-widget-text,
.csb-render .csb-rich-text,
.csb-canvas .csb-widget-text,
.csb-canvas .csb-rich-text {
  color: var(--csb-hero-subtitle-color, inherit) !important;
  font-family: var(--csb-hero-subtitle-font-family, inherit) !important;
  font-size: var(--csb-hero-subtitle-size, inherit) !important;
  font-weight: var(--csb-hero-subtitle-weight, inherit) !important;
  line-height: var(--csb-hero-subtitle-line-height, inherit) !important;
  letter-spacing: var(--csb-hero-subtitle-spacing, normal) !important;
  text-align: var(--csb-widget-text-align, inherit) !important;
  text-transform: var(--csb-widget-text-transform, none) !important;
}
body.cs-builder-page .csb-woo-transaction,
body.cs-builder-ready .csb-woo-transaction {
  isolation: isolate;
}


/* PASE 4.3.8.1: deterministic header action order. */
@media (min-width: 901px) {
  .cs-header-actions > .cs-search-toggle { order: 100; }
  .cs-header-actions > .cs-menu-toggle { order: 110; }
}
@media (max-width: 900px) {
  .cs-header-actions > .cs-cart-toggle { order: 10; }
  .cs-header-actions > .csx-wishlist-header { order: 20; }
  .cs-header-actions > .cs-search-toggle { order: 90; }
  .cs-header-actions > .cs-menu-toggle { order: 100; }
}
