/* Stadtansichten – Kalender-Landingpage (/kalender-wernigerode/)
   Wird nur auf dieser Seite geladen (siehe functions.php). Ausgelagert aus HTML-Blöcken am 4. Oktober 2026. */

.kwl-sec{padding-block:clamp(56px,8vw,112px)}
.kwl-bg-7{background:var(--theme-palette-color-7)}
.kwl-top{padding-top:calc(var(--header-height,110px) + clamp(32px,4vw,56px))}
.kwl-bg-8{background:var(--theme-palette-color-8)}
.kwl-grain{position:relative;isolation:isolate}
.kwl-grain::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .33 0 0 0 0 .25 0 0 0 0 .18 0 0 0 .24 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kwl-sec .wp-block-columns{gap:clamp(28px,5vw,72px);align-items:center;margin-bottom:0}
.kwl-sec .wp-block-columns.kwl-pair{gap:clamp(14px,2vw,24px);align-items:flex-start;margin-block:28px}
.kwl-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--theme-palette-color-3)}
.kwl-price{font-family:'Roboto Slab',serif;font-size:30px;line-height:1.2;margin:28px 0 14px;color:var(--theme-palette-color-4)}
/* Preis */
.kwl-price del{font-size:.6em;color:var(--theme-palette-color-3);margin-right:.35em}
.kwl-price ins{text-decoration:none}
.kwl-price .wgm-sale-label{display:block;font-family:"Roboto Flex",sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-palette-color-1);margin-bottom:6px}
.kwl-tax{display:block;font-family:inherit;font-size:14px;color:var(--theme-palette-color-3);margin-top:4px}
.kwl-tax a,.kwl-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.kwl-note{font-size:15px;color:var(--theme-palette-color-3);margin-top:18px}
.kwl-facts{font-size:15px;line-height:1.8;color:var(--theme-palette-color-3);border-top:1px solid rgba(17,21,24,.12);padding-top:18px;margin-top:24px}
.kwl-btn .wp-block-button__link{background:var(--theme-palette-color-1);color:#fff;border:2px solid var(--theme-palette-color-1);border-radius:3px;padding:14px 30px;font-weight:600;letter-spacing:.02em;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.kwl-btn .wp-block-button__link:hover,.kwl-btn .wp-block-button__link:focus-visible{background:var(--theme-palette-color-2);border-color:var(--theme-palette-color-2);color:#fff}
.kwl-btn-2 .wp-block-button__link{background:transparent;color:var(--theme-palette-color-1);border:2px solid var(--theme-palette-color-1);border-radius:3px;padding:12px 26px;font-weight:600;transition:background-color .25s ease,color .25s ease}
.kwl-btn-2 .wp-block-button__link:hover,.kwl-btn-2 .wp-block-button__link:focus-visible{background:var(--theme-palette-color-1);color:#fff}
.kwl-img{margin:0}
.kwl-img img{display:block;width:100%;height:auto;box-shadow:0 22px 44px -26px rgba(17,21,24,.45)}
.kwl-img figcaption{font-size:13px;letter-spacing:.03em;color:var(--theme-palette-color-3);text-align:left;margin-top:12px}
.kwl-sec h2{margin-top:0}
.kwl-gift{align-items:flex-start!important;border-top:1px solid rgba(17,21,24,.12);padding-top:28px;margin-top:8px}
.kwl-gift h3{margin-top:0}
.kwl-img img{cursor:zoom-in}
@media (min-width:782px){.kwl-flip{flex-direction:row-reverse}.kwl-lift{margin-top:-6vw}}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
.kwl-par-a{animation:kwl-drift-a linear both;animation-timeline:view();animation-range:cover}
.kwl-par-b{animation:kwl-drift-b linear both;animation-timeline:view();animation-range:cover}
@keyframes kwl-drift-a{from{transform:translateY(18px)}to{transform:translateY(-18px)}}
@keyframes kwl-drift-b{from{transform:translateY(44px)}to{transform:translateY(-44px)}}
}
.kwl-js .kwl-rev{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.kwl-js .kwl-rev.is-in{opacity:1;transform:none}
}
