/* Northcode Starter 1.4 — scoped title/action adapters, not behavioural replacements.
   Chosen utilities control their documented appearance; remove the class for widget-only styling.
   Classic WooCommerce actions are supported. Blocks and advanced EA presets are separate work. */

body .display.display { --nc-type-size: var(--fs-display); --nc-type-leading: 1.02; --nc-type-tracking: -0.03em; }

body .h1.h1 { --nc-type-size: var(--fs-h1); --nc-type-leading: 1.08; --nc-type-tracking: -0.02em; }

body .h2.h2 { --nc-type-size: var(--fs-h2); --nc-type-leading: 1.12; --nc-type-tracking: -0.015em; }

body .h3.h3 { --nc-type-size: var(--fs-h3); --nc-type-leading: 1.2; --nc-type-tracking: -0.01em; }

body .h4.h4 { --nc-type-size: var(--fs-h4); --nc-type-leading: 1.3; --nc-type-tracking: 0em; }

body .lead.lead { --nc-type-size: var(--fs-lead); --nc-type-leading: 1.5; --nc-type-tracking: 0em; }

body .small.small { --nc-type-size: var(--fs-small); --nc-type-leading: 1.5; --nc-type-tracking: 0em; }

body .body-text.body-text { --nc-type-size: var(--fs-body); --nc-type-leading: 1.6; --nc-type-tracking: 0em; }

body .elementor-widget:is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text) { font-size: inherit; line-height: inherit; }
body .elementor-widget:is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text) :is(.elementor-heading-title, .product_title, .woocommerce-loop-product__title, .nc-title),
body .elementor-widget:is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text) > :is(h1, h2, h3, h4, h5, h6),
body .elementor-widget:is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text):is(.display, .h1, .h2, .h3, .h4, .lead, .small, .body-text) > .elementor-widget-container > :is(h1, h2, h3, h4, h5, h6) {
  font-size: var(--nc-type-size);
  line-height: var(--nc-type-leading);
  letter-spacing: calc(var(--nc-type-tracking) + var(--heading-tracking, 0em));
  margin-block: 0;
}
body .elementor-widget.body-text.body-text .nc-title { font-family: var(--font-body); font-weight: var(--fw-body); }


body .elementor-widget-button .elementor-button,
body .elementor-widget-form .elementor-button,
body .btn,
body :is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text) :is(.elementor-button, .single_add_to_cart_button, a.add_to_cart_button,
    a.product_type_variable, a.product_type_simple, a.added_to_cart, a.checkout-button,
    .woocommerce-button, .woocommerce-Button, .woocommerce-form-login__submit,
    .woocommerce-form-register__submit, button[id="place_order"],
    button[name="apply_coupon"], button[name="update_cart"],
    button[name="save_account_details"], button[name="save_address"],
    button[name="reset_password"], .nc-action) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  min-height: 44px;
  padding: var(--nc-btn-pad-y, .8em) var(--nc-btn-pad-x, 1.6em);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  background-color: var(--nc-btn-bg, var(--c-accent));
  color: var(--nc-btn-text, var(--c-on-accent));
  border: 2px solid var(--nc-btn-border, var(--c-accent));
  border-radius: var(--radius-btn);
  text-decoration: none;
  transition: background-color .2s, border-color .2s, color .2s;
}


body .btn-dark.btn-dark.btn-dark.btn-dark { --nc-btn-bg: var(--c-ink); --nc-btn-text: var(--c-surface); --nc-btn-border: var(--c-ink); --nc-btn-hover-bg: var(--c-brand); --nc-btn-hover-text: var(--c-surface); --nc-btn-hover-border: var(--c-brand); }

body .btn-light.btn-light.btn-light.btn-light { --nc-btn-bg: #fff; --nc-btn-text: var(--c-ink); --nc-btn-border: #fff; --nc-btn-hover-bg: var(--light-hover-fill); --nc-btn-hover-text: var(--light-hover-text); --nc-btn-hover-border: var(--light-hover-border); }

body .btn-ghost.btn-ghost.btn-ghost.btn-ghost { --nc-btn-bg: transparent; --nc-btn-text: var(--c-heading); --nc-btn-border: color-mix(in srgb, var(--c-heading) 35%, transparent); --nc-btn-hover-bg: var(--c-heading); --nc-btn-hover-text: var(--ghost-hover-text); --nc-btn-hover-border: var(--c-heading); }

body .btn-text.btn-text.btn-text.btn-text { --nc-btn-bg: transparent; --nc-btn-text: var(--c-heading); --nc-btn-border: transparent; --nc-btn-hover-bg: transparent; --nc-btn-hover-text: var(--c-heading); --nc-btn-hover-border: transparent; --nc-btn-pad-x: 0; }

body .elementor-widget-button .elementor-button:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body .elementor-widget-form .elementor-button:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body .btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body :is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text) :is(.elementor-button, .single_add_to_cart_button, a.add_to_cart_button,
    a.product_type_variable, a.product_type_simple, a.added_to_cart, a.checkout-button,
    .woocommerce-button, .woocommerce-Button, .woocommerce-form-login__submit,
    .woocommerce-form-register__submit, button[id="place_order"],
    button[name="apply_coupon"], button[name="update_cart"],
    button[name="save_account_details"], button[name="save_address"],
    button[name="reset_password"], .nc-action):hover:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading) {
  background-color: var(--nc-btn-hover-bg, color-mix(in srgb, var(--c-accent) 86%, #000));
  border-color: var(--nc-btn-hover-border, color-mix(in srgb, var(--c-accent) 86%, #000));
  color: var(--nc-btn-hover-text, var(--c-on-accent));
}

body .elementor-widget-button .elementor-button:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body .elementor-widget-form .elementor-button:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body .btn:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading),
body :is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text) :is(.elementor-button, .single_add_to_cart_button, a.add_to_cart_button,
    a.product_type_variable, a.product_type_simple, a.added_to_cart, a.checkout-button,
    .woocommerce-button, .woocommerce-Button, .woocommerce-form-login__submit,
    .woocommerce-form-register__submit, button[id="place_order"],
    button[name="apply_coupon"], button[name="update_cart"],
    button[name="save_account_details"], button[name="save_address"],
    button[name="reset_password"], .nc-action):focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.loading) {
  background-color: var(--nc-btn-hover-bg, color-mix(in srgb, var(--c-accent) 86%, #000));
  border-color: var(--nc-btn-hover-border, color-mix(in srgb, var(--c-accent) 86%, #000));
  color: var(--nc-btn-hover-text, var(--c-on-accent));
}

body :is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text):is(.btn-scope, .btn-dark, .btn-light, .btn-ghost, .btn-text) :is(.elementor-button, .single_add_to_cart_button, a.add_to_cart_button,
    a.product_type_variable, a.product_type_simple, a.added_to_cart, a.checkout-button,
    .woocommerce-button, .woocommerce-Button, .woocommerce-form-login__submit,
    .woocommerce-form-register__submit, button[id="place_order"],
    button[name="apply_coupon"], button[name="update_cart"],
    button[name="save_account_details"], button[name="save_address"],
    button[name="reset_password"], .nc-action):is(:disabled, .disabled, [aria-disabled="true"]),
body .btn:is(:disabled, .disabled, [aria-disabled="true"]) { opacity: .55; cursor: not-allowed; }
body .btn-full.btn-full.btn-full.btn-full :is(.elementor-button, .single_add_to_cart_button, a.add_to_cart_button,
    a.product_type_variable, a.product_type_simple, a.added_to_cart, a.checkout-button,
    .woocommerce-button, .woocommerce-Button, .woocommerce-form-login__submit,
    .woocommerce-form-register__submit, button[id="place_order"],
    button[name="apply_coupon"], button[name="update_cart"],
    button[name="save_account_details"], button[name="save_address"],
    button[name="reset_password"], .nc-action), body .btn.btn-full { width: 100%; }
/* Decorative arrow only on plain/standard Elementor text buttons. Woo loading pseudo-elements remain untouched. */
body .elementor-widget-button.btn-text .elementor-button:not(.loading)::after,
body .btn.btn-text:not(.button):not(.loading)::after { content: '→'; transition: transform .2s; }
body .elementor-widget-button.btn-text .elementor-button:not(.loading):hover::after,
body .btn.btn-text:not(.button):not(.loading):hover::after { transform: translateX(4px); }

/* Uniform outline icon presentation; never replaces cart behaviour or its bubble. */
body .icon-uniform{--nc-icon-size:24px;--nc-icon-target:44px}
body .icon-uniform .elementor-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--nc-icon-target);height:var(--nc-icon-target);padding:calc((var(--nc-icon-target) - var(--nc-icon-size))/2);font-size:var(--nc-icon-size);line-height:1}
body .icon-uniform .elementor-icon svg,
body :is(.icon-uniform,.ncl-cart) .elementor-menu-cart__toggle .elementor-button-icon svg,
body .ncl-skin.ncl-utility-header .ncl-search-icon svg{display:block;width:var(--nc-icon-size,24px);height:var(--nc-icon-size,24px);fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
body :is(.icon-uniform,.ncl-cart) .elementor-menu-cart__toggle_button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--nc-icon-target,44px);min-height:var(--nc-icon-target,44px);padding:calc((var(--nc-icon-target,44px) - var(--nc-icon-size,24px))/2);line-height:1}
body :is(.icon-uniform,.ncl-cart) .elementor-menu-cart__toggle .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;margin:0}
/* Menu items must not inherit article/prose list spacing. */
body .elementor-widget-nav-menu .elementor-nav-menu li{margin-block:0}
body .elementor-widget-nav-menu .elementor-nav-menu--main>.elementor-nav-menu{align-items:center}
