/* LEIPOLE visual identity standards, English Edition v1.0.
   Tokens and shared component rules for Elementor, WooCommerce and site-owned components.
   Colour: LEIPOLE Blue #0093D8 (hover 600, pressed 700), Deep Blue for links, Graphite Ink for text.
   Type: Barlow Condensed 600 for headings, Barlow for body and UI. Controls 2 px, cards 0. No pill buttons. */
:root,body,body.elementor-kit-2393{
 --lp-brand:#0093D8;--lp-brand-hover:#0079B3;--lp-brand-deep:#06699A;
 --lp-brand-100:#E6F4FC;--lp-brand-200:#BFE4F7;--lp-brand-300:#8ED1F0;--lp-brand-400:#47B4E6;--lp-brand-800:#044A69;--lp-brand-900:#033348;
 --lp-steel:#7D7D7D;--lp-ink:#1D1F20;--lp-ink-60:#5D5D60;--lp-paper:#FFFFFF;--lp-paper-2:#F2F4F5;
 --lp-line:#D4D4D7;--lp-line-soft:#E7E7EA;--lp-muted:#5D5D60;--lp-blue:#0093D8;--lp-radius:2px;--lp-width:1280px;
 --lp-font-body:"LEIPOLE Barlow",Barlow,Arial,sans-serif;
 --lp-font-heading:"LEIPOLE Barlow Condensed","Barlow Condensed","LEIPOLE Barlow",Barlow,Arial,sans-serif;
 --e-global-color-primary:#0093D8!important;--e-global-color-accent:#06699A!important;
 --e-global-color-secondary:#F2F4F5!important;--e-global-color-text:#1D1F20!important;
 --e-global-color-81d50fc:#033348!important;--e-global-color-a623910:#044A69!important;
 --e-global-typography-text-font-size:16px!important;--e-global-typography-text-line-height:1.6em!important;--e-global-typography-text-font-weight:400!important;
 --e-global-typography-primary-font-size:clamp(32px,4.2vw,42px)!important;--e-global-typography-primary-line-height:1.1em!important;--e-global-typography-primary-font-weight:600!important;
 --e-global-typography-secondary-font-size:clamp(22px,2.6vw,25px)!important;--e-global-typography-secondary-line-height:1.2em!important;--e-global-typography-secondary-font-weight:600!important;
 --e-global-typography-accent-font-weight:500!important;
 --woocommerce:#0093D8;--wc-primary:#0093D8;--wc-primary-text:#fff;--wc-secondary:#F2F4F5;--wc-secondary-text:#1D1F20;
}
body{color:var(--lp-ink)}
/* Focus: a 2 px LEIPOLE Blue ring. Selection and native controls follow the same blue. */
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--lp-brand);outline-offset:2px}
body ::selection{background:var(--lp-brand-200);color:var(--lp-ink)}
body :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--lp-brand)}
/* Buttons: 44 px high, 2 px corners, brand fill. Hover 600, pressed 700. */
body .elementor :is(.elementor-button,.elementor-cta__button),body .woocommerce :is(a.button,button.button,input.button,.single_add_to_cart_button),body .wpforms-submit,body .lp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background-color:var(--lp-brand)!important;color:#fff!important;border-color:var(--lp-brand)!important;border-radius:var(--lp-radius)!important;box-shadow:none!important;font-family:var(--lp-font-body)!important;font-weight:500!important;letter-spacing:0;text-transform:none}
body .elementor .elementor-button.elementor-size-xs{min-height:36px}
body .elementor :is(.elementor-button,.elementor-cta__button):is(:hover,:focus-visible),body .woocommerce :is(a.button,button.button,input.button,.single_add_to_cart_button):is(:hover,:focus-visible),body .wpforms-submit:is(:hover,:focus-visible),body .lp-button:is(:hover,:focus-visible){background-color:var(--lp-brand-hover)!important;color:#fff!important;border-color:var(--lp-brand-hover)!important}
body .elementor :is(.elementor-button,.elementor-cta__button):active,body .woocommerce :is(a.button,button.button,input.button):active,body .lp-button:active{background-color:var(--lp-brand-deep)!important;border-color:var(--lp-brand-deep)!important}
/* Fields: 1 px Steel Grey border, 2 px corners; labels above the field in the caps label style. */
body .elementor-field-group :is(input,textarea,select).elementor-field,body .elementor-field-group .elementor-select-wrapper select,body .woocommerce :is(input.input-text,select,textarea),body .wpforms-field :is(input,select,textarea){border:1px solid var(--lp-steel)!important;border-radius:var(--lp-radius)!important;background:#fff;color:var(--lp-ink);box-shadow:none}
body .elementor-field-group :is(input,textarea,select).elementor-field:focus,body .elementor-field-group .elementor-select-wrapper select:focus{border-color:var(--lp-brand)!important}
body .elementor-field-group .elementor-field-label,body .wpforms-field-label{font-size:12px;line-height:1.45;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-ink-60)}
body .elementor-field-group .elementor-field::placeholder{color:var(--lp-steel);opacity:1}
/* Links in editorial content: Deep Blue, LEIPOLE Blue on hover. */
body :is(.elementor-widget-text-editor,.elementor-widget-theme-post-content,.elementor-widget-woocommerce-product-short-description,.elementor-widget-woocommerce-product-content,.woocommerce-breadcrumb,.elementor-post__read-more,.elementor-widget-posts .elementor-post__title) a{color:var(--lp-brand-deep);text-underline-offset:3px}
body :is(.elementor-widget-text-editor,.elementor-widget-theme-post-content,.elementor-widget-woocommerce-product-short-description,.elementor-widget-woocommerce-product-content,.woocommerce-breadcrumb,.elementor-post__read-more,.elementor-widget-posts .elementor-post__title) a:hover{color:var(--lp-brand)}
body .elementor-widget-woocommerce-breadcrumb .woocommerce-breadcrumb a{color:var(--lp-brand-deep)!important}body .elementor-widget-woocommerce-breadcrumb .woocommerce-breadcrumb a:hover{color:var(--lp-brand)!important}
/* Cards, images and tables keep square corners. Tabs and pagination take the brand blue. */
body .elementor :is(.elementor-widget-image img,.elementor-post__thumbnail__link,.elementor-post__thumbnail img,.elementor-post__card,.elementor-image-box-img img,.uael-post__inner-wrap,.uael-post__thumbnail img,.elementor-icon-box-wrapper,.elementor-testimonial-wrapper){border-radius:0!important}
body .woocommerce ul.products li.product :is(img,.woocommerce-LoopProduct-link){border-radius:0}
body .elementor .e-n-tab-title{border-color:var(--lp-brand)!important}
body .elementor .e-n-tab-title:is(:hover,[aria-selected=true]){background-color:var(--lp-brand)!important;color:#fff!important}
body .elementor .e-n-tab-title:is(:hover,[aria-selected=true]) .e-n-tab-title-text{color:#fff!important}
body .elementor-pagination :is(a,span){border-radius:var(--lp-radius)}
body .elementor-pagination .page-numbers.current{background:var(--lp-brand);color:#fff}
body table :is(th,td){font-variant-numeric:tabular-nums}
/* Tables inside editorial widgets scroll within the widget instead of widening the page. */
@media(max-width:767px){body :is(.e-con,.e-con-inner,.elementor-column,.elementor-widget-wrap,.elementor-widget-text-editor,.elementor-widget-theme-post-content){min-width:0}body :is(.elementor-widget-text-editor,.elementor-widget-theme-post-content),body :is(.elementor-widget-text-editor,.elementor-widget-theme-post-content) .elementor-widget-container{overflow-x:auto;max-width:100%}}
/* Fixed-width reCAPTCHA frames stay inside narrow form columns. */
@media(max-width:767px){body .elementor-field-type-recaptcha{width:100%!important;justify-content:flex-start;overflow-x:auto}body .elementor-field-type-recaptcha>.elementor-field{width:auto;max-width:100%;margin:0!important}}
/* Support page statistics: neutral rules instead of the template's peach borders. */
body.page-id-3285 .elementor-element-71a9b25c :is(.elementor-widget-wrap,.elementor-widget-container,.elementor-widget,.elementor-column){border-color:var(--lp-line)!important}
/* Elementor post lists stack their thumbnail above the text on small screens. */
@media(max-width:767px){body .elementor-posts--thumbnail-left .elementor-post,body .elementor-posts--thumbnail-right .elementor-post{flex-direction:column}body .elementor-posts--thumbnail-left .elementor-post__thumbnail__link,body .elementor-posts--thumbnail-right .elementor-post__thumbnail__link{width:100%!important;max-width:100%;margin:0 0 16px!important}body .elementor-posts .elementor-post__thumbnail img{width:100%;height:auto;max-width:100%}body .elementor-posts--thumbnail-left .elementor-post__text,body .elementor-posts--thumbnail-right .elementor-post__text{width:100%;margin:0}}
