/*
Theme Name: Adventskalender
Theme URI: https://www.adventskalender.net/
Author: Adventskalender.net
Description: Festliches Theme für Adventskalender.net – Weinrot, Lora, Advents-Türchen, Weihnachts-Countdown und Seitenleiste. Kompatibel mit Elementor und Elementor Pro (Theme Builder: Header, Footer, Single, Archive).
Version: 3.3.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adventskalender
Tags: blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Fonts (self-hosted Lora, SIL Open Font License – no Google requests, DSGVO-freundlich)
   ========================================================================== */
@font-face {
	font-family: 'Lora';
	src: url('assets/fonts/lora.woff') format('woff');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Lora';
	src: url('assets/fonts/lora-italic.woff') format('woff');
	font-weight: 400 700;
	font-style: italic;
	font-display: swap;
}

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--adk-wine: #600202;
	--adk-wine-dark: #3F0101;
	--adk-wine-deep: #4A0101;
	--adk-red: #8E0B14;
	--adk-cream: #FBF7F0;
	--adk-cream-2: #F5EFE8;
	--adk-soft: #EBCFC4;
	--adk-soft-2: #F3DCC0;
	--adk-ink: #2A2622;
	--adk-body: #3A322C;
	--adk-muted: #6E625A;
	--adk-line: #EADFD6;
	--adk-gold: #F2CC6B;
	--adk-gold-line: #E8C77A;
	--adk-green: #1F5A3E;
	--adk-xred: #C0182A;
	--adk-font: 'Lora', Georgia, 'Times New Roman', serif;
	--adk-container: 1240px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--adk-cream);
	color: var(--adk-ink);
	font-family: var(--adk-font);
	font-size: 17px;
	line-height: 1.7;
}
img { max-width: 100%; height: auto; }
a { color: var(--adk-wine); }
a:hover { color: var(--adk-wine-dark); }
h1, h2, h3, h4, h5, h6 { font-family: var(--adk-font); line-height: 1.25; color: var(--adk-wine); }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
	clip: auto; width: auto; height: auto; margin: 0; padding: 12px 18px; z-index: 100000;
	top: 8px; left: 8px; background: #fff; color: var(--adk-wine); font-weight: 700;
}
.adk-container { max-width: var(--adk-container); margin: 0 auto; padding: 0 24px; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text, figcaption { font-size: 14px; color: var(--adk-muted); }

/* ==========================================================================
   Header: top bar, logo, corner garlands, navigation
   ========================================================================== */
.adk-masthead { position: relative; z-index: 50; }

.adk-topbar { height: 54px; background: var(--adk-wine-dark); border-bottom: 1px solid rgba(255,255,255,0.12); }
.adk-topbar__inner { height: 100%; padding: 0 285px 0 24px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.adk-topbar__label { font-size: 14px; color: var(--adk-soft-2); }

.adk-social { list-style: none; margin: 0; padding: 6px 0 0; display: flex; align-items: center; gap: 16px; }
.adk-soc {
	position: relative; width: 36px; height: 36px; border-radius: 50%;
	color: #fff; display: flex; align-items: center; justify-content: center;
	padding-top: 9px; transition: transform .25s; text-decoration: none;
}
.adk-soc:hover, .adk-soc:focus-visible { color: #fff; transform: translateY(-2px); outline: none; }
.adk-soc:focus-visible { box-shadow: 0 0 0 2px #fff; }
.adk-soc--facebook { background: #1877F2; }
.adk-soc--twitter { background: #1DA1F2; }
.adk-soc--instagram { background: #D62976; }
.adk-soc--rss { background: #F7931E; }
.adk-soc__hat {
	position: absolute; top: -15px; left: -3px; width: 34px; height: 26px;
	transform: rotate(-8deg); transform-origin: 40% 90%; pointer-events: none;
	transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.adk-soc:hover .adk-soc__hat, .adk-soc:focus-visible .adk-soc__hat { transform: rotate(6deg) translateY(-2px); }

.adk-header { position: relative; height: 110px; background: var(--adk-wine); display: flex; align-items: center; justify-content: center; padding: 0 24px; overflow: hidden; }
.adk-logo { position: relative; display: block; width: 100%; max-width: 460px; }
.adk-logo img { display: block; width: 100%; height: auto; max-height: 94px; object-fit: contain; }
.adk-logo__text { display: block; text-align: center; font-size: 40px; font-weight: 700; color: var(--adk-gold); text-decoration: none; }

.adk-corner { position: absolute; top: 0; width: auto; height: 220px; pointer-events: none; z-index: 3; }
.adk-corner--left { left: 0; }
.adk-corner--right { right: 0; }

.adk-nav {
	position: relative; background: var(--adk-wine);
	border-top: 1px solid rgba(255,255,255,0.12); border-bottom: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 4px 14px rgba(0,0,0,0.10);
}
.adk-nav__toggle {
	display: none; align-items: center; gap: 10px; margin: 0 auto; padding: 14px 20px;
	background: none; border: 0; color: #fff; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer;
}
.adk-menu { list-style: none; max-width: 1440px; margin: 0 auto; padding: 4px 16px; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 10px; }
.adk-menu li { position: relative; }
.adk-menu a {
	display: flex; align-items: center; gap: 6px; height: 100%;
	padding: 18px 12px; color: var(--adk-soft); font-size: 16px; font-weight: 600;
	white-space: nowrap; text-decoration: none; transition: color .2s;
}
.adk-menu a:hover, .adk-menu a:focus-visible, .adk-menu li:hover > a, .adk-menu li:focus-within > a { color: #fff; outline: none; }
.adk-menu a:focus-visible { box-shadow: inset 0 0 0 2px rgba(255,255,255,0.7); }
.adk-menu .current-menu-item > a, .adk-menu .current_page_item > a, .adk-menu .current-menu-ancestor > a { color: #fff; }
.adk-menu .menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; margin-left: 4px; margin-top: -4px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
.adk-menu .sub-menu {
	display: none; position: absolute; top: 100%; right: 0; z-index: 30; min-width: 320px;
	list-style: none; margin: 0; padding: 6px; background: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,0.10); border-top: 3px solid var(--adk-wine);
}
.adk-menu li:hover > .sub-menu, .adk-menu li:focus-within > .sub-menu { display: block; }
.adk-menu .sub-menu a { padding: 11px 14px; color: var(--adk-ink); font-size: 15px; font-weight: 500; white-space: normal; }
.adk-menu .sub-menu a:hover, .adk-menu .sub-menu a:focus-visible { background: var(--adk-wine); color: #fff; }

/* ==========================================================================
   Hero (front page)
   ========================================================================== */
.adk-hero { position: relative; overflow: hidden; background: var(--adk-wine); color: #FBEFD9; padding: 40px 24px 44px; }
.adk-hero__deco { position: absolute; inset: 0; pointer-events: none; }
.adk-hero__flake { position: absolute; fill: none; stroke: #fff; stroke-width: 1; stroke-linecap: round; }
.adk-twinkle {
	position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #FFF4DC;
	box-shadow: 0 0 8px 2px rgba(255,244,220,0.6); animation: adk-twinkle 2.8s ease-in-out infinite;
}
@keyframes adk-twinkle { 0%,100% { opacity: .15; } 50% { opacity: .9; } }
.adk-bauble { position: absolute; top: 0; transform-origin: 50% 0; animation: adk-sway 4s ease-in-out infinite; }
@keyframes adk-sway { 0%,100% { transform: rotate(3deg); } 50% { transform: rotate(-3deg); } }

.adk-hero__inner { position: relative; max-width: 1180px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 26px; text-align: center; }
.adk-hero__title { margin: 0; font-weight: 600; color: #fff; }
.adk-hero__title-main { display: block; font-size: 42px; line-height: 1.15; font-style: italic; }
.adk-hero__title-sub { display: block; margin-top: 8px; font-size: 19px; font-weight: 500; line-height: 1.5; color: var(--adk-soft-2); }

.adk-doors { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.adk-door { position: relative; display: block; height: 108px; border-radius: 12px; perspective: 800px; text-decoration: none; background: #2B0000; box-shadow: 0 6px 16px rgba(0,0,0,0.10); }
.adk-door__inside {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; gap: 6px;
	padding-right: 18px; border-radius: 12px; color: #FBEFD9; background: #2B0000;
	font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.adk-door__panel {
	position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 14px 16px; border-radius: 12px; text-align: left; transform-origin: left center;
	transition: transform .55s cubic-bezier(.34,1.2,.64,1), box-shadow .3s; backface-visibility: hidden;
}
.adk-door__panel::after { content: ""; position: absolute; inset: 6px; border: 1.5px dashed currentColor; border-radius: 8px; opacity: .28; pointer-events: none; }
.adk-door__num { position: absolute; left: 14px; top: 6px; font-size: 40px; font-style: italic; font-weight: 700; line-height: 1; opacity: .9; }
.adk-door__icon { position: absolute; right: 16px; top: 14px; opacity: .85; }
.adk-door__label { position: relative; font-size: 15px; font-weight: 700; line-height: 1.3; padding-right: 14px; }
.adk-door__knob { position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: currentColor; opacity: .5; }
.adk-door:hover .adk-door__panel, .adk-door:focus-visible .adk-door__panel { transform: rotateY(-38deg); box-shadow: 8px 0 16px rgba(0,0,0,0.12); }
.adk-door:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.adk-door--1 .adk-door__panel { background: #fff; color: var(--adk-wine); }
.adk-door--2 .adk-door__panel { background: var(--adk-green); color: #fff; }
.adk-door--3 .adk-door__panel { background: #FBEFD9; color: var(--adk-wine); }
.adk-door--4 .adk-door__panel { background: var(--adk-xred); color: #fff; }

/* ==========================================================================
   Layout: main + sidebar
   ========================================================================== */
.adk-content { background: var(--adk-cream); padding: 40px 24px 56px; }
.adk-layout { max-width: var(--adk-container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.adk-layout--full { grid-template-columns: minmax(0, 1fr); }
.adk-main { display: flex; flex-direction: column; gap: 44px; min-width: 0; }

/* Intro text */
.adk-intro { display: flex; flex-direction: column; gap: 22px; }
.adk-intro p { margin: 0; font-size: 17px; line-height: 1.75; color: var(--adk-body); }
.adk-intro a, .adk-entry a { color: var(--adk-wine); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(96,2,2,0.35); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.adk-intro a:hover, .adk-entry a:hover { text-decoration-color: var(--adk-wine); }
.adk-dropcap::first-letter { float: left; font-size: 58px; line-height: .9; font-weight: 700; color: var(--adk-wine); margin: 6px 10px 0 0; }

/* Reminder gift tag */
.adk-tag {
	position: relative; background: var(--adk-wine); color: var(--adk-soft-2);
	padding: 20px 24px 20px 58px; border-radius: 0 12px 12px 0;
	clip-path: polygon(26px 0, 100% 0, 100% 100%, 26px 100%, 0 50%);
	filter: drop-shadow(0 6px 14px rgba(63,1,1,0.10));
	display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px;
}
.adk-tag__hole { position: absolute; left: 22px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--adk-cream); box-shadow: inset 0 0 0 2px var(--adk-wine-dark); }
.adk-tag__body { flex: 1 1 320px; display: flex; flex-direction: column; gap: 6px; }
.adk-intro .adk-tag p.adk-tag__label, .adk-tag__label { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #fff; font-weight: 600; }
.adk-intro .adk-tag p.adk-tag__text, .adk-tag__text { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--adk-soft-2); }
.adk-tag__text a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255,255,255,0.4); text-underline-offset: 3px; }
.adk-btn-light {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px;
	border-radius: 8px; background: #fff; color: var(--adk-wine); font-weight: 700; font-size: 15px;
	text-decoration: none; transition: background-color .2s, transform .2s;
}
.adk-btn-light:hover, .adk-btn-light:focus-visible { background: #FBEFD9; color: var(--adk-wine); transform: translateY(-1px); outline: none; }

/* ==========================================================================
   Posts
   ========================================================================== */
.adk-posts { display: flex; flex-direction: column; gap: 18px; }
.adk-posts__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; padding-bottom: 12px; border-bottom: 1px solid #E6DAD0; }
.adk-posts__title { margin: 0; font-size: 28px; font-weight: 700; }
.adk-more-link { color: var(--adk-wine); font-weight: 700; font-size: 15px; text-decoration: none; }
.adk-more-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.adk-post { display: flex; flex-wrap: wrap; background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.adk-post:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(63,1,1,0.08); }
.adk-post__img { flex: 0 0 240px; max-width: 100%; min-height: 180px; display: flex; align-items: center; justify-content: center; background: #F1E4D3; color: #8B7F6E; overflow: hidden; }
.adk-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.adk-post__body { flex: 1 1 300px; min-width: 0; padding: 20px 24px; display: flex; flex-direction: column; gap: 8px; }
.adk-post__meta { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13px; color: var(--adk-muted); }
.adk-post__tag { background: #F6E9E4; color: var(--adk-wine); font-weight: 700; padding: 3px 10px; border-radius: 999px; text-decoration: none; }
.adk-post__title { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.3; }
.adk-post__title a { color: var(--adk-wine); text-decoration: none; }
.adk-post__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.adk-post__excerpt { margin: 0; font-size: 15.5px; line-height: 1.65; color: #4A433C; flex-grow: 1; }
.adk-post__excerpt p { margin: 0; }
.adk-post__more { align-self: flex-start; color: var(--adk-wine); font-weight: 700; font-size: 14.5px; text-decoration: none; }
.adk-post__more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Pagination */
.navigation.pagination { margin-top: 6px; }
.nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.page-numbers {
	min-width: 42px; height: 42px; padding: 0 12px; border-radius: 8px; border: 1px solid #E6DAD0; background: #fff;
	color: var(--adk-body); display: inline-flex; align-items: center; justify-content: center;
	font-weight: 600; font-size: 15px; text-decoration: none; transition: border-color .2s, color .2s;
}
a.page-numbers:hover { border-color: var(--adk-wine); color: var(--adk-wine); }
.page-numbers.current { background: var(--adk-wine); border-color: var(--adk-wine); color: #fff; }
.page-numbers.dots { border: 0; background: none; min-width: 0; padding: 0 4px; }
.page-numbers.next { margin-left: auto; }

/* Archive header */
.adk-archive-head { display: flex; flex-direction: column; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid #E6DAD0; }
.adk-archive-head h1 { margin: 0; font-size: 34px; }
.adk-archive-head p, .adk-archive-head .archive-description { margin: 0; color: var(--adk-muted); }

/* Single / page */
.adk-entry { background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; padding: 36px 40px; }
.adk-entry__title { margin: 0 0 8px; font-size: 36px; }
.adk-entry__meta { margin: 0 0 22px; font-size: 14px; color: var(--adk-muted); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.adk-entry__thumb { margin: 0 0 24px; border-radius: 10px; overflow: hidden; }
.adk-entry__thumb img { display: block; width: 100%; max-height: 460px; object-fit: cover; }
.adk-entry__content { font-size: 17px; line-height: 1.8; color: var(--adk-body); }
.adk-entry__content > *:first-child { margin-top: 0; }
.adk-entry__content h2 { font-size: 26px; margin: 1.6em 0 .6em; }
.adk-entry__content h3 { font-size: 21px; margin: 1.4em 0 .5em; }
.adk-entry__content blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--adk-wine); font-style: italic; }
.adk-entry__footer { margin-top: 26px; font-size: 14px; color: var(--adk-muted); }
.adk-post-nav { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.adk-post-nav a { font-weight: 700; color: var(--adk-wine); text-decoration: none; }
.adk-entry--elementor { background: none; border: 0; padding: 0; }
.adk-entry--builder { padding: 26px 28px; }
.adk-entry--builder .adk-entry__content > .elementor { margin: 0; }
.adk-entry--builder .e-con.e-parent { --padding-left: 0px; --padding-right: 0px; }
@media (max-width: 720px) { .adk-entry--builder { padding: 18px 16px; } }

/* Comments */
.adk-comments { background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; padding: 28px 32px; }
.adk-comments h2 { margin-top: 0; font-size: 24px; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 24px; }
.comment-body { padding: 14px 0; border-bottom: 1px solid #F1E8E1; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #E3D6CB; border-radius: 8px; font: inherit; font-size: 15px; background: #fff;
}
.comment-form .submit, .adk-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border: 0; border-radius: 8px;
	background: var(--adk-wine); color: #fff; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; text-decoration: none;
}
.comment-form .submit:hover, .adk-button:hover { background: var(--adk-wine-dark); color: #fff; }

/* ==========================================================================
   Sidebar & widgets
   ========================================================================== */
.adk-sidebar { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.adk-widget { background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; padding: 18px 18px 10px; }
.adk-widget__title, .adk-widget .widget-title, .adk-widget h2 { margin: 0 0 8px; font-size: 20px; font-weight: 700; color: var(--adk-wine); }
.adk-widget ul { list-style: none; margin: 0; padding: 0; }
.adk-widget li a, .adk-cat {
	display: flex; align-items: center; justify-content: space-between; padding: 10px 2px; border-bottom: 1px solid #F1E8E1;
	color: var(--adk-body); font-size: 15px; text-decoration: none; transition: color .2s, padding .2s;
}
.adk-widget li:last-child > a { border-bottom: 0; }
.adk-widget li a::after { content: "›"; font-size: 18px; color: var(--adk-wine); opacity: 0; transform: translateX(-4px); transition: opacity .2s, transform .2s; }
.adk-widget li a:hover, .adk-widget li a:focus-visible { color: var(--adk-wine); padding-left: 6px; outline: none; }
.adk-widget li a:hover::after, .adk-widget li a:focus-visible::after { opacity: 1; transform: none; }
.adk-widget--plain { background: none; border: 0; padding: 0; }

/* Search */
.adk-search { display: flex; border-radius: 10px; overflow: hidden; border: 1px solid #E3D6CB; background: #fff; }
.adk-search input[type="search"] { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 0; font: inherit; font-size: 15px; color: var(--adk-ink); background: transparent; }
.adk-search input[type="search"]:focus { outline: 2px solid var(--adk-wine); outline-offset: -2px; }
.adk-search button { height: 48px; padding: 0 20px; border: 0; background: var(--adk-wine); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.adk-search button:hover { background: var(--adk-wine-dark); }

/* Countdown widget */
.adk-cd { position: relative; margin-top: 14px; }
.adk-cd__card {
	position: relative; overflow: hidden; border-radius: 14px; background: var(--adk-red);
	padding: 38px 14px 84px; box-shadow: 0 8px 22px rgba(63,1,1,0.10), inset 0 0 0 1px rgba(255,214,150,0.18);
}
.adk-cd__deco { position: absolute; inset: 0; pointer-events: none; }
.adk-cd__flake { position: absolute; fill: none; stroke: var(--adk-gold-line); stroke-width: 1.4; stroke-linecap: round; }
.adk-cd__holly { position: absolute; left: 10px; top: 8px; width: 44px; height: auto; }
.adk-cd__ground { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 26px; }
.adk-cd__snowman { position: absolute; left: 10px; bottom: 6px; width: auto; height: 78px; }
.adk-cd__tree { position: absolute; right: 8px; bottom: 6px; width: auto; height: 92px; }
.adk-cd__grid { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; text-align: center; }
.adk-cd__unit { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.adk-cd__label { font-size: 12px; font-weight: 600; color: #fff; }
.adk-cd__tile {
	position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 58px;
	border-radius: 6px; overflow: hidden; background: #2A2A2A; color: #fff; font-size: 30px; font-weight: 700;
	letter-spacing: .02em; font-variant-numeric: tabular-nums; line-height: 1; box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}
.adk-cd__tile::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 50%; background: #3A3A3A; }
.adk-cd__tile::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: #141414; z-index: 2; }
.adk-cd__digits { position: relative; z-index: 1; }
.adk-cd__hinge { position: absolute; top: 50%; width: 3px; height: 10px; margin-top: -5px; background: #9A9A9A; border-radius: 1px; z-index: 3; }
.adk-cd__hinge--l { left: 0; }
.adk-cd__hinge--r { right: 0; }
.adk-cd__titlerow { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.adk-cd__line { width: 26px; height: 1.5px; background: var(--adk-gold-line); }
.adk-cd .adk-cd__title, .adk-widget .adk-cd__title { margin: 0; font-size: 23px; font-weight: 600; font-style: italic; color: var(--adk-gold); line-height: 1.3; }
.adk-cd__hat { position: absolute; right: -16px; top: -24px; width: 78px; height: 58px; transform: rotate(16deg); z-index: 2; }
.adk-cd__done { position: relative; margin: 0; text-align: center; color: #fff; font-size: 22px; font-style: italic; }

/* Promo cards */
.adk-promo {
	position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 150px;
	padding: 22px 18px 22px 24px; border-radius: 14px; overflow: hidden; color: #fff; text-decoration: none;
	box-shadow: 0 8px 22px rgba(63,1,1,0.08); transition: transform .25s, box-shadow .25s;
}
.adk-promo::after { content: ""; position: absolute; inset: 7px; border: 1.5px dashed rgba(255,255,255,0.25); border-radius: 9px; pointer-events: none; }
.adk-promo:hover, .adk-promo:focus-visible { color: #fff; transform: translateY(-3px); box-shadow: 0 10px 26px rgba(63,1,1,0.12); outline: none; }
.adk-promo:focus-visible { box-shadow: 0 0 0 3px var(--adk-wine); }
.adk-promo--green { background: var(--adk-green); }
.adk-promo--wine { background: var(--adk-wine); }
.adk-promo--red { background: var(--adk-xred); }
.adk-promo__text { position: relative; display: flex; flex-direction: column; gap: 2px; }
.adk-promo__kicker { font-size: 14px; color: var(--adk-soft-2); }
.adk-promo__title { font-size: 30px; font-weight: 700; font-style: italic; line-height: 1.1; }
.adk-promo__cta { margin-top: 10px; font-size: 14px; font-weight: 600; }
.adk-promo__art { position: relative; flex: 0 0 auto; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.adk-promo:hover .adk-promo__art, .adk-promo:focus-visible .adk-promo__art { transform: rotate(-6deg) scale(1.06); }

/* ==========================================================================
   Footer
   ========================================================================== */
.adk-footer { position: relative; background: var(--adk-wine); color: var(--adk-soft); padding-top: 30px; }
.adk-footer__snow { position: absolute; top: 0; left: 0; width: 100%; height: 22px; display: block; }
.adk-footer__grid { max-width: var(--adk-container); margin: 0 auto; padding: 44px 24px 48px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px 56px; }
.adk-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.adk-footer__logo { display: block; max-width: 320px; }
.adk-footer__logo img { display: block; width: 100%; height: auto; }
.adk-footer__about { margin: 0; max-width: 380px; font-size: 15.5px; line-height: 1.7; }
.adk-footer__social { padding-top: 14px; }
.adk-footer h2 { margin: 0 0 16px; font-size: 19px; font-weight: 600; color: #fff; }
.adk-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.adk-footer a { color: var(--adk-soft); text-decoration: none; font-size: 15.5px; transition: color .2s; }
.adk-footer a:hover, .adk-footer a:focus-visible { color: #fff; outline: none; }
.adk-footer a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.adk-footer .adk-soc { color: #fff; }
.adk-footer ul.adk-social { flex-direction: row; gap: 16px; }
.adk-footer__bottom { background: var(--adk-wine-dark); border-top: 1px solid rgba(255,255,255,0.08); }
.adk-footer__bottom-inner { max-width: var(--adk-container); margin: 0 auto; padding: 18px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; font-size: 14.5px; }
.adk-footer__copy { margin: 0; color: #C9A9A0; }
.adk-footer__legal ul { flex-direction: row; gap: 24px; }
.adk-footer .widget { margin: 0; }

/* 404 */
.adk-404 { text-align: center; padding: 40px 20px; }
.adk-404 h1 { font-size: 48px; margin: 0 0 10px; }

/* ==========================================================================
   Breadcrumb, section tabs, section headers
   ========================================================================== */
.adk-crumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-bottom: -26px; font-size: 14px; color: var(--adk-muted); }
.adk-crumbs__label { font-weight: 600; }
.adk-crumbs ol { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 4px 0; }
.adk-crumbs li { display: inline-flex; align-items: baseline; }
.adk-crumbs li + li::before { content: "›"; margin: 0 8px; color: #B9A79B; }
.adk-crumbs a { color: var(--adk-wine); text-decoration: none; }
.adk-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.adk-crumbs [aria-current] { color: var(--adk-body); }

.adk-tabs { margin-bottom: -26px; }
.adk-tabs ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.adk-tabs a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1px solid #E6DAD0; border-radius: 999px; background: #fff; color: var(--adk-body); font-size: 15px; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s, background .2s; }
.adk-tabs a:hover { border-color: var(--adk-wine); color: var(--adk-wine); }
.adk-tabs a[aria-current] { background: var(--adk-wine); border-color: var(--adk-wine); color: #fff; }

.adk-sechead { display: flex; align-items: center; gap: 28px; padding: 30px 34px; background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; position: relative; overflow: hidden; }
.adk-sechead::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--adk-wine); }
.adk-sechead__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.adk-sechead__title { margin: 0; font-size: 36px; line-height: 1.15; color: var(--adk-wine); }
.adk-sechead__intro { margin: 0; font-size: 17px; line-height: 1.7; color: var(--adk-body); max-width: 60ch; }
.adk-sechead__intro p { margin: 0 0 .6em; }
.adk-sechead__intro a { color: var(--adk-wine); }
.adk-sechead__count { margin: 0; font-size: 14px; font-weight: 600; color: var(--adk-muted); }
.adk-sechead__img { flex: 0 0 200px; width: 200px; height: 150px; object-fit: cover; border-radius: 10px; }
.adk-sechead--center { text-align: center; justify-content: center; }
.adk-sechead--center .adk-sechead__intro { margin: 0 auto; }
.adk-author__badge { flex: 0 0 84px; height: 84px; border-radius: 50%; background: var(--adk-wine); color: var(--adk-gold); display: flex; align-items: center; justify-content: center; font-size: 40px; font-weight: 700; font-style: italic; }

/* ==========================================================================
   A–Z lists (Gedichte, Lieder, Texte, Rezepte, Autoren)
   ========================================================================== */
.adk-az { display: flex; flex-direction: column; gap: 22px; }
.adk-az__tools { position: sticky; top: 0; z-index: 5; display: flex; flex-direction: column; gap: 12px; padding: 14px 0 12px; background: var(--adk-cream); border-bottom: 1px solid #E6DAD0; }
.admin-bar .adk-az__tools { top: 32px; }
.adk-az__search { display: block; }
.adk-az__search input { width: 100%; height: 48px; padding: 0 16px; border: 1px solid #E3D6CB; border-radius: 10px; background: #fff; font: inherit; font-size: 16px; color: var(--adk-ink); }
.adk-az__search input:focus { outline: 2px solid var(--adk-wine); outline-offset: 0; border-color: var(--adk-wine); }
.adk-az__letters { display: flex; flex-wrap: wrap; gap: 4px; }
.adk-az__letters a, .adk-az__letters span { min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; font-size: 14.5px; font-weight: 700; text-decoration: none; }
.adk-az__letters a { color: var(--adk-wine); background: #fff; border: 1px solid #E6DAD0; transition: background .2s, color .2s; }
.adk-az__letters a:hover, .adk-az__letters a:focus-visible { background: var(--adk-wine); color: #fff; outline: none; }
.adk-az__letters span { color: #CDBFB4; }
.adk-az__empty { margin: 0; color: var(--adk-muted); font-style: italic; }
.adk-az__groups { columns: 2 300px; column-gap: 18px; }
.adk-az__group { break-inside: avoid; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0 16px; align-items: start; margin: 0 0 18px; padding: 14px 20px 4px; background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; scroll-margin-top: 170px; }
.adk-az__group[hidden] { display: none; }
.adk-az__letter { margin: 6px 0 10px; width: 40px; height: 40px; border-radius: 10px; background: var(--adk-wine); color: var(--adk-gold); display: flex; align-items: center; justify-content: center; font-size: 21px; font-style: italic; scroll-margin-top: 170px; }
.adk-az__list { list-style: none; margin: 0; padding: 0; }
.adk-az__list li { break-inside: avoid; display: flex; flex-direction: column; gap: 1px; padding: 10px 0; border-bottom: 1px solid #F1E8E1; }
.adk-az__list li:last-child { border-bottom: 0; }
.adk-az__list li[hidden] { display: none; }
.adk-az__title { color: var(--adk-wine); font-weight: 700; font-size: 16.5px; line-height: 1.35; text-decoration: none; }
.adk-az__title:hover { text-decoration: underline; text-underline-offset: 3px; }
.adk-az__by { font-size: 14px; font-style: italic; color: var(--adk-muted); }
.adk-az__by a { color: inherit; }
.adk-az__by a:hover { color: var(--adk-wine); }

/* Author page works */
.adk-works h2 { display: flex; align-items: baseline; gap: 8px; margin: 0 0 14px; font-size: 24px; }
.adk-works h2 a { color: var(--adk-wine); text-decoration: none; }
.adk-works h2 span { font-size: 16px; color: var(--adk-muted); font-weight: 400; }
.adk-works .adk-az__list { padding: 4px 22px; background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; }

/* ==========================================================================
   Reading views (News, Rezept, Gedicht, Lied, Text)
   ========================================================================== */
.adk-read__head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid #F1E8E1; }
.adk-read__head .adk-entry__title { margin: 0; color: var(--adk-wine); }
.adk-read__kicker { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.adk-read__kicker a, .adk-sechead .adk-read__kicker { display: inline-block; background: #F6E9E4; color: var(--adk-wine); font-weight: 700; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; text-decoration: none; }
.adk-sechead .adk-read__kicker { align-self: flex-start; }
.adk-read__kicker a.adk-read__tag { background: #fff; border: 1px solid #E6DAD0; text-transform: none; letter-spacing: 0; font-weight: 600; }
.adk-read__by { margin: 0; font-size: 19px; font-style: italic; color: var(--adk-body); }
.adk-read__by a { color: var(--adk-wine); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--adk-gold-line); }
.adk-read__by a:hover { border-bottom-color: var(--adk-wine); }
.adk-read__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; font-size: 14px; color: var(--adk-muted); }
.adk-read__meta:empty { display: none; }
.adk-read__print { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 14px; border: 1px solid #E3D6CB; border-radius: 8px; background: #fff; color: var(--adk-body); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.adk-read__print:hover { border-color: var(--adk-wine); color: var(--adk-wine); }
.adk-read__meta .adk-read__print { margin-left: auto; }
.adk-read__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 20px; border-top: 1px solid #F1E8E1; }
.adk-read__back { color: var(--adk-wine); font-weight: 700; text-decoration: none; }
.adk-read__back:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Verse: poems and songs */
.adk-read--verse .adk-read__head { text-align: center; align-items: center; }
.adk-read--verse .adk-read__meta { justify-content: center; }
.adk-read--verse .adk-read__meta .adk-read__print { margin-left: 0; }
.adk-read--verse .adk-read__body { max-width: 34em; margin: 0 auto; text-align: center; font-size: 18.5px; line-height: 1.8; color: var(--adk-ink); }
.adk-read--verse .adk-read__body p { margin: 0 0 1.4em; }
.adk-read--verse .adk-read__body::after { content: "❄"; display: block; text-align: center; margin-top: 10px; color: var(--adk-gold-line); font-size: 20px; }

/* Prose: long texts */
.adk-read--prose .adk-read__body { max-width: 40em; margin: 0 auto; font-size: 18px; line-height: 1.85; }
.adk-read--prose .adk-read__body > p:first-of-type::first-letter { float: left; font-size: 3.6em; line-height: .9; padding: 6px 10px 0 0; color: var(--adk-wine); font-weight: 700; }
.adk-series { margin: 0 0 26px; padding: 16px 20px; background: var(--adk-cream); border: 1px solid var(--adk-line); border-radius: 10px; font-size: 15px; }
.adk-series__title { margin: 0 0 6px; font-weight: 700; }
.adk-series ol { margin: 0; padding-left: 22px; }
.adk-series a { color: var(--adk-wine); }
.adk-series [aria-current] { font-weight: 700; }

/* Recipe */
.adk-recipe__box { margin: 0 0 30px; padding: 22px 26px 18px; background: var(--adk-cream); border: 1px solid var(--adk-line); border-radius: 12px; }
.adk-entry__content .adk-recipe__h, .adk-recipe__box .adk-recipe__h, .adk-recipe__method .adk-recipe__h { margin: 0 0 12px; font-size: 22px; color: var(--adk-wine); }
.adk-recipe__list { list-style: none; margin: 0; padding: 0; columns: 2 220px; column-gap: 28px; }
.adk-recipe__list li { break-inside: avoid; position: relative; padding: 6px 0 6px 24px; border-bottom: 1px dashed #E6D7CA; font-size: 16.5px; line-height: 1.5; }
.adk-recipe__list li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 9px; height: 9px; border-radius: 50%; background: var(--adk-xred); }
.adk-recipe__box ul:not(.adk-recipe__list) { margin: 0; }
.adk-recipe__credit { display: inline-block; margin: 0 0 14px !important; padding: 4px 12px; border-radius: 999px; background: #EAF2EC; color: var(--adk-green); font-size: 14.5px; font-weight: 600; font-style: italic; }

/* Prev / next */
.adk-pn { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.adk-pn__link { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; background: #fff; border: 1px solid var(--adk-line); border-radius: 12px; text-decoration: none; transition: border-color .2s, transform .2s; }
.adk-pn__link:hover { border-color: var(--adk-wine); transform: translateY(-2px); }
.adk-pn__link--next { text-align: right; }
.adk-pn__label { font-size: 13px; font-weight: 600; color: var(--adk-muted); }
.adk-pn__title { font-size: 17px; font-weight: 700; color: var(--adk-wine); line-height: 1.35; }

/* Related */
.adk-related h2 { margin: 0 0 14px; font-size: 24px; }
.adk-related > ul { list-style: none; margin: 0; padding: 4px 22px; background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; }
.adk-related > ul li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding: 11px 0; border-bottom: 1px solid #F1E8E1; }
.adk-related > ul li:last-child { border-bottom: 0; }
.adk-related > ul a { color: var(--adk-wine); font-weight: 700; text-decoration: none; }
.adk-related > ul a:hover { text-decoration: underline; }
.adk-related > ul span { font-size: 13px; color: var(--adk-muted); }

/* Video (two-click) */
.adk-video { position: relative; margin: 28px 0 0; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--adk-wine-dark); }
.adk-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.adk-video__play { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border: 0; background: radial-gradient(circle at 50% 40%, var(--adk-red), var(--adk-wine-dark)); color: #fff; font: inherit; cursor: pointer; }
.adk-video__icon { width: 72px; height: 72px; border-radius: 50%; background: #fff; color: var(--adk-wine); display: flex; align-items: center; justify-content: center; font-size: 26px; padding-left: 5px; transition: transform .2s; }
.adk-video__play:hover .adk-video__icon { transform: scale(1.08); }
.adk-video__label { font-size: 19px; font-weight: 700; }
.adk-video__note { font-size: 13px; color: var(--adk-soft); }

/* ==========================================================================
   Pages: child cards, landing, jump links, countdown, legal, contact
   ========================================================================== */
.adk-children__title { margin: 0 0 16px; font-size: 26px; }
.adk-children__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.adk-child__link { height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--adk-line); border-radius: 12px; overflow: hidden; text-decoration: none; transition: transform .25s, border-color .25s; }
.adk-child__link:hover { transform: translateY(-3px); border-color: var(--adk-wine); }
.adk-child__img { height: 120px; display: flex; align-items: center; justify-content: center; background: #F6E9E4; color: var(--adk-wine); }
.adk-child__img img { width: 100%; height: 100%; object-fit: cover; }
.adk-child__title { padding: 14px 16px 4px; font-size: 17px; font-weight: 700; color: var(--adk-wine); line-height: 1.3; }
.adk-child__text { padding: 0 16px 16px; font-size: 14px; line-height: 1.55; color: var(--adk-muted); }

.adk-landing { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 34px; border-radius: 16px; background: var(--adk-wine); color: var(--adk-soft); position: relative; overflow: hidden; }
.adk-landing__kicker { margin: 0 0 10px; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--adk-gold); }
.adk-landing__title { margin: 0 0 12px; font-size: 36px; line-height: 1.15; color: #fff; }
.adk-landing__lead { margin: 0 0 20px; font-size: 17px; line-height: 1.65; }
.adk-landing__buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.adk-button { gap: 8px; }
.adk-button--gold { background: var(--adk-gold); color: var(--adk-wine-dark); }
.adk-button--gold:hover { background: #fff; color: var(--adk-wine-dark); }
.adk-button--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.55); }
.adk-button--ghost:hover { background: rgba(255,255,255,0.1); color: #fff; }
.adk-landing__doors { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.adk-landing__door { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border-radius: 7px; background: rgba(255,255,255,0.08); box-shadow: inset 0 0 0 1px rgba(242,204,107,0.35); color: var(--adk-gold); font-size: 15px; font-weight: 700; font-style: italic; }
.adk-landing__door:nth-child(5n+2) { background: rgba(31,90,62,0.55); }
.adk-landing__door:nth-child(7n+3) { background: rgba(192,24,42,0.45); }
.adk-landing__door.is-open { background: var(--adk-gold); color: var(--adk-wine-dark); }

.adk-toc { padding: 16px 20px; background: #fff; border: 1px solid var(--adk-line); border-radius: 12px; }
.adk-toc__title { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--adk-muted); }
.adk-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.adk-toc a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 999px; background: #F6E9E4; color: var(--adk-wine); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.adk-toc a:hover { background: var(--adk-wine); color: #fff; }
.adk-entry__content h2[id] { scroll-margin-top: 20px; }

.adk-cd-big { max-width: 640px; width: 100%; margin: 0 auto; padding-top: 14px; }
.adk-cd-big .adk-cd__card { padding: 46px 30px 132px; }
.adk-cd-big .adk-cd__grid { gap: 12px; }
.adk-cd-big .adk-cd__tile { font-size: 46px; height: 84px; }
.adk-cd-big .adk-cd__label { font-size: 14px; }
.adk-cd-big .adk-cd__title { font-size: 30px; }
.adk-cd-big .adk-cd__hat { width: 110px; height: 82px; right: -22px; top: -32px; }
.adk-cd-big .adk-cd__snowman { height: 110px; }
.adk-cd-big .adk-cd__tree { height: 130px; }
.adk-cd-big .adk-cd__holly { width: 64px; }

.adk-layout--narrow { max-width: 900px; }
.adk-legal__date { margin: 0 0 20px; font-size: 14px; color: var(--adk-muted); }
.adk-legal .adk-toc { margin-bottom: 28px; background: var(--adk-cream); }
.adk-legal .adk-entry__content { font-size: 16px; line-height: 1.75; }
.adk-legal .adk-entry__content h2 { font-size: 22px; }
.adk-legal .adk-entry__content h3 { font-size: 18px; }

.adk-contact__card { display: flex; gap: 16px; align-items: flex-start; margin-top: 24px; padding: 20px 22px; border-radius: 12px; background: var(--adk-cream); border: 1px solid var(--adk-line); color: var(--adk-wine); }
.adk-contact__label { margin: 0 0 4px; color: var(--adk-body); }
.adk-contact__mail { font-size: 19px; font-weight: 700; color: var(--adk-wine); }

.adk-404__links ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.adk-404__links a { display: inline-flex; min-height: 36px; align-items: center; padding: 0 14px; border-radius: 999px; background: #F6E9E4; color: var(--adk-wine); font-weight: 600; text-decoration: none; }
.adk-404__links a:hover { background: var(--adk-wine); color: #fff; }

.adk-post__by { font-style: italic; }
.adk-post__by a { color: inherit; }
.adk-post--noimg .adk-post__img { flex-basis: 120px; min-height: 120px; color: var(--adk-wine); background: #F6E9E4; }

/* ==========================================================================
   Content elements & forms (Contact Form 7, WPForms, Fluent Forms, Elementor, Gravity)
   ========================================================================== */
.adk-entry__content img { max-width: 100%; height: auto; }
.adk-entry__content iframe, .adk-entry__content video { max-width: 100%; }
.adk-entry__content table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 15.5px; }
.adk-entry__content th, .adk-entry__content td { padding: 10px 12px; border-bottom: 1px solid #EFE5DD; text-align: left; vertical-align: top; }
.adk-entry__content th { background: var(--adk-cream); color: var(--adk-wine); }
.adk-entry__content a { color: var(--adk-wine); text-underline-offset: 3px; }
.adk-entry__content ul, .adk-entry__content ol { padding-left: 1.4em; }
.adk-entry__content hr { border: 0; border-top: 1px solid #EADFD6; margin: 2em 0; }
.adk-entry__content .wp-block-button__link, .adk-entry__content .button { background: var(--adk-wine); color: #fff; border-radius: 8px; padding: 12px 22px; text-decoration: none; display: inline-block; font-weight: 700; }

.adk-entry__content input[type="text"], .adk-entry__content input[type="email"], .adk-entry__content input[type="url"], .adk-entry__content input[type="tel"],
.adk-entry__content input[type="number"], .adk-entry__content input[type="date"], .adk-entry__content input[type="search"], .adk-entry__content select, .adk-entry__content textarea,
.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpcf7 textarea, .wpcf7 select,
.wpforms-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpforms-form textarea, .wpforms-form select,
.fluentform .ff-el-form-control, .elementor-form .elementor-field-textual, .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .gform_wrapper textarea {
	width: 100%; max-width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #E3D6CB !important; border-radius: 8px !important;
	background: #fff !important; color: var(--adk-ink) !important; font: inherit !important; font-size: 16px !important; box-shadow: none !important; transition: border-color .2s;
}
.adk-entry__content textarea, .wpcf7 textarea, .wpforms-form textarea, .fluentform textarea.ff-el-form-control, .elementor-form textarea { min-height: 150px; }
.adk-entry__content input:focus, .adk-entry__content select:focus, .adk-entry__content textarea:focus,
.wpcf7 :is(input, textarea, select):focus, .wpforms-form :is(input, textarea, select):focus, .fluentform .ff-el-form-control:focus, .elementor-form .elementor-field-textual:focus {
	outline: 2px solid var(--adk-wine) !important; outline-offset: 0; border-color: var(--adk-wine) !important;
}
.wpcf7 label, .wpforms-form .wpforms-field-label, .fluentform .ff-el-input--label label, .elementor-form .elementor-field-label, .gform_wrapper .gfield_label { display: block; margin-bottom: 6px; font-weight: 700 !important; font-size: 15px !important; color: var(--adk-ink) !important; }
.wpcf7 p { margin: 0 0 16px; }
.wpcf7 input[type="submit"], .wpforms-form button[type="submit"], .fluentform .ff-btn-submit, .elementor-form .elementor-button, .gform_wrapper input[type="submit"], .adk-entry__content button[type="submit"], .adk-entry__content input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px !important; border: 0 !important; border-radius: 8px !important;
	background: var(--adk-wine) !important; color: #fff !important; font: inherit !important; font-weight: 700 !important; font-size: 16px !important; cursor: pointer; transition: background .2s;
}
.wpcf7 input[type="submit"]:hover, .wpforms-form button[type="submit"]:hover, .fluentform .ff-btn-submit:hover, .elementor-form .elementor-button:hover, .gform_wrapper input[type="submit"]:hover, .adk-entry__content button[type="submit"]:hover { background: var(--adk-wine-dark) !important; }
.wpcf7 .wpcf7-not-valid-tip, .wpforms-error, .ff-el-is-error .error, .elementor-message-danger { color: var(--adk-xred) !important; font-size: 14px; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 8px; border-width: 1px; }
.wpcf7 form.sent .wpcf7-response-output, .wpforms-confirmation-container-full, .ff-message-success, .elementor-message-success { border-color: var(--adk-green) !important; background: #EAF2EC !important; color: var(--adk-green) !important; border-radius: 8px; }
.adk-entry__content input[type="checkbox"], .adk-entry__content input[type="radio"] { accent-color: var(--adk-wine); width: 18px; height: 18px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.adk-bauble { display: none; }
}
@media (max-width: 960px) {
	.adk-landing { grid-template-columns: minmax(0, 1fr); }
	.adk-landing__doors { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	.adk-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.adk-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.adk-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.adk-footer__brand { grid-column: 1 / -1; }
	.adk-nav__toggle { display: flex; }
	.adk-nav .adk-menu { display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 0 16px 10px; }
	.adk-nav.is-open .adk-menu { display: flex; }
	.adk-menu a { padding: 12px 8px; white-space: normal; }
	.adk-menu .sub-menu { position: static; display: block; min-width: 0; box-shadow: none; border-top: 0; background: transparent; padding: 0 0 0 14px; }
	.adk-menu .sub-menu a { color: var(--adk-soft); }
	.adk-menu .sub-menu a:hover { background: transparent; color: #fff; }
}
@media (max-width: 720px) {
	.adk-sechead { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
	.adk-sechead__img { width: 100%; flex-basis: auto; height: 160px; }
	.adk-sechead__title, .adk-landing__title { font-size: 28px; }
	.adk-landing { padding: 26px 20px; }
	.adk-landing__doors { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.adk-az__group { padding: 12px 14px 2px; gap: 0 12px; }
	.adk-pn { grid-template-columns: minmax(0, 1fr); }
	.adk-read--verse .adk-read__body, .adk-read--prose .adk-read__body { font-size: 17px; }
	.adk-cd-big .adk-cd__tile { font-size: 30px; height: 60px; }
	.adk-cd-big .adk-cd__card { padding: 36px 14px 110px; }
	.adk-cd-big .adk-cd__hat { right: -6px; top: -26px; width: 80px; height: 60px; }
	.adk-crumbs, .adk-tabs { margin-bottom: -30px; }
	.adk-corner { height: 110px; }
	.adk-topbar__inner { padding-right: 130px; }
	.adk-topbar__label { display: none; }
	.adk-entry { padding: 24px 20px; }
	.adk-entry__title { font-size: 28px; }
}
@media (max-width: 640px) {
	.adk-post__img { flex: 1 1 100%; }
	.adk-footer__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.adk-doors { grid-template-columns: minmax(0, 1fr); }
	.adk-hero__title-main { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
	.adk-bauble, .adk-twinkle { animation: none; }
	.adk-door:hover .adk-door__panel, .adk-door:focus-visible .adk-door__panel { transform: none; box-shadow: 0 0 0 3px #fff; }
	.adk-post, .adk-promo, .adk-promo__art, .adk-soc, .adk-soc__hat { transition: none; }
}

/* Links inside entries that are styled as buttons/chips */
.adk-entry a.adk-button, .adk-landing a.adk-button { color: #fff; text-decoration: none; }
.adk-entry a.adk-button:hover { color: #fff; }
.adk-landing a.adk-button--gold, .adk-landing a.adk-button--gold:hover { color: var(--adk-wine-dark); }
.adk-entry .adk-read__back, .adk-entry .adk-toc a, .adk-entry .adk-read__kicker a, .adk-entry .adk-series a { text-decoration: none; }
.adk-entry .adk-read__back:hover { text-decoration: underline; }

/* ==========================================================================
   Elementor Pro templates (classes set in the imported templates)
   ========================================================================== */
.adk-el-header { position: relative; overflow: hidden; }
.adk-el-header .adk-el-corner { position: absolute !important; top: 0; z-index: 3; width: auto !important; pointer-events: none; margin: 0 !important; }
.adk-el-header .adk-el-corner img { height: 220px; width: auto; max-width: none; display: block; }
.adk-el-header .adk-el-corner--left { left: 0; }
.adk-el-header .adk-el-corner--right { right: 0; }
.adk-el-header .adk-el-navbar, .adk-el-header .adk-el-logobar, .adk-el-header .adk-el-topbar { position: relative; z-index: 2; }
.adk-el-header .adk-el-navbar { z-index: 4; }
.adk-el-header .adk-el-logo img { max-height: 96px; width: auto; }
.adk-el-nav .elementor-nav-menu--main .elementor-nav-menu > li > a { white-space: nowrap; }
.adk-el-nav .elementor-nav-menu--dropdown { border-top: 3px solid var(--adk-gold); }
.adk-el-nav .elementor-menu-toggle { margin: 6px auto; }
@media (max-width: 720px) {
	.adk-el-header .adk-el-corner img { height: 110px; }
	.adk-el-topbar-label { display: none; }
	.adk-el-header .adk-el-logo img { max-height: 70px; }
}

/* Social icons with Santa hats */
.adk-hat-icons .elementor-social-icon { position: relative; overflow: visible; background: #fff !important; transition: transform .25s; }
.adk-hat-icons .elementor-social-icon::before {
	content: ""; position: absolute; left: -7px; top: -14px; width: 30px; height: 23px; transform: rotate(-14deg); transition: transform .25s;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M6 22 C 8 10 18 2.5 30 5 C 35 6 38.5 10 36 15 C 33 12 29 12 27.5 14.5 C 28.5 17 30.5 19.5 32 22 Z' fill='%23E3263B'/%3E%3Cpath d='M3 24 C 3 20 6 19 9 19.5 C 11 18 14 18.5 16 19.5 C 18 18 22 18 24 19.5 C 26 18 30 18.5 32 19.8 C 35 19.5 37 21 37 23.5 C 37 26.5 34 27.5 31 27 C 29 28.5 25 28.5 23 27.3 C 21 28.5 17 28.5 15 27.3 C 13 28.5 9 28.5 7.5 27 C 5 27.5 3 26.5 3 24 Z' fill='%23fff'/%3E%3Ccircle cx='36.2' cy='14.5' r='4.2' fill='%23fff'/%3E%3C/svg%3E") no-repeat center / contain;
}
.adk-hat-icons .elementor-social-icon:hover { transform: translateY(-2px); }
.adk-hat-icons .elementor-social-icon:hover::before { transform: rotate(-4deg) translateY(-2px); }
.adk-hat-icons .elementor-social-icon-facebook-f i { color: #1877F2 !important; }
.adk-hat-icons .elementor-social-icon-twitter i { color: #1DA1F2 !important; }
.adk-hat-icons .elementor-social-icon-rss i { color: #F26522 !important; }

/* Content cards */
.adk-el-sechead { position: relative; overflow: hidden; }
.adk-el-sechead::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--adk-wine); }
.adk-el-kicker .elementor-heading-title { display: inline-block; background: #F6E9E4; padding: 4px 12px; border-radius: 999px; }
.adk-el-kicker .elementor-heading-title a { color: inherit; }
.adk-el-postinfo a { color: var(--adk-wine); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--adk-gold-line); }
.adk-el-back .elementor-button { padding: 0 !important; }
.adk-el-content a { color: var(--adk-wine); text-underline-offset: 3px; }
.adk-el-content img { max-width: 100%; height: auto; border-radius: 8px; }
.adk-verse .elementor-widget-container { max-width: 34em; margin: 0 auto; text-align: center; color: var(--adk-ink); }
.adk-verse p { margin: 0 0 1.4em; }
.adk-verse .elementor-widget-container::after { content: "❄"; display: block; text-align: center; color: var(--adk-gold-line); font-size: 20px; }
.adk-prose .elementor-widget-container { max-width: 40em; margin: 0 auto; }
.adk-prose .elementor-widget-container > p:first-of-type::first-letter { float: left; font-size: 3.6em; line-height: .9; padding: 6px 10px 0 0; color: var(--adk-wine); font-weight: 700; }
.adk-el-recipe .adk-recipe__h { margin: 0 0 12px; font-size: 22px; color: var(--adk-wine); }
.adk-el-postnav .elementor-post-navigation { padding: 4px 0; }
.adk-el-postnav .elementor-post-navigation__link a { background: #fff; border: 1px solid var(--adk-line); border-radius: 12px; padding: 14px 18px; }

/* Archive lists */
.adk-el-posts .elementor-post { background: #fff; border: 1px solid var(--adk-line); border-radius: 14px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.adk-el-posts .elementor-post:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(63,1,1,0.08); }
.adk-el-posts .elementor-post__text { padding: 18px 22px; }
.adk-el-posts .elementor-post__title a { text-decoration: none; }
.adk-el-posts .elementor-post__read-more { color: var(--adk-wine) !important; font-weight: 700; font-size: 14.5px; }
.adk-el-posts--news .elementor-post__thumbnail__link { margin: 0 !important; }
.adk-el-posts--news .elementor-post__thumbnail { background: #F1E4D3; }
.adk-el-posts--verse .elementor-post__excerpt p { font-style: italic; color: var(--adk-muted); margin: 0; }
.adk-el-posts .elementor-pagination .page-numbers { min-width: 40px; }

/* Footer */
.adk-el-footer a { text-decoration: none; }

/* Sidebar widgets from the theme inside Elementor */
.adk-el-sidebar .elementor-widget-wp-widget-adk_countdown, .adk-el-sidebar .elementor-widget-wp-widget-adk_promo { margin: 0; }
.adk-el-sidebar .elementor-widget-wp-widget-adk_countdown h5, .adk-el-sidebar .elementor-widget-wp-widget-adk_promo h5 { display: none; }

/* Elementor layout fixes: content + sidebar, footer columns, nav, countdown */
.adk-el-shell > .e-con-inner, .adk-el-shell.e-con-full { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px !important; align-items: start; }
.adk-el-shell .adk-el-main, .adk-el-shell .adk-el-sidebar { width: 100% !important; min-width: 0; --width: 100%; }
.adk-el-footgrid > .e-con-inner, .adk-el-footgrid.e-con-full { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px 56px !important; align-items: start; }
.adk-el-footgrid > .e-con-inner > .e-con { width: 100% !important; --width: 100%; }
@media (max-width: 1024px) {
	.adk-el-shell > .e-con-inner, .adk-el-shell.e-con-full { grid-template-columns: minmax(0, 1fr); }
	.adk-el-footgrid > .e-con-inner, .adk-el-footgrid.e-con-full { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.adk-el-footgrid > .e-con-inner > .e-con:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.adk-el-footgrid > .e-con-inner, .adk-el-footgrid.e-con-full { grid-template-columns: minmax(0, 1fr); }
}
.adk-el-navbar, .adk-el-navbar > .e-con-inner { width: 100%; }
.adk-el-navbar .elementor-widget-nav-menu, .adk-el-nav { width: 100% !important; max-width: 100% !important; --container-widget-width: 100%; flex: 1 1 100%; }
@media (min-width: 1025px) {
	.adk-el-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: center; }
}
.adk-hat-icons .elementor-social-icon-facebook-f svg { fill: #1877F2 !important; }
.adk-hat-icons .elementor-social-icon-twitter svg { fill: #1DA1F2 !important; }
.adk-hat-icons .elementor-social-icon-rss svg { fill: #F26522 !important; }
.adk-hat-icons .elementor-social-icon i, .adk-hat-icons .elementor-social-icon svg { position: relative; z-index: 1; }
/* Theme countdown inside Elementor: protect the sticker sizes from Elementor's img rules */
.elementor .adk-cd img { max-width: none !important; }
.elementor .adk-cd .adk-cd__holly { width: 44px !important; height: auto !important; }
.elementor .adk-cd .adk-cd__snowman { height: 78px !important; width: auto !important; }
.elementor .adk-cd .adk-cd__tree { height: 92px !important; width: auto !important; }
.elementor .adk-cd .adk-cd__hat { width: 78px !important; height: 58px !important; }
.elementor .adk-cd .adk-cd__ground { height: 26px !important; }
.elementor .adk-promo img, .elementor .adk-promo svg { max-width: none; }
.elementor-widget-wp-widget-adk_countdown .elementor-widget-container, .elementor-widget-wp-widget-adk_promo .elementor-widget-container { overflow: visible; }

/* [adk_posts] list for Rezepte, Gedichte, Lieder, Texte, Autoren */
.adk-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.adk-list__item { display: flex; flex-direction: column; gap: 3px; padding: 14px 18px; background: #fff; border: 1px solid var(--adk-line); border-radius: 12px; transition: border-color .2s, transform .2s; }
.adk-list__item:hover { border-color: var(--adk-wine); transform: translateY(-2px); }
.adk-list__title { color: var(--adk-wine); font-weight: 700; font-size: 17px; line-height: 1.35; text-decoration: none; }
.adk-list__title:hover { text-decoration: underline; text-underline-offset: 3px; }
.adk-list__by { font-size: 14.5px; font-style: italic; color: var(--adk-muted); }
.adk-list__by a { color: inherit; }
.adk-list__text { font-size: 14px; color: var(--adk-muted); line-height: 1.5; }
.adk-list__type { align-self: flex-start; margin-top: 4px; font-size: 12px; font-weight: 700; color: var(--adk-wine); background: #F6E9E4; padding: 2px 10px; border-radius: 999px; }
@media (max-width: 640px) { .adk-list { grid-template-columns: minmax(0, 1fr); } }
.adk-el-main .navigation.pagination { margin-top: 18px; }
.elementor .adk-crumbs { margin-bottom: 0; }

/* Theme blocks placed with the Elementor widget "Adventskalender: Bereich":
   keep the theme design against Elementor's default image and spacing rules. */
.elementor .adk-corner { position: absolute; top: 0; width: auto !important; height: 220px !important; max-width: none !important; }
.elementor .adk-logo img { width: 100% !important; height: auto !important; max-height: 94px; }
.elementor .adk-footer__logo img { width: 100% !important; height: auto !important; }
.elementor .adk-post__img img, .elementor .adk-child__img img { width: 100% !important; height: 100% !important; object-fit: cover; }
.elementor .adk-entry__thumb img { width: 100% !important; max-height: 460px; object-fit: cover; }
.elementor .adk-sechead__img { width: 200px !important; height: 150px !important; }
@media (max-width: 720px) {
	.elementor .adk-corner { height: 110px !important; }
	.elementor .adk-sechead__img { width: 100% !important; height: 160px !important; }
}
.adk-el-block > .e-con-inner, .adk-el-block { padding: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; gap: 0 !important; }
.adk-el-block .elementor-widget-adk-block, .adk-el-shell > .e-con-inner > .elementor-widget-adk-block { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.elementor-widget-adk-block .adk-main { display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.elementor-widget-adk-block .adk-sidebar { width: 100%; }
.elementor-location-header .adk-masthead, .elementor-location-footer .adk-footer { width: 100%; }

.adk-door--static { cursor: default; }
.adk-door--static:hover .adk-door__panel, .adk-door--static:focus-visible .adk-door__panel { transform: none !important; }

/* ==========================================================================
   Print (Rezepte, Gedichte, Lieder, Texte)
   ========================================================================== */
@media print {
	.adk-masthead, .adk-footer, .adk-sidebar, .adk-crumbs, .adk-tabs, .adk-pn, .adk-related, .adk-read__print, .adk-read__foot, .adk-video, .adk-comments, .adk-az__tools { display: none !important; }
	body { background: #fff !important; }
	.adk-layout { display: block; max-width: none; }
	.adk-entry { border: 0; padding: 0; }
	.adk-entry__content, .adk-read__body { font-size: 12pt !important; color: #000; }
	.adk-recipe__box { break-inside: avoid; }
	a { color: #000 !important; text-decoration: none !important; }
}

