/* WordPress / Elementor compatibility tweaks for the SOS 2026 theme. */

/* Admin bar: keep the fixed header below it while logged in. */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}

/* Elementor wrappers must not constrain the full-bleed sections. */
.elementor-section .elementor-container,
.elementor-widget-html,
.elementor-widget-shortcode { max-width: none; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }
.elementor-widget:not(:last-child) { margin-bottom: 0; }

/* The theme's .container handles gutters; Elementor columns stay flush. */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0; }

/* -------------------------------------------------------------------------
 * Elementor layout helpers — add these classes on an Elementor SECTION
 * (Advanced → CSS Classes) to reproduce the theme layouts with native
 * Elementor columns:
 *
 *   section                → standard section spacing
 *   section section--tight → tighter section spacing
 *   sos-split              → two-column split (like .container.split)
 *   sos-split sos-start    → split aligned to top (forms, agendas)
 *   sos-grid2              → two-column card grid (workshops)
 * ---------------------------------------------------------------------- */
.elementor-section.sos-split > .elementor-container,
.elementor-section.sos-grid2 > .elementor-container {
	width: min(var(--container, 1180px), calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 60px;
	align-items: center;
}
.elementor-section.sos-grid2 > .elementor-container {
	grid-template-columns: repeat(2, 1fr);
	gap: 26px;
	align-items: stretch;
}
.elementor-section.sos-split.sos-start > .elementor-container { align-items: start; }
.elementor-section.sos-split > .elementor-container > .elementor-column,
.elementor-section.sos-grid2 > .elementor-container > .elementor-column {
	width: 100% !important;
}
@media (max-width: 940px) {
	.elementor-section.sos-split > .elementor-container { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
	.elementor-section.sos-grid2 > .elementor-container { grid-template-columns: 1fr; }
}

/* Full-height cards inside grid columns (workshops). */
.sos-grid2 .elementor-column,
.sos-grid2 .elementor-widget-wrap,
.sos-grid2 .elementor-widget,
.sos-grid2 .elementor-widget-container,
.sos-grid2 .sos-workshop { height: 100%; }

/* Split visual frame inherits the theme's .split .visual look. */
.elementor-section.sos-split .visual {
	border-radius: var(--radius, 18px);
	overflow: hidden;
	border: 1px solid rgba(236, 207, 146, .25);
	position: relative;
}
.elementor-section.sos-split .visual img { display: block; width: 100%; height: auto; }

/* Multi-row visual sections: keep a single .section rhythm across several
 * stacked Elementor sections. */
.elementor-section.sos-no-bottom { padding-bottom: 0 !important; }
.elementor-section.sos-no-top { padding-top: 0 !important; }
.elementor-section.sos-mid { padding-top: 0 !important; padding-bottom: 0 !important; }
