/* ==========================================================================
   SDH Events — Single event styles
   All rules scoped to .sdh-single-event-* to avoid theme/Elementor conflicts.
   ========================================================================== */

/*
 * CSS custom properties are already declared in archive.css.
 * Redeclare here so single.css works standalone when archive.css is not loaded.
 */
:root {
    --matm-purple: #5B2D87;
    --matm-light-purple: #8B64B3;
    --matm-mid-purple: #834CB8;
    --matm-purple-dark: #4a2275;
    --matm-teal: #25B39D;
    --matm-teal-dark: #008a80;
    --matm-blue: #00437A;
    --matm-text: #1a1a1a;
    --matm-text-muted: #666666;
    --matm-light-grey: #F5F5F5;
    --matm-light-grey-82: #F5F5F5D1;
    --matm-border: #e0e0e0;
    --matm-white: #ffffff;
    --matm-card-radius: 28px 28px 28px 28px;
    --matm-filter-radius: 10px 10px 10px 10px;
}

/* --------------------------------------------------------------------------
   Article wrapper
   -------------------------------------------------------------------------- */

.sdh-single-event {
	display: block;
}

/* --------------------------------------------------------------------------
   Hero section
   -------------------------------------------------------------------------- */

.sdh-single-event__hero-wrap {
    padding: 0 20px;
    max-width: 1860px;
    margin: auto;
}

.elementor-icon-list-icon i {
    width: 24px;
}

.sdh-single-event__hero {
	background-color: var(--matm-purple);
    border-radius: 20px 20px 20px 20px;
    padding: 32px 10px;
    position: relative;
}

.sdh-single-event__hero__background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    img {
        width: 100%;
    }
}

.sdh-single-event__hero-inner {
	max-width: 1300px;
    padding: 10px;
	margin: 0 auto;
	display: grid;
    grid-template-columns: 40% 55%;
    gap: 5%;
	align-items: center;
}

/* Hero image column */
.sdh-single-event__hero-image-col {
	display: flex;
	align-items: center;
	justify-content: center;;
}

.sdh-single-event__hero-image {
	width: 100%;
	max-width: 512px;
	height: auto;
	display: block;
    padding: 10px;
}

.sdh-single-event__hero-image-placeholder {
	width: 100%;
	max-width: 440px;
	aspect-ratio: 4 / 3;
	background-color: rgba(255, 255, 255, 0.1);
}

/* Hero meta column */
.sdh-single-event__hero-meta-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Category badge */
.sdh-single-event__cat {
    display: inline-block;
    align-self: flex-start;
    color: var(--matm-white);
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    margin: 8px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
    padding: 8px 20px 8px 16px;
    background-color: var(--matm-mid-purple);
    border-radius: 14px 14px 14px 14px;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);

    .icon-holder {
        padding-right: 5px;
    }
}

.sdh-single-event__cat:hover {
	border-color: var(--matm-white);
	background-color: var(--matm-purple-dark);
	color: var(--matm-white);
	text-decoration: none;
}

/* Event title */
body h1.sdh-single-event__title {
	margin: 0;
    font-size: 60px;
    font-weight: 600;
    line-height: 1.1em;
    letter-spacing: 0em;
    color: var(--matm-white);
}

/* Meta items */
.sdh-single-event__meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
    padding: 12px 12px 12px 12px;
}

.sdh-single-event__meta-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.7em;
    color: var(--matm-light-grey-82);
    /*padding: 12px 12px 12px 12px;*/
}

.sdh-single-event__meta-item .sdh-events-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin-top: 1px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Register Now CTA button */
.sdh-single-event__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	background-color: var(--matm-teal);
	color: var(--matm-white);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
	line-height: 1;
	margin-top: 4px;
    border-radius: 10px 10px 10px 10px;
    padding: 17px 20px 17px 20px;
}

.sdh-single-event__cta:hover {
	background-color: var(--matm-teal-dark);
	color: var(--matm-white);
	text-decoration: none;
}

.sdh-single-event__cta-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* --------------------------------------------------------------------------
   Content area
   -------------------------------------------------------------------------- */

.sdh-single-event__content {
	max-width: 1300px;
	margin: 0 auto;
	padding: 56px 24px 72px;
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 15px;
    }
}

/* Second CTA below content */
.sdh-single-event__content-cta-wrap {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid var(--matm-border);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 860px) {
	.sdh-single-event__hero-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.sdh-single-event__hero-image-col {
		order: -1;
	}

	.sdh-single-event__hero-image,
	.sdh-single-event__hero-image-placeholder {
		max-width: 100%;
	}

	body h1.sdh-single-event__title {
		font-size: 2rem;
	}
}

@media (max-width: 640px) {
	.sdh-single-event__hero {
		padding: 32px 16px;
	}

    body h1.sdh-single-event__title {
		font-size: 1.625rem;
	}

	.sdh-single-event__content {
		padding: 36px 16px 48px;
	}

    .sdh-single-event__meta-item {
        font-size: 16px;
    }

    .sdh-single-event__hero-image {
        padding: 0;
    }
}
