/**
Theme Name: Astra Child rehasportOnline
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-rehasportonline
Template: astra
*/

/*Add your own styles here:*/

/* =========================================================================
 * EventON Termine-Liste — Karten-Redesign (Design Entwurf v2)
 * Seite: /termine-veranstaltungen-neu/  (page-id 10241)
 * Scope: NUR diese Seite. Stylt ausschliesslich die EventON-Listenkarten
 * (eventtop_style 2). Kein Hero/Filter/Stats — nur die Karten.
 * Status: v1 — nach Live-Render visuell feinjustieren.
 * ========================================================================= */

body.page-id-10241 {
	--rso-accent:       #EC7404;
	--rso-accent-600:   #cf6402;
	--rso-accent-100:   #f7d6b0;
	--rso-accent-50:    #fdeedd;
	--rso-head:         #1f2320;
	--rso-char:         #2b2e2a;
	--rso-ink:          #23271f;
	--rso-ink-70:       #4d5347;
	--rso-ink-50:       #787e72;
	--rso-line:         #e7e8e4;
	--rso-shadow-sm:    0 1px 2px rgba(25,28,22,.05);
	--rso-shadow-md:    0 4px 16px -6px rgba(25,28,22,.10), 0 2px 4px rgba(25,28,22,.04);
}

/* --- Listen-Rhythmus: jede Karte als eigenstaendiger Block ---------------- */
body.page-id-10241 .eventon_list_event {
	margin: 0 0 14px !important;
	border: 0 !important;
	background: transparent !important;
}
body.page-id-10241 .desc_trig_outter {
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Karten-Shell (die ganze klickbare Zeile) ---------------------------- */
body.page-id-10241 a.evcal_list_a {
	position: relative;
	display: flex !important;
	align-items: center !important;
	/* EventON erzwingt flex-wrap:wrap -> Karte wuerde vertikal stapeln */
	flex-wrap: nowrap !important;
	gap: 20px;
	/* Inline-Event-Farbe (z.B. background:#114594) gezielt ueberschreiben */
	background: #fff !important;
	/* clrD setzt sonst weisse Schrift -> hier dunkle Basisfarbe erzwingen */
	color: var(--rso-ink) !important;
	/* !important neutralisiert EventONs 3px Event-Farbrand links */
	border: 1px solid var(--rso-line) !important;
	border-radius: 14px;
	box-shadow: var(--rso-shadow-sm);
	padding: 18px 20px 18px 24px;
	min-height: 0 !important;
	height: auto !important;
	overflow: hidden;
	text-decoration: none !important;
	transition: box-shadow .25s ease, border-color .25s ease;
}
/* EventON Style-2 streckt die Spalten -> Hoehe/Padding/Float neutralisieren */
body.page-id-10241 a.evcal_list_a .evoet_cx {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	float: none !important;
}
/* Linker Akzentstreifen (Anthrazit, wie im Entwurf fuer Standard-Termine) */
body.page-id-10241 a.evcal_list_a::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--rso-char);
}
body.page-id-10241 a.evcal_list_a:hover {
	border-color: var(--rso-accent-100);
	box-shadow: var(--rso-shadow-md);
}

/* Verstecktes EventON-Datenfeld nimmt sonst Platz vor dem Button weg */
body.page-id-10241 .evoet_data { display: none !important; }

/* "Details & Buchung"-Button: Pseudo-Element auf dem vorhandenen
 * desc_trig-Link -> Klick klappt (wie gehabt) die Details unter der Karte auf. */
body.page-id-10241 a.evcal_list_a::after {
	content: "Details & Buchung  →" !important;   /* echtes Pfeil-Zeichen */
	/* EventON (.cev #evcal_list .evcal_list_a:after) setzt display:none mit
	 * hoher Spezifitaet -> hier per !important zurueckholen. */
	display: inline-flex !important;
	align-items: center;
	flex: 0 0 auto;
	align-self: center;
	margin-left: 12px;
	background: var(--rso-accent);
	color: #fff !important;
	font-size: 13.5px; font-weight: 600;
	padding: 9px 18px;          /* etwas schmaler (war 11px) */
	border-radius: 10px;
	white-space: nowrap;
	transition: background .2s ease;
}
body.page-id-10241 a.evcal_list_a:hover::after {
	background: var(--rso-accent-600);
}

/* --- Datums-Badge (links) ------------------------------------------------- */
body.page-id-10241 .evoet_c2 { flex: 0 0 auto; }
body.page-id-10241 .evoet_dayblock.evcal_cblock {
	display: block;
	width: 68px; min-width: 68px;
	height: auto !important; min-height: 0 !important;
	background: #fff !important;
	border: 1px solid var(--rso-line);
	border-radius: 12px;
	overflow: hidden;
	text-align: center;
	box-shadow: var(--rso-shadow-sm);
	padding: 0 !important;
	font-variant-numeric: tabular-nums;
}
/* EventON floatet .evo_start nach links -> aufheben, damit text-align:center
 * greift und der orange Wochentag-Balken volle Badge-Breite bekommt. */
body.page-id-10241 .evoet_dayblock .evo_start {
	display: block;
	float: none !important;
}
body.page-id-10241 .evoet_dayblock .evo_start em {
	display: block;
	font-style: normal;
	line-height: 1;
}
/* Wochentag = oranger Kopfbalken */
body.page-id-10241 .evoet_dayblock .evo_start em.day {
	background: var(--rso-accent);
	color: #fff;
	font-size: 10px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase;
	padding: 4px 0;
}
body.page-id-10241 .evoet_dayblock .evo_start em.date {
	font-size: 28px; font-weight: 800;
	color: var(--rso-head) !important;
	padding: 6px 0 0;
}
body.page-id-10241 .evoet_dayblock .evo_start em.month {
	font-size: 10.5px; font-weight: 600;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--rso-ink-70) !important;
	padding: 2px 0 5px;
}
body.page-id-10241 .evoet_dayblock .evo_start em.time {
	display: block;
	text-align: center;
	font-size: 11px; font-weight: 600;
	color: var(--rso-ink-50) !important;
	padding: 0 0 7px;
}
/* Mehrtages-Events rendern einen "(Jul 30)"-Indikator im Zeit-<em> -> raus,
 * verschiebt sonst die Uhrzeit aus der Mitte (Datum steht schon im Badge). */
body.page-id-10241 .evoet_dayblock .evo_start em.time i {
	display: none !important;
}
/* Zweiter (End-)Zeitblock im Badge ausblenden — haelt das Badge ruhig */
body.page-id-10241 .evoet_dayblock .evo_end { display: none !important; }

/* --- Inhalt (rechts) ------------------------------------------------------ */
body.page-id-10241 .evoet_c3.evcal_desc {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px;
	/* muss wachsen, damit der Button rechts steht */
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
body.page-id-10241 .evcal_event_title {
	display: block;
	font-size: 18px; font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.005em;
	text-transform: none !important;   /* nicht komplett GROSS */
	color: var(--rso-head) !important;
}
/* Untertitel ("Event Untertitel" aus dem EventON-Backend).
 * EventON faerbt im color-Modus Titel UND Untertitel weiss
 * (.ajde_evcal_calendar.color ... span.evcal_event_subtitle{color:#fff}) und
 * setzt zusaetzlich uppercase -> auf der hellen Karte unsichtbar. Die Regel
 * trifft den INNEREN Span, deshalb muss der hier mit adressiert werden. */
body.page-id-10241 .evoet_subtitle,
body.page-id-10241 .evoet_subtitle .evcal_event_subtitle {
	display: block;
	font-size: 13.5px; line-height: 1.5;
	font-weight: 400;
	text-transform: none !important;
	color: var(--rso-ink-70) !important;
	padding-bottom: 0 !important;
}
/* Ohne gepflegten Untertitel gibt EventON einen leeren Span aus -> der wuerde
 * ueber den Flex-gap eine Leerzeile in die Karte reissen. */
body.page-id-10241 .evoet_subtitle:empty { display: none !important; }
/* Ort: EventON liefert den Namen nur als data-Attribut -> sichtbar machen,
 * Pin-Icon als Inline-SVG (keine Font-Awesome-Abhaengigkeit). */
body.page-id-10241 .event_location_attrs {
	display: inline-flex;
	align-items: center;
	/* hinter den Untertitel: Organisator > Titel > Untertitel > Ort */
	order: 2;
	gap: 7px;
	font-size: 13px;
	color: var(--rso-ink-70) !important;
	margin-top: 2px;
}
body.page-id-10241 .event_location_attrs::before {
	content: "";
	/* inline-block, damit width/height greifen, auch wenn der Eltern-Span
	 * nicht als (inline-)flex rendert -> sonst 0x0 und Icon unsichtbar */
	display: inline-block;
	vertical-align: -2px;
	flex: 0 0 auto;
	width: 14px; height: 14px;
	/* margin statt flex-gap, da der Eltern-Span inline ist (gap wirkt nicht) */
	margin-right: 7px;
	/* Standard: Pin (Praesenz-/Vor-Ort-Event) — Base64-SVG (robust) */
	background: no-repeat center/contain
		url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNjZjY0MDIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjAgMTBjMCA3LTggMTItOCAxMnMtOC01LTgtMTJhOCA4IDAgMCAxIDE2IDBaIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMCIgcj0iMyIvPjwvc3ZnPg==");
}
/* Online-/Virtuelle Events -> Kamera-Icon. EventON hat keine eigene Klasse
 * dafuer, daher Match auf Location-Name/-URL (online/teams/webinar/zoom). */
body.page-id-10241 .event_location_attrs[data-location_url*="online" i]::before,
body.page-id-10241 .event_location_attrs[data-location_url*="teams" i]::before,
body.page-id-10241 .event_location_attrs[data-location_url*="zoom" i]::before,
body.page-id-10241 .event_location_attrs[data-location_url*="webinar" i]::before,
body.page-id-10241 .event_location_attrs[data-location_name*="online" i]::before,
body.page-id-10241 .event_location_attrs[data-location_name*="teams" i]::before,
body.page-id-10241 .event_location_attrs[data-location_name*="zoom" i]::before,
body.page-id-10241 .event_location_attrs[data-location_name*="webinar" i]::before {
	/* Kamera/Video — Base64-SVG (robust) */
	background: no-repeat center/contain
		url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNjZjY0MDIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgOCAxNiAxMmw2IDRaIi8+PHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjEyIiByeD0iMiIvPjwvc3ZnPg==");
}
body.page-id-10241 .event_location_attrs::after {
	content: attr(data-location_name);
}

/* --- Organisator (ueber Titel) + Preis (oben rechts) --------------------- */
/* per PHP-Snippet ins evoet_c3 eingefuegt; hier nur Positionierung/Style.   */
body.page-id-10241 .reha-evo-org {
	order: -1;                 /* in der Flex-Spalte nach ganz oben (ueber Titel) */
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;      /* nicht uppercase */
	color: var(--rso-ink-50) !important;   /* clrD setzt sonst weiss */
}
body.page-id-10241 .reha-evo-price {
	position: absolute;
	top: 18px; right: 20px;
	font-size: 19px;
	font-weight: 800 !important;   /* fett, schlaegt Theme-/EventON-Gewicht */
	line-height: 1.1;
	color: var(--rso-ink) !important;   /* clrD setzt sonst weiss */
	white-space: nowrap !important;     /* Betrag + € auf einer Zeile */
}
/* Button etwas tiefer, damit Preis oben rechts Platz hat */
body.page-id-10241 a.evcal_list_a::after {
	align-self: flex-end;
}

/* --- Aufgeklappter Detailbereich: blaue EventON-Buttons -> Orange ---------- */
body.page-id-10241 .evcal_btn,
body.page-id-10241 .evo_btn_arr,
body.page-id-10241 .evolb_trigger,
body.page-id-10241 .evotx_addtocart {
	background-color: var(--rso-accent) !important;
	border-color: var(--rso-accent) !important;
	color: #fff !important;
}
body.page-id-10241 .evcal_btn:hover,
body.page-id-10241 .evo_btn_arr:hover,
body.page-id-10241 .evolb_trigger:hover,
body.page-id-10241 .evotx_addtocart:hover {
	background-color: var(--rso-accent-600) !important;
	border-color: var(--rso-accent-600) !important;
}
/* "ANMELDEN" im Event-Inhalt = Gutenberg-Block-Button -> Hintergrund raus */
body.page-id-10241 .eventon_list_event .wp-block-button__link {
	background-color: transparent !important;
	background-image: none !important;
}

/* Mengen-"+"-Button (blau) -> Orange */
body.page-id-10241 .evotx_qty_change.plu {
	background-color: var(--rso-accent) !important;
}
body.page-id-10241 .evotx_qty_change.plu:hover {
	background-color: var(--rso-accent-600) !important;
}

/* "BUCHEN"-Button nicht volle Breite -> Auto-Breite, rechtsbuendig */
body.page-id-10241 .evotx_addtocart_button {
	text-align: right;
}
body.page-id-10241 button.evotx_addtocart,
body.page-id-10241 .evcal_btn.evotx_addtocart {
	display: inline-block !important;
	width: auto !important;
	padding: 10px 26px !important;
}

/* --- Monats-Trenner dezent halten ---------------------------------------- */
body.page-id-10241 .evo_month_title,
body.page-id-10241 .eventon_events_list .evol_month_line,
body.page-id-10241 .evcal_month_line {
	font-size: 12px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--rso-ink-50);
	margin: 18px 0 10px;
}

/* --- Mobil ---------------------------------------------------------------- */
@media (max-width: 600px) {
	body.page-id-10241 a.evcal_list_a {
		/* auf Mobil darf der Button unter die Karte umbrechen */
		flex-wrap: wrap !important;
		gap: 14px;
		padding: 14px 14px 14px 18px;
	}
	body.page-id-10241 .evoet_dayblock.evcal_cblock {
		width: 60px; min-width: 60px;
	}
	body.page-id-10241 .evcal_event_title { font-size: 16px; }
	body.page-id-10241 a.evcal_list_a::after {
		margin-left: 0;
		margin-top: 2px;
	}
}
/* ===================== /EventON Termine-Liste ============================= */


/* Weiter zur Kasse – Button */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	height: auto;
	padding: 15px 20px;
	line-height: 1.2;
	text-align: center;
}

/* das automatisch eingefügte <br> im Button entfernen */
.woocommerce .wc-proceed-to-checkout a.checkout-button br {
	display: none;
}

/* Farbe in allen Zuständen orange halten */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:focus {
	background-color: #ec7404 !important;
	border-color: #ec7404 !important;
	color: #ffffff !important;
}

.woocommerce table.cart td.actions .button, .woocommerce #content table.cart td.actions .button, .woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button {background-color: #ec7404; border: #ec7404;}

/* Checkout: Schriftgroessen angleichen */
.woocommerce-checkout #order_payment_heading,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout .evotx_checkout_additional_names h3 {
	font-size: 1.2rem;
	line-height: 1.4;
}

/* Zahlungsarten */
.woocommerce-checkout #payment ul.payment_methods li label {
	font-size: 1rem;
	line-height: 1.5;
}

/* Bestelluebersicht: Tabellenkopf, Zeilen, Produktname */
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td a {
	font-size: 1rem;
	line-height: 1.5;
}

/* Ueberschrift der rechten Spalte auf gleiche Hoehe bringen */
.woocommerce-checkout #order_payment_heading {
	padding: 20px 0 14px;
	margin: 0 0 20px;
	border-bottom: 1px solid var(--ast-border-color);
	font-weight: 700;
}

/* Beschreibungstext unter der Zahlungsart */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box p {
	font-size: 1rem;
	line-height: 1.5;
}
