/**
 * EASL Congress 2027 — stock Elementor widget overrides.
 *
 * Makes the default Elementor / Elementor Pro / UAE widgets look like the EASL
 * design system, so pages built by marketing with stock widgets still read as
 * part of the site. Uses the tokens defined on :root in prototype.css (loaded
 * before this file), so colours and type follow the theme automatically.
 *
 * Scoped to .elementor-widget-* so it only touches page content, never the
 * admin. Deliberately light on !important: these are brand defaults, and a
 * deliberate colour set in Elementor should still win.
 *
 * @package Astra Child
 */

/* =========================================================================
   1. Typography — headings & body text in the EASL voice
   ====================================================================== */
.elementor-widget-heading .elementor-heading-title{
	font-family:var(--sans);
	color:var(--body);
	letter-spacing:-.022em;
	line-height:1.12;
}
.elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.2rem,5vw,3.9rem);letter-spacing:-.032em;line-height:1}
.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.8rem,3.4vw,2.85rem);letter-spacing:-.028em}
.elementor-widget-heading h3.elementor-heading-title{font-size:clamp(1.2rem,1.7vw,1.45rem);letter-spacing:-.018em;line-height:1.22}
.elementor-widget-heading h4.elementor-heading-title{font-size:1.0625rem;letter-spacing:-.01em}

.elementor-widget-text-editor{
	font-family:var(--sans);
	color:var(--ink-2);
	line-height:1.62;
}
.elementor-widget-text-editor a{color:var(--blue);text-underline-offset:2px}
.elementor-widget-text-editor a:hover{color:var(--red)}
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4{color:var(--body);font-family:var(--sans)}
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol{padding-left:1.15em}
.elementor-widget-text-editor li{margin:.3em 0}

/* =========================================================================
   2. Buttons — match .btn--solid (red) / .btn--line
   ====================================================================== */
.elementor-widget-button .elementor-button,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg{
	font-family:var(--sans);
	font-weight:500;
	letter-spacing:-.005em;
	border-radius:var(--r-sm);
	padding:.82em 1.5em;
	transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease);
}
/* Primary = EASL red. Only when the editor has not set its own background. */
.elementor-widget-button:not(.elementor-widget-button--custom) .elementor-button{
	background:var(--red);
	color:#fff;
}
.elementor-widget-button:not(.elementor-widget-button--custom) .elementor-button:hover{
	background:var(--red-dk);
	color:#fff;
}
.elementor-button:active{transform:translateY(1px)}

/* =========================================================================
   3. Tabs, Accordion, Toggle — the EASL accordion look
   (plus that rotates, blue accents, clean rules)
   ====================================================================== */
.elementor-tabs .elementor-tab-title,
.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title,
.elementor-tab-title{
	font-family:var(--sans);
	font-weight:600;
	letter-spacing:-.01em;
	color:var(--body);
	transition:color .2s var(--ease);
}
.elementor-tab-title.elementor-active,
.elementor-tab-title:hover{color:var(--red)}

/* Tabs */
.elementor-tabs .elementor-tabs-wrapper{border:0}
.elementor-tabs .elementor-tab-title{border:0;border-bottom:2px solid transparent;background:transparent;padding:.7em 1em}
.elementor-tabs .elementor-tab-title.elementor-active{border-bottom-color:var(--red);background:transparent}
.elementor-tabs .elementor-tab-content{border:0;border-top:1px solid var(--line);padding:22px 4px;font-family:var(--sans);color:var(--ink-2);line-height:1.6}
.elementor-tabs .elementor-tab-mobile-title{border-color:var(--line-2)}

/* Accordion + Toggle share Elementor's .elementor-accordion / .elementor-toggle */
.elementor-accordion .elementor-accordion-item,
.elementor-toggle .elementor-toggle-item{
	border:0;
	border-bottom:1px solid var(--line);
}
.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title{padding:18px 2px}
.elementor-accordion .elementor-tab-content,
.elementor-toggle .elementor-tab-content{
	border:0;padding:0 2px 20px;
	font-family:var(--sans);color:var(--ink-2);line-height:1.6;
}
/* the +/x icon */
.elementor-accordion .elementor-accordion-icon,
.elementor-toggle .elementor-toggle-icon{color:var(--blue)}
.elementor-tab-title.elementor-active .elementor-accordion-icon,
.elementor-tab-title.elementor-active .elementor-toggle-icon{color:var(--red)}

/* =========================================================================
   4. Alert — reuse the EASL notice palette
   ====================================================================== */
.elementor-widget-alert .elementor-alert{
	border:0;border-left:4px solid;border-radius:var(--r-md);
	font-family:var(--sans);padding:16px 18px;
}
.elementor-widget-alert .elementor-alert-title{font-weight:600;letter-spacing:-.01em}
.elementor-widget-alert .elementor-alert-description{color:inherit;opacity:.9}
.elementor-alert-info{background:var(--cyan-wash);border-left-color:var(--cyan);color:var(--ink-2)}
.elementor-alert-success{background:#E7F4EA;border-left-color:#3F9E4D;color:#1f6b2c}
.elementor-alert-warning{background:var(--amber-wash);border-left-color:var(--amber);color:var(--amber-dk)}
.elementor-alert-danger{background:var(--red-wash);border-left-color:var(--red);color:var(--red-dk)}

/* =========================================================================
   5. Icon Box / Image Box / Icon List — cards & lists in the EASL style
   ====================================================================== */
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon .elementor-icon{color:var(--blue)}
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title{
	font-family:var(--sans);color:var(--body);letter-spacing:-.014em;font-weight:600;
}
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-description{
	font-family:var(--sans);color:var(--muted);line-height:1.55;
}
.elementor-icon-list-item{font-family:var(--sans)}
.elementor-icon-list-item:not(:last-child){border-bottom-color:var(--line-2)!important}
.elementor-icon-list-text{color:var(--ink-2)}

/* =========================================================================
   6. Counter & Progress bar
   ====================================================================== */
.elementor-counter .elementor-counter-number-wrapper{
	font-family:var(--sans);color:var(--ink);font-weight:700;letter-spacing:-.03em;
}
.elementor-counter .elementor-counter-title{
	font-family:var(--sans);color:var(--muted);font-weight:500;margin-top:6px;
}
.elementor-progress-wrapper{border-radius:var(--r-sm);background:var(--line-2);overflow:hidden}
.elementor-progress-bar{background:var(--blue);color:#fff;font-family:var(--sans);font-weight:600}
.elementor-title{font-family:var(--sans);color:var(--body);font-weight:600}

/* =========================================================================
   7. Testimonial & Star rating
   ====================================================================== */
.elementor-testimonial-content,
.elementor-widget-testimonial .elementor-testimonial-content{
	font-family:var(--sans);color:var(--ink-2);font-size:1.15rem;line-height:1.5;
}
.elementor-testimonial-name{font-family:var(--sans);color:var(--body);font-weight:700}
.elementor-testimonial-job{color:var(--muted)}
.elementor-star-rating i{color:var(--amber)}
.elementor-star-rating__title{font-family:var(--sans);color:var(--body)}

/* =========================================================================
   8. Divider & Social icons
   ====================================================================== */
.elementor-widget-divider{--divider-color:var(--line)}
.elementor-widget-divider .elementor-divider-separator{border-top-color:var(--line)}
.elementor-social-icon{background:var(--blue);transition:background .2s var(--ease)}
.elementor-social-icon:hover{background:var(--red)}

/* =========================================================================
   9. Image, galleries & carousels — rounded corners + captions
   ====================================================================== */
.elementor-widget-image img,
.elementor-widget-image-carousel .swiper-slide img,
.elementor-widget-image-gallery .gallery-item img{border-radius:var(--r-md)}
.elementor-widget-image figcaption,
.elementor-image-carousel-caption{font-family:var(--sans);color:var(--muted);font-size:.8125rem}
/* Swiper nav + dots in brand colours (image carousel, media carousel) */
.elementor-swiper .elementor-swiper-button,
.swiper-pagination-bullet-active{color:var(--blue)}
.swiper-pagination-bullet-active{background:var(--red)}

/* =========================================================================
   10. Elementor Pro — Countdown, Flip Box, Call to Action, Price Table
   ====================================================================== */
/* Countdown */
.elementor-countdown-item{
	background:var(--mist);border-radius:var(--r-md);color:var(--ink);font-family:var(--sans);
}
.elementor-countdown-digits{font-weight:700;letter-spacing:-.03em;color:var(--blue)}
.elementor-countdown-label{color:var(--muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.7rem}

/* Flip box */
.elementor-flip-box__layer-title{font-family:var(--sans);letter-spacing:-.014em;font-weight:600}
.elementor-flip-box__front{background:var(--blue)}
.elementor-flip-box__back{background:var(--ink)}
.elementor-flip-box__button.elementor-button{background:var(--red);color:#fff}

/* Call to action */
.elementor-cta__title{font-family:var(--sans);color:var(--body);letter-spacing:-.02em}
.elementor-cta__description{font-family:var(--sans);color:var(--ink-2)}
.elementor-cta .elementor-cta__button.elementor-button{background:var(--red);color:#fff}

/* Price table */
.elementor-price-table{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;font-family:var(--sans)}
.elementor-price-table__header{background:var(--blue);color:#fff}
.elementor-price-table__heading{color:#fff;font-weight:600}
.elementor-price-table__price{color:var(--ink)}
.elementor-price-table__integer-part{font-weight:700;letter-spacing:-.03em}
.elementor-price-table__features-list li{color:var(--ink-2);border-top-color:var(--line-2)}
.elementor-price-table__button.elementor-button{background:var(--red);color:#fff}

/* =========================================================================
   11. UAE (Ultimate Addons) — timeline, table, content toggle, infobox
   ====================================================================== */
/* Advanced headings */
.uael-heading-text{font-family:var(--sans);color:var(--body);letter-spacing:-.02em}
.uael-heading-separator{border-top-color:var(--red)!important;background:var(--red)}
/* Timeline */
.uael-timeline__marker,.uael-timeline-marker{background:var(--red);border-color:var(--red)}
.uael-timeline__line,.uael-timeline-line{background:var(--line)}
.uael-timeline__day-text,.uael-timeline-desc-date{color:var(--muted);font-family:var(--sans)}
.uael-timeline__title,.uael-timeline-desc-title{font-family:var(--sans);color:var(--body);font-weight:600}
/* Content toggle (switcher) */
.uael-ct-slider-button-wrap{background:var(--line-2);border-radius:999px}
.uael-ct-active,.uael-content-toggle-indicator{background:var(--blue)}
.uael-ct-btn{font-family:var(--sans);font-weight:600}
/* Table */
.uael-table thead,.uael-table__head{background:var(--blue);color:#fff;font-family:var(--sans)}
.uael-table th{color:#fff}
.uael-table td,.uael-table th{border-color:var(--line);font-family:var(--sans)}
.uael-table tbody tr:nth-child(odd){background:var(--mist)}
/* Infobox */
.uael-infobox-title-wrap .uael-infobox-title{font-family:var(--sans);color:var(--body);font-weight:600}
.uael-infobox-text{color:var(--muted);font-family:var(--sans)}
.uael-infobox .uael-button-wrapper .uael-infobox-cta-link{color:var(--red)}

/* ---- REFINEMENTS v2 -------------------------------------------------- */
/* Price table: force the EASL-blue header and a red ribbon */
.elementor-price-table__header{background:var(--blue)!important}
.elementor-price-table__heading,
.elementor-price-table__subheading{color:#fff!important}
.elementor-price-table__ribbon-inner{background:var(--red)!important}
.elementor-price-table__currency,
.elementor-price-table__integer-part,
.elementor-price-table__after-price{color:var(--ink)!important}
/* Flip box: legible front/back, brand red action */
.elementor-flip-box__layer__overlay{padding:26px}
.elementor-flip-box__layer__description{font-family:var(--sans);line-height:1.5}
/* Icon box: a touch more breathing room + brand title weight */
.elementor-widget-icon-box .elementor-icon-box-title{margin-bottom:8px}
/* Alert: rounder + comfortable */
.elementor-widget-alert .elementor-alert{line-height:1.5}
/* Testimonial image a sensible size */
.elementor-testimonial-wrapper .elementor-testimonial-image img{width:56px;height:56px;object-fit:cover}
