*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--gbp-color-bg);color:var(--gbp-color-text);font-family:var(--gbp-font-body);font-size:var(--gbp-base-font-size);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}.screen-reader-text,.gbp-skip-link{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gbp-skip-link:focus{position:fixed!important;top:16px;left:16px;width:auto;height:auto;clip:auto;background:#fff;color:#000;padding:12px 16px;z-index:99999}.gbp-muted{color:var(--gbp-color-muted)}.gbp-site-header svg,.gbp-site-footer svg,.gbp-drawer svg,.gbp-header-action svg,.gbp-mobile-toggle svg,.gbp-drawer__close svg,.gbp-search-form__submit svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.gbp-btn,.button,button.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:44px;padding:0 18px;border:1px solid var(--gbp-color-accent);border-radius:var(--gbp-radius-sm);background:var(--gbp-color-accent);color:var(--gbp-color-accent-contrast);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.gbp-btn--secondary,.button.alt{background:transparent;color:var(--gbp-color-text);border-color:var(--gbp-color-border)}.gbp-btn:hover,.button:hover{transform:translateY(-1px)}:focus-visible{outline:2px solid var(--gbp-color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){body.gbp-reduced-motion-aware *,body.gbp-reduced-motion-aware *::before,body.gbp-reduced-motion-aware *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* v1.2.0 applied Customizer controls */
h1,h2,h3,h4,h5,h6,.gbp-page-title,.gbp-entry__title,.gbp-shop-title,.woocommerce div.product .product_title{font-family:var(--gbp-font-heading);font-weight:var(--gbp-heading-weight)}
.gbp-buttons-normalcase .gbp-btn,.gbp-buttons-normalcase .button,.gbp-buttons-normalcase button.button,.gbp-buttons-normalcase .wp-block-button__link{text-transform:none;letter-spacing:.02em}
.gbp-button-style-outline .gbp-btn,.gbp-button-style-outline .button,.gbp-button-style-outline button.button,.gbp-button-style-outline .wp-block-button__link{background:transparent;color:var(--gbp-color-text);border-color:var(--gbp-color-border)}
.gbp-button-style-minimal .gbp-btn,.gbp-button-style-minimal .button,.gbp-button-style-minimal button.button,.gbp-button-style-minimal .wp-block-button__link{background:transparent;color:var(--gbp-color-text);border-color:transparent;padding-inline:0;min-height:32px}
.gbp-soft-focus :focus-visible{outline:1px solid var(--gbp-color-border);outline-offset:2px}

/* v1.3.0 Customizer Pro controls */
body{font-weight:var(--gbp-body-weight);line-height:var(--gbp-body-line-height);padding:var(--gbp-site-padding-top) var(--gbp-site-padding-right) var(--gbp-site-padding-bottom) var(--gbp-site-padding-left)}
.gbp-wrapper-overflow-hidden{overflow-x:hidden}.gbp-wrapper-overflow-clip{overflow-x:clip}.gbp-wrapper-overflow-visible{overflow-x:visible}
h1,h2,h3,h4,h5,h6,.gbp-page-title,.gbp-entry__title,.gbp-shop-title,.woocommerce div.product .product_title{line-height:var(--gbp-heading-line-height);letter-spacing:var(--gbp-heading-letter-spacing)}
h1{font-size:clamp(2.2rem,5vw,var(--gbp-h1-size))}h2{font-size:clamp(1.9rem,4vw,var(--gbp-h2-size))}h3{font-size:clamp(1.5rem,3vw,var(--gbp-h3-size))}h4{font-size:var(--gbp-h4-size)}h5{font-size:var(--gbp-h5-size)}h6{font-size:var(--gbp-h6-size)}
.gbp-headings-uppercase h1,.gbp-headings-uppercase h2,.gbp-headings-uppercase h3,.gbp-headings-uppercase h4,.gbp-headings-uppercase h5,.gbp-headings-uppercase h6{text-transform:uppercase;letter-spacing:.08em}
.gbp-site-main{padding-top:var(--gbp-site-spacing-top);padding-bottom:var(--gbp-site-spacing-bottom)}
.gbp-inherit-elementor-typography .elementor-widget-heading h1,.gbp-inherit-elementor-typography .elementor-widget-heading h2,.gbp-inherit-elementor-typography .elementor-widget-heading h3,.gbp-inherit-elementor-typography .elementor-widget-heading h4,.gbp-inherit-elementor-typography .elementor-widget-heading h5,.gbp-inherit-elementor-typography .elementor-widget-heading h6{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit}

/* v1.4.0 Customizer premium controls */
a{color:var(--gbp-color-link)}a:hover{color:var(--gbp-color-link-hover)}
.gbp-btn,.button,button.button,.wp-block-button__link{font-family:var(--gbp-font-button);letter-spacing:var(--gbp-button-letter-spacing)}
.gbp-primary-menu a,.gbp-mobile-menu a,.gbp-header-action--account{font-family:var(--gbp-font-menu)}
.gbp-page-title{font-size:clamp(2.2rem,4.8vw,var(--gbp-page-title-size))}
.gbp-button-style-underline .gbp-btn,.gbp-button-style-underline .button,.gbp-button-style-underline button.button,.gbp-button-style-underline .wp-block-button__link{background:transparent;color:var(--gbp-color-text);border-color:transparent;border-bottom-color:currentColor;border-radius:0;padding-inline:0;min-height:32px}
.gbp-button-style-ghost .gbp-btn,.gbp-button-style-ghost .button,.gbp-button-style-ghost button.button,.gbp-button-style-ghost .wp-block-button__link{background:transparent;color:var(--gbp-color-text);border-color:var(--gbp-color-border)}
.gbp-btn:hover,.button:hover,button.button:hover,.wp-block-button__link:hover{background:var(--gbp-color-accent-hover);color:var(--gbp-color-accent-contrast-hover);border-color:var(--gbp-color-accent-hover)}
.gbp-input-style-underline input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.gbp-input-style-underline select,.gbp-input-style-underline textarea{border-left:0!important;border-right:0!important;border-top:0!important;border-radius:0!important;background:transparent!important}
.gbp-input-style-soft input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.gbp-input-style-soft select,.gbp-input-style-soft textarea{background:var(--gbp-color-surface-alt)!important;border-color:transparent!important}
.gbp-motion-none *{transition:none!important;animation:none!important}.gbp-motion-reduced *{transition-duration:.08s!important;animation-duration:.08s!important}


/* v1.5.1 Typography Customizer accuracy: controls are literal desktop values. */
h1{font-size:var(--gbp-h1-size)}
h2{font-size:var(--gbp-h2-size)}
h3{font-size:var(--gbp-h3-size)}
h4{font-size:var(--gbp-h4-size)}
h5{font-size:var(--gbp-h5-size)}
h6{font-size:var(--gbp-h6-size)}
.gbp-page-title{font-size:var(--gbp-page-title-size)}
h1,h2,h3,h4,h5,h6,.gbp-page-title,.gbp-entry__title,.gbp-shop-title,.woocommerce div.product .product_title{font-weight:var(--gbp-heading-weight);line-height:var(--gbp-heading-line-height);letter-spacing:var(--gbp-heading-letter-spacing)}
@media(max-width:767px){
  h1{font-size:min(var(--gbp-h1-size),52px)}
  h2{font-size:min(var(--gbp-h2-size),44px)}
  h3{font-size:min(var(--gbp-h3-size),36px)}
  .gbp-page-title,.woocommerce div.product .product_title{font-size:min(var(--gbp-page-title-size),54px)}
}

/* v1.7.2 — iOS mobile form stability */
@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
  }
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  button,
  .select2-container .select2-selection,
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select {
    font-size: 16px !important;
  }
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .select2-container {
    max-width: 100%;
    min-width: 0;
  }
  .woocommerce form .form-row,
  .woocommerce form .form-row-wide,
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    min-width: 0;
  }
}

/* v2.1.14 — Customizer UX scoped general style/layout controls */
.gbp-btn,
.button,
button.button,
.wp-block-button__link{
  min-height:var(--gbp-button-min-height);
  padding-inline:var(--gbp-button-padding-x);
  border-radius:var(--gbp-button-radius);
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:var(--gbp-input-min-height);
  padding-inline:var(--gbp-input-padding-x);
  border-radius:var(--gbp-input-radius);
}
@media(max-width:767px){
  body{font-size:var(--gbp-base-font-size-mobile)}
}

body.gbp-theme:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-site-main > .gbp-content-shell{
  width:min(100% - (var(--gbp-container-spacing) * 2), var(--gbp-page-container-width));
  padding-top:var(--gbp-page-spacing-top);
  padding-bottom:var(--gbp-page-spacing-bottom);
}
body.gbp-theme.gbp-page-container-full:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-site-main > .gbp-content-shell{
  width:100%;
  max-width:none;
  padding-inline:var(--gbp-container-spacing);
}
body.gbp-theme:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry__header{
  text-align:var(--gbp-page-title-align);
  margin-bottom:var(--gbp-page-title-spacing-bottom);
}
body.gbp-theme:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry__title{
  font-weight:var(--gbp-page-title-weight);
  letter-spacing:var(--gbp-page-title-letter-spacing);
}
body.gbp-theme:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry__content{
  max-width:var(--gbp-page-content-max);
  margin-inline:auto;
  font-size:var(--gbp-entry-content-font-size);
  line-height:var(--gbp-entry-content-line-height);
}
body.gbp-theme:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry__content p{
  margin-top:0;
  margin-bottom:var(--gbp-entry-paragraph-spacing);
}
body.gbp-page-density-compact:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry{--gbp-entry-paragraph-spacing:14px}
body.gbp-page-density-airy:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry{--gbp-entry-paragraph-spacing:22px}
body.gbp-page-density-editorial:not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .gbp-entry{--gbp-entry-paragraph-spacing:26px}


/* v2.1.17 — Mobile ecommerce typography normalization.
   Keep iOS form safeguards on real inputs, but avoid forcing all buttons to 16px on mobile. */
@media (max-width: 767px) {
  body.gbp-theme .button,
  body.gbp-theme button.button,
  body.gbp-theme .gbp-btn,
  body.gbp-theme .wp-block-button__link,
  body.gbp-theme .woocommerce a.button,
  body.gbp-theme .woocommerce button.button,
  body.gbp-theme .woocommerce input.button,
  body.gbp-theme .woocommerce #respond input#submit {
    font-family:var(--gbp-font-button);
    font-size:var(--gbp-shop-card-action-size-mobile) !important;
    line-height:1.12 !important;
    letter-spacing:var(--gbp-shop-card-action-letter-spacing-mobile) !important;
    text-transform:uppercase;
  }
}

/* v2.1.48 — Global Customizer Pro tokens */
body.gbp-theme{
  --gbp-component-surface-shadow:var(--gbp-shadow-sm);
}
body.gbp-theme.gbp-surface-depth-flat{--gbp-component-surface-shadow:none;}
body.gbp-theme.gbp-surface-depth-subtle{--gbp-component-surface-shadow:var(--gbp-shadow-sm);}
body.gbp-theme.gbp-surface-depth-elevated{--gbp-component-surface-shadow:var(--gbp-shadow-md);}

body.gbp-theme .gbp-btn,
body.gbp-theme .button,
body.gbp-theme button.button,
body.gbp-theme .wp-block-button__link,
body.gbp-theme .woocommerce a.button,
body.gbp-theme .woocommerce button.button,
body.gbp-theme .woocommerce input.button,
body.gbp-theme .woocommerce #respond input#submit,
body.gbp-theme .gbcore-button,
body.gbp-theme .gbcore-lead-form__button,
body.gbp-theme .gbcore-ai-search__button,
body.gbp-theme .gbcore-hybrid-cta,
body.gbp-theme .gbcore-product-lead__trigger{
  font-family:var(--gbp-font-button);
  font-size:var(--gbp-button-font-size);
  font-weight:var(--gbp-button-weight);
  border-width:var(--gbp-button-border-width);
  transition:background var(--gbp-transition-duration) ease,color var(--gbp-transition-duration) ease,border-color var(--gbp-transition-duration) ease,box-shadow var(--gbp-transition-duration) ease,transform var(--gbp-transition-duration) ease,opacity var(--gbp-transition-duration) ease;
}
body.gbp-theme.gbp-button-hover-none .gbp-btn:hover,
body.gbp-theme.gbp-button-hover-none .button:hover,
body.gbp-theme.gbp-button-hover-none button.button:hover,
body.gbp-theme.gbp-button-hover-none .wp-block-button__link:hover,
body.gbp-theme.gbp-button-hover-none .gbcore-button:hover,
body.gbp-theme.gbp-button-hover-none .gbcore-lead-form__button:hover,
body.gbp-theme.gbp-button-hover-none .gbcore-ai-search__button:hover,
body.gbp-theme.gbp-button-hover-none .gbcore-hybrid-cta:hover,
body.gbp-theme.gbp-button-hover-none .gbcore-product-lead__trigger:hover{transform:none!important;box-shadow:none!important;}
body.gbp-theme.gbp-button-hover-lift .gbp-btn:hover,
body.gbp-theme.gbp-button-hover-lift .button:hover,
body.gbp-theme.gbp-button-hover-lift button.button:hover,
body.gbp-theme.gbp-button-hover-lift .wp-block-button__link:hover,
body.gbp-theme.gbp-button-hover-lift .gbcore-button:hover,
body.gbp-theme.gbp-button-hover-lift .gbcore-lead-form__button:hover,
body.gbp-theme.gbp-button-hover-lift .gbcore-ai-search__button:hover,
body.gbp-theme.gbp-button-hover-lift .gbcore-hybrid-cta:hover,
body.gbp-theme.gbp-button-hover-lift .gbcore-product-lead__trigger:hover{transform:translateY(-1px);box-shadow:var(--gbp-shadow-sm);}
body.gbp-theme.gbp-button-hover-fill .gbp-btn:hover,
body.gbp-theme.gbp-button-hover-fill .button:hover,
body.gbp-theme.gbp-button-hover-fill button.button:hover,
body.gbp-theme.gbp-button-hover-fill .wp-block-button__link:hover,
body.gbp-theme.gbp-button-hover-fill .gbcore-button:hover,
body.gbp-theme.gbp-button-hover-fill .gbcore-lead-form__button:hover,
body.gbp-theme.gbp-button-hover-fill .gbcore-ai-search__button:hover,
body.gbp-theme.gbp-button-hover-fill .gbcore-hybrid-cta:hover,
body.gbp-theme.gbp-button-hover-fill .gbcore-product-lead__trigger:hover{background:var(--gbp-color-accent)!important;color:var(--gbp-color-accent-contrast)!important;border-color:var(--gbp-color-accent)!important;}
body.gbp-theme.gbp-button-hover-invert .gbp-btn:hover,
body.gbp-theme.gbp-button-hover-invert .button:hover,
body.gbp-theme.gbp-button-hover-invert button.button:hover,
body.gbp-theme.gbp-button-hover-invert .wp-block-button__link:hover,
body.gbp-theme.gbp-button-hover-invert .gbcore-button:hover,
body.gbp-theme.gbp-button-hover-invert .gbcore-lead-form__button:hover,
body.gbp-theme.gbp-button-hover-invert .gbcore-ai-search__button:hover,
body.gbp-theme.gbp-button-hover-invert .gbcore-hybrid-cta:hover,
body.gbp-theme.gbp-button-hover-invert .gbcore-product-lead__trigger:hover{background:var(--gbp-color-surface)!important;color:var(--gbp-color-text)!important;border-color:var(--gbp-color-text)!important;}

body.gbp-theme input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.gbp-theme select,
body.gbp-theme textarea,
body.gbp-theme .woocommerce form .form-row input.input-text,
body.gbp-theme .woocommerce form .form-row textarea,
body.gbp-theme .woocommerce form .form-row select,
body.gbp-theme .gbcore-lead-form input,
body.gbp-theme .gbcore-lead-form textarea,
body.gbp-theme .gbcore-ai-search__input{
  border-width:var(--gbp-input-border-width);
  transition:border-color var(--gbp-transition-duration) ease,box-shadow var(--gbp-transition-duration) ease,background var(--gbp-transition-duration) ease,color var(--gbp-transition-duration) ease;
}
body.gbp-theme.gbp-form-focus-ring input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
body.gbp-theme.gbp-form-focus-ring select:focus,
body.gbp-theme.gbp-form-focus-ring textarea:focus{
  outline:var(--gbp-focus-ring-width) solid color-mix(in srgb,var(--gbp-color-accent) 28%,transparent);
  outline-offset:2px;
  border-color:var(--gbp-color-accent);
}
body.gbp-theme.gbp-form-focus-soft input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
body.gbp-theme.gbp-form-focus-soft select:focus,
body.gbp-theme.gbp-form-focus-soft textarea:focus{
  outline:0;
  border-color:var(--gbp-color-accent);
  box-shadow:0 0 0 calc(var(--gbp-focus-ring-width) + 1px) color-mix(in srgb,var(--gbp-color-accent) 12%,transparent);
}
body.gbp-theme.gbp-form-focus-underline input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
body.gbp-theme.gbp-form-focus-underline select:focus,
body.gbp-theme.gbp-form-focus-underline textarea:focus{
  outline:0;
  box-shadow:0 1px 0 0 var(--gbp-color-accent);
  border-color:var(--gbp-color-accent);
}
body.gbp-theme .gbp-drawer__panel,
body.gbp-theme .gbcore-modal__panel,
body.gbp-theme .gbcore-lead-panel__inner,
body.gbp-theme .gbcore-lead-form,
body.gbp-theme .gbcore-ai-search__results{
  border-radius:var(--gbp-component-radius);
  box-shadow:var(--gbp-component-surface-shadow);
}
body.gbp-theme .gbcore-lead-form,
body.gbp-theme .gbcore-ai-search__results,
body.gbp-theme .gbcore-modal__panel{border-width:var(--gbp-component-border-width);}

body.gbp-theme .gbp-entry__content > * + *,
body.gbp-theme .wp-block-group > * + *,
body.gbp-theme .gbcore-brand-story > * + *{margin-top:var(--gbp-block-gap);}
body.gbp-theme .wp-block-columns,
body.gbp-theme .wp-block-gallery,
body.gbp-theme .gbcore-premium-card-grid,
body.gbp-theme .gbcore-product-carousel__track{gap:var(--gbp-grid-gap);}
body.gbp-theme .alignfull.gbp-soft-edge,
body.gbp-theme .elementor-section.gbp-soft-edge,
body.gbp-theme .e-con.gbp-soft-edge{padding-inline:var(--gbp-container-edge-softness);}
@media(max-width:767px){
  body.gbp-theme{--gbp-section-y:var(--gbp-section-y-mobile);}
}


/* v2.3.1 Customizer schema alignment: current input/depth keys. */
.gbp-input-style-line input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.gbp-input-style-line select,
.gbp-input-style-line textarea{border-left:0!important;border-right:0!important;border-top:0!important;border-radius:0!important;background:transparent!important}
.gbp-input-style-box input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.gbp-input-style-box select,
.gbp-input-style-box textarea{background:var(--gbp-color-surface)!important;border-color:var(--gbp-color-border)!important}
.gbp-input-style-filled input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.gbp-input-style-filled select,
.gbp-input-style-filled textarea{background:var(--gbp-color-surface-alt)!important;border-color:transparent!important}
body.gbp-theme.gbp-surface-depth-soft{--gbp-component-surface-shadow:var(--gbp-shadow-sm);}
body.gbp-motion-rich{--gbp-transition-duration:320ms;}
