
:root {
  --cn-primary-color:#7A22B8;
  --cn-secondary-color:#4D9DE0;
  --cn-accent-color:#5B8DEF;
  --cn-success-color:#2F8F67;
  --cn-warning-color:#C98A24;
  --cn-danger-color:#B74242;
  --cn-info-color:#4E78B8;
  --cn-page-bg:var(--cn-light-page-bg);
  --cn-surface:var(--cn-light-surface);
  --cn-surface-alt:var(--cn-light-surface-alt);
  --cn-text:var(--cn-light-text);
  --cn-muted:var(--cn-light-muted-text);
  --cn-border:var(--cn-light-border);
  --cn-header-bg:var(--cn-light-header-bg);
  --cn-header-text:var(--cn-light-header-text);
  --cn-nav-bg:var(--cn-light-nav-bg);
  --cn-nav-text:var(--cn-light-nav-text);
  --cn-footer-bg:var(--cn-light-footer-bg);
  --cn-footer-text:var(--cn-light-footer-text);
  --cn-link:var(--cn-light-link);
  --cn-link-hover:var(--cn-light-link-hover);
  --cn-input-bg:var(--cn-light-input-bg);
  --cn-input-text:var(--cn-light-input-text);
  --cn-input-border:var(--cn-light-input-border);
  --cn-table-head-bg:var(--cn-light-table-header-bg);
  --cn-table-head-text:var(--cn-light-table-header-text);
}
html.cn-theme-dark, body.cn-theme-dark {
  color-scheme:dark;
  --cn-page-bg:var(--cn-dark-page-bg);
  --cn-surface:var(--cn-dark-surface);
  --cn-surface-alt:var(--cn-dark-surface-alt);
  --cn-text:var(--cn-dark-text);
  --cn-muted:var(--cn-dark-muted-text);
  --cn-border:var(--cn-dark-border);
  --cn-header-bg:var(--cn-dark-header-bg);
  --cn-header-text:var(--cn-dark-header-text);
  --cn-nav-bg:var(--cn-dark-nav-bg);
  --cn-nav-text:var(--cn-dark-nav-text);
  --cn-footer-bg:var(--cn-dark-footer-bg);
  --cn-footer-text:var(--cn-dark-footer-text);
  --cn-link:var(--cn-dark-link);
  --cn-link-hover:var(--cn-dark-link-hover);
  --cn-input-bg:var(--cn-dark-input-bg);
  --cn-input-text:var(--cn-dark-input-text);
  --cn-input-border:var(--cn-dark-input-border);
  --cn-table-head-bg:var(--cn-dark-table-header-bg);
  --cn-table-head-text:var(--cn-dark-table-header-text);
}
body.cn-themed-site, body.login {
  background:var(--cn-page-bg)!important;
  color:var(--cn-text)!important;
  font-family:var(--cn-body-font)!important;
  font-size:var(--cn-base-font-size)!important;
  line-height:var(--cn-body-line-height)!important;
  transition:background-color .18s ease,color .18s ease;
}
body.cn-themed-site h1, body.cn-themed-site h2, body.cn-themed-site h3,
body.cn-themed-site h4, body.cn-themed-site h5, body.cn-themed-site h6,
body.login h1 {
  color:var(--cn-text);
  font-family:var(--cn-heading-font);
  font-weight:var(--cn-heading-weight);
}
body.cn-themed-site a { color:var(--cn-link); }
body.cn-themed-site a:hover { color:var(--cn-link-hover); }

body.cn-themed-site .site-header,
body.cn-themed-site header.site-header,
body.cn-themed-site #masthead,
body.cn-themed-site .elementor-location-header {
  background:var(--cn-header-bg)!important;
  color:var(--cn-header-text)!important;
  box-shadow:var(--cn-shadow);
}
body.cn-themed-site .site-header a,
body.cn-themed-site #masthead a,
body.cn-themed-site .elementor-location-header a { color:var(--cn-header-text)!important; }

body.cn-themed-site .main-navigation,
body.cn-themed-site .primary-navigation,
body.cn-themed-site .elementor-nav-menu--main {
  background:var(--cn-nav-bg);
  color:var(--cn-nav-text);
}
body.cn-themed-site .main-navigation a,
body.cn-themed-site .primary-navigation a,
body.cn-themed-site .elementor-nav-menu--main a { color:var(--cn-nav-text)!important; }

body.cn-themed-site .site-footer,
body.cn-themed-site footer.site-footer,
body.cn-themed-site #colophon,
body.cn-themed-site .elementor-location-footer {
  background:var(--cn-footer-bg)!important;
  color:var(--cn-footer-text)!important;
}
body.cn-themed-site .site-footer a,
body.cn-themed-site #colophon a,
body.cn-themed-site .elementor-location-footer a { color:var(--cn-footer-text)!important; }

body.cn-themed-site article,
body.cn-themed-site .widget,
body.cn-themed-site .wp-block-group,
body.cn-themed-site .elementor-widget-container,
body.cn-themed-site .woocommerce ul.products li.product,
body.cn-themed-site .woocommerce div.product,
body.cn-themed-site .woocommerce-cart-form,
body.cn-themed-site .cart_totals,
body.cn-themed-site .woocommerce-checkout-review-order,
body.cn-themed-site .woocommerce-form,
body.login #loginform {
  background:var(--cn-surface);
  color:var(--cn-text);
  border-color:var(--cn-border);
  border-radius:var(--cn-card-radius);
}
body.cn-themed-site .cn-lux-card,
body.cn-themed-site .e-con.cn-lux-card,
body.cn-themed-site .wp-block-group.cn-lux-card {
  background:var(--cn-surface)!important;
  border:1px solid var(--cn-border)!important;
  border-radius:var(--cn-card-radius)!important;
  box-shadow:var(--cn-shadow)!important;
}
body.cn-themed-site .cn-purple-header,
body.cn-themed-site .cn-section-title,
body.cn-themed-site .entry-header,
body.cn-themed-site .page-header,
body.cn-themed-site .woocommerce-products-header {
  background:var(--cn-header-bg)!important;
  color:var(--cn-header-text)!important;
  border-radius:var(--cn-border-radius);
}
body.cn-themed-site .cn-purple-header *,
body.cn-themed-site .cn-section-title *,
body.cn-themed-site .entry-header *,
body.cn-themed-site .page-header *,
body.cn-themed-site .woocommerce-products-header * { color:var(--cn-header-text)!important; }

body.cn-themed-site button,
body.cn-themed-site input[type=submit],
body.cn-themed-site .button,
body.cn-themed-site .wp-element-button,
body.cn-themed-site .elementor-button,
body.login .button-primary {
  background:var(--cn-primary-color)!important;
  color:#fff!important;
  border-color:transparent!important;
  border-radius:var(--cn-button-radius)!important;
  box-shadow:var(--cn-shadow);
}
body.cn-themed-site button:hover,
body.cn-themed-site input[type=submit]:hover,
body.cn-themed-site .button:hover,
body.cn-themed-site .elementor-button:hover,
body.login .button-primary:hover { filter:brightness(1.08); }

body.cn-themed-site input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
body.cn-themed-site select,
body.cn-themed-site textarea,
body.login input[type=text],
body.login input[type=password] {
  background:var(--cn-input-bg)!important;
  color:var(--cn-input-text)!important;
  border-color:var(--cn-input-border)!important;
  border-radius:var(--cn-button-radius)!important;
}
body.cn-themed-site input:focus,
body.cn-themed-site select:focus,
body.cn-themed-site textarea:focus {
  border-color:var(--cn-primary-color)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--cn-primary-color) 22%,transparent)!important;
}

body.cn-themed-site table { background:var(--cn-surface); color:var(--cn-text); border-color:var(--cn-border); }
body.cn-themed-site th { background:var(--cn-table-head-bg)!important; color:var(--cn-table-head-text)!important; }
body.cn-themed-site td, body.cn-themed-site th { border-color:var(--cn-border)!important; }

body.cn-themed-site .woocommerce .price { color:var(--cn-secondary-color)!important; }
body.cn-themed-site .woocommerce span.onsale { background:var(--cn-primary-color)!important; color:#fff!important; }
body.cn-themed-site .woocommerce-message { border-top-color:var(--cn-success-color)!important; }
body.cn-themed-site .woocommerce-info { border-top-color:var(--cn-info-color)!important; }
body.cn-themed-site .woocommerce-error { border-top-color:var(--cn-danger-color)!important; }

.cn-site-theme-toggle {
  position:fixed;right:18px;bottom:18px;z-index:999999;
  display:flex;align-items:center;gap:8px;
  min-height:44px;padding:10px 14px;
  background:var(--cn-primary-color);color:#fff;
  border:0;border-radius:999px;box-shadow:var(--cn-shadow);
  font:700 13px/1 var(--cn-body-font);cursor:pointer;
}
.cn-site-theme-toggle:focus-visible { outline:3px solid var(--cn-secondary-color); outline-offset:3px; }
body.login .cn-site-theme-toggle { display:flex; }
@media(max-width:782px){.cn-site-theme-label{display:none}.cn-site-theme-toggle{right:12px;bottom:12px}}


/* v0.20.1 cumulative v0.19 page architecture */
body.cn-themed-site #page,
body.cn-themed-site .site,
body.cn-themed-site .site-content,
body.cn-themed-site .content-area,
body.cn-themed-site main,
body.cn-themed-site .elementor,
body.cn-themed-site .elementor-location-single,
body.cn-themed-site .elementor-location-archive{
  color:var(--cn-text);
}
body.cn-themed-site .site-content,
body.cn-themed-site .content-area,
body.cn-themed-site main.site-main{
  width:min(100%,var(--cn-content-width));
  margin-inline:auto;
  padding-inline:var(--cn-content-spacing);
}
body.cn-themed-site .main-navigation a:hover,
body.cn-themed-site .main-navigation .current-menu-item>a,
body.cn-themed-site .elementor-nav-menu--main a:hover,
body.cn-themed-site .elementor-nav-menu--main .elementor-item-active{
  text-decoration:underline;
  text-decoration-color:var(--cn-secondary-color);
  text-underline-offset:.38em;
  text-decoration-thickness:2px;
}
body.cn-themed-site .sub-menu,
body.cn-themed-site .elementor-nav-menu--dropdown{
  background:var(--cn-nav-bg)!important;
  border-color:var(--cn-border)!important;
}
body.cn-themed-site .entry-title,
body.cn-themed-site .page-title,
body.cn-themed-site .archive-title,
body.cn-themed-site .woocommerce-products-header__title,
body.cn-themed-site .elementor-widget-heading .elementor-heading-title{color:var(--cn-text)}
body.cn-themed-site .cn-lux-card,
body.cn-themed-site .elementor-element.cn-lux-card>.elementor-widget-container,
body.cn-themed-site .e-con.cn-lux-card,
body.cn-themed-site .wp-block-group.cn-lux-card{
  padding:clamp(18px,3vw,30px);
}
body.cn-themed-site .select2-container--default .select2-selection--single,
body.cn-themed-site .select2-container--default .select2-selection--multiple{
  background:var(--cn-input-bg)!important;color:var(--cn-input-text)!important;
  border-color:var(--cn-input-border)!important;border-radius:var(--cn-button-radius)!important;
}
body.cn-themed-site .woocommerce-MyAccount-navigation{
  background:var(--cn-surface);border:1px solid var(--cn-border);
  border-radius:var(--cn-card-radius);padding:12px;
}
body.cn-themed-site *{
  transition-duration:var(--cn-motion-duration);
}
body.cn-themed-site :focus-visible{
  outline:var(--cn-focus-ring-width) solid color-mix(in srgb,var(--cn-primary-color) 60%,white);
  outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
  body.cn-themed-site *,body.login *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Scope enforcement */
body:not(.cn-scope-elementor) .elementor-location-header,
body:not(.cn-scope-elementor) .elementor-location-footer,
body:not(.cn-scope-elementor) .elementor-widget-container,
body:not(.cn-scope-elementor) .elementor-button,
body:not(.cn-scope-elementor) .elementor-nav-menu--main{all:revert-layer}


/* v0.21.0 site-wide Lux Professional overrides */
:root{
  --cn-primary-color:#6F2DBD;
  --cn-secondary-color:#4D9DE0;
  --cn-accent-color:#00B8D9;
  --cn-success-color:#2FBF71;
  --cn-warning-color:#F2A900;
  --cn-danger-color:#D64550;
  --cn-info-color:#5B8DEF;
}
body.cn-themed-site .site-header,
body.cn-themed-site header.site-header,
body.cn-themed-site #masthead,
body.cn-themed-site .elementor-location-header{
  background:var(--cn-site-theme-gradient)!important;
}
body.cn-themed-site button,
body.cn-themed-site input[type=submit],
body.cn-themed-site .button,
body.cn-themed-site .wp-element-button,
body.cn-themed-site .elementor-button,
body.login .button-primary{
  background:var(--cn-site-theme-gradient)!important;
}
body.cn-themed-site .cn-purple-header,
body.cn-themed-site .cn-section-title,
body.cn-themed-site .entry-header,
body.cn-themed-site .page-header,
body.cn-themed-site .woocommerce-products-header{
  background:var(--cn-site-theme-gradient)!important;
}
body.cn-themed-site .woocommerce .price{
  color:var(--cn-secondary-color)!important;
}
body.cn-themed-site :focus-visible{
  outline-color:color-mix(in srgb,var(--cn-accent-color) 65%,white)!important;
}


/* v0.21.1 neutral light/dark surfaces */
:root{
  --cn-light-page-bg:#F6F7F9;
  --cn-light-surface:#FFFFFF;
  --cn-light-surface-alt:#ECEFF3;
  --cn-light-text:#2B313B;
  --cn-light-muted-text:#667085;
  --cn-light-border:#D7DDE5;
  --cn-light-input-bg:#FFFFFF;
  --cn-light-input-text:#2B313B;
  --cn-light-input-border:#C7CFDA;
  --cn-dark-page-bg:#0F1115;
  --cn-dark-surface:#181B20;
  --cn-dark-surface-alt:#22262D;
  --cn-dark-text:#F4F5F7;
  --cn-dark-muted-text:#A7B0BD;
  --cn-dark-border:#353B45;
  --cn-dark-input-bg:#181B20;
  --cn-dark-input-text:#F4F5F7;
  --cn-dark-input-border:#353B45;
}
html.cn-theme-dark,body.cn-theme-dark{background:#0F1115!important}
body.cn-themed-site article,
body.cn-themed-site .widget,
body.cn-themed-site .wp-block-group,
body.cn-themed-site .elementor-widget-container,
body.cn-themed-site .woocommerce ul.products li.product,
body.cn-themed-site .woocommerce div.product,
body.cn-themed-site .woocommerce-cart-form,
body.cn-themed-site .cart_totals,
body.cn-themed-site .woocommerce-checkout-review-order,
body.cn-themed-site .woocommerce-form,
body.login #loginform{
  background:var(--cn-surface)!important;
  border-color:var(--cn-border)!important;
}


/* v0.21.4 — Public-site monochromatic gradient system */
:root{
  --cn-site-gradient-base:var(--cn-header-bg);
  --cn-site-overlay-start:rgba(255,255,255,.08);
  --cn-site-overlay-end:rgba(255,255,255,.34);
  --cn-site-theme-gradient:
    linear-gradient(135deg,
      var(--cn-site-overlay-start) 0%,
      var(--cn-site-overlay-end) 100%),
    linear-gradient(var(--cn-site-gradient-base),var(--cn-site-gradient-base));
}
html.cn-theme-dark,
body.cn-theme-dark{
  --cn-site-gradient-base:var(--cn-header-bg);
  --cn-site-overlay-start:rgba(0,0,0,.08);
  --cn-site-overlay-end:rgba(0,0,0,.40);
}

/* Header, navigation accents, WooCommerce buttons, and themed blocks
   now use the selected theme's own base color. */
body.cn-themed-site header,
body.cn-themed-site .site-header,
body.cn-themed-site .elementor-location-header,
body.cn-themed-site .wp-block-button__link,
body.cn-themed-site .woocommerce a.button,
body.cn-themed-site .woocommerce button.button,
body.cn-themed-site .woocommerce input.button{
  background:var(--cn-site-theme-gradient)!important;
}


/* v0.21.6 — shared translucent rose-gold crown treatment */
.cn-site-crown,
.site-icon-corals-nexus{
  background-image:url("lux-corals-crown.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:1;
}


/* v0.21.7 — restored layered gradients for WordPress, Elementor, and WooCommerce */
:root{
  --cn-site-header-overlay-start:rgba(255,255,255,.10);
  --cn-site-header-overlay-end:rgba(255,255,255,.42);
  --cn-site-header-base:var(--cn-header-bg,var(--cn-primary-color));
}
html.cn-theme-dark,
body.cn-theme-dark{
  --cn-site-header-overlay-start:rgba(0,0,0,.08);
  --cn-site-header-overlay-end:rgba(0,0,0,.46);
}

body.cn-themed-site header,
body.cn-themed-site .site-header,
body.cn-themed-site .elementor-location-header,
body.cn-themed-site .wp-block-button__link,
body.cn-themed-site .woocommerce a.button,
body.cn-themed-site .woocommerce button.button,
body.cn-themed-site .woocommerce input.button{
  background-color:var(--cn-site-header-base)!important;
  background-image:
    linear-gradient(135deg,
      var(--cn-site-header-overlay-start) 0%,
      var(--cn-site-header-overlay-end) 100%)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}


/* v0.21.8 — Three-color public-site theme engine */
:root{
  --cn-site-primary:var(--cn-primary-color);
  --cn-site-secondary:var(--cn-secondary-color);
  --cn-site-accent:var(--cn-accent-color);

  --cn-site-overlay-soft:rgba(255,255,255,.12);
  --cn-site-overlay-medium:rgba(255,255,255,.28);
  --cn-site-overlay-strong:rgba(255,255,255,.46);
  --cn-site-overlay-warm:rgba(255,225,112,.14);

  --cn-site-primary-gradient:
    linear-gradient(135deg,
      var(--cn-site-overlay-soft) 0%,
      var(--cn-site-overlay-warm) 48%,
      var(--cn-site-overlay-strong) 100%),
    linear-gradient(135deg,
      var(--cn-site-primary) 0%,
      var(--cn-site-secondary) 100%);

  --cn-site-control-gradient:
    linear-gradient(135deg,
      var(--cn-site-overlay-soft) 0%,
      var(--cn-site-overlay-medium) 100%),
    linear-gradient(135deg,
      var(--cn-site-secondary) 0%,
      var(--cn-site-accent) 100%);
}
html.cn-theme-dark,
body.cn-theme-dark{
  --cn-site-overlay-soft:rgba(0,0,0,.08);
  --cn-site-overlay-medium:rgba(0,0,0,.24);
  --cn-site-overlay-strong:rgba(0,0,0,.46);
  --cn-site-overlay-warm:rgba(255,255,255,.10);
}

body.cn-themed-site header,
body.cn-themed-site .site-header,
body.cn-themed-site .elementor-location-header{
  background-color:var(--cn-site-primary)!important;
  background-image:var(--cn-site-primary-gradient)!important;
}

body.cn-themed-site .wp-block-button__link,
body.cn-themed-site .woocommerce a.button,
body.cn-themed-site .woocommerce button.button,
body.cn-themed-site .woocommerce input.button,
body.cn-themed-site input[type="submit"]{
  background-color:var(--cn-site-secondary)!important;
  background-image:var(--cn-site-control-gradient)!important;
  border-color:color-mix(in srgb,var(--cn-site-primary) 42%,var(--cn-border))!important;
}


/* v0.22.0 — Lux Glass public-site controls */
body.cn-themed-site{
  --cn-site-glass-blur:14px;
  --cn-site-text-shadow:0 1px 2px rgba(0,0,0,.24);
  --cn-site-shadow-s:0 5px 12px rgba(0,0,0,.14);
  --cn-site-shadow-m:0 10px 24px rgba(0,0,0,.18);
}
body.cn-themed-site.cn-theme-dark{
  --cn-site-text-shadow:0 1px 2px rgba(0,0,0,.58),0 0 8px rgba(255,255,255,.06);
}

body.cn-themed-site button,
body.cn-themed-site .button,
body.cn-themed-site input[type="submit"],
body.cn-themed-site .wp-block-button__link,
body.cn-themed-site .woocommerce a.button,
body.cn-themed-site .woocommerce button.button,
body.cn-themed-site .woocommerce input.button{
  text-shadow:var(--cn-site-text-shadow);
  border:1px solid color-mix(in srgb,var(--cn-site-primary) 46%,rgba(255,255,255,.34))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(0,0,0,.14),
    var(--cn-site-shadow-s);
  backdrop-filter:blur(var(--cn-site-glass-blur)) saturate(132%);
  -webkit-backdrop-filter:blur(var(--cn-site-glass-blur)) saturate(132%);
  transition:transform 140ms ease,box-shadow 220ms ease,filter 220ms ease;
}

body.cn-themed-site button:hover,
body.cn-themed-site .button:hover,
body.cn-themed-site input[type="submit"]:hover,
body.cn-themed-site .wp-block-button__link:hover,
body.cn-themed-site .woocommerce a.button:hover,
body.cn-themed-site .woocommerce button.button:hover,
body.cn-themed-site .woocommerce input.button:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.54),
    inset 0 -1px 0 rgba(0,0,0,.14),
    var(--cn-site-shadow-m),
    0 0 16px color-mix(in srgb,var(--cn-site-accent) 24%,transparent);
  filter:brightness(1.06);
}

body.cn-themed-site button:active,
body.cn-themed-site .button:active,
body.cn-themed-site input[type="submit"]:active,
body.cn-themed-site .wp-block-button__link:active,
body.cn-themed-site .woocommerce a.button:active,
body.cn-themed-site .woocommerce button.button:active,
body.cn-themed-site .woocommerce input.button:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 6px rgba(0,0,0,.22);
}


/* v0.22.1 — shared ocean-cast dark foundation */
html.cn-theme-dark,
body.cn-theme-dark,
body.cn-themed-site.cn-theme-dark{
  --cn-page-bg:#08111A!important;
  --cn-background:#08111A!important;
  --cn-surface:#0D1723!important;
  --cn-surface-alt:#142131!important;
  --cn-card:#1A293A!important;
  --cn-border:#2A4258!important;
  --cn-text:#F2F7FA!important;
  --cn-muted:#A8BBCB!important;
}


/* v0.22.7 — one frosted paper sheet for public/site layouts */
body.cn-themed-site #page,
body.cn-themed-site .site,
body.cn-themed-site .wp-site-blocks{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.03)),
    color-mix(in srgb,var(--cn-surface) 78%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--cn-border) 62%,rgba(255,255,255,.28))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 24px 56px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(18px) saturate(138%);
  -webkit-backdrop-filter:blur(18px) saturate(138%);
}

body.cn-themed-site header,
body.cn-themed-site .site-header,
body.cn-themed-site .elementor-location-header,
body.cn-themed-site footer,
body.cn-themed-site .site-footer,
body.cn-themed-site .elementor-location-footer{
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
