/* 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); }
