/* Aabalance Elementor components: shared styles for native widgets, applied through aab-* classes.
   Values reproduce the site's original Jeg Kit design; per-instance values live in the widgets' own controls. */

/* Glass panel: blurs what is behind the element (Advanced > CSS Classes: aab-glass). */
.elementor-widget.aab-glass,.elementor-widget.aab-glass>*{position:relative}
.elementor-widget.aab-glass::before,.elementor-column.aab-glass>.elementor-element-populated::before{content:"";width:100%;height:100%;position:absolute;left:0;top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:inherit;background-color:inherit}

/* Text block narrower than its column (aab-maxw-NN, -t- tablet, -m- mobile); follows the widget's alignment. */
.elementor-widget-text-editor[class*="aab-maxw-"]>.elementor-widget-container{display:inline-block;width:100%;vertical-align:top}
.aab-maxw-50>.elementor-widget-container{max-width:50%}
.aab-maxw-77>.elementor-widget-container{max-width:77%}
.aab-maxw-90>.elementor-widget-container{max-width:90%}
@media (max-width:1024px){.aab-maxw-t-70>.elementor-widget-container{max-width:70%}}
@media (max-width:767px){.aab-maxw-m-90>.elementor-widget-container{max-width:90%}}

/* Buttons: icon size independent of the label size. */
.aab-button .elementor-button-icon{font-size:16px}
.aab-button.aab-icon-size-20 .elementor-button-icon{font-size:20px}
.aab-button .elementor-button-icon i{line-height:1}

/* Fun fact: icon, counting number with a raised accent sign, title (Counter widget + aab-fun-fact aab-icon-NAME). */
.aab-fun-fact .elementor-counter{display:flex;flex-direction:column;align-items:center;text-align:center}
.aab-fun-fact .elementor-counter::before{display:block;order:0;padding:15px;font-family:jkiticon;font-size:60px;font-weight:400;line-height:1;color:var(--e-global-color-b64bbc0,#fff);transition:transform .3s}
.aab-fun-fact .elementor-counter:hover::before{transform:translateY(-8px)}
.aab-fun-fact .elementor-counter-number-wrapper{order:1;display:block;margin-bottom:10px;flex-grow:0}
.aab-fun-fact .elementor-counter-number-prefix,.aab-fun-fact .elementor-counter-number-suffix{flex-grow:0;text-align:inherit}
.aab-fun-fact .elementor-counter-title{order:2;margin:0 0 10px}
.aab-fun-fact .elementor-counter-number-suffix sup{font-family:var(--e-global-typography-accent-font-family),sans-serif;font-size:var(--e-global-typography-accent-font-size,24px);font-weight:var(--e-global-typography-accent-font-weight,600);line-height:var(--e-global-typography-accent-line-height,1.5);color:var(--e-global-color-secondary,#51c4d3);vertical-align:super}
.aab-fun-fact.aab-icon-Document-Search-light .elementor-counter::before{content:"\fbbc"}
.aab-fun-fact.aab-icon-Profile-light .elementor-counter::before{content:"\fbd7"}
.aab-fun-fact.aab-icon-angle-left-solid .elementor-counter::before{content:"\e924"}
.aab-fun-fact.aab-icon-angle-right-solid .elementor-counter::before{content:"\e925"}
.aab-fun-fact.aab-icon-apartment1-light .elementor-counter::before{content:"\f801"}
.aab-fun-fact.aab-icon-arrow-right-light .elementor-counter::before{content:"\f87a"}
.aab-fun-fact.aab-icon-arrow-right-line .elementor-counter::before{content:"\ef1b"}
.aab-fun-fact.aab-icon-arrow-right-solid .elementor-counter::before{content:"\e942"}
.aab-fun-fact.aab-icon-badge-light .elementor-counter::before{content:"\fb36"}
.aab-fun-fact.aab-icon-bitcoin .elementor-counter::before{content:"\e97d"}
.aab-fun-fact.aab-icon-burger-menu-light .elementor-counter::before{content:"\fab8"}
.aab-fun-fact.aab-icon-certificate-solid .elementor-counter::before{content:"\e9eb"}
.aab-fun-fact.aab-icon-chart-area-solid .elementor-counter::before{content:"\e9f0"}
.aab-fun-fact.aab-icon-check-light .elementor-counter::before{content:"\faaf"}
.aab-fun-fact.aab-icon-clock-1-light .elementor-counter::before{content:"\f9f8"}
.aab-fun-fact.aab-icon-consut2-light .elementor-counter::before{content:"\f96d"}
.aab-fun-fact.aab-icon-envelope11-light .elementor-counter::before{content:"\f96f"}
.aab-fun-fact.aab-icon-facebook-light .elementor-counter::before{content:"\fb43"}
.aab-fun-fact.aab-icon-instagram-1-light .elementor-counter::before{content:"\fb6c"}
.aab-fun-fact.aab-icon-invest-light .elementor-counter::before{content:"\f971"}
.aab-fun-fact.aab-icon-map-pin-line .elementor-counter::before{content:"\efa0"}
.aab-fun-fact.aab-icon-minus-solid .elementor-counter::before{content:"\ec97"}
.aab-fun-fact.aab-icon-mutual-fund-light .elementor-counter::before{content:"\f974"}
.aab-fun-fact.aab-icon-phone-line .elementor-counter::before{content:"\efc1"}
.aab-fun-fact.aab-icon-plus-solid .elementor-counter::before{content:"\ed18"}
.aab-fun-fact.aab-icon-pricing-list-light .elementor-counter::before{content:"\f926"}
.aab-fun-fact.aab-icon-quote2-light .elementor-counter::before{content:"\fab7"}
.aab-fun-fact.aab-icon-star-half .elementor-counter::before{content:"\edf0"}
.aab-fun-fact.aab-icon-star-solid .elementor-counter::before{content:"\edf3"}
.aab-fun-fact.aab-icon-team-1-light .elementor-counter::before{content:"\f9c6"}
.aab-fun-fact.aab-icon-team-2-line .elementor-counter::before{content:"\eff6"}
.aab-fun-fact.aab-icon-times-solid .elementor-counter::before{content:"\ee51"}
.aab-fun-fact.aab-icon-user-circle .elementor-counter::before{content:"\ee96"}
.aab-fun-fact.aab-icon-users-light .elementor-counter::before{content:"\f82b"}

/* Animated text: the original highlight shapes (aab-shape-circle / -underline, drawn by components.js) or none. */
.aab-animated-text .elementor-headline-dynamic-wrapper{display:inline-block;position:relative;vertical-align:bottom;overflow:visible}
.aab-animated-text .elementor-headline-dynamic-wrapper svg{position:absolute;left:0;overflow:visible;transform:none}
.aab-shape-underline .elementor-headline-dynamic-wrapper svg{top:90%;width:100%;height:100%}
.aab-shape-circle .elementor-headline-dynamic-wrapper svg{top:0;width:calc(100% + 20px);height:calc(100% + 20px);transform:translate(-10px,-10px)}
.aab-shape-none .elementor-headline-dynamic-wrapper svg{display:none}
.aab-animated-text .elementor-headline{margin:0}

/* Text blocks keep their paragraphs' margins inside the block, as the original design did. */
.aab-text-block>.elementor-widget-container{display:flow-root}

/* Card boxes (Call to Action widget + aab-cta-box): content from the top, original transitions. */
.aab-cta-box .elementor-cta__content{transition:all .4s ease}
.aab-cta-box .elementor-cta__content-item{transition-duration:.4s}
.aab-cta-box .elementor-cta__description p:last-child{margin-bottom:0}
.aab-cta-box p.elementor-cta__description{margin-top:0}
.aab-icon-hover-b64bbc0 .elementor-cta:hover .elementor-icon{color:var(--e-global-color-b64bbc0,#fff)}
.aab-icon-hover-primary .elementor-cta:hover .elementor-icon{color:var(--e-global-color-primary,#126e82)}

/* Equal-height cards: the card fills its column; its content min-height carries the measured card height. */
.aab-equal-height .elementor-cta__content{align-content:flex-start}

/* Image cards: photo above the coloured body, lifts on hover. */
.aab-bg-contain .elementor-cta__bg{background-size:contain;background-repeat:no-repeat}
.aab-hover-float .elementor-cta{transition:transform .3s ease-out}
.aab-hover-float .elementor-cta:hover{transform:translateY(-8px)}
.aab-btn-icon-gap-10 .elementor-cta__button i{margin-left:10px}

/* Accordion (aab-accordion): separated cards with shadows; the open item is filled. */
.aab-accordion .elementor-accordion-item{border:0;margin-bottom:10px}
.aab-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:0}
.aab-accordion .elementor-accordion .elementor-accordion-item .elementor-tab-title{position:relative;display:block;border:1px solid transparent;margin-bottom:15px;box-shadow:-15px 10px 25px -15px rgba(0,0,0,.1);transition:all .3s}
.aab-accordion .elementor-accordion .elementor-accordion-item .elementor-tab-title.elementor-active{border:1px solid transparent!important;background-color:var(--e-global-color-primary,#126e82);box-shadow:-15px 15px 15px 0 rgba(0,0,0,.1)}
.aab-accordion .elementor-accordion-item:not(:has(.elementor-active)){margin-bottom:0}
.aab-accordion .elementor-tab-title .elementor-accordion-title{display:block;padding-right:10px}
.aab-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon{position:absolute;right:31px;top:50%;transform:translateY(-50%);float:none;width:auto;font-size:20px;line-height:1;text-align:right}
.aab-accordion .elementor-accordion-icon i{display:block;line-height:1}
@media (max-width:1024px){.aab-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon{font-size:18px}}
.aab-accordion .elementor-tab-content{border-top:0}

/* Testimonial carousel (Reviews widget + aab-testimonials): quote mark, text, stars, name, company. */
.aab-testimonials .swiper-slide{position:relative;align-self:flex-start;height:auto;box-shadow:0 3px 15px 0 rgba(0,0,0,.16)}
.aab-testimonials .swiper-slide::after{content:"\fab7";font-family:jkiticon;font-size:99px;line-height:99px;color:var(--e-global-color-text,#d8e3e7);position:absolute;left:400px;top:180px;pointer-events:none}
.aab-testimonials .elementor-testimonial{display:flex;flex-direction:column-reverse}
.aab-testimonials .elementor-testimonial__header,.aab-testimonials .elementor-testimonial__content{padding:0!important;border:0!important;background:none!important}
.aab-testimonials .elementor-testimonial__text{margin:30px 0}
.aab-testimonials .elementor-testimonial__cite{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.aab-testimonials .elementor-testimonial__name{margin-bottom:10px}
.aab-testimonials .elementor-testimonial__title{margin-bottom:.9em}
/* Stars and dots scale with the body text (18/17/15px, line 1.5) like the original. */
.aab-testimonials .elementor-star-rating{order:-1;margin-bottom:15px}
.elementor-widget.aab-testimonials .elementor-star-rating{font-size:18px!important;line-height:1.5em;height:1.5em}
@media (max-width:1024px){.elementor-widget.aab-testimonials .elementor-star-rating{font-size:17px!important}}
@media (max-width:767px){.elementor-widget.aab-testimonials .elementor-star-rating{font-size:15px!important}}
.aab-testimonials .elementor-star-rating i{font-family:jkiticon;font-style:normal;color:transparent!important}
.aab-testimonials .elementor-star-rating i::before{content:"\edf3"!important;font-family:jkiticon;color:var(--e-global-color-primary,#126e82)}
.aab-cta-box .elementor-cta .elementor-icon-wrapper{line-height:0}
.aab-cta-box .elementor-cta__image img{display:block}
.aab-testimonials .elementor-main-swiper{width:100%;margin:0}
.elementor-widget.aab-testimonials .elementor-main-swiper.swiper{padding-bottom:1.5em!important}
.aab-testimonials .elementor-testimonial{padding:50px}
@media (max-width:767px){.aab-testimonials .elementor-testimonial{padding:20px 30px 174px}}
.elementor-widget.aab-testimonials .swiper-pagination{bottom:0;height:1.5em;line-height:1.5em}
.aab-testimonials .swiper-pagination-bullet{vertical-align:middle}
.aab-cta-box .elementor-cta__button{white-space:nowrap}
.aab-testimonials .elementor-main-swiper .swiper-slide{border:0!important}
.elementor-widget.aab-testimonials .elementor-star-rating i{display:inline-block;width:1em;height:1.5em;line-height:1.5em;overflow:visible}
.aab-testimonials .elementor-star-rating i::before{position:absolute;left:0;top:0;width:auto}

/* Post cards (Loop Grid + template "Aabalance – artikkelikortti"): photo, category badge, overlapping panel. */
.aab-post-card{position:relative}
.elementor-widget.aab-post-card__thumb .elementor-widget-container a{display:block;width:100%}
.elementor-widget.aab-post-card__thumb .elementor-widget-container img{display:block;width:100%!important;height:350px!important;object-fit:cover;background:#eaeaeb}
.elementor-widget.aab-post-card__badge{position:absolute;left:0;top:299px;z-index:3;width:auto;margin:0}
.elementor-widget.aab-post-card__badge .elementor-icon-list-items.elementor-post-info{margin:0;padding:15px;background-color:var(--e-global-color-primary,#126e82);line-height:21px}
.elementor-widget.aab-post-card__badge .elementor-icon-list-items .elementor-icon-list-item{margin:0!important;padding:0!important}
.aab-post-card__badge .elementor-icon-list-item::after{display:none}
.aab-post-card__badge a{color:var(--e-global-color-b64bbc0,#fff);letter-spacing:.48px}
.aab-post-card__body{position:relative;z-index:2}
.aab-post-card__title .elementor-heading-title a{color:inherit}
.elementor-widget.aab-post-meta .elementor-icon-list-items.elementor-post-info{margin:0}
.aab-post-meta .elementor-icon-list-item{margin:0!important;padding:0!important;line-height:21px}
.aab-post-meta .elementor-icon-list-item::after{display:none}
.aab-post-card__more .elementor-button{line-height:13px}

/* Post list (Loop Grid + template "Aabalance – artikkelilista"): whole row is the link. */
.aab-post-list-item{color:inherit}
.aab-post-list-item:hover .aab-post-list-item__title .elementor-heading-title{color:var(--e-global-color-primary,#126e82)}
/* Date row inherits the body line height (27px desktop, 25.5px tablet, 22.5px mobile) like the original. */
.aab-post-list-item .aab-post-meta,.aab-post-list-item .aab-post-meta .elementor-icon-list-items,.aab-post-list-item .aab-post-meta .elementor-icon-list-text{line-height:inherit}

/* Previous / next arrows under a post list (aab-pagination-arrows). */
/* 38px = original 30px gap + 8px descender space under its inline-block pager. */
.aab-pagination-arrows .elementor-pagination{display:flex;justify-content:space-between;margin:0 0 38px;line-height:1}
.aab-pagination-arrows .elementor-pagination .page-numbers{display:inline-block;margin:0;padding:.6rem 1.5rem;border:1px solid #eaeaeb;border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.08);font-size:.875rem;line-height:1.5;color:#575a5f;transition:.25s ease}
.aab-pagination-arrows .elementor-pagination span.page-numbers{color:#a0a0a0;border-color:#eee;opacity:.5}
.aab-pagination-arrows .elementor-pagination .page-numbers i{position:relative;top:1px;pointer-events:none}
.elementor-element.aab-post-card:not(:has(.aab-post-card__thumb))::before{content:""!important;display:block!important;position:static!important;inset:auto!important;width:100%!important;height:350px!important;background-color:#eaeaeb!important;opacity:1!important;mix-blend-mode:normal!important}
.elementor-widget.aab-post-card__thumb{width:100%}
.aab-post-card__thumb a{display:block}
.elementor-widget.aab-post-card__badge .elementor-post-info__terms-list{font-size:0}
.elementor-widget.aab-post-card__badge .elementor-post-info__terms-list .elementor-post-info__terms-list-item{display:none!important;font-size:14px!important}
.elementor-widget.aab-post-card__badge .elementor-post-info__terms-list .elementor-post-info__terms-list-item:first-child{display:inline!important}
.aab-post-list-item .elementor-widget.aab-post-meta .elementor-icon-list-items .elementor-icon-list-item{line-height:inherit!important}

/* Header navigation (Nav Menu + aab-nav): 200px dropdown panel with 5px inset. */
.elementor-widget.aab-nav .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu{box-sizing:border-box;width:200px!important;min-width:200px!important;padding:5px;background-color:var(--e-global-color-b64bbc0,#fff)}
.elementor-widget.aab-nav .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu a{border:0;padding:15px!important;line-height:15.6px}
.aab-menu-toggle .elementor-icon-wrapper,.aab-panel-toggle .elementor-icon-wrapper{line-height:0}
.aab-menu-toggle .elementor-icon,.aab-panel-toggle .elementor-icon{display:inline-block;vertical-align:top;line-height:1}
.aab-nav .elementor-nav-menu--main{display:flex;justify-content:center}
.aab-nav .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap;white-space:nowrap}

/* Popups replacing the slide-out panels (aab-popup). */
.aab-popup .dialog-close-button i::before,.aab-popup .dialog-close-button .eicon-close::before{font-family:jkiticon;content:"\ee51"}
.aab-popup--panel .dialog-close-button{top:25px!important;left:25px;right:auto!important;font-size:20px}
.aab-popup--menu .dialog-close-button{top:22px!important;right:42px!important;width:45px;height:29px;padding:8px;display:flex;align-items:center;justify-content:center;background-color:#d8e3e7;font-size:13px}
.aab-popup--menu .aab-nav--vertical .elementor-nav-menu--main .elementor-item{border:0}
.aab-popup--menu .aab-nav--vertical .sub-arrow{padding:0 15px}
.aab-above-nav{position:relative;z-index:2}
/* Post card parity (measured against the original with real fonts):
   Jeg Kit's title line box was 26.8px (Heebo strut + Playfair link), the global typography gives 26px. */
.aab-post-card__title .elementor-heading-title{line-height:26.8px!important}
/* Badge: one 21px line inside a 12px strut, 15px padding = 51px like the original. */
.elementor-widget.aab-post-card__badge .elementor-icon-list-items .elementor-icon-list-item{display:block}
.aab-post-card__badge .elementor-icon-list-text{display:block;font-size:12px;line-height:12px}
/* Header parity (measured against the original on production):
   the nav column centres its content, so the widget's 20px bottom spacing pushed the menu 10px up;
   Jeg Kit spaced the dropdown arrow 5px from the label (Elementor: 10px);
   the side-panel icon glyph sat 3px higher. */
.elementor-widget.aab-nav:not(.aab-nav--vertical){margin-bottom:0!important}
.aab-nav:not(.aab-nav--vertical) .elementor-nav-menu--main .sub-arrow{padding-left:5px}
.aab-panel-toggle .elementor-icon{position:relative;top:-3px}
