/**
 * AIOP / STL Elementor widgets — pass responsive tablet e mobile.
 * Breakpoint: ≤1024px (tablet), ≤767px (mobile). Desktop invariato.
 */

@media (max-width: 1024px) {
	.elementor-widget-aiop-badge-socio,
	.elementor-widget-aiop-collateral-events,
	.elementor-widget-aiop-content-card,
	.elementor-widget-aiop-event-speakers-list,
	.elementor-widget-aiop-hotel-details,
	.elementor-widget-aiop-language-selector-2,
	.elementor-widget-aiop-login-button,
	.elementor-widget-aiop-pdf-visualize,
	.elementor-widget-aiop-premi-socio,
	.elementor-widget-aiop-slider-vertical-images,
	.elementor-widget-aiop-theme-logo,
	.elementor-widget-aiop-video-slider,
	.elementor-widget-aiop-vod-hero-cover,
	.elementor-widget-stl-flip-box,
	.elementor-widget-stl-tabella-costi,
	.elementor-widget-stl-faculty,
	.elementor-widget-stl-search,
	.elementor-widget-aiop-prossimo-evento,
	.elementor-widget-aiop-socio-vod-preferences,
	.elementor-widget-aiop-events-slider,
	.elementor-widget-aiop-event-slider-2,
	.elementor-widget-aiop-event-slider-infinite,
	.elementor-widget-aiop-custom-slider,
	.elementor-widget-aiop-header-slider,
	.elementor-widget-aiop-content-slider-2,
	.elementor-widget-aiop-iniziative-future,
	.elementor-widget-aiop-home-eventi-futuri,
	.elementor-widget-aiop-eventi-futuri,
	.elementor-widget-aiop-text-image,
	.elementor-widget-aiop-countdown,
	.elementor-widget-aiop-ready-talk,
	.elementor-widget-aiop-vod-search,
	.elementor-widget-aiop-slider-video-od,
	.elementor-widget-aiop-relatori-od,
	.elementor-widget-aiop-footer-help-nav,
	.elementor-widget-aiop-logos-marquee,
	.elementor-widget-aiop-hero-stats,
	.elementor-widget-aiop-visible-image,
	.elementor-widget-aiop-hotel-details {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.aiop-events-slider__container {
		height: min(500px, 62vw);
	}

	.aiop-events-slider__card {
		width: min(300px, 78vw);
		height: min(400px, 105vw);
	}

	.aiop-event-slider-2__container,
	.aiop-event-slider-infinite__container {
		min-height: min(420px, 70vw);
	}

	/* Content Card */
	.aiop-card {
		min-height: min(420px, 72vw);
		transform: none;
	}

	.aiop-card__inner {
		padding: clamp(14px, 3.5vw, 20px);
	}

	/* Badge socio */
	.aiop-badge-socio__list {
		gap: 8px;
	}

	.aiop-badge-socio__badge {
		min-height: 44px;
		padding: 0.5em 0.9em;
	}

	/* Collateral events slider */
	.aiop-slider--collateral .aiop-slider__track {
		gap: 12px;
		padding-inline: clamp(0.5rem, 2vw, 1rem);
		scroll-padding-inline: clamp(0.5rem, 2vw, 1rem);
	}

	.aiop-coll-card {
		flex: 0 0 min(var(--card-width, 280px), 78vw);
		width: min(var(--card-width, 280px), 78vw);
		min-height: min(var(--card-height, 180px), 42vw);
		padding: 16px;
	}

	/* Event speakers */
	.aiop-event-speakers-list {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)) !important;
		gap: 0.65em 1rem;
	}

	/* Hotel details */
	.aiop-hotel-details {
		padding: clamp(14px, 3vw, 20px);
	}

	.aiop-hd__image {
		height: min(220px, 42vw);
	}

	/* Language selector 2 */
	.aiop-language-selector-2__button {
		min-height: 44px;
		padding-inline: 10px;
	}

	.aiop-language-selector-2__text {
		max-width: 6rem;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Login button */
	.elementor-widget-aiop-button-login .aiop-login-button {
		min-height: 44px;
		padding: 0.65rem 1.1rem;
		font-size: clamp(12px, 2.8vw, 15px);
	}

	/* PDF viewer */
	.aiop-pdf-visualize {
		min-height: min(70vh, 720px);
	}

	.aiop-pdf-visualize iframe {
		min-height: min(70vh, 720px);
	}

	/* Premi socio */
	.aiop-premi-socio__nav {
		width: 44px;
		height: 44px;
	}

	.aiop-premi-socio__track {
		gap: 14px;
		padding-inline: 2px;
	}

	/* Vertical images slider */
	.aiop-vert__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aiop-vert__img {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 280 / 360;
	}

	.aiop-vert__col:nth-child(even) {
		padding-top: 0;
	}

	/* Video slider */
	.elementor-widget-aiop-video-slider .aiop-video-slider__content-inner {
		padding: clamp(12px, 3vw, 24px);
		max-width: 100%;
	}

	.elementor-widget-aiop-video-slider .aiop-video-slider__back-button {
		min-height: 44px;
		min-width: 44px;
	}

	/* VOD hero */
	.aiop-vod-hero__media {
		min-height: min(56vh, 520px);
	}

	.aiop-vod-hero__overlay-inner {
		padding: clamp(12px, 4vw, 28px);
	}

	/* STL Flip Box */
	.elementor-widget-stl-flip-box .stl-flipbox__text-group,
	.elementor-widget-stl-flip-box .stl-flipbox__graphic {
		max-width: calc(100% - 24px);
	}

	.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner {
		min-height: 44px;
	}

	/* Tabella costi */
	.elementor-widget-stl-tabella-costi .stl-tabella-costi__nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	/* Prossimo evento (plugin CSS) */
	.aiop-prossimo-evento__card {
		max-width: 100%;
	}

	/* Socio VOD preferences */
	.aiop-socio-vod-prefs {
		max-width: 100%;
		padding-inline: clamp(0.5rem, 3vw, 1rem);
	}

	.aiop-socio-vod-prefs__grid {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
		max-height: min(360px, 50vh);
	}

	/* React embed roots */
	.aiop-event-program,
	.aiop-mappa-socio-ui,
	.aiop-geolocalization-soci-ui,
	.aiop-consiglio-direttivo,
	.aiop-consiglio-direttivo-new,
	.aiop-commissioni,
	.aiop-contest-winners,
	.aiop-past-presidents,
	.aiop-socioprezzo {
		width: 100%;
		max-width: 100%;
		overflow-x: clip;
	}
}

@media (max-width: 767px) {
	.aiop-card {
		min-height: min(360px, 95vw);
	}

	.aiop-card__meta {
		flex-wrap: wrap;
		gap: 8px;
		font-size: 13px;
	}

	.aiop-coll-card {
		flex: 0 0 min(var(--card-width, 280px), 88vw);
		width: min(var(--card-width, 280px), 88vw);
	}

	.aiop-event-speakers-list {
		grid-template-columns: 1fr !important;
	}

	.aiop-hd__button-wrap {
		justify-content: stretch;
	}

	.aiop-hd__button {
		width: 100%;
		min-height: 44px;
	}

	.aiop-language-selector-2 {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.aiop-language-selector-2__button {
		width: 100%;
	}

	.aiop-pdf-visualize,
	.aiop-pdf-visualize iframe {
		min-height: min(65dvh, 640px);
	}

	.aiop-vert__grid {
		grid-template-columns: 1fr;
	}

	.aiop-vert__toggle {
		width: 48px;
		height: 48px;
	}

	.elementor-widget-aiop-video-slider .aiop-video-slider__overlay-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
	}

	.aiop-vod-hero__media {
		min-height: min(48dvh, 420px);
	}

	.aiop-vod-hero__actions-row {
		flex-wrap: wrap;
		row-gap: 0.5rem;
	}

	.aiop-vod-hero__actions-row .aiop-slider-vod__play,
	.aiop-vod-hero__actions-row .aiop-slider-vod__action--like,
	.aiop-vod-hero__actions-row .aiop-slider-vod__action--add-list,
	.aiop-vod-hero__actions-row .aiop-vod-hero__audio-control {
		min-width: 44px;
		min-height: 44px;
	}

	.elementor-widget-stl-flip-box .elementor-flip-box {
		min-height: min(340px, 92vw);
	}

	.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-top-left,
	.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-top-right,
	.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-bottom-left,
	.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-bottom-right {
		left: 12px;
		right: 12px;
		bottom: 12px;
		top: auto;
	}

	.aiop-socio-vod-prefs__grid {
		grid-template-columns: 1fr;
		max-height: none;
	}

	.aiop-socio-vod-prefs__actions .button,
	.aiop-socio-vod-prefs__actions button {
		width: 100%;
		min-height: 44px;
	}

	.aiop-events-slider__container {
		height: min(440px, 95vw);
	}

	.aiop-events-slider__card {
		width: min(250px, 88vw);
		height: min(350px, 118vw);
	}

	.aiop-events-slider__nav-button {
		width: 44px;
		height: 44px;
	}

	.aiop-events-slider__nav-button--prev {
		left: 8px;
	}

	.aiop-events-slider__nav-button--next {
		right: 8px;
	}

	.aiop-event-slider-2__card,
	.aiop-event-slider-infinite__card {
		width: min(var(--card-width, 280px), 90vw);
	}
}
