/* Jan Crone – Layout-CSS aus der Datensicherung zusammengefuehrt.
 * Keine neuen Designregeln. Die Inhalte der Sicherung bleiben erhalten.
 * Reihenfolge: custom.css, Layout-Sammelblock 1.6.5, neuere Ergaenzungen.
 * Die 19 historischen Layoutabschnitte stehen bereits im Sammelblock.
 * Am bisherigen custom.css-Pfad verwenden (relative Bildpfade).
 * Erst nach Anpassung der bisherigen Layout-Einbindungen produktiv verwenden.
 * Schriften, Sonnen-/Mond-CSS und weather-widget.css sind eigenstaendige Dateien.
 */

/* BEGINN: gesicherte custom.css */
:root { --jc-layout-width:1280px; }
/*
 * Jan Crone Webseite Privat · 1.0.0 · Joomla 6 / Joomlaplates Modern
 * INHALTSVERZEICHNIS
 * 01 Farben und Designvariablen
 * 02 Grundlagen und lokale Typografie
 * 03 Astroid-Layout und Inhaltsbreite
 * 04 Fluid-Glas und Bedienflächen
 * 05 Fixierter Header, Sprache und Farbmodus
 * 06 Offcanvas-Navigation
 * 07 Breadcrumbs Advanced
 * 08 Startseite und Wetter
 * 09 Interessen, Wandern und Kategorie-Blog
 * 10 Kontaktkacheln und Joomla-Kontaktformular
 * 11 Linkkacheln und Rechtstexte
 * 12 Administrationslogin
 * 13 Footer, Leseposition und Copyright
 * 14 Statistik-Einstellungen und Zurück nach oben
 * 15 Tablet und Smartphone
 * 16 Barrierefreiheit, reduzierte Bewegung und Druck
 */

/* 01 Farben und Designvariablen
   Türkis, Grün und Graugrün greifen header.png und die alte Webseite auf. */
:root, :root[data-jc-theme="light"] {
  color-scheme: light;
  --jc-bg: #e8eee6;
  --jc-ink: #233e40;
  --jc-muted: #4f6764;
  --jc-link: #17616e;
  --jc-accent: #9dcfd3;
  --jc-meadow: #d5dfba;
  --jc-peach: #ead6c6;
  --jc-surface: #f0f3ed;
  --jc-glass: rgba(240, 246, 239, .82);
  --jc-line: rgba(43, 79, 75, .23);
  --jc-shadow: 0 12px 36px rgba(38, 64, 57, .09);
  --jc-radius: 1.65rem;
  --jc-font: "JC Manrope", system-ui, sans-serif;
  --jc-heading: "JC Fraunces", Georgia, serif;
  --jc-body-size: 1.0625rem;
  --jc-h1: clamp(3rem, 5.4vw, 4.75rem);
  --jc-h2: clamp(2rem, 3.5vw, 3rem);
  --jc-h3: 1.45rem;
  --bs-body-bg: var(--jc-bg);
  --bs-body-color: var(--jc-ink);
  --bs-link-color: var(--jc-link);
  --bs-border-color: var(--jc-line);
}
:root[data-jc-theme="dark"] {
  color-scheme: dark;
  --jc-bg: #344a4b;
  --jc-ink: #edf0e5;
  --jc-muted: #c7d7cf;
  --jc-link: #b8e3df;
  --jc-accent: #88b9bc;
  --jc-meadow: #becda4;
  --jc-peach: #d9baa3;
  --jc-surface: #40595a;
  --jc-glass: rgba(69, 94, 94, .9);
  --jc-line: rgba(217, 235, 221, .28);
  --jc-shadow: 0 12px 36px rgba(19, 38, 38, .18);
}

/* 02 Grundlagen und lokale Typografie */
html { scroll-behavior: smooth; scroll-padding-top: 8rem; }
body.jc-private, .jc-preview {
  margin: 0;
  background: var(--jc-bg);
  color: var(--jc-ink);
  font: 450 var(--jc-body-size)/1.75 var(--jc-font);
  -webkit-font-smoothing: antialiased;
}
.jc-private *, .jc-preview * { box-sizing: border-box; }
.jc-private :is(h1,h2,h3,h4,h5,h6), .jc-preview :is(h1,h2,h3,h4,h5,h6) {
  color: var(--jc-ink); font-family: var(--jc-heading); font-weight: 520;
  line-height: 1.13; letter-spacing: -.035em; text-wrap: balance;
}
.jc-private h1, .jc-preview h1 { font-size: var(--jc-h1); margin: .5rem 0 1.5rem; }
.jc-private h2, .jc-preview h2 { font-size: var(--jc-h2); margin: 0 0 1.2rem; }
.jc-private h3, .jc-preview h3 { font-size: var(--jc-h3); margin: 0 0 .75rem; }
.jc-private p, .jc-preview p { margin: 0 0 1.2rem; }
.jc-private a, .jc-preview a { color: var(--jc-link); text-underline-offset: .24em; text-decoration-thickness: 1px; }
.jc-private a:hover, .jc-preview a:hover { text-decoration-thickness: 2px; }
.jc-private img, .jc-preview img { max-width: 100%; height: auto; }
.jc-private :is(input,textarea,select,button), .jc-preview :is(input,textarea,select,button) { font: inherit; }
.jc-eyebrow { font-size: .75rem; text-transform: uppercase; letter-spacing: .17em; font-weight: 750; }
.jc-muted { color: var(--jc-muted); }
.jc-intro { max-width: 46rem; font-size: 1.15em; }
.jc-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.6rem; }
.jc-heading-row h2 { margin-bottom: 0; }
.jc-section { margin-block: 4.5rem; }
.jc-section > :last-child { margin-bottom: 0; }

/* 03 Astroid-Layout und Inhaltsbreite */
.jc-shell { width: min(calc(var(--jc-layout-width) - 48px), calc(100% - 3rem)); margin-inline: auto; }
.jc-private .astroid-container, .jc-private .astroid-content { background: transparent; color: inherit; }
.jc-private .jc-layout-section { padding: 0; background: transparent; }
.jc-private .jc-layout-section > .container { max-width: var(--jc-layout-width); }
.jc-private .jc-layout-section .astroid-column { padding-top: 0; padding-bottom: 0; }
.jc-private .jc-layout-section > .container > .astroid-row { margin-top: 0; margin-bottom: 0; }
.jc-private .jc-content-section { padding-block: 1rem 3rem; }
.jc-private .com-content-article__body { overflow-wrap: anywhere; }
.jc-private .com-content-article__body > :first-child { margin-top: 0; }
.jc-private .jc-content-section .page-header h1 { font-size: var(--jc-h1); }
.jc-private .jc-header-section { position: sticky; top: .75rem; z-index: 100; margin-block: .75rem 1.25rem; }
.jc-private .jc-header-section .container { max-width: var(--jc-layout-width); }
.jc-preview > .jc-site-header { position: sticky; top: .75rem; z-index: 100; margin-block: .75rem 1.5rem; }
.jc-private .jc-site-header.jc-shell { width: 100%; }

/* 04 Fluid-Glas und Bedienflächen. Ohne Backdrop-Filter bleibt die Fläche lesbar. */
.jc-glass {
  border: 1px solid var(--jc-line); border-radius: var(--jc-radius);
  background: var(--jc-glass); box-shadow: var(--jc-shadow), inset 0 1px 0 rgba(255,255,255,.35);
}
@supports (backdrop-filter: blur(12px)) {
  .jc-glass { backdrop-filter: blur(20px) saturate(115%); -webkit-backdrop-filter: blur(20px) saturate(115%); }
}
.jc-button, .jc-private .btn-primary, .jc-preview .btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .7rem;
  min-height: 48px; padding: .75rem 1.25rem; border: 1px solid var(--jc-line);
  border-radius: 100px; background: var(--jc-ink); color: var(--jc-bg);
  text-decoration: none; cursor: pointer; font-weight: 650; line-height: 1.3;
  transition: transform .18s, box-shadow .18s;
}
.jc-button:hover, .jc-private .btn-primary:hover { color: var(--jc-bg); transform: translateY(-2px); box-shadow: var(--jc-shadow); }
.jc-button--quiet { background: transparent; color: var(--jc-ink); }
.jc-button--quiet:hover { color: var(--jc-ink); }
.jc-button:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.jc-round { width: 48px; height: 48px; flex: 0 0 48px; padding: 0; border-radius: 50%; border: 1px solid var(--jc-line); background: transparent; color: var(--jc-ink); cursor: pointer; display: inline-grid; place-items: center; }
.jc-round svg { width: 22px; height: 22px; }
.jc-round:hover { background: color-mix(in srgb, var(--jc-accent) 35%, transparent); }

/* 05 Fixierter Header, Sprache und Farbmodus */
.jc-site-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.2rem; }
.jc-brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; color: var(--jc-ink) !important; }
.jc-brand img { width: 45px; height: 50px; }
.jc-brand b { display: block; font-size: .94rem; letter-spacing: .06em; }
.jc-brand small { display: block; color: var(--jc-muted); font-size: .64rem; letter-spacing: .2em; line-height: 1.6; text-transform: uppercase; }
.jc-header-actions { display: flex; align-items: center; gap: .6rem; }
.jc-language, .jc-language ul, .jc-language .mod-languages { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; }
.jc-language li { list-style: none; padding: 0; margin: 0 !important; }
.jc-language a, .jc-language span[aria-current] { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 50%; text-decoration: none; font-size: .76rem; font-weight: 750; color: var(--jc-ink); }
.jc-language :is(.lang-active a,[aria-current="page"]) { background: color-mix(in srgb, var(--jc-accent) 48%, transparent); }
.jc-language .mod-languages__select { max-width: 8rem; }
.jc-language .mod-languages__header, .jc-language .mod-languages__footer { display: none; }
.jc-theme-button .jc-mode-icon { border-radius: 50%; width: 19px; height: 19px; border: 1.5px solid currentColor; background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
.jc-menu-label { font-size: .8rem; font-weight: 700; }
.jc-menu-trigger { display: flex; gap: .6rem; width: auto; padding-inline: 1rem; border-radius: 100px; }

/* 06 Offcanvas-Navigation · alle Bildschirmgrößen */
.jc-offcanvas { position: fixed; inset: 0 0 0 auto; margin: 0; height: 100dvh; max-height: 100dvh; width: min(440px, 100%); max-width: 100%; padding: 2rem; border: 0; border-left: 1px solid var(--jc-line); border-radius: 1.8rem 0 0 1.8rem; color: var(--jc-ink); background: var(--jc-surface); box-shadow: var(--jc-shadow); overflow-y: auto; }
.jc-offcanvas::backdrop { background: rgba(27, 47, 47, .45); backdrop-filter: blur(5px); }
.jc-offcanvas[open] { display: flex; flex-direction: column; }
.jc-offcanvas-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 3rem; }
.jc-offcanvas-heading h2 { font-size: 2.25rem; margin: 0; }
.jc-offcanvas nav ul { display: block; list-style: none; margin: 0; padding: 0; }
.jc-offcanvas nav a { display: flex; padding: .8rem .2rem; border-bottom: 1px solid var(--jc-line); font-size: 1.4rem; color: var(--jc-ink); text-decoration: none; }
.jc-offcanvas nav a:hover, .jc-offcanvas nav .current > a { color: var(--jc-link); padding-left: .6rem; }
.jc-offcanvas-footer { padding-top: 3rem; margin-top: auto; }
.jc-offcanvas-footer p { font-size: .9rem; }
.jc-nojs-nav { padding: 1rem; }
.jc-nojs-nav a { margin-inline-end: 1rem; }

/* 07 Breadcrumbs Advanced */
.jc-breadcrumb-section { margin-bottom: 1rem; }
.jc-private .jc-breadcrumb-section :is(ul,ol), .jc-breadcrumb { display: flex; flex-wrap: wrap; list-style: none; gap: .6rem; margin: 0; padding: .4rem 0; font-size: .78rem; color: var(--jc-muted); }
.jc-private .jc-breadcrumb-section a, .jc-breadcrumb a { color: var(--jc-muted); }
.jc-breadcrumb.jc-shell { margin-inline: auto; }
.jc-private .jc-breadcrumb-section :is(.divider,.separator) { opacity: .65; }

/* 08 Startseite und Wetter */
.jc-hero { display: grid; grid-template-columns: 1.7fr 1fr; gap: 1.2rem; align-items: stretch; }
.jc-hero-main { position: relative; min-height: 490px; overflow: hidden; padding: 2.75rem; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }
.jc-hero-image { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; }
.jc-hero-main::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(223,236,219,.98), rgba(223,236,219,.75) 48%, rgba(185,221,220,.25)); z-index: -1; }
.jc-hero-main h1 { font-size: clamp(2.9rem, 4.7vw, 4.25rem); color: #233e40; margin-top: .7rem; }
.jc-hero-main :is(p,.jc-eyebrow) { color: #233e40; }
.jc-hero-main p { max-width: 33rem; font-size: 1.05rem; }
.jc-hero-main .jc-button { align-self: flex-start; background: #233e40; color: #edf0e5; }
.jc-hero-aside { display: flex; flex-direction: column; gap: 1.2rem; }
.jc-profile { padding: 1.6rem; flex: 1; }
.jc-profile-top { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.jc-portrait { width: 66px; height: 76px !important; object-fit: cover; border-radius: 1rem; }
.jc-profile-top p { margin: 0; font-size: .78rem; }
.jc-profile-top strong { display: block; font-size: 1rem; }
.jc-profile h2 { font-size: 1.9rem; }
.jc-profile > p { font-size: .9rem; }
.jc-weather { padding: 1.4rem 1.6rem; background: color-mix(in srgb, var(--jc-accent) 22%, var(--jc-glass)); }
.jc-weather-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.jc-weather h2 { font: 750 1rem/1.3 var(--jc-font); letter-spacing: 0; margin: .4rem 0; }
.jc-weather-icon { font-size: 2.1rem; line-height: 1; }
.jc-weather a, .jc-weather small { font-size: .76rem; }
.jc-weather-value { font: 550 2.4rem/1.2 var(--jc-heading); }
.jc-weather-state { margin: .7rem 0 !important; font-size: .86rem; }
.jc-weather-frame { display: block; border: 0; width: 100%; max-width: 300px; height: 260px; margin-block: 1rem; border-radius: .8rem; }
.jc-weather .jc-button { margin-block: .5rem; min-height: 44px; font-size: .8rem; }
.jc-weather [hidden] { display: none !important; }
.jc-weather-consent { font-size: .72rem !important; line-height: 1.55; }
.jc-consent-more { margin-top: 1rem !important; }

/* 09 Interessen, Wandern und Kategorie-Blog */
.jc-interests { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.8rem; border-block: 1px solid var(--jc-line); padding-block: 2rem; }
.jc-interest-number { font: 600 .75rem var(--jc-font); color: var(--jc-muted); margin-bottom: 1rem; }
.jc-interests p { color: var(--jc-muted); font-size: .95rem; }
.jc-interests h3 { font-size: 1.6rem; }
.jc-hike-grid, .jc-private .com-content-category-blog__items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.jc-hike-card { border: 1px solid var(--jc-line); border-radius: var(--jc-radius); overflow: hidden; background: var(--jc-glass); }
.jc-hike-art { position: relative; display: flex; align-items: end; min-height: 180px; padding: 1.5rem; overflow: hidden; background: var(--jc-meadow); color: #2c443b; }
.jc-hike-art::before, .jc-hike-art::after { content: ""; position: absolute; width: 180%; height: 160px; border: 1px solid rgba(44,68,59,.25); border-radius: 50%; transform: rotate(-18deg); left: -40%; top: 40%; }
.jc-hike-art::after { top: 60%; left: -10%; }
.jc-hike-art--alps { background: #bdd9d7; }
.jc-hike-art--alps::before { border-radius: 0; transform: rotate(-42deg); top: 110px; }
.jc-hike-art--alps::after { border-radius: 0; transform: rotate(40deg); top: 135px; }
.jc-hike-art--mindful { background: var(--jc-peach); }
.jc-hike-art span { position: relative; z-index: 1; font: 520 2.2rem var(--jc-heading); letter-spacing: -.04em; }
.jc-hike-body { padding: 1.5rem; }
.jc-hike-body h3 { font-size: 1.45rem; }
.jc-hike-body p { font-size: .9rem; color: var(--jc-muted); }
.jc-hike-body a { font-size: .88rem; font-weight: 700; }
.jc-dlrg { display: grid; grid-template-columns: 1fr 1.4fr; gap: 3rem; padding: 2.75rem; background: color-mix(in srgb, var(--jc-accent) 23%, var(--jc-glass)); }
.jc-dlrg h2 { max-width: 10ch; }
.jc-pill-list { display: flex; flex-wrap: wrap; list-style: none; gap: .6rem; margin: 1.3rem 0 0; padding: 0; }
.jc-pill-list li { border: 1px solid var(--jc-line); padding: .4rem .8rem; border-radius: 100px; font-size: .77rem; }
.jc-private .com-content-category-blog__item { width: 100%; border: 1px solid var(--jc-line); border-radius: var(--jc-radius); padding: 1.6rem; background: var(--jc-glass); }
.jc-private .com-content-category-blog__item h2 { font-size: 1.8rem; }
.jc-private .com-content-category-blog__item .jc-prose { max-width: none; }
.jc-private .com-content-category-blog__item .jc-hike-art { margin: -1.6rem -1.6rem 1.5rem; border-radius: var(--jc-radius) var(--jc-radius) 0 0; }
.jc-prose { max-width: 50rem; }
.jc-prose h2 { margin-top: 2.5rem; font-size: 2rem; }
.jc-prose h3 { margin-top: 1.75rem; }
.jc-note { padding: 1.4rem; border-left: 3px solid var(--jc-accent); background: color-mix(in srgb, var(--jc-accent) 16%, transparent); border-radius: 0 1rem 1rem 0; }

/* 10 Kontaktkacheln und Joomla-Kontaktformular */
.jc-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 2rem; }
.jc-contact-card { display: flex; flex-direction: column; gap: .7rem; padding: 1.5rem; text-decoration: none; color: var(--jc-ink) !important; }
.jc-contact-card svg { width: 28px; height: 28px; color: var(--jc-link); }
.jc-contact-card b { font: 520 1.6rem var(--jc-heading); }
.jc-contact-card span { font-size: .83rem; overflow-wrap: anywhere; }
.jc-private .com-contact { color: inherit; }
.jc-private .com-contact__container { display: block; }
.jc-private .com-contact__form, .jc-form-preview { max-width: 50rem; margin-block: 2rem; padding: 2rem; border: 1px solid var(--jc-line); border-radius: var(--jc-radius); background: var(--jc-glass); }
.jc-private .com-contact__form .contact-form, .jc-private .com-contact__form form { margin: 0; padding: 0; background: transparent; border: 0; }
.jc-private .com-contact__form :is(fieldset,legend) { border: 0; }
.jc-private .com-contact__form legend { font: 520 1.8rem var(--jc-heading); margin-bottom: 1.5rem; }
.jc-private .com-contact__form .control-group, .jc-form-preview .control-group { margin-bottom: 1.25rem; }
.jc-private :is(.com-contact__form,.jc-admin-login) label, .jc-form-preview label { display: block; font-weight: 650; font-size: .9rem; margin-bottom: .45rem; }
.jc-private :is(.com-contact__form,.jc-admin-login) :is(input:not([type="hidden"]):not([type="checkbox"]),textarea,select), .jc-form-preview :is(input,textarea) {
  width: 100%; max-width: 100%; min-height: 48px; padding: .8rem 1rem; border: 1px solid var(--jc-line); border-radius: .9rem; background: var(--jc-surface); color: var(--jc-ink); font: inherit;
}
.jc-private .com-contact__form textarea, .jc-form-preview textarea { min-height: 170px; resize: vertical; }
.jc-private .com-contact__form .control-label { float: none; width: auto; text-align: left; }
.jc-private .com-contact__form .controls { margin: 0; }
.jc-private .com-contact__form .invalid { outline: 2px solid #b85643; outline-offset: 2px; }
.jc-form-hint { font-size: .8rem; color: var(--jc-muted); }
.jc-private .com-contact__form :is(.form-control-feedback,.form-text) { color: var(--jc-muted); }

/* 11 Linkkacheln und Rechtstexte */
.jc-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 2rem; padding: 0; list-style: none; }
.jc-link-card { display: flex; justify-content: space-between; gap: 1rem; height: 100%; padding: 1.5rem; text-decoration: none; color: var(--jc-ink) !important; }
.jc-link-card b { display: block; font-weight: 700; margin-bottom: .3rem; }
.jc-link-card small { color: var(--jc-muted); }
.jc-link-card:hover, .jc-contact-card:hover { border-color: var(--jc-link); transform: translateY(-2px); }
.jc-legal { max-width: 52rem; }
.jc-legal :is(h2,h3) { margin-top: 2rem; }
.jc-legal h2 { font-size: 2rem; }
.jc-legal h3 { font-size: 1.4rem; }
.jc-legal address { font-style: normal; }

/* 12 Administrationslogin · Joomla prüft Zugang und MFA serverseitig */
.jc-admin-login { margin-top: 3rem; max-width: 27rem; padding: 1.8rem; border: 1px solid var(--jc-line); border-radius: var(--jc-radius); background: var(--jc-glass); }
.jc-admin-login h2 { font: 750 1.1rem/1.4 var(--jc-font); letter-spacing: 0; margin-bottom: 1.2rem; }
.jc-admin-login .form-group { margin-bottom: 1rem; }
.jc-admin-login .mod-login__options { display: none; }
.jc-admin-login .input-group { display: flex; flex-wrap: nowrap; }
.jc-admin-login .input-password-toggle { min-width: 48px; border: 1px solid var(--jc-line); border-radius: .8rem; background: var(--jc-surface); color: var(--jc-ink); }
.jc-admin-login .mod-login__remember { display: flex; align-items: center; gap: .6rem; }
.jc-admin-login .mod-login__remember label { margin: 0; }

/* 13 Footer, Leseposition und Copyright */
.jc-footer { border-top: 1px solid var(--jc-line); padding-block: 3rem 1.5rem; }
.jc-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 3rem; }
.jc-footer h2, .jc-footer h3 { font: 750 .8rem/1.5 var(--jc-font); letter-spacing: .1em; text-transform: uppercase; }
.jc-footer p { color: var(--jc-muted); font-size: .88rem; max-width: 35rem; }
.jc-footer ul { list-style: none; margin: 0; padding: 0; }
.jc-footer li { margin-bottom: .45rem; font-size: .88rem; }
.jc-footer a { text-decoration: none; }
.jc-footer a:hover { text-decoration: underline; }
.jc-reading { border-top: 1px solid var(--jc-line); margin-top: 2rem; padding-top: 1.25rem; font-size: .78rem; color: var(--jc-muted); }
.jc-copyright { padding: 1rem 0 2rem; font-size: .72rem; color: var(--jc-muted); text-align: center; text-wrap: balance; }
.jc-copyright a { color: inherit; }

/* 14 Statistik-Einstellungen und Zurück nach oben */
.jc-text-button { border: 0; background: transparent; color: var(--jc-link); padding: .3rem 0; cursor: pointer; text-align: left; font: inherit; text-decoration: underline; text-underline-offset: .2em; }
.jc-consent { width: min(560px, calc(100% - 2rem)); border: 1px solid var(--jc-line); border-radius: var(--jc-radius); padding: 2rem; color: var(--jc-ink); background: var(--jc-surface); }
.jc-consent::backdrop { background: rgba(27,47,47,.4); backdrop-filter: blur(4px); }
.jc-consent h2 { font-size: 2rem; }
.jc-consent p { font-size: .9rem; }
.jc-consent-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.jc-consent-actions button { flex: 1; }
.jc-backtop { position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 90; background: var(--jc-glass); box-shadow: var(--jc-shadow); text-decoration: none; }
.jc-backtop[hidden] { display: none; }

/* 15 Tablet und Smartphone: eigenständige Schriftgrößen und Layouts */
@media (min-width: 768px) and (max-width: 1023px) {
  :root { --jc-body-size: 1rem; --jc-h1: 3.5rem; --jc-h2: 2.4rem; --jc-h3: 1.4rem; }
  .jc-hero { grid-template-columns: 1.5fr 1fr; }
  .jc-hero-main { padding: 2rem; min-height: 470px; }
  .jc-hero-main h1 { font-size: 3.25rem; }
  .jc-hike-grid, .jc-private .com-content-category-blog__items { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jc-hike-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .jc-footer-grid { grid-template-columns: 1.5fr 1fr; }
}
@media (max-width: 767px) {
  :root { --jc-body-size: 1rem; --jc-h1: 2.65rem; --jc-h2: 2rem; --jc-h3: 1.35rem; --jc-radius: 1.25rem; }
  .jc-shell { width: calc(100% - 2rem); }
  .jc-site-header { padding: .65rem .75rem; gap: .5rem; }
  .jc-brand { gap: .5rem; }
  .jc-brand img { width: 32px; height: 40px; }
  .jc-brand b { font-size: .72rem; }
  .jc-brand small { font-size: .55rem; letter-spacing: .15em; }
  .jc-header-actions { gap: .2rem; }
  .jc-menu-trigger { width: 44px; height: 44px; min-width: 44px; padding: 0; border-radius: 50%; }
  .jc-menu-label { display: none; }
  .jc-round { width: 44px; height: 44px; flex-basis: 44px; }
  .jc-language a, .jc-language span[aria-current] { min-width: 32px; min-height: 44px; font-size: .7rem; }
  .jc-language ul { gap: 0; }
  .jc-hero { grid-template-columns: 1fr; }
  .jc-hero-main { min-height: 420px; padding: 1.65rem; }
  .jc-hero-main h1 { font-size: 2.8rem; }
  .jc-hero-aside { display: grid; grid-template-columns: 1fr; }
  .jc-hero-main p { font-size: .97rem; }
  .jc-section { margin-block: 3rem; }
  .jc-heading-row { display: block; }
  .jc-heading-row > a { display: inline-block; margin-top: 1rem; }
  .jc-interests, .jc-hike-grid, .jc-private .com-content-category-blog__items, .jc-contact-grid, .jc-links { grid-template-columns: 1fr; }
  .jc-interests { gap: 1.25rem; }
  .jc-interests article + article { padding-top: 1.25rem; border-top: 1px solid var(--jc-line); }
  .jc-dlrg { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.65rem; }
  .jc-dlrg h2 { max-width: 15ch; }
  .jc-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .jc-footer-grid > :first-child { grid-column: 1/-1; }
  .jc-private .com-contact__form, .jc-form-preview { padding: 1.25rem; }
  .jc-backtop { bottom: 1rem; right: 1rem; }
  .jc-offcanvas { padding: 1.5rem; }
}
@media (max-width: 359px) {
  .jc-brand b { font-size: .65rem; }
  .jc-brand img { width: 26px; }
  .jc-site-header { padding-inline: .45rem; }
  .jc-header-actions { gap: 0; }
}

/* 16 Barrierefreiheit, reduzierte Bewegung und Druck */
.jc-private :focus-visible, .jc-preview :focus-visible { outline: 3px solid var(--jc-link); outline-offset: 4px; }
.jc-skip { position: fixed; top: -100px; left: 1rem; z-index: 1000; background: var(--jc-surface); color: var(--jc-ink); padding: .75rem 1rem; border-radius: 1rem; }
.jc-skip:focus { top: 1rem; }
.jc-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .jc-private *, .jc-preview * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (prefers-reduced-transparency: reduce) { .jc-glass { background: var(--jc-surface); backdrop-filter: none; } }
@media print {
  :root { --jc-bg: #fff; --jc-ink: #000; --jc-muted: #333; --jc-link: #000; }
  .jc-site-header, .jc-offcanvas, .jc-backtop, .jc-admin-login, .jc-consent, .jc-footer { display: none !important; }
  .jc-glass { box-shadow: none; backdrop-filter: none; }
  .jc-shell { width: 100%; }
  .jc-hero { display: block; }
}

/* 17 Update 1.1.0 – Kontraste, Sprachwahl und eigene Landschaftssilhouetten */
:root, :root[data-jc-theme="light"] {
 --jc-bg:#f4f3ed; --jc-ink:#213d38; --jc-muted:#52655d; --jc-link:#176257;
 --jc-surface:#fffef9; --jc-glass:rgba(255,254,249,.94); --jc-line:rgba(33,61,56,.23);
 --jc-accent:#9bc9bb; --jc-shadow:0 10px 32px rgba(30,60,48,.08); --jc-scenery:#819d8c;
 --jc-active-bg:#244c43; --jc-active-ink:#ffffff;
}
:root[data-jc-theme="dark"] {
 --jc-bg:#172724; --jc-ink:#f0f4ec; --jc-muted:#bacbc2; --jc-link:#a4deca;
 --jc-surface:#243a34; --jc-glass:rgba(36,58,52,.95); --jc-line:rgba(215,239,224,.25);
 --jc-accent:#81bca6; --jc-shadow:0 14px 40px rgba(0,0,0,.22); --jc-scenery:#496d5d;
 --jc-active-bg:#b3dec9; --jc-active-ink:#17372b;
}
.jc-private .jc-language ul.lang-inline > li,
.jc-private .jc-language li.lang-active { background:transparent!important; border:0!important; box-shadow:none!important; }
.jc-private .jc-language li > a,
.jc-private .jc-language span[aria-current], .jc-preview .jc-language a {
 width:42px; height:42px; min-width:42px; min-height:42px; padding:0!important;
 border-radius:50%!important; border:1px solid transparent; color:var(--jc-ink)!important;
 background:transparent; line-height:1; box-shadow:none; text-decoration:none;
}
.jc-private .jc-language li.lang-active > a,
.jc-private .jc-language [aria-current="page"], .jc-preview .jc-language [aria-current="page"] {
 background:var(--jc-active-bg)!important; color:var(--jc-active-ink)!important;
 border-color:var(--jc-active-bg)!important;
}
.jc-language a:hover { border-color:var(--jc-link)!important; }
.jc-offcanvas nav a::before, .jc-offcanvas nav a::after { content:none!important; display:none!important; }
.jc-offcanvas nav a > :is(.icon-chevron-left,.icon-chevron-right,.fa-angle-left,.fa-angle-right,.menu-indicator) { display:none!important; }
.jc-offcanvas nav a { transition:color .18s, padding .18s; }
.jc-private .jc-theme-button[aria-pressed="true"],.jc-preview .jc-theme-button[aria-pressed="true"] { background:var(--jc-active-bg);color:var(--jc-active-ink); }
:root[data-jc-theme="dark"] .jc-hero-main::before { background:linear-gradient(0deg,rgba(18,36,29,.98),rgba(18,36,29,.82) 48%,rgba(18,36,29,.2)); }
:root[data-jc-theme="dark"] .jc-hero-main :is(h1,p,.jc-eyebrow) { color:var(--jc-ink); }
:root[data-jc-theme="dark"] .jc-hero-main .jc-button { color:var(--jc-active-ink); background:var(--jc-active-bg); }
:root[data-jc-theme="dark"] .jc-hike-art { background:#38574a;color:#eef6e9; }
:root[data-jc-theme="dark"] .jc-hike-art::before,:root[data-jc-theme="dark"] .jc-hike-art::after { border-color:rgba(220,240,225,.25); }
.jc-private :is(.form-control,.form-select) { background-color:var(--jc-surface);color:var(--jc-ink);border-color:var(--jc-line); }
.jc-scenery { pointer-events:none; background:var(--jc-scenery); width:100%; }
.jc-forest { height:64px; margin-bottom:8px; mask:url(../../../images/jcprivate/waldsaum.svg?v=1.1.5) center bottom/cover no-repeat; -webkit-mask:url(../../../images/jcprivate/waldsaum.svg?v=1.1.5) center bottom/cover no-repeat; }
.jc-mountains { height:120px; margin-top:3rem; mask:url(../../../images/jcprivate/bergsaum.svg?v=1.2.3) center bottom/100% 100% no-repeat; -webkit-mask:url(../../../images/jcprivate/bergsaum.svg?v=1.2.3) center bottom/100% 100% no-repeat; }
.jc-region-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
.jc-region-card { padding:1.7rem;scroll-margin-top:2rem; }
.jc-region-card h2 { font-size:1.8rem; }
.jc-region-card p { color:var(--jc-muted); }
.jc-home .jc-hike-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.jc-home .jc-hike-card:last-child { grid-column:auto;display:block; }
.jc-private [hidden],.jc-preview [hidden] { display:none!important; }
@media(max-width:767px) {
 .jc-forest {height:44px;} .jc-mountains {height:75px;}
 .jc-region-grid,.jc-home .jc-hike-grid {grid-template-columns:1fr;}
 .jc-brand small {display:none;}
 .jc-private .jc-language li > a,.jc-private .jc-language span[aria-current],.jc-preview .jc-language a {width:36px;height:36px;min-width:36px;min-height:36px;}
}
@media(prefers-reduced-motion:no-preference) {
 body.jc-private,.jc-preview,.jc-glass,.jc-offcanvas,.jc-footer {transition:background-color .2s,color .2s,border-color .2s;}
}
@media print {.jc-scenery {display:none;}}

/* 1.1.3: Gemeinsame Breite, kompakte Abstaende, Wanderregionen ausserhalb der Artikelkarten. */
.jc-private .jc-layout-section > .container,
.jc-private .jc-header-section .container {
 width:100%; max-width:var(--jc-layout-width); margin-inline:auto; padding-inline:24px;
}
.jc-private .jc-layout-section .jc-shell {width:100%;max-width:none;margin-inline:0;}
.jc-private .jc-content-section {padding-block:.5rem 1rem;}
.jc-private .jc-header-section {margin-block:.5rem .75rem;}
.jc-private .jc-content-section .breadcrumb {margin-block:0 1rem;}
.jc-private .jc-content-section .jc-section:last-child {margin-bottom:1rem;}
.jc-private .jc-content-section .com-content-category-blog,
.jc-private .jc-content-section .com-content-category-blog__description {width:100%;max-width:none;}
.jc-private .com-content-category-blog__items {grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;}
.jc-private .com-content-category-blog__item {min-width:0;max-width:none;}
.jc-private .jc-region-grid {width:100%;margin-block:1.5rem 2rem;}
.jc-private .jc-region-card {min-width:0;}
.jc-private .jc-forest {height:clamp(52px,8vw,100px);margin:0 0 10px;mask-size:100% 100%;-webkit-mask-size:100% 100%;}
.jc-private .jc-mountains {width:100%;height:clamp(64px,9vw,110px);margin-top:1rem;}
.jc-private .jc-footer {padding-top:1.5rem;}
@media(max-width:900px){.jc-private .com-content-category-blog__items {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
 .jc-private .jc-layout-section > .container,.jc-private .jc-header-section .container {padding-inline:16px;}
 .jc-private .com-content-category-blog__items,.jc-private .jc-region-grid {grid-template-columns:1fr;}
}

/* 1.1.5: Landschaften buendig zur Inhaltsbreite, nicht zur Fensterbreite. */
.jc-private .jc-scenery {
 position: relative;
 left: auto;
 right: auto;
 width: 100%;
 max-width: 100%;
 margin-inline: 0;
 mask-size: 100% 100%;
 -webkit-mask-size: 100% 100%;
 mask-repeat: no-repeat;
 -webkit-mask-repeat: no-repeat;
}

/* 1.1.6: Kompakter Uebergang vom Header ueber Breadcrumbs zum Inhalt. */
.jc-private .jc-header-section { margin-bottom: .5rem; }
.jc-private .jc-breadcrumb-section { margin-block: 0 .75rem; padding-block: 0; }
.jc-private .jc-breadcrumb-section :is(ul, ol, .breadcrumb) {
 margin-block: 0;
 padding-block: .25rem;
}
.jc-private .jc-content-section { padding-top: 0; }
.jc-private .jc-content-section :is(.astroid-component, .com-content-article, .com-content-article__body) {
 margin-top: 0;
 padding-top: 0;
}
.jc-private .jc-content-section .jc-home,
.jc-private .jc-content-section .jc-home > .jc-hero,
.jc-private .jc-content-section .jc-home > .jc-section:first-child {
 margin-top: 0;
}

/* 1.1.7: Noch kleinerer Abstand um die Breadcrumb-Zeile. */
.jc-private .jc-header-section { margin-bottom: .25rem; }
.jc-private .jc-breadcrumb-section { margin-block: 0 .25rem; padding-block: 0; }
.jc-private .jc-breadcrumb-section :is(ul, ol, .breadcrumb) {
 margin-block: 0;
 padding-block: 0;
}
.jc-private .jc-breadcrumb-section .astroid-module { margin-bottom: 0; }

/* 1.1.9: Einheitliche Beitragskarten, auch fuer Joomla-Blog-Markup. */
.jc-private .com-content-category-blog :is(.blog-items, .com-content-category-blog__items, .items-row) {
 display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem;
 margin-inline:0; align-items:stretch;
}
.jc-private .com-content-category-blog :is(.blog-item, .com-content-category-blog__item, .items-row > [class*="col-"]) {
 width:100%; max-width:none; min-width:0; margin:0;
}
.jc-private .com-content-category-blog .blog-item {
 padding:1.6rem; border:1px solid var(--jc-line); border-radius:var(--jc-radius); background:var(--jc-glass);
}
.jc-private .com-content-category-blog .blog-item .jc-hike-art {margin:-1.6rem -1.6rem 1.5rem;border-radius:var(--jc-radius) var(--jc-radius) 0 0;}
.jc-private .com-content-category-blog .blog-item h2 {font-size:1.8rem;}
.jc-private .com-content-category-blog .blog-item .jc-prose {max-width:none;}
@media(max-width:900px){.jc-private .com-content-category-blog :is(.blog-items,.com-content-category-blog__items,.items-row){grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.jc-private .com-content-category-blog :is(.blog-items,.com-content-category-blog__items,.items-row){grid-template-columns:1fr;}}

/* 1.1.9: Explicit shared markup for ALL cards on Wandern / Hiking. */
.jc-private .jc-hiking-blog .jc-hiking-grid {
 display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1.25rem; width: 100%; margin: 1.5rem 0 2rem; align-items: stretch;
}
.jc-private .jc-hiking-blog .jc-hiking-entry {
 display: flex; flex-direction: column; min-width: 0; width: 100%;
 margin: 0; padding: 0; float: none; grid-column: auto;
}
.jc-private .jc-hiking-entry .jc-hiking-image-link {display: block; text-decoration: none;}
.jc-private .jc-hiking-entry .jc-hike-art {margin: 0; min-height: 180px; border-radius: 0;}
.jc-private .jc-hiking-entry .jc-hike-art span {font-size: clamp(1.45rem, 2.3vw, 2.1rem); line-height: 1.2; overflow-wrap: anywhere;}
.jc-private .jc-hiking-entry .jc-hike-body {display: flex; flex-direction: column; flex: 1; padding: 1.5rem;}
.jc-private .jc-hiking-entry h2 {font-size: 1.45rem; line-height: 1.25; margin: 0 0 .8rem;}
.jc-private .jc-hiking-entry h2 a {font: inherit; color: inherit; text-decoration: none;}
.jc-private .jc-hiking-entry h2 a:hover {text-decoration: underline;}
.jc-private .jc-hiking-entry .jc-intro {font-size: .95rem; line-height: 1.65;}
.jc-private .jc-hiking-entry .jc-hiking-readmore {margin-top: auto; padding-top: .8rem; align-self: flex-start;}
.jc-private .jc-hiking-entry a:focus-visible {outline: 2px solid var(--jc-link); outline-offset: 4px;}
.jc-private .jc-hiking-heading .jc-intro {max-width: 64rem;}
.jc-private .jc-hiking-pagination {margin-block: 1.5rem;}
@media(max-width:900px){.jc-private .jc-hiking-blog .jc-hiking-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.jc-private .jc-hiking-blog .jc-hiking-grid{grid-template-columns:1fr;}}

/* 1.2.0: Visible original photo, larger portrait, clear menu state. */
.jc-private .jc-hero-main {padding-top:250px;min-height:620px;background:var(--jc-surface);}
.jc-private .jc-hero-main .jc-hero-image {inset:0 0 auto;z-index:0;height:220px!important;object-fit:cover;object-position:center bottom;opacity:1;}
.jc-private .jc-hero-main::before {inset:196px 0 auto;height:24px;z-index:1;background:linear-gradient(transparent,var(--jc-surface));}
.jc-private .jc-hero-main > :not(.jc-hero-image) {position:relative;z-index:2;}
.jc-private .jc-portrait {width:112px;height:129px!important;flex:none;}
.jc-private .jc-germany-flag {display:block;width:38px;height:24px;margin-top:.65rem;border-radius:2px;background:linear-gradient(#171717 0 33.333%,#d71c27 33.333% 66.666%,#ffce00 66.666%);box-shadow:0 1px 3px #0003;transform-origin:left center;}
/* Die Deutschlandflagge bleibt statisch; keine Animation. */
.jc-private .jc-offcanvas nav :is(li,a)::before,.jc-private .jc-offcanvas nav :is(li,a)::after {content:none!important;display:none!important;}
.jc-private .jc-offcanvas nav :is(.nav-item-separator,.menu-indicator,.icon-chevron-left,.fa-chevron-left,.fa-angle-left){display:none!important;}
.jc-private .jc-offcanvas nav li {border-radius:12px;}
.jc-private .jc-offcanvas nav a {border-radius:12px;padding:.7rem .9rem;border-inline-start:4px solid transparent;}
.jc-private .jc-offcanvas nav :is(li.current,li.active)>a,.jc-private .jc-offcanvas nav a[aria-current="page"] {background:var(--jc-active-bg)!important;color:var(--jc-active-ink)!important;border-inline-start-color:var(--jc-link);font-weight:750;}
.jc-private .jc-footer-home {margin-top:1.25rem;font-size:.85rem;}
.jc-private .jc-footer-horse {margin-top:1.5rem;}
.jc-private .jc-footer-horse img {width:64px;height:64px;object-fit:contain;}
.jc-private .jc-hike-art--photo {isolation:isolate;}
.jc-private .jc-hike-art--photo img {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;}
.jc-private .jc-hike-art--photo::before {inset:0;width:100%;height:100%;border:0;border-radius:0;transform:none;background:linear-gradient(transparent,#102a20b3);z-index:-1;}
.jc-private .jc-hike-art--photo::after{display:none;}
.jc-private .jc-hike-art--photo span{color:white;text-shadow:0 1px 4px #0008;}
@media(max-width:600px){.jc-private .jc-portrait{width:96px;height:111px!important;}.jc-private .jc-hero-main{padding-top:220px;}.jc-private .jc-hero-main .jc-hero-image{height:190px!important;}.jc-private .jc-hero-main::before{top:166px;}}
.jc-social-strip{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0;padding:1.5rem;border-radius:var(--jc-radius);background:#0b2544;}
.jc-social-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #ffffff30;border-radius:50%;color:#00a2d6!important;transition:transform .2s,background .2s;}
.jc-social-icon svg{width:32px;height:32px;}
.jc-social-icon:hover{background:#ffffff12;transform:translateY(-2px);}
.jc-social-icon:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.jc-social-whatsapp{color:#20d76a!important;}.jc-social-signal,.jc-social-google{color:#5292ff!important;}.jc-social-threema{color:#70d200!important;}


/* Korrektur anhand des gelieferten Startseiten-HTML und custom.css. */
/* Auch die inneren Astroid-Menuebeschriftungen ohne Zusatzzeichen. */
body.jc-private #jc-offcanvas nav .nav-title::before,
body.jc-private #jc-offcanvas nav .nav-title::after {
 content: none !important;
 display: none !important;
 border: 0 !important;
 background: none !important;
}
body.jc-private #jc-offcanvas nav :is(li.current, li.active) > a,
body.jc-private #jc-offcanvas nav a[aria-current="page"] {
 background: var(--jc-active-bg) !important;
 color: var(--jc-active-ink) !important;
 border-inline-start: 4px solid var(--jc-link);
 font-weight: 750;
}
body.jc-private #jc-offcanvas nav a .nav-title {
 color: inherit !important;
 font-weight: inherit;
}
body.jc-private #jc-offcanvas nav a:focus-visible {
 outline: 2px solid var(--jc-link);
 outline-offset: 3px;
}

/* Wellenform als feste Kontur und Schattierung, ohne Bewegung. */
body.jc-private .jc-germany-flag {
 width: 42px;
 height: 28px;
 animation: none !important;
 transition: none !important;
 transform: none !important;
 border-radius: 0;
 clip-path: polygon(0 6%, 20% 1%, 40% 3%, 60% 10%, 80% 12%, 100% 6%,
                    100% 94%, 80% 100%, 60% 98%, 40% 91%, 20% 89%, 0 94%);
 background: linear-gradient(100deg, #ffffff20, transparent 28%, #00000022 65%, #ffffff18),
             linear-gradient(#171717 0 33.333%, #d71c27 33.333% 66.666%, #ffce00 66.666%);
}

/* Leerer Astroid-Bildplatzhalter erzeugt sonst 30px Abstand vor dem Inhalt. */
body.jc-private:is(.itemid-102, .itemid-353) .astroid-article-full-image:not(:has(img, picture)) {
 display: none;
 margin: 0 !important;
 padding: 0 !important;
}

/* 1.2.2: Bildnachweise, Wetter und rechter Footer-Kasten. */
.jc-private .jc-photo-credit {font-size:.72rem;line-height:1.5;color:var(--jc-muted);margin:.65rem 0 1rem;}
.jc-private .jc-photo-credit a {color:inherit;text-decoration:underline;}
.jc-private .jc-footer-contact-box {padding:1.25rem;border:1px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-glass);}
.jc-private .jc-footer-contact-box > p {margin:1.25rem 0 0;}
.jc-private .jc-footer-contact-box .jc-footer-horse {margin-top:1rem;}
.jc-private .jc-footer-contact-box .ci-footer-horse {width:32px;height:32px;object-fit:contain;}
.jc-private .jc-weather [data-meteomatics-weather-widget] {max-width:100%;min-height:190px;}
.jc-private .jc-weather h2 {margin-bottom:1rem;}

/* 1.2.3: dezente Hauptnavigation, scharfer Bergsaum, Copyright mit Ortsangabe. */
body.jc-private #jc-offcanvas nav a,
body.jc-private #jc-offcanvas nav :is(li.current, li.active) > a,
body.jc-private #jc-offcanvas nav a[aria-current] {
 background:transparent!important; color:var(--jc-link)!important;
 border-inline-start:0!important; box-shadow:none!important; font-weight:500;
}
body.jc-private #jc-offcanvas nav :is(li.current, li.active) > a .nav-title,
body.jc-private #jc-offcanvas nav a[aria-current] .nav-title {
 text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.3em;
}
body.jc-private #jc-offcanvas nav a:hover .nav-title {text-decoration:underline;text-underline-offset:.3em;}
.jc-private .jc-mountains {height:clamp(82px,13vw,170px);margin-top:1.25rem;}
.jc-private .jc-copyright-row {display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;text-align:left;text-wrap:initial;}
.jc-private .jc-copyright-text {flex:1;}
.jc-private .jc-copyright-row .ci-footer-horse {display:inline-block;width:32px;height:32px;object-fit:contain;vertical-align:middle;margin:0 .2em;}
.jc-private .jc-footer-location {white-space:nowrap;}
.jc-private .jc-image-sources {padding-left:1.25rem;}
.jc-private .jc-image-sources h3 {font-size:1rem;margin-bottom:.4rem;}
.jc-private .jc-hike-art--photo {background:#42645a;}
.jc-private .jc-hike-art--photo::before {content:none!important;}
.jc-private .ci-visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:700px){.jc-private .jc-copyright-row{flex-direction:column;align-items:flex-start;}.jc-private .jc-social-strip{gap:.75rem;padding:1rem;}.jc-private .jc-social-icon{width:52px;height:52px;}}

/* 1.2.5: local wide photographs, restrained contact strip, original JC and inline horses. */
.jc-private #c-jc-copyright-element {display:none!important;}
.jc-private .jc-hannover-horse,.jc-private .jc-footer-location {white-space:nowrap;}
.jc-private .ci-footer-horse {display:inline-block!important;width:32px!important;height:32px!important;object-fit:contain;vertical-align:middle;margin:0 .3em;}
.jc-private .jc-profile-top p .jc-profile-horse {display:inline-block!important;margin-left:.4rem;}
:root[data-jc-theme="dark"] .jc-private .ci-footer-horse {filter:brightness(0) invert(1);}
.jc-private .jc-social-strip {background:var(--jc-glass);border:1px solid var(--jc-line);}
.jc-private .jc-social-icon {border-color:var(--jc-line);}
.jc-private .jc-social-icon:focus-visible {outline-color:var(--jc-link);}
.jc-private .jc-social-icon:hover {background:var(--jc-soft);}
.jc-private .jc-contact-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.jc-private .jc-contact-card svg {width:28px;height:28px;flex-shrink:0;}
.jc-private .com-content-article .jc-prose {max-width:none;width:100%;}
.jc-private .com-content-article .jc-prose > :is(p,h2,h3,ul,ol,.jc-note) {max-width:72ch;}
.jc-private .com-content-article .jc-hike-art--photo {width:100%;height:clamp(220px,36vw,480px);margin-inline:0;}
.jc-private .jc-hike-art--photo::before {content:""!important;background:linear-gradient(transparent 35%,#102a20a8);}
.jc-private .jc-mountains {mask:none!important;-webkit-mask:none!important;background:none!important;overflow:hidden;height:clamp(90px,14vw,180px);}
.jc-private .jc-mountain-svg {width:100%;height:100%;display:block;}
.jc-private .jc-ridge-main {fill:#7e9c8c;}.jc-private .jc-ridge-shadow {fill:#658574;}.jc-private .jc-ridge-light {fill:#94ad9e;}
:root[data-jc-theme="dark"] .jc-private .jc-ridge-main {fill:#435f53;}:root[data-jc-theme="dark"] .jc-private .jc-ridge-shadow {fill:#324c40;}:root[data-jc-theme="dark"] .jc-private .jc-ridge-light {fill:#587567;}
@media(max-width:600px){.jc-private .jc-contact-grid{grid-template-columns:1fr;}}

/* Contact symbols precede their labels and numbers. */
.jc-private .jc-contact-card{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:.8rem;text-align:left;}
.jc-private .jc-contact-card svg{grid-column:1;grid-row:1 / span 2;}
.jc-private .jc-contact-card :is(b,span){grid-column:2;overflow-wrap:anywhere;}

/* 1.2.6: bundled horse, inline location, rounded photos and clear ridge shading. */
body.jc-private .jc-profile-location {display:inline-flex!important;align-items:center;gap:.3rem;white-space:nowrap;max-width:none;}
body.jc-private .jc-hannover-horse,body.jc-private .jc-footer-location {display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;}
body.jc-private .jc-horse-mark {display:inline-block!important;position:relative;width:34px!important;height:34px!important;min-width:34px;flex:0 0 34px;overflow:hidden;vertical-align:middle;}
body.jc-private .jc-horse-mark > img.ci-footer-horse {display:block!important;position:absolute!important;width:80px!important;height:53.333px!important;max-width:none!important;left:-18px!important;top:-13px!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:fill!important;filter:brightness(1.04)!important;mix-blend-mode:multiply;}
:root[data-jc-theme="dark"] body.jc-private .jc-horse-mark > img.ci-footer-horse {filter:grayscale(1) contrast(10) invert(1)!important;mix-blend-mode:screen;}
body.jc-private .jc-hike-art {border-radius:22px!important;overflow:hidden!important;}
body.jc-private .jc-hike-art--photo img {border-radius:inherit!important;}
body.jc-private .jc-portrait {border-radius:24px!important;}
body.jc-private .jc-social-strip {background:var(--jc-glass)!important;border:1px solid var(--jc-line)!important;}
body.jc-private .jc-ridge-shadow {fill:#496b59;opacity:.65;}
body.jc-private .jc-ridge-light {fill:#aec5b7;opacity:.8;}
:root[data-jc-theme="dark"] body.jc-private .jc-ridge-shadow {fill:#233e31;opacity:.8;}
:root[data-jc-theme="dark"] body.jc-private .jc-ridge-light {fill:#789987;opacity:.75;}

/* Keep Hannover and horse together; allow portrait and text group to wrap. */
body.jc-private .jc-profile-top{flex-wrap:wrap;}

/* 1.2.7: Opaque sky behind the sticky scenery; photographs without text overlays. */
body.jc-private .jc-header-section {background:var(--jc-bg)!important;isolation:isolate;z-index:100;}
body.jc-private .jc-header-section > .container {background:var(--jc-bg)!important;}
body.jc-private .jc-header-sky {position:relative;isolation:isolate;overflow:hidden;background:var(--jc-bg);padding-top:32px;}
body.jc-private .jc-header-sky .jc-forest {position:relative;z-index:2;margin-bottom:8px;}
body.jc-private .jc-celestial {position:absolute;z-index:1;right:25px;top:7px;width:40px;height:40px;color:#c38b29;}
.jc-celestial svg,.jc-mode-icon svg {display:block;width:100%;height:100%;}
.jc-moon {display:none!important;}
:root[data-jc-theme="dark"] .jc-sun {display:none!important;}
:root[data-jc-theme="dark"] .jc-moon {display:block!important;}
:root[data-jc-theme="dark"] .jc-celestial {color:#eee7cf;}
body.jc-private .jc-theme-button .jc-mode-icon {display:block;width:21px;height:21px;border:0;background:none;border-radius:0;}
.jc-stars {display:none;position:absolute;inset:0;z-index:0;pointer-events:none;}
:root[data-jc-theme="dark"] .jc-stars {display:block;background:
 radial-gradient(circle at 9% 17%,#eceadb 0 1px,transparent 1.7px),
 radial-gradient(circle at 22% 30%,#eceadb 0 1px,transparent 1.7px),
 radial-gradient(circle at 34% 8%,#eceadb 0 1.3px,transparent 2px),
 radial-gradient(circle at 45% 25%,#eceadb 0 1px,transparent 1.7px),
 radial-gradient(circle at 58% 13%,#eceadb 0 1.4px,transparent 2px),
 radial-gradient(circle at 67% 33%,#eceadb 0 1px,transparent 1.7px),
 radial-gradient(circle at 78% 10%,#eceadb 0 1px,transparent 1.7px),
 radial-gradient(circle at 88% 29%,#eceadb 0 1px,transparent 1.7px);}
body.jc-private .jc-hike-art--photo {padding:0;display:block;min-height:220px;isolation:isolate;background:var(--jc-surface);}
body.jc-private .jc-hike-art--photo img {position:absolute;inset:0;z-index:0;display:block!important;width:100%!important;height:100%!important;opacity:1!important;visibility:visible!important;object-fit:cover;}
body.jc-private .jc-hike-art::before,body.jc-private .jc-hike-art::after {content:none!important;}
body.jc-private .jc-hike-art > span {display:none!important;}
body.jc-private .jc-hiking-heading .category-desc {max-width:74ch;margin-bottom:1.75rem;}
body.jc-private .jc-hiking-heading .jc-intro {font-size:1.12rem;line-height:1.8;}
body.jc-private .jc-route-art {min-height:220px;background:var(--jc-surface) url('../../../images/jcprivate/bergsaum.svg') center bottom/100% auto no-repeat;}
body.jc-private .com-content-article .jc-route-art {min-height:280px;}
body.jc-private .jc-weather-data p {margin:.45rem 0;}
body.jc-private .jc-weather-temperature {font-size:2.4rem;line-height:1.2;color:var(--jc-ink);}
body.jc-private .jc-weather-days {list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.5rem;}
body.jc-private .jc-weather-days li {display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--jc-line);padding-top:.4rem;}
body.jc-private .jc-weather-source,body.jc-private .jc-weather-time {font-size:.8rem;color:var(--jc-muted);}
@media(max-width:600px){body.jc-private .jc-celestial {right:14px;width:32px;height:32px;}body.jc-private .jc-header-sky{padding-top:26px;}}

/* 1.2.8: retain the entire Geisler photograph, close sticky gap and align footer. */
body.jc-private .jc-header-section {top:0!important;margin-top:0!important;}
body.jc-private .jc-moon {transform:rotate(180deg);transform-origin:50% 50%;}
body.jc-private #jc-private-copyright {display:flex;justify-content:center!important;align-items:center!important;text-align:center!important;width:100%;}
body.jc-private #jc-private-copyright .jc-copyright-text {flex:0 1 auto;text-align:center!important;}
body.jc-private .com-content-article .jc-hike-art--uncropped {height:auto!important;min-height:0!important;padding:0!important;display:block;}
body.jc-private .com-content-article .jc-hike-art--uncropped img {position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
body.jc-private .jc-hiking-entry .jc-hike-art--uncropped img {object-fit:contain!important;object-position:center top!important;}
body.jc-private .jc-contact-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1000px){body.jc-private .jc-contact-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){body.jc-private .jc-contact-grid {grid-template-columns:1fr;}}

/* 1.2.9: asymmetric static stars and full photographs on detail pages. */
:root[data-jc-theme="dark"] .jc-stars {background:none!important;color:#e9e5d5;}
.jc-star-map {display:block;width:100%;height:100%;opacity:.8;}
.jc-star-map text {font-family:Georgia,serif;}
body.jc-private .jc-weather-retry {margin-top:.5rem;}
body.jc-private .jc-weather-error {font-size:.85rem;}

/* 1.2.10: weather condition symbols and three-day details; local Weser image. */
body.jc-private .jc-weather-current {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
body.jc-private .jc-weather-icon {display:block;flex:none;width:58px;height:58px;color:var(--jc-ink);}
body.jc-private .jc-weather-days {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;}
body.jc-private .jc-weather-days li {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:.4rem;min-width:0;padding:.65rem .1rem 0;}
body.jc-private .jc-weather-days time {font-size:.76rem;font-weight:650;}
body.jc-private .jc-weather-days .jc-weather-icon {width:38px;height:38px;}
body.jc-private .jc-weather-condition {font-size:.75rem;line-height:1.35;min-height:2.7em;overflow-wrap:anywhere;}
body.jc-private .jc-weather-range {font-size:.88rem;font-weight:650;line-height:1.4;}
body.jc-private .jc-weather-wind {font-size:.73rem;line-height:1.45;color:var(--jc-muted);}
body.jc-private .jc-weser-photo {display:block!important;position:relative!important;height:auto!important;min-height:0!important;aspect-ratio:16/9;padding:0!important;}
body.jc-private .jc-weser-photo img {position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;z-index:0!important;opacity:1!important;visibility:visible!important;}
body.jc-private .jc-hike-card .jc-weser-photo {height:220px!important;min-height:220px!important;aspect-ratio:auto;}
body.jc-private .jc-hike-card .jc-weser-photo img {width:100%!important;height:100%!important;object-fit:cover!important;}

/* 1.2.11: transparent weather, reference layout, site theme colours. */
body.jc-private .jc-weather,
body.jc-private .jc-weather-data {background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:0!important;}
body.jc-private .jc-weather-data {color:var(--jc-ink);container-type:inline-size;}
body.jc-private .jc-weather-location {font-size:clamp(1.1rem,2vw,1.45rem);font-weight:600;line-height:1.3;}
body.jc-private .jc-weather-current {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(85px,.8fr);align-items:center;gap:.8rem;padding-top:.8rem;}
body.jc-private .jc-weather-current .jc-weather-temperature {font-family:var(--jc-font);font-size:clamp(2.7rem,22cqi,5.8rem);font-weight:650;line-height:1.05;letter-spacing:-.055em;margin:0;white-space:nowrap;}
body.jc-private .jc-weather-now-detail {display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;min-width:0;}
body.jc-private .jc-weather-now-detail .jc-weather-icon {width:48px;height:48px;}
body.jc-private .jc-weather-today-range {font-size:1rem;font-weight:600;white-space:nowrap;}
body.jc-private .jc-weather-now-condition {font-size:.73rem;line-height:1.35;overflow-wrap:anywhere;}
body.jc-private .jc-weather-data .jc-weather-now-wind {font-size:.78rem;color:var(--jc-muted);margin:.5rem 0 1.2rem;}
body.jc-private .jc-weather-days {border-top:1px solid var(--jc-link);padding-top:1.25rem;margin-top:0;gap:.4rem;}
body.jc-private .jc-weather-days li {border-top:0;padding-top:0;gap:.35rem;}
body.jc-private .jc-weather-days .jc-weather-icon {width:42px;height:42px;order:0;}
body.jc-private .jc-weather-days time {order:1;font-size:.8rem;font-weight:600;}
body.jc-private .jc-weather-days .jc-weather-range {order:2;font-size:.95rem;white-space:nowrap;}
body.jc-private .jc-weather-days .jc-weather-condition {order:3;font-size:.7rem;min-height:2.7em;}
body.jc-private .jc-weather-days .jc-weather-wind {order:4;font-size:.72rem;}
body.jc-private .jc-weather-data .jc-weather-time {margin-top:1.2rem;font-size:.65rem;text-align:center;line-height:1.5;}
body.jc-private .jc-weather-data .jc-weather-source {font-size:.65rem;text-align:center;}
body.jc-private .jc-weather-data .jc-weather-source a {font-size:inherit;}
@media(max-width:360px){body.jc-private .jc-weather {padding:1rem .65rem;}body.jc-private .jc-weather-current .jc-weather-temperature {font-size:3.4rem;}body.jc-private .jc-weather-days time {font-size:.72rem;}}

/* 1.2.12: visible solar/manual mode selection. */
body.jc-private .jc-theme-button {width:auto!important;min-width:44px;padding:.55rem .8rem!important;gap:.4rem;}
body.jc-private .jc-theme-mode-label {font-family:var(--jc-font);font-size:.72rem;font-weight:600;line-height:1.2;}

/* 1.2.13: moon calendar, independent of weather data/network. */
body.jc-private .jc-lunar-calendar {border-top:1px solid var(--jc-line);padding-top:1.25rem;margin-top:1.6rem;color:var(--jc-ink);background:transparent;}
body.jc-private .jc-lunar-calendar h3 {font-family:var(--jc-font);font-size:1.15rem;font-weight:650;line-height:1.4;margin:0 0 .25rem;}
body.jc-private .jc-lunar-calendar p {margin:.3rem 0;}
body.jc-private .jc-lunar-date {font-size:.76rem;color:var(--jc-muted);}
body.jc-private .jc-lunar-current {display:flex;align-items:center;gap:1rem;margin:1rem 0;}
body.jc-private .jc-lunar-current p {font-size:.85rem;}
body.jc-private .jc-lunar-current .jc-lunar-phase {font-size:1rem;font-weight:600;}
body.jc-private .jc-lunar-disc {display:block;width:80px;height:80px;flex:none;}
body.jc-private .jc-lunar-shadow {fill:#263a40;}
body.jc-private .jc-lunar-light {fill:#eee7ce;}
body.jc-private .jc-lunar-outline {stroke:var(--jc-muted);stroke-width:1;}
body.jc-private .jc-lunar-events {list-style:none;padding:0;margin:.8rem 0;}
body.jc-private .jc-lunar-events li {display:flex;justify-content:space-between;flex-wrap:wrap;gap:.2rem .7rem;font-size:.76rem;line-height:1.6;padding:.35rem 0;border-top:1px solid var(--jc-line);}
body.jc-private .jc-lunar-events time {color:var(--jc-muted);}
body.jc-private .jc-lunar-calendar .jc-lunar-note {font-size:.65rem;color:var(--jc-muted);}

/* 1.2.14: centred automatic switch, consistent wind text, balanced responsive hero. */
body.jc-private .jc-theme-button {position:relative;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;width:48px!important;min-width:48px;height:48px!important;padding:0!important;gap:0!important;border-radius:50%;}
body.jc-private .jc-theme-button .jc-theme-mode-label {display:none;}
body.jc-private .jc-theme-button[data-jc-selected-mode="auto"] .jc-mode-icon {display:none!important;}
body.jc-private .jc-theme-button[data-jc-selected-mode="auto"] .jc-theme-mode-label {display:block;position:static;font-size:.72rem;line-height:1;margin:0;padding:0;text-align:center;}
body.jc-private .jc-weather-data .jc-weather-now-wind,
body.jc-private .jc-weather-data .jc-weather-wind,
body.jc-private .jc-weather-data .jc-weather-now-condition {font-family:var(--jc-font);font-size:.85rem;line-height:1.5;color:var(--jc-ink);}
body.jc-private .jc-home > .jc-hero {align-items:start;}
body.jc-private .jc-home > .jc-hero .jc-hero-main {align-self:start;justify-content:flex-start;min-height:0!important;height:auto!important;}
body.jc-private .jc-hero-aside {min-width:0;}
body.jc-private .jc-sky-row {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;margin-top:2rem;padding:1.5rem 0;border-top:1px solid var(--jc-line);}
body.jc-private .jc-sky-row > .jc-weather {padding:0!important;min-width:0;margin:0;}
body.jc-private .jc-sky-row > .jc-lunar-calendar {border-top:0;padding:0 0 0 clamp(1.5rem,3vw,3rem);border-left:1px solid var(--jc-line);margin:0;min-width:0;}
body.jc-private .jc-sky-row .jc-weather-current .jc-weather-temperature {font-size:clamp(3.3rem,15cqi,5.8rem);}
body.jc-private .jc-sky-row .jc-lunar-current {margin:1.5rem 0;}
body.jc-private .jc-sky-row .jc-lunar-events li {font-size:.88rem;padding:.65rem 0;}
body.jc-private .jc-sky-row .jc-weather-days {padding-top:1rem;}
@media(max-width:760px){
 body.jc-private .jc-sky-row {grid-template-columns:minmax(0,1fr);gap:1.7rem;}
 body.jc-private .jc-sky-row > .jc-lunar-calendar {border-left:0;border-top:1px solid var(--jc-line);padding:1.4rem 0 0;}
 body.jc-private .jc-sky-row .jc-weather-days time {font-size:.78rem;}
}
@media(max-width:400px){
 body.jc-private .jc-weather-data .jc-weather-wind {font-size:.75rem;}
 body.jc-private .jc-sky-row .jc-lunar-events li {font-size:.8rem;}
}
/* 1.3.0: final, shared layout rules for DE/EN and both colour schemes. */
body.jc-private .com-content-article .jc-prose {width:100%;max-width:none;}
body.jc-private .com-content-article .jc-hike-art--photo {display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;overflow:hidden;border-radius:var(--jc-radius);}
body.jc-private .com-content-article .jc-hike-art--photo img {position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;opacity:1!important;}
body.jc-private :is(.jc-hike-card,.jc-hiking-entry) .jc-hike-art--photo {display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;padding:0!important;overflow:hidden;border-radius:var(--jc-radius);}
body.jc-private :is(.jc-hike-card,.jc-hiking-entry) .jc-hike-art--photo img {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;opacity:1!important;visibility:visible!important;}
body.jc-private :is(.jc-hike-card,.jc-hiking-entry) .jc-hike-art--photo img[src*="alpen" i] {object-position:center 70%!important;}
body.jc-private .jc-hike-art--photo::before {display:none!important;}
body.jc-private .jc-sky-row {border:0;padding:0;gap:1.3rem;align-items:stretch;}
body.jc-private .jc-sky-row > :is(.jc-weather,.jc-lunar-calendar) {min-width:0;margin:0;padding:clamp(1rem,2.5vw,1.8rem)!important;border:1px solid var(--jc-line)!important;border-radius:var(--jc-radius);background:var(--jc-glass)!important;box-shadow:var(--jc-shadow)!important;}
body.jc-private .jc-weather-data {background:transparent!important;}
body.jc-private .jc-weather-current {grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr);gap:.4rem;padding:1rem 0 1.25rem;}
body.jc-private .jc-sky-row .jc-weather-current .jc-weather-temperature {font-size:clamp(2.5rem,16cqi,5.8rem);}
body.jc-private .jc-weather-wind-display {display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;text-align:center;}
body.jc-private .jc-windsock {display:block;width:clamp(75px,22cqi,130px);height:auto;max-width:100%;color:var(--jc-ink);}
body.jc-private .jc-weather-data .jc-weather-now-wind {margin:0;font-size:.85rem;white-space:nowrap;}
body.jc-private .jc-weather-now-detail .jc-weather-icon {width:76px;height:76px;}
body.jc-private .jc-weather-days .jc-weather-icon {width:64px;height:64px;}
body.jc-private .jc-weather-today-range {font-size:clamp(.78rem,3cqi,1rem);}
body.jc-private .jc-header-sky {height:clamp(130px,13vw,210px);padding:0!important;position:relative;isolation:isolate;overflow:hidden;background:var(--jc-bg);}
body.jc-private .jc-header-sky .jc-forest {position:absolute;inset:auto 0 0;width:100%;height:clamp(50px,6vw,86px);margin:0;z-index:2;}
body.jc-private .jc-orbit-body {position:absolute;z-index:1;width:clamp(28px,3vw,44px);height:clamp(28px,3vw,44px);transform:translate(-50%,-50%);pointer-events:none;}
body.jc-private .jc-orbit-body[hidden] {display:none!important;}
body.jc-private .jc-orbit-body svg {width:100%;height:100%;display:block;}
body.jc-private .jc-orbit-sun {color:#c38b29;}
body.jc-private .jc-orbit-moon {filter:drop-shadow(0 0 1px #53685e);}
body.jc-private .jc-sky-help {display:flex;justify-content:flex-end;position:relative;z-index:5;padding:.2rem .5rem .35rem;background:var(--jc-bg);}
body.jc-private .jc-sky-help-button {display:grid;place-items:center;width:28px;height:28px;min-height:28px;border:1px solid var(--jc-line);border-radius:50%;padding:0;color:var(--jc-ink);background:var(--jc-surface);font:600 .9rem/1 var(--jc-font);cursor:pointer;}
body.jc-private .jc-sky-tooltip {display:none;position:absolute;right:0;top:100%;width:min(34rem,calc(100vw - 2rem));padding:1.4rem;background:var(--jc-surface);color:var(--jc-ink);border:1px solid var(--jc-line);border-radius:1rem;box-shadow:var(--jc-shadow);font-size:.8rem;line-height:1.5;z-index:200;}
@media(hover:hover){body.jc-private .jc-sky-help-button:hover + .jc-sky-tooltip,body.jc-private .jc-sky-help-button:focus-visible + .jc-sky-tooltip,body.jc-private .jc-sky-tooltip:hover {display:block;}}
body.jc-private :is(.jc-sky-tooltip,.jc-sky-dialog) h2 {font-size:1.3rem;margin:0 0 .8rem;}
body.jc-private :is(.jc-sky-tooltip,.jc-sky-dialog) ul {padding-left:1.2rem;}
body.jc-private .jc-sky-dialog {width:min(38rem,calc(100vw - 2rem));max-height:85dvh;margin:auto;padding:2rem;border:1px solid var(--jc-line);border-radius:1.3rem;background:var(--jc-surface);color:var(--jc-ink);box-shadow:var(--jc-shadow);font:1rem/1.6 var(--jc-font);overflow:auto;}
body.jc-private .jc-sky-dialog::backdrop {background:#10282499;}
body.jc-private .jc-sky-close {float:right;font-size:1.5rem;line-height:1;width:38px;height:38px;border:1px solid var(--jc-line);border-radius:50%;background:var(--jc-glass);color:var(--jc-ink);cursor:pointer;}
body.jc-private .jc-sky-note {font-size:.75rem;color:var(--jc-muted);}
body.jc-private :is(.jc-profile-horse,.ci-footer-horse) {background:transparent!important;mix-blend-mode:normal!important;filter:none!important;}
:root[data-jc-theme="dark"] body.jc-private :is(.jc-profile-horse,.ci-footer-horse) {filter:brightness(0) invert(1)!important;}
body.jc-private .jc-mountains {height:auto!important;aspect-ratio:1500/280;mask:none!important;-webkit-mask:none!important;background:none!important;}
body.jc-private .jc-mountain-svg {width:100%;height:auto;display:block;}
:root[data-jc-theme="dark"] .jc-mountain-svg {filter:brightness(.75) saturate(.85);}
@media(max-width:1000px){body.jc-private .jc-sky-row {grid-template-columns:minmax(0,1fr);}}
@media(max-width:480px){
 body.jc-private .jc-weather-now-detail .jc-weather-icon {width:56px;height:56px;}
 body.jc-private .jc-weather-days .jc-weather-icon {width:52px;height:52px;}
 body.jc-private .jc-weather-current {gap:.25rem;}
 body.jc-private .jc-weather-data .jc-weather-now-condition {font-size:.75rem;}
 body.jc-private .jc-weather-data .jc-weather-now-wind {font-size:.76rem;}
 body.jc-private .jc-sky-dialog {padding:1.1rem;}
 body.jc-private .jc-sky-help-button {width:36px;height:36px;}
}

/* ENDE: gesicherte custom.css */

/* BEGINN: layout-1.6.5.css (historische Kaskade unveraendert) */
/* Preserved cascade: layout-1.3.1.css */
/* Jan Crone 1.3.1. Loaded after all template styles by the system plugin.
   Explicit selectors and longhands intentionally override legacy !important rules. */
html:root body.jc-private .jc-home .jc-hero {align-items:stretch!important;grid-auto-rows:auto!important;}
html:root body.jc-private .jc-home .jc-hero > .jc-hero-main {align-self:stretch!important;height:auto!important;min-height:0!important;}
html:root body.jc-private .jc-home .jc-hero > .jc-hero-aside {align-self:stretch!important;display:flex!important;flex-direction:column!important;}
html:root body.jc-private .jc-home .jc-hero-aside > .jc-profile {flex:1 1 auto!important;height:auto!important;display:flex!important;flex-direction:column!important;}
html:root body.jc-private .jc-profile > a:last-child {margin-top:auto;padding-top:1rem;}
html:root body.jc-private .jc-home .jc-sky-row {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:1.25rem!important;padding:0!important;border:0!important;}
html:root body.jc-private .jc-home .jc-sky-row > .jc-weather,
html:root body.jc-private .jc-home .jc-sky-row > .jc-lunar-calendar {box-sizing:border-box!important;width:100%!important;min-width:0!important;height:auto!important;align-self:stretch!important;margin:0!important;padding:clamp(20px,2.4vw,36px)!important;border:1px solid var(--jc-line)!important;border-radius:var(--jc-radius)!important;background:var(--jc-glass)!important;box-shadow:var(--jc-shadow)!important;}
html:root body.jc-private .jc-weather-data {width:100%!important;margin:0!important;padding:0!important;min-width:0!important;}
html:root body.jc-private .jc-weather > h2,
html:root body.jc-private .jc-lunar-calendar > h3 {margin:0 0 1rem!important;padding:0!important;font-family:var(--jc-font)!important;font-size:1.1rem!important;line-height:1.4!important;}
html:root body.jc-private .jc-weather-current {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr)!important;align-items:center!important;gap:.5rem!important;padding:1rem 0 1.5rem!important;width:100%!important;}
html:root body.jc-private .jc-weather-current > * {min-width:0!important;max-width:100%!important;grid-column:auto!important;grid-row:auto!important;}
html:root body.jc-private .jc-weather-current .jc-weather-temperature {font-size:clamp(3rem,14cqi,5.5rem)!important;line-height:1!important;}
html:root body.jc-private .jc-weather-now-detail .jc-weather-icon {display:block!important;width:112px!important;height:112px!important;max-width:100%!important;}
html:root body.jc-private .jc-weather-days .jc-weather-icon {display:block!important;width:88px!important;height:88px!important;max-width:100%!important;margin:0 auto .4rem!important;}
html:root body.jc-private .jc-weather-days {margin:0!important;padding:1.2rem 0 0!important;list-style:none!important;}
html:root body.jc-private .jc-weather-days li {padding:0!important;}
html:root body.jc-private .jc-weather-wind-display {align-items:center!important;text-align:center!important;}
html:root body.jc-private .jc-lunar-events {margin:1rem 0!important;padding:0!important;list-style:none!important;}
html:root body.jc-private .jc-lunar-events li {display:grid!important;grid-template-columns:minmax(0,1fr) 15ch!important;align-items:start!important;gap:.5rem!important;padding:.65rem 0!important;}
html:root body.jc-private .jc-lunar-events time {display:block!important;text-align:left!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important;}
html:root body.jc-private .jc-lunar-current,
html:root body.jc-private .jc-lunar-date,
html:root body.jc-private .jc-lunar-note {margin-left:0!important;padding-left:0!important;}
/* All card photos have an identical ratio, including legacy uncropped/Weser classes. */
html:root body.jc-private .jc-hike-card .jc-hike-art,
html:root body.jc-private .jc-hiking-entry .jc-hike-art {display:block!important;position:relative!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;height:0!important;min-height:0!important;max-height:none!important;padding:0 0 56.25%!important;margin:0!important;aspect-ratio:auto!important;overflow:hidden!important;}
html:root body.jc-private .jc-hike-card .jc-hike-art img,
html:root body.jc-private .jc-hiking-entry .jc-hike-art img {display:block!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;}
html:root body.jc-private .jc-hike-card .jc-hike-art img[src*="Alpen"],
html:root body.jc-private .jc-hike-card .jc-hike-art img[src*="alpen"] {object-position:center 75%!important;}
html:root body.jc-private .jc-hike-card {display:flex!important;flex-direction:column!important;min-width:0!important;}
html:root body.jc-private .jc-hike-card .jc-hike-body {display:flex!important;flex-direction:column!important;flex:1 1 auto!important;}
html:root body.jc-private .jc-hike-card .jc-hike-body > a:last-child {margin-top:auto!important;padding-top:1rem!important;}
/* Detail headers: use the whole available article column; prose may remain readable. */
html:root body.jc-private .jc-content-section .jc-prose {width:100%!important;max-width:none!important;box-sizing:border-box!important;}
html:root body.jc-private .jc-detail-photo {width:100%!important;max-width:none!important;margin:0 0 1rem!important;padding:0!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;display:block!important;overflow:hidden!important;}
html:root body.jc-private .jc-detail-photo img {display:block!important;position:static!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
html:root body.jc-private .jc-content-section .com-content-article,
html:root body.jc-private .jc-content-section .com-content-article__body,
html:root body.jc-private .jc-content-section .item-page {width:100%!important;max-width:none!important;}
/* Compact sky; explicit positioning wins over .jc-scenery and legacy forest rules. */
html:root body.jc-private .jc-header-sky {box-sizing:border-box!important;position:relative!important;height:136px!important;min-height:0!important;max-height:136px!important;padding:0!important;margin:0!important;overflow:hidden!important;isolation:isolate!important;}
html:root body.jc-private .jc-header-sky .jc-forest {position:absolute!important;top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:58px!important;margin:0!important;z-index:2!important;}
html:root body.jc-private .jc-orbit-body {width:38px!important;height:38px!important;z-index:1!important;}
html:root body.jc-private .jc-header-sky .jc-celestial {display:none!important;}
html:root body.jc-private .jc-sky-help {box-sizing:border-box!important;margin:0!important;padding:3px 0!important;min-height:0!important;}
html:root body.jc-private .jc-sky-test {display:block;position:relative;z-index:4;margin:0 0 .4rem;color:var(--jc-ink);font:.78rem/1.5 var(--jc-font);}
html:root body.jc-private .jc-sky-test summary {cursor:pointer;display:list-item;padding:.3rem 0;width:max-content;}
html:root body.jc-private .jc-sky-test-panel {padding:.7rem 1rem;border:1px solid var(--jc-line);border-radius:1rem;background:var(--jc-surface);}
html:root body.jc-private .jc-sky-test input {display:block;width:100%;margin:.5rem 0;accent-color:var(--jc-link);}
html:root body.jc-private .jc-sky-test button {background:var(--jc-glass);color:var(--jc-ink);border:1px solid var(--jc-line);border-radius:1rem;padding:.3rem .8rem;}
html:root body.jc-private .jc-sky-test output {font-variant-numeric:tabular-nums;}
@media(max-width:1000px){html:root body.jc-private .jc-home .jc-sky-row {grid-template-columns:minmax(0,1fr)!important;}}
@media(max-width:760px){html:root body.jc-private .jc-home .jc-hero {grid-template-columns:minmax(0,1fr)!important;}html:root body.jc-private .jc-home .jc-hero-aside > .jc-profile {height:auto!important;}html:root body.jc-private .jc-header-sky {height:112px!important;max-height:112px!important;}html:root body.jc-private .jc-header-sky .jc-forest {height:44px!important;}}
@media(max-width:480px){html:root body.jc-private .jc-weather-now-detail .jc-weather-icon {width:82px!important;height:82px!important;}html:root body.jc-private .jc-weather-days .jc-weather-icon {width:72px!important;height:72px!important;}html:root body.jc-private .jc-weather-current {gap:.2rem!important;}html:root body.jc-private .jc-weather-current .jc-weather-temperature {font-size:clamp(2.5rem,15cqi,4rem)!important;}html:root body.jc-private .jc-lunar-events li {font-size:.8rem!important;}html:root body.jc-private .jc-weather-now-condition {font-size:.72rem!important;}html:root body.jc-private .jc-weather-today-range {font-size:.8rem!important;}}

html:root body.jc-private .jc-mountains {aspect-ratio:1600/300!important;height:auto!important;}


/* Preserved cascade: layout-1.3.3.css */
/* Focused additions after layout-1.3.1.css. Keep tree silhouettes proportional. */
html:root body.jc-private .jc-header-sky {height:198px!important;max-height:198px!important;}
html:root body.jc-private .jc-header-sky .jc-forest {
 height:116px!important;
 mask-image:url(../../../images/jcprivate/waldsaum.svg?v=133)!important;
 -webkit-mask-image:url(../../../images/jcprivate/waldsaum.svg?v=133)!important;
 mask-size:auto 100%!important;-webkit-mask-size:auto 100%!important;
 mask-position:center bottom!important;-webkit-mask-position:center bottom!important;
 mask-repeat:repeat-x!important;-webkit-mask-repeat:repeat-x!important;
}
html:root body.jc-private .jc-weather-current {align-items:start!important;padding-top:.4rem!important;}
html:root body.jc-private .jc-weather-current .jc-weather-temperature {align-self:start!important;margin:0!important;padding-top:1rem!important;line-height:1!important;}
html:root body.jc-private .jc-weather-wind-display {display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;gap:.45rem!important;}
html:root body.jc-private .jc-weather-wind-display .jc-windsock {display:block!important;width:110px!important;max-width:100%!important;height:110px!important;margin:0 auto!important;}
html:root body.jc-private .jc-weather-data .jc-weather-now-wind {display:flex!important;flex-direction:column!important;gap:.15rem!important;line-height:1.35!important;margin:0!important;padding:0!important;text-align:center!important;white-space:normal!important;}
html:root body.jc-private .jc-weather-now-wind strong {font-size:1rem!important;font-weight:650!important;color:var(--jc-ink)!important;}
html:root body.jc-private .jc-weather-now-wind span {font-size:.85rem!important;}
html:root body.jc-private .jc-environment {margin:.6rem 0 1.5rem;padding:1rem 0 0;border-top:1px solid var(--jc-line);}
html:root body.jc-private .jc-environment-values {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;}
html:root body.jc-private .jc-environment-values dt {font-size:.78rem;font-weight:400;color:var(--jc-muted);margin:0 0 .35rem;}
html:root body.jc-private .jc-environment-values dd {font-size:1rem;font-weight:650;margin:0;color:var(--jc-ink);}
html:root body.jc-private .jc-environment-note,
html:root body.jc-private .jc-environment-source {font-size:.65rem;line-height:1.5;margin:.65rem 0 0;color:var(--jc-muted);}
html:root body.jc-private .jc-env-retry {font:inherit;font-size:.8rem;background:var(--jc-glass);color:var(--jc-link);border:1px solid var(--jc-line);padding:.4rem .75rem;border-radius:.75rem;margin-top:.75rem;cursor:pointer;}
html:root body.jc-private .jc-planets {border-top:1px solid var(--jc-line);padding-top:1.3rem;margin-top:1.3rem;min-width:0;}
html:root body.jc-private .jc-planets h3 {font:650 1.1rem/1.4 var(--jc-font);margin:0 0 .5rem;}
html:root body.jc-private .jc-planets-date {font-size:.8rem;color:var(--jc-muted);margin:0 0 .8rem;}
html:root body.jc-private .jc-planets table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:.85rem;}
html:root body.jc-private .jc-planets th,
html:root body.jc-private .jc-planets td {text-align:left;padding:.6rem .35rem .6rem 0;border:0;border-bottom:1px solid var(--jc-line);font-variant-numeric:tabular-nums;color:var(--jc-ink);background:transparent;}
html:root body.jc-private .jc-planets thead th {font-size:.72rem;color:var(--jc-muted);font-weight:500;}
html:root body.jc-private .jc-planets th:first-child {width:46%;}
html:root body.jc-private .jc-planets tbody th {font-weight:500;}
html:root body.jc-private .jc-planet-symbol {display:inline-block;width:1.5em;font-family:"Segoe UI Symbol","Apple Symbols","DejaVu Sans",sans-serif;font-size:1.25rem;line-height:1;vertical-align:middle;color:var(--jc-link);}
html:root body.jc-private .jc-planets-note {font-size:.65rem;color:var(--jc-muted);line-height:1.6;margin:.8rem 0 0;}
html:root body.jc-private .jc-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
html:root body.jc-private .jc-profile .jc-webcam {margin:1.1rem 0 1.2rem;padding:1.1rem;border:1px solid var(--jc-line);border-radius:1rem;background:var(--jc-glass);}
html:root body.jc-private .jc-profile .jc-webcam h3 {display:flex;align-items:center;gap:.6rem;font:650 1rem/1.4 var(--jc-font);margin:0 0 .6rem;}
html:root body.jc-private .jc-webcam svg {width:30px;height:30px;flex:none;}
html:root body.jc-private .jc-profile .jc-webcam p {font-size:.85rem;line-height:1.6;margin:0 0 .8rem;}
html:root body.jc-private .jc-profile .jc-webcam a {font-size:.85rem;line-height:1.5;font-weight:600;}
@media(max-width:760px){
 html:root body.jc-private .jc-header-sky {height:164px!important;max-height:164px!important;}
 html:root body.jc-private .jc-header-sky .jc-forest {height:88px!important;}
}
@media(max-width:480px){
 html:root body.jc-private .jc-header-sky {height:150px!important;max-height:150px!important;}
 html:root body.jc-private .jc-header-sky .jc-forest {height:80px!important;}
 html:root body.jc-private .jc-weather-wind-display .jc-windsock {width:82px!important;height:82px!important;}
 html:root body.jc-private .jc-weather-current .jc-weather-temperature {padding-top:.6rem!important;}
 html:root body.jc-private .jc-weather-now-wind strong {font-size:.85rem!important;}
 html:root body.jc-private .jc-weather-now-wind span {font-size:.75rem!important;}
 html:root body.jc-private .jc-planets table {font-size:.78rem;}
 html:root body.jc-private .jc-planets thead th {font-size:.65rem;}
 html:root body.jc-private .jc-environment-values {gap:.6rem;}
}


/* Preserved cascade: layout-1.3.4.css */
/* Jan Crone 1.3.4: sky controls share one row; contact precedes webcam. */
html:root body.jc-private .jc-sky-controls {position:relative;margin:0 0 .4rem;min-width:0;}
html:root body.jc-private .jc-sky-controls .jc-sky-test {margin:0;}
html:root body.jc-private .jc-sky-controls .jc-sky-test summary {box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:10px 56px 10px 0;line-height:24px;overflow-wrap:anywhere;}
html:root body.jc-private .jc-sky-controls .jc-sky-help {position:absolute;right:0;top:0;z-index:6;height:44px;margin:0!important;padding:0!important;display:flex;align-items:center;background:transparent;}
html:root body.jc-private .jc-sky-controls .jc-sky-help-button {box-sizing:border-box;width:44px;height:44px;min-height:44px;}
html:root body.jc-private .jc-sky-controls .jc-sky-test-panel {margin-top:.35rem;}
html:root body.jc-private .jc-profile > a {align-self:flex-start;margin-top:.5rem;padding-top:0;}
html:root body.jc-private .jc-profile > .jc-webcam {margin-top:1.1rem;margin-bottom:0;}


/* Preserved cascade: layout-1.3.5.css */
/* 1.3.5: compact help, aligned links, centered wind and daily temperatures. */
html:root body.jc-private .jc-sky-controls .jc-sky-help-button {position:relative;width:28px;height:28px;min-height:28px;}
html:root body.jc-private .jc-sky-controls .jc-sky-help-button::before {content:"";position:absolute;inset:-8px;}
html:root body.jc-private .jc-interests {align-items:stretch;}
html:root body.jc-private .jc-interests > article {display:flex;flex-direction:column;min-width:0;}
html:root body.jc-private .jc-interests > article > a:last-child {align-self:flex-start;margin-top:auto;padding-top:.75rem;}
html:root body.jc-private .jc-weather-temperature-block {display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;}
html:root body.jc-private .jc-weather-temperature-block .jc-weather-today-range {display:block;line-height:1.4;margin:0;}
html:root body.jc-private .jc-weather-current .jc-weather-wind-display {gap:.15rem!important;}
html:root body.jc-private .jc-weather-wind-display .jc-weather-now-wind {align-items:center!important;align-self:center!important;width:100%;}
@media(max-width:760px){html:root body.jc-private .jc-sky-controls .jc-sky-help-button {width:36px;height:36px;min-height:36px;}html:root body.jc-private .jc-sky-controls .jc-sky-help-button::before {inset:-4px;}}


/* Preserved cascade: layout-1.3.6.css */
/* 1.3.6: help panel must not inherit the narrow button container. */
html:root body.jc-private .jc-sky-controls {
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
html:root body.jc-private .jc-sky-controls .jc-sky-help {
  position:absolute!important;
  inset:0 0 auto 0!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:44px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  overflow:visible!important;
  pointer-events:none;
}
html:root body.jc-private .jc-sky-controls .jc-sky-help-button {
  flex:0 0 auto!important;
  pointer-events:auto;
}
html:root body.jc-private .jc-sky-controls .jc-sky-tooltip {
  position:absolute!important;
  inset:44px 0 auto auto!important;
  box-sizing:border-box!important;
  width:34rem!important;
  width:min(34rem,calc(100vw - 2rem))!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:70vh!important;
  max-height:70dvh!important;
  margin:0!important;
  padding:1.25rem!important;
  overflow:auto!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  pointer-events:auto;
}
html:root body.jc-private .jc-sky-dialog {
  box-sizing:border-box!important;
  width:38rem!important;
  width:min(38rem,calc(100vw - 2rem))!important;
  min-width:0!important;
  max-width:calc(100vw - 2rem)!important;
  max-height:85vh!important;
  max-height:85dvh!important;
  overflow:auto!important;
  white-space:normal!important;
  word-break:normal!important;
}
html:root body.jc-private .jc-sky-help-button[aria-expanded="true"] + .jc-sky-tooltip {display:none!important;}
@media(hover:none),(pointer:coarse) {
  html:root body.jc-private .jc-sky-controls .jc-sky-tooltip {display:none!important;}
}


/* Preserved cascade: layout-1.3.8.css */
/* 1.3.8: consistent weather alignment, accessible explanations and mobile menu. */
html:root body.jc-private .jc-weather-temperature-block {width:max-content!important;max-width:100%!important;justify-self:start!important;align-items:center!important;text-align:center!important;gap:.65rem!important;}
html:root body.jc-private .jc-weather-temperature-block .jc-weather-temperature {align-self:center!important;}
html:root body.jc-private .jc-weather-current .jc-weather-wind-display {justify-self:center!important;width:110px!important;max-width:100%!important;align-items:center!important;gap:.25rem!important;}
html:root body.jc-private .jc-windsock-help {display:block;flex:none;width:110px;max-width:100%;line-height:0;}
html:root body.jc-private .jc-weather-wind-display .jc-weather-now-wind {width:100%!important;display:flex!important;align-items:center!important;text-align:center!important;margin:0!important;}
html:root body.jc-private .jc-weather-symbol-help {display:inline-block;line-height:0;max-width:100%;}
html:root body.jc-private .jc-forecast-heading {font:600 1rem/1.4 var(--jc-font);margin:1.25rem 0 .75rem;padding-top:1.25rem;border-top:1px solid var(--jc-line);}
html:root body.jc-private .jc-weather-days {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem .75rem!important;border-top:0!important;padding:0!important;margin:0!important;}
html:root body.jc-private .jc-weather-days li {display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0;text-align:center;gap:.35rem;}
html:root body.jc-private .jc-weather-days li > * {margin:0!important;order:initial!important;}
html:root body.jc-private .jc-weather-days .jc-weather-wind {display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.35rem!important;white-space:nowrap!important;line-height:1.4!important;margin-top:auto!important;padding-top:.6rem;}
html:root body.jc-private .jc-weather-days .jc-weather-wind .jc-wind-icon {display:block!important;flex:none!important;width:22px!important;height:22px!important;max-width:22px!important;}
html:root body.jc-private .jc-weather-time,html:root body.jc-private .jc-weather-source {text-align:left!important;justify-content:flex-start!important;width:100%;}
html:root body.jc-private :is(.jc-environment,.jc-planets,.jc-lunar-events li,.jc-forecast-heading) {border-color:var(--jc-line)!important;}
html:root body.jc-private .jc-weather hr,html:root body.jc-private .jc-lunar-calendar hr {border:0!important;border-top:1px solid var(--jc-line)!important;background:transparent!important;opacity:1!important;}
html:root body.jc-private [data-jc-tip] {cursor:help;}
html:root body.jc-private [data-jc-tip]:focus-visible {outline:2px solid var(--jc-link);outline-offset:4px;border-radius:4px;}
html:root body.jc-private .jc-value-explanation {position:fixed!important;z-index:2147483000!important;box-sizing:border-box!important;width:min(360px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);padding:1rem;border:1px solid var(--jc-line);border-radius:.85rem;background:var(--jc-surface);color:var(--jc-ink);box-shadow:var(--jc-shadow);font:.85rem/1.55 var(--jc-font);white-space:normal;overflow:auto;overflow-wrap:break-word;}
html:root body.jc-private .jc-value-explanation[hidden] {display:none!important;}
html:root body.jc-private .jc-aqi-scale {position:relative;height:10px;border-radius:20px;margin:1.25rem 0 .35rem;background:linear-gradient(to right,#159bd7 0%,#21b98c 16.667%,#82c947 33.333%,#f2cd30 50%,#ec7938 66.667%,#d63757 83.333%,#8b204d 100%);}
html:root body.jc-private .jc-aqi-marker {position:absolute;top:50%;width:14px;height:14px;border:2px solid var(--jc-surface);border-radius:50%;background:var(--jc-ink);box-shadow:0 0 0 1px var(--jc-ink);transform:translate(-50%,-50%);}
html:root body.jc-private .jc-aqi-scale-labels {display:flex;justify-content:space-between;font-size:.6rem;color:var(--jc-muted);}
html:root body.jc-private .jc-aqi-comparison {font-size:.85rem;line-height:1.6;margin:1rem 0;}
html:root body.jc-private .jc-aqi-heading {font:600 .85rem/1.4 var(--jc-font);margin:1rem 0 .5rem;}
html:root body.jc-private .jc-aqi-forecast {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:.6rem;}
html:root body.jc-private .jc-aqi-forecast li {display:flex;flex-direction:column;gap:.3rem;padding:.6rem .2rem;border-top:1px solid var(--jc-line);font-size:.7rem;min-width:0;}
html:root body.jc-private .jc-aqi-forecast strong {font-size:1rem;}
html:root body.jc-private .jc-menu-trigger {display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;line-height:1!important;}
html:root body.jc-private .jc-menu-trigger .jc-menu-icon {display:block!important;position:static!important;flex:0 0 24px!important;width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;}
@media(max-width:760px){html:root body.jc-private .jc-menu-trigger {width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;gap:0!important;flex:0 0 44px!important;border-radius:50%!important;}html:root body.jc-private .jc-menu-trigger .jc-menu-label {display:none!important;}}
@media(max-width:480px){html:root body.jc-private .jc-weather-current .jc-weather-wind-display,html:root body.jc-private .jc-windsock-help {width:82px!important;}html:root body.jc-private .jc-aqi-forecast {grid-template-columns:repeat(2,minmax(0,1fr));}html:root body.jc-private .jc-weather-days {column-gap:.35rem!important;}html:root body.jc-private .jc-weather-days .jc-weather-wind {font-size:.8rem!important;}}
@media(max-width:380px){html:root body.jc-private .jc-weather-days {grid-template-columns:repeat(2,minmax(0,1fr))!important;}}


/* Preserved cascade: layout-1.3.9.css */
/* Wind from-direction; preserve the single-line maximum-wind display. */
html:root body.jc-private .jc-wind-direction {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.25rem!important;max-width:100%;font-size:.78rem!important;line-height:1.4!important;white-space:nowrap;color:var(--jc-muted);}
html:root body.jc-private .jc-wind-direction .jc-direction-arrow {display:block!important;flex:0 0 20px!important;width:20px!important;height:20px!important;max-width:20px!important;margin:0!important;}
html:root body.jc-private .jc-weather-days .jc-weather-condition {line-height:1.5!important;overflow-wrap:normal;}
html:root body.jc-private .jc-weather-now-condition {line-height:1.5!important;}
@media(max-width:480px){html:root body.jc-private .jc-wind-direction {font-size:.7rem!important;}}


/* Preserved cascade: layout-1.4.0.css */
/* 1.4.0: responsive weather information and progressively disclosed forecast. */
html:root body.jc-private .jc-weather-data {container-name:jc-weather;container-type:inline-size;}
html:root body.jc-private .jc-weather-now-wind strong {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.35rem!important;white-space:nowrap;}
html:root body.jc-private .jc-weather-now-wind .jc-wind-icon {display:block!important;width:22px!important;height:22px!important;max-width:22px!important;flex:none!important;}
html:root body.jc-private .jc-weather-extras {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.1rem;border-top:1px solid var(--jc-line);padding:1rem 0;margin:.5rem 0 1rem;}
html:root body.jc-private .jc-weather-extras > div {min-width:0;}
html:root body.jc-private .jc-weather-extras dt {font-size:.72rem;line-height:1.4;color:var(--jc-muted);font-weight:400;margin:0 0 .25rem;}
html:root body.jc-private .jc-weather-extras dd {font-size:1rem;line-height:1.5;font-weight:600;margin:0;}
html:root body.jc-private .jc-forecast-heading {font:600 1rem/1.45 var(--jc-font);}
html:root body.jc-private .jc-weather-days {align-items:stretch!important;gap:1rem!important;}
html:root body.jc-private .jc-weather-days > li {box-sizing:border-box;padding:.8rem .5rem!important;border:1px solid var(--jc-line)!important;border-radius:1rem;min-width:0;}
html:root body.jc-private .jc-forecast-extras {display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;width:100%;box-sizing:border-box;border-top:1px solid var(--jc-line);margin-top:.65rem!important;padding-top:.65rem;}
html:root body.jc-private .jc-forecast-extras dt {font-size:.65rem;line-height:1.35;color:var(--jc-muted);font-weight:400;}
html:root body.jc-private .jc-forecast-extras dd {font-size:.78rem;line-height:1.45;font-weight:600;margin:0;}
html:root body.jc-private .jc-forecast-expand {margin:1rem 0 0;}
html:root body.jc-private .jc-forecast-expand > summary {box-sizing:border-box;cursor:pointer;min-height:44px;padding:.65rem 1rem;border:1px solid var(--jc-line);border-radius:.8rem;color:var(--jc-link);font-size:.85rem;line-height:1.5;}
html:root body.jc-private .jc-forecast-expand > .jc-weather-days {margin-top:1rem!important;}
html:root body.jc-private .jc-forecast-expand .jc-show-less {display:none;}
html:root body.jc-private .jc-forecast-expand[open] .jc-show-less {display:inline;}
html:root body.jc-private .jc-forecast-expand[open] .jc-show-more {display:none;}
html:root body.jc-private .jc-value-explanation {max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);}
html:root body.jc-private .jc-sky-highlights {margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--jc-line);font-size:.85rem;line-height:1.65;}
html:root body.jc-private .jc-sky-highlights h3 {font:600 1.1rem/1.4 var(--jc-font);}
html:root body.jc-private .jc-sky-highlights-date {font-size:.75rem;color:var(--jc-muted);}
html:root body.jc-private .jc-sky-highlights-list {list-style:none;margin:1rem 0;padding:0;}
html:root body.jc-private .jc-sky-highlights-list li {margin:0 0 1rem;padding-bottom:1rem;border-bottom:1px solid var(--jc-line);}
html:root body.jc-private .jc-sky-highlights-list p {font-size:.8rem;line-height:1.65;margin:.35rem 0;}
html:root body.jc-private .jc-sky-highlights-list a {font-size:.75rem;}
@container jc-weather (max-width:560px) {
 html:root body.jc-private .jc-weather-days {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@container jc-weather (max-width:380px) {
 html:root body.jc-private .jc-weather-days {grid-template-columns:minmax(0,1fr)!important;}
 html:root body.jc-private .jc-weather-days > li {display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:.4rem .75rem!important;text-align:center!important;padding:1rem!important;}
 html:root body.jc-private .jc-weather-days li > .jc-weather-symbol-help {grid-column:1;grid-row:1 / span 3;align-self:center;}
 html:root body.jc-private .jc-weather-days li > time {grid-column:2;grid-row:1;}
 html:root body.jc-private .jc-weather-days li > .jc-weather-range {grid-column:2;grid-row:2;}
 html:root body.jc-private .jc-weather-days li > .jc-weather-condition {grid-column:2;grid-row:3;min-height:0;}
 html:root body.jc-private .jc-weather-days li > .jc-weather-wind {grid-column:1;grid-row:4;padding-top:0;}
 html:root body.jc-private .jc-weather-days li > .jc-wind-direction {grid-column:2;grid-row:4;}
 html:root body.jc-private .jc-weather-days li > .jc-forecast-extras {grid-column:1 / -1;grid-row:5;grid-template-columns:repeat(2,minmax(0,1fr));}
 html:root body.jc-private .jc-weather-days .jc-weather-icon {width:64px!important;height:64px!important;}
}
@media(max-width:480px){
 html:root body.jc-private .jc-weather-extras {gap:.75rem;}
 html:root body.jc-private .jc-weather-extras dd {font-size:.9rem;}
}


/* Preserved cascade: layout-1.4.1.css */
/* 1.4.1: compact home previews and dedicated, always-open detail pages. */
html:root body.jc-private .jc-sky-row {grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
html:root body.jc-private .jc-sky-row > :is(.jc-weather,.jc-lunar-calendar) {display:flex;flex-direction:column;gap:0;min-width:0;}
html:root body.jc-private .jc-preview-link {align-self:flex-start;margin-top:auto!important;min-height:44px;line-height:1.4;white-space:normal;text-align:center;}
html:root body.jc-private .jc-sky-row .jc-weather-data,
html:root body.jc-private .jc-sky-row .jc-moon-content {margin-bottom:1.3rem;}
html:root body.jc-private .jc-weather-extras {gap:.8rem 1rem;padding:1rem 0 .5rem;margin:.5rem 0;}
html:root body.jc-private .jc-weather-extras dt,
html:root body.jc-private .jc-forecast-extras dt {display:flex;align-items:center;justify-content:flex-start;gap:.3rem;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;}
html:root body.jc-private :is(.jc-weather-extras,.jc-forecast-extras) dt .jc-wind-icon {display:inline-block!important;width:20px!important;height:20px!important;flex:none;}
html:root body.jc-private :is(.jc-weather-extras,.jc-forecast-extras) dd {margin:.18rem 0 0;font-size:.95rem;line-height:1.45;}
html:root body.jc-private .jc-weather-detail {padding:clamp(1rem,3vw,2rem);border:1px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-glass);box-shadow:var(--jc-shadow);margin:1.5rem 0 2rem;min-width:0;}
html:root body.jc-private .jc-weather-detail .jc-weather-current {max-width:800px;margin:0 auto;}
html:root body.jc-private .jc-weather-detail .jc-weather-location {text-align:center;}
html:root body.jc-private .jc-weather-detail .jc-weather-extras {grid-template-columns:repeat(4,minmax(0,1fr));}
html:root body.jc-private .jc-weather-days {grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-top:1rem!important;}
html:root body.jc-private .jc-weather-days > li {display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;gap:.45rem .65rem!important;align-items:center!important;align-content:start!important;padding:1rem!important;text-align:left!important;}
html:root body.jc-private .jc-weather-days li > * {order:initial!important;min-width:0;}
html:root body.jc-private .jc-weather-days li > .jc-weather-symbol-help {grid-column:1;grid-row:1 / span 3;justify-self:center;}
html:root body.jc-private .jc-weather-days .jc-weather-icon {width:76px!important;height:76px!important;}
html:root body.jc-private .jc-weather-days li > time {grid-column:2;grid-row:1;font-size:.86rem;}
html:root body.jc-private .jc-weather-days li > .jc-weather-range {grid-column:2;grid-row:2;font-size:1.05rem;}
html:root body.jc-private .jc-weather-days li > .jc-weather-condition {grid-column:2;grid-row:3;min-height:0;font-size:.75rem;line-height:1.5;}
html:root body.jc-private .jc-weather-days li > .jc-weather-wind {grid-column:1;grid-row:4;justify-content:flex-start;padding-top:.4rem;}
html:root body.jc-private .jc-weather-days li > .jc-wind-direction {grid-column:2;grid-row:4;justify-content:flex-start;padding-top:.4rem;}
html:root body.jc-private .jc-weather-days li > .jc-forecast-extras {grid-column:1 / -1;grid-row:5;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem 1rem!important;margin:.45rem 0 0!important;padding-top:.8rem;align-self:stretch;text-align:left;}
html:root body.jc-private .jc-forecast-extras > div {min-width:0;}
html:root body.jc-private .jc-forecast-extras dt {font-size:.73rem;}
html:root body.jc-private .jc-forecast-extras dd {font-size:.88rem;}
html:root body.jc-private .jc-weather-data .jc-weather-time,
html:root body.jc-private .jc-weather-data .jc-weather-source {text-align:left!important;}
html:root body.jc-private .jc-calendar-detail {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;border:0;padding:0;margin:1.5rem 0 2rem;}
html:root body.jc-private .jc-calendar-detail > :is(.jc-moon-content,.jc-planets,.jc-sky-highlights) {margin:0;padding:clamp(1rem,3vw,2rem);border:1px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-glass);min-width:0;}
html:root body.jc-private .jc-calendar-detail > .jc-sky-highlights {grid-column:1 / -1;}
html:root body.jc-private .jc-calendar-detail .jc-lunar-events li {display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
html:root body.jc-private .jc-calendar-detail .jc-lunar-events time {white-space:nowrap;}
html:root body.jc-private .jc-calendar-detail .jc-sky-highlights-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;}
html:root body.jc-private .jc-calendar-detail .jc-sky-highlights-list li {margin:0;}
html:root body.jc-private .jc-source-thanks {border-top:1px solid var(--jc-line);padding-top:1.5rem;margin-top:2rem;}
html:root body.jc-private .jc-source-thanks ul {display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;padding:0;}
@container jc-weather (max-width:850px) {
 html:root body.jc-private .jc-weather-days {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html:root body.jc-private .jc-weather-detail .jc-weather-extras {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@container jc-weather (max-width:540px) {
 html:root body.jc-private .jc-weather-days {grid-template-columns:minmax(0,1fr)!important;}
}
@container jc-weather (max-width:340px) {
 html:root body.jc-private .jc-weather-current {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem;}
 html:root body.jc-private .jc-weather-now-detail {grid-column:1 / -1;flex-direction:row;justify-content:center;gap:.75rem;}
 html:root body.jc-private .jc-weather-now-detail .jc-weather-icon {width:64px!important;height:64px!important;}
}
@media(max-width:900px) {
 html:root body.jc-private .jc-sky-row,html:root body.jc-private .jc-calendar-detail {grid-template-columns:minmax(0,1fr);}
 html:root body.jc-private .jc-calendar-detail .jc-sky-highlights-list {grid-template-columns:minmax(0,1fr);}
}


/* Preserved cascade: layout-1.4.2.css */
/* 1.4.2: shared preview CTA style, compact DTG and metric symbols. */
html:root body.jc-private .jc-preview-link,
html:root body.jc-private .jc-preview-link:visited,
html:root body.jc-private .jc-preview-link:hover,
html:root body.jc-private .jc-preview-link:focus-visible {
 background:var(--jc-ink)!important;color:var(--jc-bg)!important;
 border:1px solid var(--jc-ink)!important;
 font-family:var(--jc-font)!important;font-size:.9rem!important;font-weight:650!important;line-height:1.4!important;
 min-height:48px;padding:.7rem 1.2rem!important;box-sizing:border-box;text-decoration:none!important;
}
html:root body.jc-private .jc-preview-link > span {color:inherit!important;font-size:inherit!important;}
html:root body.jc-private .jc-preview-link:hover {box-shadow:var(--jc-shadow)!important;}
html:root body.jc-private .jc-preview-link:focus-visible {outline:3px solid var(--jc-link);outline-offset:4px;}
html:root body.jc-private .jc-weather-temperature-block {display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;}
html:root body.jc-private .jc-weather-dtg {display:block;max-width:100%;margin:.45rem 0 .25rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(.62rem,2cqi,.76rem);font-weight:500;line-height:1.5;letter-spacing:0;color:var(--jc-muted);white-space:nowrap;text-align:center;}
html:root body.jc-private :is(.jc-weather-extras,.jc-forecast-extras) .jc-metric-icon {display:block!important;flex:0 0 20px;width:20px!important;height:20px!important;color:currentColor;}
html:root body.jc-private :is(.jc-weather-extras,.jc-forecast-extras) dt {align-items:flex-start;}
@media(prefers-reduced-motion:reduce){html:root body.jc-private .jc-preview-link:hover {transform:none;}}


/* Preserved cascade: layout-1.4.3.css */
/* Preview links and hero action share their complete visual treatment. */
html:root body.jc-private :is(.jc-hero-main .jc-button,.jc-preview-link),
html:root body.jc-private :is(.jc-hero-main .jc-button,.jc-preview-link):is(:visited,:hover,:focus-visible) {
 background:#233e40!important;color:#edf0e5!important;
 border:1px solid var(--jc-line)!important;border-radius:100px!important;
 font-family:var(--jc-font)!important;font-size:1rem!important;font-weight:650!important;line-height:1.3!important;
 display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
 padding:.75rem 1.25rem!important;min-height:48px;box-sizing:border-box;text-decoration:none!important;
}
html:root[data-jc-theme="dark"] body.jc-private :is(.jc-hero-main .jc-button,.jc-preview-link),
html:root[data-jc-theme="dark"] body.jc-private :is(.jc-hero-main .jc-button,.jc-preview-link):is(:visited,:hover,:focus-visible) {
 background:var(--jc-active-bg)!important;color:var(--jc-active-ink)!important;
}
html:root body.jc-private :is(.jc-hero-main .jc-button,.jc-preview-link) > span {font:inherit;color:inherit!important;}
html:root body.jc-private .jc-design-credit {display:block;margin:.6rem 0 0!important;font-size:.7rem!important;line-height:1.7;color:var(--jc-muted);text-align:left!important;}
html:root body.jc-private .jc-design-credit a {font-size:inherit!important;white-space:nowrap;}
html:root body.jc-private .jc-design-place {white-space:nowrap;}
html:root body.jc-private .jc-design-credit .jc-horse-mark {vertical-align:middle;transform:scale(.72);transform-origin:center;margin:-5px -4px;}
html:root body.jc-private .jc-weather-stale {font-size:.72rem;color:var(--jc-muted);}


/* Preserved cascade: layout-1.4.7.css */
/* Give the probability symbol sufficient room at its actual display size. */
html:root body.jc-private :is(.jc-weather-extras,.jc-forecast-extras) .jc-metric-icon.jc-metric-icon--precip-risk {width:28px!important;height:24px!important;flex:0 0 28px!important;overflow:visible;}


/* Preserved cascade: layout-1.5.0.css */
/* Same palette, round corners and typeface as the existing site. */
html:root body.jc-private .jc-place-tabs {display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;max-width:100%;}
html:root body.jc-private .jc-place-tab {appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid var(--jc-line);border-radius:100px;background:transparent;color:var(--jc-ink);font:650 .9rem/1.35 var(--jc-font);text-align:center;cursor:pointer;max-width:100%;overflow-wrap:anywhere;}
html:root body.jc-private .jc-place-tab[aria-selected="true"] {background:#233e40;color:#edf0e5;border-color:#233e40;}
html:root[data-jc-theme="dark"] body.jc-private .jc-place-tab[aria-selected="true"] {background:var(--jc-active-bg);color:var(--jc-active-ink);border-color:var(--jc-active-bg);}
html:root body.jc-private .jc-place-tab:focus-visible {outline:3px solid var(--jc-accent);outline-offset:3px;}
html:root body.jc-private :is(.jc-place-tab:hover,.jc-flight-refresh:hover) {filter:brightness(.95);}
html:root body.jc-private :is(.jc-weather-data,.jc-calendar-detail,.jc-flight) {min-width:0;max-width:100%;}
html:root body.jc-private .jc-sunmoon {margin:1.5rem 0;border-top:1px solid var(--jc-line);padding-top:1.25rem;}
html:root body.jc-private .jc-rise-times {margin:0;}
html:root body.jc-private .jc-rise-row {display:grid;grid-template-columns:minmax(65px,.7fr) repeat(2,minmax(0,1fr));align-items:center;gap:.75rem;padding:.9rem 0;border-bottom:1px solid var(--jc-line);}
html:root body.jc-private .jc-rise-row :is(dt,dd) {margin:0;min-width:0;}
html:root body.jc-private .jc-rise-label {display:block;color:var(--jc-muted);font-size:.8rem;}
html:root body.jc-private .jc-rise-row strong {display:block;font-size:1rem;white-space:nowrap;}
html:root body.jc-private .jc-flight-values {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0;}
html:root body.jc-private .jc-flight-values>div {padding:1rem;border:1px solid var(--jc-line);border-radius:1rem;min-width:0;}
html:root body.jc-private .jc-flight-values dt {font-size:.85rem;color:var(--jc-muted);}
html:root body.jc-private .jc-flight-values dd {margin:.4rem 0 0;font-weight:650;overflow-wrap:anywhere;}
html:root body.jc-private .jc-flight-report {white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;background:transparent;color:inherit;border:1px solid var(--jc-line);border-radius:1rem;padding:1rem;font:500 .85rem/1.7 monospace;}
html:root body.jc-private .jc-flight-note {font-size:.85rem;color:var(--jc-muted);}
html:root body.jc-private .jc-flight-warning {border-left:3px solid #c98a2b;padding:.6rem 1rem;font-weight:650;}
html:root body.jc-private .jc-flight-links {display:flex;flex-direction:column;gap:.7rem;margin:1.5rem 0;}
html:root body.jc-private:not([data-jc-legal="1"]) main :is(h2,h3),
html:root body.jc-private:not([data-jc-legal="1"]) .jc-content-section :is(h2,h3) {font-family:var(--jc-font)!important;font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)!important;font-weight:650!important;line-height:1.35!important;letter-spacing:0!important;color:var(--jc-ink)!important;margin:1.4rem 0 1rem!important;}
html:root body.jc-private .jc-lunar-preview .jc-preview-link {margin-top:auto;}
@media(max-width:520px){
 html:root body.jc-private .jc-place-tabs {gap:.4rem;}
 html:root body.jc-private .jc-place-tab {flex:1 1 calc(50% - .4rem);padding:.65rem .75rem;font-size:.82rem;}
 html:root body.jc-private .jc-flight-values {grid-template-columns:1fr;}
 html:root body.jc-private .jc-rise-row {gap:.5rem;}
}


/* Preserved cascade: layout-1.5.1.css */
/* Match the existing mint hero/preview action, including visited/focus states. */
html:root body.jc-private :is(.jc-flight-refresh,.jc-place-search-submit),
html:root body.jc-private :is(.jc-flight-refresh,.jc-place-search-submit):is(:hover,:focus-visible,:active) {
 background:#233e40!important;color:#edf0e5!important;border:1px solid var(--jc-line)!important;border-radius:100px!important;
 font-family:var(--jc-font)!important;font-size:1rem!important;font-weight:650!important;line-height:1.3!important;
 display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.75rem 1.25rem!important;min-height:48px;box-sizing:border-box;text-decoration:none!important;
}
html:root[data-jc-theme="dark"] body.jc-private :is(.jc-flight-refresh,.jc-place-search-submit),
html:root[data-jc-theme="dark"] body.jc-private :is(.jc-flight-refresh,.jc-place-search-submit):is(:hover,:focus-visible,:active) {background:var(--jc-active-bg)!important;color:var(--jc-active-ink)!important;}
html:root body.jc-private .jc-flight-help {appearance:none;display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;vertical-align:middle;border:1px solid var(--jc-line);border-radius:50%;font:650 1rem/1 var(--jc-font);background:transparent;color:var(--jc-ink);cursor:help;}
html:root body.jc-private .jc-flight-token {text-decoration:underline dotted;text-underline-offset:.25em;cursor:help;border-radius:.2rem;}
html:root body.jc-private :is(.jc-flight-token,.jc-flight-help,.jc-place-result,.jc-place-search input,.jc-place-search-submit,.jc-flight-refresh):focus-visible {outline:2px solid currentColor;outline-offset:3px;}
html:root body.jc-private .jc-flight-token:is(:hover,:focus-visible) {background:var(--jc-active-bg);color:var(--jc-active-ink);}
html:root body.jc-private :is(.jc-flight-code-hint,.jc-place-search-source,.jc-place-search-status) {font-size:.8rem;line-height:1.5;color:var(--jc-muted);}
html:root body.jc-private .jc-place-search {margin:0 0 1.5rem;padding:1rem;border:1px solid var(--jc-line);border-radius:var(--jc-radius);max-width:100%;}
html:root body.jc-private .jc-place-search label {display:block;font:650 .9rem/1.5 var(--jc-font);margin:0 0 .5rem;color:var(--jc-ink);}
html:root body.jc-private .jc-place-search-row {display:flex;gap:.75rem;align-items:stretch;}
html:root body.jc-private .jc-place-search input {appearance:none;flex:1;min-width:0;width:100%;padding:.75rem 1rem;border:1px solid var(--jc-line);border-radius:100px;background:var(--jc-surface);color:var(--jc-ink);font:400 1rem/1.4 var(--jc-font);box-sizing:border-box;}
html:root body.jc-private .jc-place-search input::placeholder {color:var(--jc-muted);opacity:1;}
html:root body.jc-private .jc-place-search-submit:disabled {opacity:.65;cursor:wait;}
html:root body.jc-private .jc-place-search-results {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;list-style:none;padding:0;margin:.75rem 0;}
html:root body.jc-private .jc-place-search-results:empty {display:none;}
html:root body.jc-private .jc-place-result {width:100%;min-height:44px;height:100%;padding:.75rem 1rem;border:1px solid var(--jc-line);border-radius:1rem;background:transparent;color:var(--jc-ink);text-align:left;font:500 .9rem/1.5 var(--jc-font);overflow-wrap:anywhere;cursor:pointer;}
html:root body.jc-private .jc-place-result:hover {background:var(--jc-active-bg);color:var(--jc-active-ink);}
html:root body.jc-private .jc-place-search-status:empty {display:none;}
html:root body.jc-private .jc-place-search-source {margin:.6rem 0 0;}
@media(max-width:520px){html:root body.jc-private .jc-place-search-row{flex-wrap:wrap;}html:root body.jc-private .jc-place-search-submit{width:100%;}html:root body.jc-private .jc-place-search-results{grid-template-columns:1fr;}}


/* Preserved cascade: layout-1.5.2.css */
/* Compact visual circle, generous touch target; prevent template padding growth. */
html:root body.jc-private .jc-flight .jc-flight-help {
 position:relative!important;box-sizing:border-box!important;appearance:none!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;
 max-width:28px!important;max-height:28px!important;flex:0 0 28px!important;
 padding:0!important;margin:0 0 0 .25rem!important;vertical-align:middle!important;
 font-family:var(--jc-font)!important;font-size:.9rem!important;font-weight:600!important;line-height:1!important;
 border:1px solid var(--jc-line)!important;border-radius:50%!important;
 color:var(--jc-ink)!important;background:transparent!important;box-shadow:none!important;transform:none!important;cursor:help;
}
html:root body.jc-private .jc-flight .jc-flight-help::before {content:"";position:absolute;inset:-8px;border-radius:50%;}
@media(max-width:760px){
 html:root body.jc-private .jc-flight .jc-flight-help {width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;flex-basis:36px!important;}
 html:root body.jc-private .jc-flight .jc-flight-help::before {inset:-4px;}
}


/* Preserved cascade: layout-1.5.4.css */
/* Flight-report help matches the forest-header help: 28px desktop, 36px mobile. */
html:root body.jc-private :is(.jc-flight .jc-flight-help, .jc-sky-controls .jc-sky-help-button) {
 position:relative!important;box-sizing:border-box!important;appearance:none!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;
 max-width:28px!important;max-height:28px!important;flex:0 0 28px!important;
 padding:0!important;margin:0 0 0 .25rem!important;vertical-align:middle!important;
 font-family:var(--jc-font)!important;font-size:.9rem!important;font-weight:600!important;line-height:1!important;
 border:1px solid var(--jc-line)!important;border-radius:50%!important;
 color:var(--jc-ink)!important;background:var(--jc-surface)!important;box-shadow:none!important;transform:none!important;cursor:help;
}
html:root body.jc-private :is(.jc-flight .jc-flight-help, .jc-sky-controls .jc-sky-help-button)::before {content:"";position:absolute;inset:-8px;border-radius:50%;}
@media(max-width:760px){
 html:root body.jc-private :is(.jc-flight .jc-flight-help, .jc-sky-controls .jc-sky-help-button) {width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;flex-basis:36px!important;}
 html:root body.jc-private :is(.jc-flight .jc-flight-help, .jc-sky-controls .jc-sky-help-button)::before {inset:-4px;}
}


/* Preserved cascade: layout-1.6.0.css */
/* Readable text selection, deliberately distinct in both colour modes. */
html:root {--jc-selection-bg:#285648;--jc-selection-ink:#fffdf4;}
html:root[data-jc-theme="dark"] {--jc-selection-bg:#b0decc;--jc-selection-ink:#172f28;}
html:root body.jc-private ::selection {background:var(--jc-selection-bg)!important;color:var(--jc-selection-ink)!important;text-shadow:none!important;}
html:root body.jc-private .jc-nature-motto {margin:1.25rem 0;padding:.15rem 0 .15rem 1rem;border-inline-start:2px solid var(--jc-line);font-size:1rem;line-height:1.6;color:var(--jc-muted);font-style:italic;}
html:root body.jc-private .jc-dlrg-home {display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.85rem;line-height:1.5;}
html:root body.jc-private .jc-dlrg-mark {display:inline-block;color:#fff;background:#b62326;padding:.15rem .4rem;border-radius:.2rem;font:700 .8rem/1.2 Arial,sans-serif;letter-spacing:.025em;}
html:root body.jc-private .jc-header-sky .jc-orbit-planet {z-index:1!important;width:18px!important;height:18px!important;pointer-events:none;}
html:root body.jc-private .jc-header-sky :is(.jc-orbit-sun,.jc-orbit-moon) {z-index:2!important;}
html:root body.jc-private .jc-header-sky .jc-forest {z-index:3!important;}
html:root body.jc-private .jc-planet-disc {display:block;width:100%;height:100%;border:1px solid #475951;border-radius:50%;box-sizing:border-box;box-shadow:0 0 0 1px #ffffff55;}
html:root body.jc-private .jc-orbit-mercury .jc-planet-disc {background:radial-gradient(circle at 35% 30%,#d6d4c9,#77796f);}
html:root body.jc-private .jc-orbit-venus .jc-planet-disc {background:radial-gradient(circle at 35% 30%,#fff6d8,#c4a76e);}
html:root body.jc-private .jc-orbit-mars .jc-planet-disc {background:radial-gradient(circle at 35% 30%,#f3b38b,#ad5d42);}
html:root body.jc-private .jc-orbit-jupiter .jc-planet-disc {background:linear-gradient(165deg,#ebd8b8 0 25%,#a77959 27% 37%,#e7ca9e 40% 58%,#b48b69 61% 73%,#edddbd 76%);}
html:root body.jc-private .jc-orbit-label {position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);font:600 10px/1.2 var(--jc-font);color:var(--jc-ink);white-space:nowrap;background:var(--jc-bg);padding:1px 2px;border-radius:2px;}
@media(max-width:760px){html:root body.jc-private .jc-header-sky .jc-orbit-planet {width:12px!important;height:12px!important;}html:root body.jc-private .jc-orbit-label {display:none;}}


/* Preserved cascade: layout-1.6.1.css */
/* Explicit SVG symbols: do not depend on empty spans or inherited template gradients. */
html:root body.jc-private .jc-header-sky button.jc-orbit-planet {
 position:absolute!important;display:grid!important;place-items:center!important;
 box-sizing:border-box!important;width:44px!important;height:44px!important;
 min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
 appearance:none!important;background:transparent!important;background-image:none!important;
 box-shadow:none!important;transform:translate(-50%,-50%)!important;
 pointer-events:auto!important;cursor:help!important;z-index:1!important;line-height:1!important;
}
html:root body.jc-private .jc-header-sky button.jc-orbit-planet[hidden] {display:none!important;}
html:root body.jc-private .jc-header-sky button.jc-orbit-planet::before,
html:root body.jc-private .jc-header-sky button.jc-orbit-planet::after {content:none!important;}
html:root body.jc-private .jc-header-sky button.jc-orbit-planet > svg.jc-planet-icon {
 display:block!important;visibility:visible!important;opacity:1!important;
 width:32px!important;height:32px!important;max-width:none!important;overflow:visible!important;
 flex:none!important;pointer-events:none!important;filter:drop-shadow(0 0 1px #f4f2df)!important;
}
html:root body.jc-private .jc-header-sky button.jc-orbit-planet:focus-visible {outline:2px solid var(--jc-ink)!important;outline-offset:-3px!important;}
html:root body.jc-private .jc-header-sky .jc-orbit-label {display:none!important;}
html:root body.jc-private .jc-planets-table-scroll {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
html:root body.jc-private .jc-planets-table-scroll table {min-width:360px;table-layout:auto;}
html:root body.jc-private .jc-planets-table-scroll th:first-child {width:auto;}
html:root body.jc-private .jc-planets-table-scroll :is(th,td) {white-space:nowrap;}
html:root body.jc-private .jc-planets-table-scroll:focus-visible {outline:2px solid var(--jc-muted);outline-offset:3px;}
html:root body.jc-private img.jc-dlrg-logo {display:block!important;width:80px!important;height:80px!important;min-width:80px;max-width:80px!important;object-fit:cover;object-position:center;flex:0 0 80px;border:0;border-radius:0;filter:none!important;mix-blend-mode:normal!important;}
@media(max-width:760px){html:root body.jc-private .jc-header-sky button.jc-orbit-planet > svg.jc-planet-icon {width:28px!important;height:28px!important;}}


/* Preserved cascade: layout-1.6.2.css */
/* Heading normalisation can turn the original webcam h3 into h2. */
html:root body.jc-private .jc-profile .jc-webcam :is(h2,h3) {display:flex!important;align-items:center!important;gap:.6rem!important;}
html:root body.jc-private .jc-profile .jc-webcam :is(h2,h3)>svg {display:block!important;flex:0 0 30px!important;width:30px!important;height:30px!important;}
/* Only planet names use a compact bubble. Longer weather help keeps its width. */
html:root body.jc-private .jc-value-explanation.jc-planet-bubble {width:max-content!important;min-width:0!important;max-width:calc(100vw - 24px)!important;padding:.35rem .65rem!important;border-radius:.65rem!important;font-size:.8rem!important;line-height:1.3!important;white-space:nowrap!important;overflow:visible!important;}
html:root body.jc-private .jc-value-explanation.jc-planet-bubble::after {content:"";position:absolute;left:var(--jc-bubble-tip-left,50%);width:8px;height:8px;background:var(--jc-surface);border:0;transform:translateX(-50%) rotate(45deg);}
html:root body.jc-private .jc-value-explanation.jc-planet-bubble[data-placement="below"]::after {top:-5px;border-top:1px solid var(--jc-line);border-left:1px solid var(--jc-line);}
html:root body.jc-private .jc-value-explanation.jc-planet-bubble[data-placement="above"]::after {bottom:-5px;border-bottom:1px solid var(--jc-line);border-right:1px solid var(--jc-line);}
html:root body.jc-private .jc-dlrg-home {display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin:1.25rem 0 0;}
html:root body.jc-private img.jc-dlrg-logo {width:min(175px,100%)!important;height:auto!important;aspect-ratio:1/1!important;min-width:0!important;max-width:175px !important;flex:none!important;object-fit:cover;object-position:center;}
html:root body.jc-private .jc-kalipe-quote {margin:0 0 1.5rem;padding:.75rem 0 .75rem 1rem;border:0;border-inline-start:3px solid var(--jc-line);color:var(--jc-ink);background:transparent;}
html:root body.jc-private .jc-kalipe-quote p {margin:0 0 .35rem;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.5;font-style:italic;}
html:root body.jc-private .jc-kalipe-quote footer {font-size:.85rem;color:var(--jc-muted);}


/* ENDE: layout-1.6.5.css */

/* BEGINN: weitere gesicherte Ergaenzungen aus layout-1.6.2.css */
/* 1.6.13: reserve the sky toolbar before JS inserts it, on ALL sizes.
   Existing toolbar: 44px summary plus .4rem bottom margin.
   With the adjacent toolbar present, normal flow replaces the reservation.
   The open panel remains free to grow; no fixed content height. */
@supports selector(:has(+ *)) {
  html:root body.jc-private .jc-header-sky:not(:has(+ .jc-sky-controls)) {
    margin-bottom: calc(44px + .4rem) !important;
  }
  html:root body.jc-private .jc-header-sky + .jc-sky-controls {
    min-height: 44px;
  }
}

/* 1.6.14: keep the viewport gutter when the menu locks root scrolling.
   On overlay-scrollbar systems no additional gutter is created. */
html:root:has(> body.jc-private) {
  scrollbar-gutter: stable;
}

/* 1.6.15: linked region-card headings inherit the heading presentation.
   Direct child read-more links keep their existing smaller style. */
html:root body.jc-private .jc-hiking-entry .jc-hike-body > :is(h2,h3) {
  font-size: 1.45rem;
  line-height: 1.25;
  margin: 0 0 .8rem;
}
html:root body.jc-private .jc-hiking-entry .jc-hike-body > :is(h2,h3) a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
html:root body.jc-private .jc-hiking-entry .jc-hike-body > :is(h2,h3) a:hover {
  text-decoration: underline;
}

/* 1.7.0: two-colour twelve-day forecast, date header and readable groups. */
html:root body.jc-private .jc-weather-days > li {
  background: var(--jc-surface); border: 1px solid var(--jc-line);
  border-top: 4px solid var(--jc-link); padding: 1rem; gap: .65rem;
}
html:root body.jc-private .jc-weather-days > li:nth-child(even) {background:#e5eef3;}
html:root[data-jc-theme="dark"] body.jc-private .jc-weather-days > li:nth-child(even) {background:#263c48;}
html:root body.jc-private .jc-weather-days > li > time {
  display:block; font-weight:750; font-size:1rem; line-height:1.4;
  padding-bottom:.55rem; border-bottom:1px solid var(--jc-line); color:var(--jc-ink);
}
html:root body.jc-private .jc-weather-days .jc-weather-range {font-size:1.25rem;font-weight:750;line-height:1.5;}
html:root body.jc-private .jc-weather-days .jc-forecast-extras {padding-top:.6rem;border-top:1px solid var(--jc-line);line-height:1.65;}
html:root body.jc-private .jc-weather-days .jc-weather-condition {line-height:1.5;}
html:root body.jc-private .jc-komoot {margin-block:1.5rem;}
html:root body.jc-private .jc-komoot .jc-note {border-inline-start:3px solid var(--jc-link);padding:.8rem 1rem;}
html:root body.jc-private .jc-tibetan {font-family:"Microsoft Himalaya","Kailasa","Noto Serif Tibetan",serif;line-height:1.8;}

/* 1.7.2: photo credits only hidden in the hiking CATEGORY overview.
   Article pages keep the author/source/licence/modification notices. */
html:root body.jc-private .jc-hiking-blog .jc-hiking-entry .jc-photo-credit,
html:root body.jc-private .jc-hiking-blog .jc-hiking-entry figcaption,
html:root body.jc-private .jc-hiking-blog .jc-hiking-entry p:has(a[href*="commons.wikimedia.org/"]):has(a[href*="creativecommons.org/"]) {
  display: none !important;
}
/* ENDE: weitere Ergaenzungen */

/* Startseite: Zitatgroesse wie beim Kalipe-Zitat unter Wandern. */
html:root body.jc-private .jc-home .jc-hero-main .jc-nature-motto {
 font-size:clamp(1.1rem,2vw,1.4rem)!important;
 line-height:1.5!important;
}
/* Beide echten Links nebeneinander; bei Platzmangel mit Zeilenumbruch. */
html:root body.jc-private .jc-home .jc-hero-main .jc-home-actions {
 display:flex!important;
 flex-wrap:wrap;
 align-items:center;
 gap:.75rem;
 width:100%;
}
html:root body.jc-private .jc-home .jc-home-actions > a.jc-button {
 flex:0 1 auto;
 align-self:auto!important;
 margin:0!important;
 max-width:100%;
 white-space:normal;
}

/* Nur auf der Startseite: den Wetter-Button "Erneut versuchen" ausblenden. */
html:root body.jc-private .jc-home .jc-weather .jc-weather-data button.jc-weather-retry {
 display:none!important;
}

/* TOOLTIP-FARBKORREKTUR 2026-11-02: Gruen/Weiss in Hell und Dunkel. */
html:root body.jc-private #jc-value-explanation,
html:root body.jc-private #jc-sunmoon-tip-196 {
 --jc-surface:#243a34!important;
 --jc-ink:#fff!important;
 --jc-muted:#fff!important;
 --jc-line:#9bb8ab!important;
 background:#243a34!important;
 color:#fff!important;
 border-color:#9bb8ab!important;
 color-scheme:dark;
}
html:root body.jc-private #jc-value-explanation::after,
html:root body.jc-private #jc-sunmoon-tip-196::after {
 background:#243a34!important;
 border-color:#9bb8ab!important;
}

/* KONTAKT reCAPTCHA 2026-11-03: Badge oberhalb des Nach-oben-Buttons (DE/EN). */
html:root body.jc-private:has(#contact-form) .grecaptcha-badge {
 bottom:calc(112px + env(safe-area-inset-bottom, 0px)) !important;
}
