/*
 Theme Name:   Luanda Child
 Theme URI:    https://chimene-graphics.com/luanda
 Description:  Luanda Child Theme
 Author:       Chimene Gaspar
 Author URI:   https://chimene-graphics.com
 Template:     luanda
 Version:      1.27
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  luanda-child
*/

/* =Style refresh (Option 1: Refined)
   Overrides for the Luanda parent theme: closer menu spacing, covers shown
   whole on a soft panel, rounded cards with soft shadows.
-------------------------------------------------------------- */

/* Menu: 40px gaps reduced to about 20px, thin underline on hover and current item */
@media screen and (min-width: 600px) {
	.main-navigation li {
		margin: 0 20px 0 0;
		margin: 0 1.428571429rem 0 0;
	}
	.main-navigation li:last-child {
		margin-right: 0;
	}
	.main-navigation ul.nav-menu > li > a,
	.main-navigation div.nav-menu > ul > li > a {
		border-bottom: 2px solid transparent;
		font-weight: 600;
	}
	.main-navigation ul.nav-menu > li > a:hover,
	.main-navigation ul.nav-menu > li > a:focus,
	.main-navigation div.nav-menu > ul > li > a:hover,
	.main-navigation div.nav-menu > ul > li > a:focus,
	.main-navigation ul.nav-menu > .current-menu-item > a,
	.main-navigation ul.nav-menu > .current-menu-ancestor > a,
	.main-navigation ul.nav-menu > .current_page_item > a,
	.main-navigation div.nav-menu > ul > .current_page_item > a {
		border-bottom-color: #ce1123;
	}
	.menu-left li {
		margin: 0 24px 0 0;
		margin: 0 1.714285714rem 0 0;
	}
}

/* Magazine block thumbnails: one 3:2 panel, landscape images fill it, portrait covers sit whole inside it */
.mixed-grid-block .main-headline .entry-header > a,
.mixed-grid-block .featured-headlines .post-thumb a {
	display: block;
	aspect-ratio: 3 / 2;
	background: #ececec;
	overflow: hidden;
}
.mixed-grid-block .main-headline .entry-header > a img,
.mixed-grid-block .featured-headlines .post-thumb a img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: center top;
}
.mixed-grid-block .main-headline .entry-header > a img.is-portrait,
.mixed-grid-block .featured-headlines .post-thumb a img.is-portrait {
	object-fit: contain;
	object-position: center center;
}

/* Cards */
.mixed-grid-block .main-headline article,
.mixed-grid-block .featured-headlines article {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
	overflow: hidden;
}
.mixed-grid-block .main-headline .entry-header {
	margin-bottom: 0;
}
.mixed-grid-block .main-headline .entry-header > a {
	border-radius: 0;
}
.mixed-grid-block .main-headline .entry-meta,
.mixed-grid-block .main-headline .entry-title,
.mixed-grid-block .main-headline .entry-summary {
	padding-left: 20px;
	padding-right: 20px;
}
.mixed-grid-block .main-headline .entry-meta {
	margin-top: 16px;
	margin-bottom: 6px;
}
.mixed-grid-block .main-headline .entry-summary {
	padding-bottom: 20px;
}
.mixed-grid-block .entry-meta a {
	color: #ce1123;
}
.mixed-grid-block .featured-headlines article {
	padding: 10px;
	margin-bottom: 14px;
}
.mixed-grid-block .featured-headlines .post-thumb a {
}
.mixed-grid-block .featured-headlines .entry-meta {
	margin-bottom: 4px;
}
.mixed-grid-block .featured-headlines .entry-title {
	margin-top: 0;
}

/* Side cards: thumbnail left, text right (only when the column is wide enough) */
@media screen and (min-width: 900px) {
	.mixed-grid-block .featured-headlines article {
		display: grid;
		grid-template-columns: 120px 1fr;
		column-gap: 14px;
		align-content: center;
		align-items: center;
	}
	.mixed-grid-block .featured-headlines .post-thumb {
		grid-row: 1 / span 2;
		float: none;
		width: auto;
		margin: 0;
	}
	.mixed-grid-block .featured-headlines .entry-meta,
	.mixed-grid-block .featured-headlines .entry-content {
		grid-column: 2;
		min-width: 0;
	}
	.mixed-grid-block .featured-headlines .entry-meta {
		align-self: end;
	}
	.mixed-grid-block .featured-headlines .entry-content {
		align-self: start;
	}
}


/* Small screens: space between side-card thumbnail and text */
@media screen and (max-width: 599px) {
	.mixed-grid-block .featured-headlines .post-thumb { margin-bottom: 10px; }
}

/* List pages (blog, archive, category, search): show thumbnails whole on a grey 3:2 panel */
.blog .entry-header img.wp-post-image,
.archive .entry-header img.wp-post-image,
.search .entry-header img.wp-post-image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	background: #ececec;
	object-fit: cover;
	object-position: center top;
}
.blog .entry-header img.wp-post-image.is-portrait,
.archive .entry-header img.wp-post-image.is-portrait,
.search .entry-header img.wp-post-image.is-portrait {
	object-fit: contain;
	object-position: center center;
}
@media screen and (min-width: 600px) {
	.archive .entry-header img.wp-post-image {
		width: 30%;
		max-width: 30%;
	}
}

/* List pages: same card look as the home page blocks */
.blog .site-content article,
.archive .site-content article,
.search .site-content article {
	display: flow-root;
	margin-bottom: 20px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
}
.blog .entry-header,
.archive .entry-header,
.search .entry-header {
	margin-bottom: 0;
}
.blog .entry-header img.wp-post-image,
.archive .entry-header img.wp-post-image,
.search .entry-header img.wp-post-image {
	margin-bottom: 14px;
}
.blog .entry-header .entry-title,
.archive .entry-header .entry-title,
.search .entry-header .entry-title {
	font-size: 20px;
	font-size: 1.428571429rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 8px;
}
.blog .site-content article footer.entry-meta,
.archive .site-content article footer.entry-meta,
.search .site-content article footer.entry-meta {
	margin-top: 8px;
}
.blog .entry-meta a,
.archive .entry-meta a,
.search .entry-meta a {
	color: #ce1123;
}
.archive .entry-meta .singlepost-entry-cat,
.blog .entry-meta .singlepost-entry-cat {
	text-transform: uppercase;
	font-weight: 600;
}
.archive .archive-header,
.search .page-header {
	border-bottom: 3px solid #ce1123;
	margin-bottom: 24px;
	padding-bottom: 10px;
}
.archive .archive-title,
.search .page-title {
	text-transform: uppercase;
	font-size: 18px;
	font-size: 1.285714285rem;
}
@media screen and (min-width: 600px) {
	.archive .site-content article,
	.blog .site-content article,
	.search .site-content article {
		display: grid;
		grid-template-columns: 30% 1fr;
		column-gap: 24px;
		align-content: center;
		align-items: center;
	}
	.archive .entry-header,
	.blog .entry-header,
	.search .entry-header {
		display: contents;
	}
	.archive .entry-header img.wp-post-image,
	.blog .entry-header img.wp-post-image,
	.search .entry-header img.wp-post-image {
		grid-column: 1;
		grid-row: 1 / span 4;
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
	.archive .entry-header .entry-title,
	.blog .entry-header .entry-title,
	.search .entry-header .entry-title,
	.archive .entry-summary,
	.archive .entry-content,
	.archive footer.entry-meta,
	.blog .entry-summary,
	.blog footer.entry-meta,
	.search .entry-summary,
	.search footer.entry-meta {
		grid-column: 2;
		min-width: 0;
	}
	.archive .entry-header .entry-title,
	.blog .entry-header .entry-title,
	.search .entry-header .entry-title {
		margin: 0 0 8px;
	}
}

/* ==========================================================
   Homepage widgets: same card look as the Aktuelles block
   (sidebar widgets are not touched)
   ========================================================== */

/* Green buttons: soft pill shape */
.home-widgets .moretag,
.home-widgets .viewall a {
	padding: 5px 14px;
}

/* ---- Featured Page widgets (Extra 3, Dortmunder Engagement Preis, Raubkunst) ---- */
.home-widgets .widget_luanda_featured_page .grid-item {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
	overflow: hidden;
	padding: 14px;
	display: flow-root;
}
.home-widgets .widget_luanda_featured_page .grid-item > a {
	display: block;
	aspect-ratio: 3 / 2;
	background: #ececec;
	overflow: hidden;
}
.home-widgets .widget_luanda_featured_page .grid-item > a img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	object-position: center center;
}
.home-widgets .widget_luanda_featured_page .grid-content {
	padding: 14px 4px 2px;
}
.home-widgets .widget_luanda_featured_page .entry-title {
	font-size: 18px;
	font-size: 1.285714285rem;
	font-weight: 600;
	line-height: 1.25;
}
.home-widgets .widget_luanda_featured_page .read-more {
	margin-top: 10px;
}
@media screen and (min-width: 600px) {
	.home-widgets .widget_luanda_featured_page .grid-item {
		display: grid;
		grid-template-columns: 40% 1fr;
		column-gap: 22px;
		align-items: center;
	}
	.home-widgets .widget_luanda_featured_page .grid-item > a {
		width: 100%;
		float: none;
	}
	.home-widgets .widget_luanda_featured_page .grid-item img {
		float: none;
		width: 100%;
	}
	.home-widgets .widget_luanda_featured_page .grid-content {
		float: none;
		width: auto;
		padding: 0;
		min-width: 0;
	}
}

/* ---- Three Grid widget (magazine covers) ---- */
.home-widgets .three-grid-block article {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
	overflow: hidden;
	margin-bottom: 20px;
	padding-bottom: 14px;
}
.home-widgets .three-grid-block .post-thumb {
	margin: 0;
}
.home-widgets .three-grid-block .post-thumb a {
	display: block;
	aspect-ratio: 4 / 5;
	background: #ececec;
	overflow: hidden;
}
.home-widgets .three-grid-block .post-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	object-position: center center;
}
.home-widgets .three-grid-block .entry-meta {
	margin: 12px 0 4px;
	padding: 0 16px;
	font-size: 12px;
}
.home-widgets .three-grid-block .entry-title {
	padding: 0 16px;
	margin: 0;
	font-size: 15px;
	line-height: 1.25;
}

/* ---- Text / HTML / media widgets (e.g. the Scobel video block) ---- */
.home-widgets .widget_text .textwidget,
.home-widgets .widget_custom_html .textwidget,
.home-widgets .widget_media_video,
.home-widgets .widget_media_image .wp-caption {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
	padding: 16px 18px;
	overflow: hidden;
}
.home-widgets .widget_text .textwidget iframe,
.home-widgets .widget_text .textwidget video,
.home-widgets .widget_custom_html .textwidget iframe {
	max-width: 100%;
}
.home-widgets .widget_text .textwidget a {
	color: #ce1123;
}

/* ---- Banners ---- */
img.advertising {
}

/* Phones: one cover per row, so keep the panel from getting too tall */
@media screen and (max-width: 599px) {
	.home-widgets .three-grid-block .post-thumb a {
		aspect-ratio: 3 / 2;
	}
}

/* Tablets (600-899px): the side column is narrow, so stack thumbnail above text */
@media screen and (min-width: 600px) and (max-width: 899px) {
	.mixed-grid-block .featured-headlines .post-thumb {
		float: none;
		width: 100%;
		margin: 0 0 10px;
	}
	.mixed-grid-block .featured-headlines .entry-meta,
	.mixed-grid-block .featured-headlines .entry-content {
		clear: both;
		padding: 0 4px;
	}
	/* Menu: tighter gaps so it fits next to the smaller logo */
	.main-navigation li {
		margin-right: 12px;
		margin-right: 0.857142857rem;
	}
}

/* Header: smaller logo (parent: 25% logo / 75% menu) */
@media screen and (min-width: 600px) {
	hgroup {
		width: 19%;
	}
	.main-navigation {
		width: 81%;
	}
}

/* ==========================================================
   Alignment: cards stay inside their columns
   ========================================================== */
.home-widgets .widget_luanda_featured_page .grid-item,
.home-widgets .three-grid-block article,
.home-widgets .widget_text .textwidget,
.home-widgets .widget_custom_html .textwidget,
.mixed-grid-block .main-headline article,
.mixed-grid-block .featured-headlines article,
.blog .site-content article,
.archive .site-content article,
.search .site-content article {
	box-sizing: border-box;
	max-width: 100%;
}
.mixed-grid-block .col-3 {
	box-sizing: border-box;
}
@media screen and (min-width: 600px) {
	/* gap between the lead card and the side cards */
	.mixed-grid-block .main-headline {
		padding-right: 10px;
	}
	.mixed-grid-block .featured-headlines {
		padding-left: 10px;
	}
}
/* Narrow screens with the sidebar beside the content: tighter card text */
@media screen and (min-width: 600px) and (max-width: 899px) {
	.home-widgets .three-grid-block .entry-meta,
	.home-widgets .three-grid-block .entry-title {
		padding: 0 8px;
	}
	.home-widgets .three-grid-block .entry-title {
		font-size: 13px;
	}
	.home-widgets .widget_luanda_featured_page .grid-item {
		grid-template-columns: 1fr;
	}
	.home-widgets .widget_luanda_featured_page .grid-content {
		padding-top: 12px;
	}
}

/* ==========================================================
   Phones (under 600px): two cards per row where the cards are small
   ========================================================== */
@media screen and (max-width: 599px) {

	/* Aktuelles side cards: 2 per row, thumbnail above text */
	.mixed-grid-block .featured-headlines::after {
		content: "";
		display: block;
		clear: both;
	}
	.mixed-grid-block .featured-headlines .hentry-wrap {
		float: left;
		clear: none;
		box-sizing: border-box;
		width: calc((100% - 12px) / 2);
		margin: 0 0 12px;
	}
	.mixed-grid-block .featured-headlines .hentry-wrap:nth-child(odd) {
		clear: left;
		margin-right: 12px;
	}
	.mixed-grid-block .featured-headlines .hentry-wrap article {
		height: calc(100% - 12px);
		margin-bottom: 0;
	}
	.mixed-grid-block .featured-headlines .post-thumb {
		margin: 0 0 8px;
	}
	.mixed-grid-block .featured-headlines .entry-meta {
		font-size: 11px;
		line-height: 1.4;
		margin-bottom: 4px;
	}
	.mixed-grid-block .featured-headlines .entry-title {
		font-size: 13px;
		line-height: 1.25;
	}

	/* Magazine covers: 2 per row */
	.home-widgets .three-grid-block .grid-item {
		float: left;
		clear: none;
		box-sizing: border-box;
		width: calc((100% - 12px) / 2);
		margin: 0 0 12px;
	}
	.home-widgets .three-grid-block .grid-item:nth-child(odd) {
		clear: left;
		margin-right: 12px;
	}
	.home-widgets .three-grid-block .grid-item:nth-child(even) {
		margin-right: 0;
	}
	.home-widgets .three-grid-block .post-thumb a {
		aspect-ratio: 4 / 5;
	}
	.home-widgets .three-grid-block article {
		margin-bottom: 0;
		padding-bottom: 12px;
	}
	.home-widgets .three-grid-block .entry-meta,
	.home-widgets .three-grid-block .entry-title {
		padding: 0 10px;
	}
	.home-widgets .three-grid-block .entry-meta {
		font-size: 11px;
		margin-top: 10px;
	}
	.home-widgets .three-grid-block .entry-title {
		font-size: 13px;
	}
	.home-widgets .three-grid-block .viewall {
		clear: both;
	}
}

/* ==========================================================
   Header navigation on tablets / large phones (600-899px):
   logo on its own row, menu below it on one tidy row
   ========================================================== */
@media screen and (min-width: 600px) and (max-width: 899px) {
	hgroup {
		width: 34%;
		margin-bottom: 8px;
	}
	.main-navigation {
		float: none;
		clear: both;
		width: 100%;
	}
	.main-navigation ul.nav-menu,
	.main-navigation div.nav-menu > ul {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: left;
		width: 100%;
		column-gap: 10px;
	}
	.main-navigation li {
		margin: 0;
	}
	.main-navigation li a {
		font-size: 11.5px;
		font-size: 0.821428571rem;
		line-height: 2.6;
	}
}

/* ==========================================================
   Phones (under 600px): compact header
   top links and icons on one row; logo left, MENU button right
   ========================================================== */
@media screen and (max-width: 599px) {

	/* Top bar */
	.top-navigation {
		margin-top: 6px;
		margin-bottom: 6px;
	}
	.menu-left {
		float: left;
		width: auto;
		margin-bottom: 0;
	}
	.menu-left li {
		margin-right: 14px;
	}
	.menu-right {
		float: right;
		width: auto;
	}
	.menu-right .nav-menu {
		margin: 0;
	}
	.menu-right li {
		margin-left: 12px;
	}

	/* Logo row */
	.site-header {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding: 8px 0;
	}
	.site-header:before,
	.site-header:after {
		display: none;
	}
	.site-header hgroup {
		float: none;
		flex: 0 1 52%;
		max-width: 210px;
		margin: 0;
		text-align: left;
	}
	.site-header .custom-logo {
		display: block;
		max-width: 100%;
		height: auto;
	}
	/* the menu button sits on the logo row; the opened menu drops below, full width */
	.site-header .main-navigation {
		display: contents;
	}
	.site-header .menu-toggle {
		margin: 0;
	}
	/* the menu itself (and the container WordPress wraps around it) takes the full row */
	.site-header .main-navigation > div,
	.site-header .main-navigation > ul {
		flex: 0 0 100%;
		width: 100%;
		min-width: 0;
	}
	.site-header .main-navigation .nav-menu.toggled-on {
		margin-top: 8px;
		width: 100%;
	}
	.nav-menu.toggled-on li {
		margin-top: 0;
	}
}

/* ==========================================================
   Header search: anchored under the top bar
   ========================================================== */
.topnavContent.site,
.top-navigation,
.menu-right,
#top-social,
#top-social ul,
#top-social li.th-search,
.top-navigation li.th-search {
	position: static;
}
.topnavWrap {
	position: relative;
}
.th-search-icon {
	cursor: pointer;
}
.th-search-icon:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
.th-searchform-container {
	box-sizing: border-box;
	top: 100%;
	right: 0;
	padding: 8px;
	border: 0;
	border-top: 3px solid #ce1123;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}
@media screen and (min-width: 600px) and (max-width: 1199px) {
	/* right edge of the page content, like the icons */
	.th-searchform-container {
		right: 24px;
	}
}
@media screen and (min-width: 1200px) {
	.th-searchform-container {
		right: calc((100% - 1200px) / 2 + 40px);
	}
}
@media screen and (max-width: 599px) {
	/* full-width bar under the top bar */
	.th-searchform-container {
		left: 0;
		right: 0;
		width: 100%;
		padding: 10px 16px;
		border-top: 0;
		border-bottom: 3px solid #ce1123;
	}
}

/* Desktop: keep the search icon in line with the other top-bar icons */
@media screen and (min-width: 600px) {
	li.th-search,
	#top-social li.th-search {
		float: none;
	}
	.th-search-icon {
		position: static;
		float: none;
		display: inline-block;
		width: auto;
		margin: 0;
		text-align: center;
	}
}

/* ==========================================================
   Cards: grey panel only on the Aktuelles lead card.
   Other images fit their container at their natural proportions.
   ========================================================== */

/* Aktuelles side cards: three cards, image alone on the left, no panel */
.mixed-grid-block .featured-headlines .hentry-wrap:nth-child(n+3) {
	display: none;
}
.mixed-grid-block .featured-headlines .post-thumb a,
.home-widgets .widget_luanda_featured_page .grid-item > a,
.home-widgets .three-grid-block .post-thumb a {
	display: block;
	aspect-ratio: auto;
	background: none;
	overflow: visible;
}
.mixed-grid-block .featured-headlines .post-thumb img,
.mixed-grid-block .featured-headlines .post-thumb img.is-portrait,
.home-widgets .widget_luanda_featured_page .grid-item > a img,
.home-widgets .three-grid-block .post-thumb img,
.home-widgets .three-grid-block .post-thumb img.is-portrait {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: fill;
	object-position: left top;
}
@media screen and (min-width: 900px) {
	.mixed-grid-block .featured-headlines article {
		grid-template-columns: minmax(130px, 40%) 1fr;
		grid-template-rows: auto auto 1fr;
		align-items: start;
		align-content: start;
	}
	.mixed-grid-block .featured-headlines .post-thumb {
		grid-row: 1 / span 3;
	}
	.mixed-grid-block .featured-headlines .entry-meta,
	.mixed-grid-block .featured-headlines .entry-content {
		align-self: start;
	}
}
@media screen and (min-width: 600px) {
	.home-widgets .widget_luanda_featured_page .grid-item {
		align-items: start;
	}
}

/* ==========================================================
   Phones: bigger top-bar icons, red burger without the word "Menu"
   ========================================================== */
@media screen and (max-width: 599px) {
	#top-social li a,
	.th-search-icon {
		font-size: 17px;
		line-height: 1.2;
	}
	#top-social li {
		margin: 0 0 0 18px;
	}
	.menu-right .nav-menu {
		white-space: nowrap;
	}
	.top-navigation {
		margin-top: 8px;
		margin-bottom: 8px;
	}

	.site-header .menu-toggle,
	.site-header .menu-toggle:hover,
	.site-header .menu-toggle:focus,
	.site-header .menu-toggle:active,
	.site-header .menu-toggle.toggled-on {
		font-size: 0;           /* hides the word, it stays available to screen readers */
		line-height: 1;
		padding: 8px 0 8px 12px;
		background: transparent;
		border: 0;
		box-shadow: none;
		color: #ce1123;
	}
	.site-header .menu-toggle:before {
		font-size: 30px;
		line-height: 1;
		margin: 0;
		color: #ce1123;
	}
}

/* ==========================================================
   Spacing fixes
   ========================================================== */

/* Aktuelles: even gap between the lead card and the side cards, no blank space under the lead text */
.mixed-grid-block .col-3 {
	padding-bottom: 0;
}
.mixed-grid-block .main-headline article {
	margin-bottom: 14px;
}
.mixed-grid-block .main-headline .entry-summary {
	padding-bottom: 16px;
}
.mixed-grid-block .main-headline .entry-summary p:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 600px) {
	.mixed-grid-block .main-headline article {
		margin-bottom: 0;
	}
}

/* Related posts ("Ähnliche Beiträge") */
.related-posts {
	margin-bottom: 24px;
}
.related-posts .entry-header {
	margin-bottom: 16px;
}
.related-posts .related-title {
	margin: 0;
}
.related-posts .col-2 {
	margin-bottom: 24px;
}
.related-posts .col-2 img {
	display: block;
	margin: 0 auto 10px;
}
.related-posts .col-2 .entry-title {
	margin: 0 0 4px;
	line-height: 1.25;
}
.related-posts .col-2 .post-date {
	display: block;
}

/* Phones: sub-menus stay closed until the arrow next to the item is tapped */
.sub-toggle {
	display: none;
}
@media screen and (max-width: 599px) {
	.main-navigation li.menu-item-has-children,
	.main-navigation li.page_item_has_children {
		position: relative;
	}
	.main-navigation li.menu-item-has-children > a,
	.main-navigation li.page_item_has_children > a {
		display: block;
		padding-right: 52px;
	}
	.main-navigation .sub-toggle,
	.main-navigation .sub-toggle:hover,
	.main-navigation .sub-toggle:focus,
	.main-navigation .sub-toggle:active {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 48px;
		height: 44px;
		padding: 0;
		margin: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
		cursor: pointer;
	}
	.main-navigation .sub-toggle:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8px;
		height: 8px;
		margin: -7px 0 0 -4px;
		border-right: 2px solid #ce1123;
		border-bottom: 2px solid #ce1123;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
	}
	.main-navigation li.submenu-open > .sub-toggle:before {
		margin-top: -3px;
		transform: rotate(-135deg);
	}
	.main-navigation ul.sub-menu {
		display: none;
		padding: 0 0 0 16px;
	}
	.main-navigation li.submenu-open > ul.sub-menu {
		display: block;
	}
	.nav-menu.toggled-on .sub-menu li:last-of-type {
		border-bottom: 0;
	}
}

/* Phones: the burger turns into a close icon while the menu is open */
@media screen and (max-width: 599px) {
	.site-header .menu-toggle.toggled-on:before {
		content: '\f00d';
	}
}

/* Phones: slim burger and close icon, drawn in CSS (2px lines) */
@media screen and (max-width: 599px) {
	.site-header .menu-toggle:before,
	.site-header .menu-toggle.toggled-on:before {
		content: "";
		display: block;
		font-size: 0;
		margin: 0;
	}
	.site-header .menu-toggle:before {
		width: 26px;
		height: 18px;
		background:
			linear-gradient(#ce1123, #ce1123) top left / 100% 2px no-repeat,
			linear-gradient(#ce1123, #ce1123) center left / 100% 2px no-repeat,
			linear-gradient(#ce1123, #ce1123) bottom left / 100% 2px no-repeat;
	}
	.site-header .menu-toggle.toggled-on:before {
		width: 22px;
		height: 22px;
		margin: -2px 2px;
		background:
			linear-gradient(45deg, transparent 46.5%, #ce1123 46.5%, #ce1123 53.5%, transparent 53.5%),
			linear-gradient(-45deg, transparent 46.5%, #ce1123 46.5%, #ce1123 53.5%, transparent 53.5%);
	}
}

/* Phones: slim top-bar icons (thin white lines instead of the heavy font glyphs) */
@media screen and (max-width: 599px) {
	#top-social li a[href*="facebook.com"]:before,
	#top-social li a[href*="youtube.com"]:before,
	.menu-right .th-search-icon:before,
	.menu-right .th-search-icon.th-search-close:before {
		content: "";
		display: inline-block;
		width: 22px;
		height: 22px;
		font-size: 0;
		vertical-align: top;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#top-social li a[href*="facebook.com"]:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 21v-8.5h3l.5-3.5h-3.5V6.9c0-1 .4-1.9 1.9-1.9H18V2c-.5-.1-1.5-.2-2.6-.2-2.700 0-4.400 1.600-4.400 4.500V9H8v3.500h3V21z'/%3E%3C/svg%3E");
	}
	#top-social li a[href*="youtube.com"]:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5.500' width='20' height='13' rx='4'/%3E%3Cpath d='M10 9.500l5 2.500-5 2.500z'/%3E%3C/svg%3E");
	}
	.menu-right .th-search-icon:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.500' cy='10.500' r='6.500'/%3E%3Cpath d='M15.500 15.500L21 21'/%3E%3C/svg%3E");
	}
	.menu-right .th-search-icon.th-search-close:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E");
	}
}

/* ==========================================================
   Book promotion above Aktuelles (Customizer: "Book promotion")
   ========================================================== */
.luanda-promo {
	margin-bottom: 24px;
}
.luanda-promo__card {
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 14px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
}
.luanda-promo__image {
	flex: 0 0 110px;
	width: 110px;
}
.luanda-promo__image a,
.luanda-promo__image img {
	display: block;
}
.luanda-promo__image img {
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0;
}
.luanda-promo__body {
	flex: 1 1 auto;
	min-width: 0;
}
.luanda-promo__label {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	color: #ce1123;
}
.luanda-promo__title {
	margin: 0 0 6px;
	font-size: 18px;
	font-size: 1.285714285rem;
	font-weight: 600;
	line-height: 1.25;
	color: #313131;
}
.luanda-promo__author {
	margin: -2px 0 6px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: #757575;
}
.luanda-promo__text {
	margin: 0 0 6px;
	font-size: 13px;
	font-size: 0.928571429rem;
	line-height: 1.5;
}
.luanda-promo__button,
.luanda-promo__button:visited {
	display: inline-block;
	margin-top: 4px;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	text-decoration: none;
	background: #40a233;
	border: 1px solid #40a233;
	transition: all 0.3s ease-out;
}
.luanda-promo__button:hover,
.luanda-promo__button:focus {
	color: #fff;
	background: #f59205;
	border-color: #f59205;
}
@media screen and (max-width: 599px) {
	.luanda-promo__card {
		gap: 12px;
		padding: 12px;
	}
	.luanda-promo__image {
		flex: 0 0 38%;
		width: 38%;
		max-width: 170px;
	}
	.luanda-promo__title {
		font-size: 15px;
		font-size: 1.071428571rem;
		line-height: 1.25;
	}
	.luanda-promo__author {
		font-size: 11.5px;
	}
	.luanda-promo__text {
		font-size: 12.5px;
		line-height: 1.45;
	}
	.luanda-promo__button {
		padding: 6px 12px;
		font-size: 12px;
	}
}
