:root { --ink:#402314; --brown:#623517; --brown-dark:#48230f; --paper:#faf3e7; --line:#ecdcc5; --soft:#f5e9d6; --green:#daeac9; --amber:#ffe7a9; --red:#f6d3cc; font-size:calc(100vw / 88); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#faf4e9 url('/assets/papier.webp') repeat; color:var(--ink); font-family:'Arial Narrow','Liberation Sans Narrow',Arial,sans-serif; font-size:0.875rem; line-height:1.35; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
a { color:inherit; }
img { display:block; max-width:100%; }
svg { width:1.25rem; height:1.25rem; flex:none; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
button { color:inherit; }
[hidden] { display:none !important; }
.sr-only { position:absolute !important; width:0.0625rem; height:0.0625rem; padding:0; margin:-0.0625rem; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus-visible { outline:0.1875rem solid #9d642e; outline-offset:0.1875rem; }
.skip-link { position:fixed; top:-5.625rem; left:1.25rem; z-index:100; padding:0.75rem; background:white; }
.skip-link:focus { top:0.75rem; }
.site-header { height:8.1875rem; position:relative; z-index:10; }
.panorama { height:4.875rem; background: url('/assets/kopf-panorama.webp') no-repeat right top; background-size:79.12% 100%; }
.brand { position:absolute; left:6.9375rem; top:0; width:11.25rem; height:11.0625rem; z-index:12; border-radius:50%; overflow:hidden; }
.brand img { width:100%; height:100%; object-fit:contain; }
.navigation { position:relative; height:3.3125rem; background:rgba(255,249,235,.82); border-block:0.0625rem solid rgba(152,114,67,.08); }
.nav-link { position:absolute; top:0; height:3.3125rem; display:flex; align-items:center; text-decoration:none; border:0; padding:0; background:transparent; font-size:0.875rem; font-weight:bold; text-transform:uppercase; white-space:nowrap; }
.nav-start { left:24.5rem; }.nav-solutions { left:33.1875rem; }.nav-about { left:42.6875rem; }.nav-lessons { left:49.8125rem; }.nav-contact { left:59.3125rem; }
.nav-link.active::after { position:absolute; content:''; bottom:0.625rem; height:0.125rem; left:0; right:0; background:#713c21; box-shadow:0 0.125rem 0.125rem #d8c4a3; }
.nav-link[aria-disabled=true] { cursor:default; }
.nav-icon { position:absolute; padding:0; display:grid; place-items:center; border:0; background:none; top:0.8125rem; width:1.8125rem; height:1.8125rem; }
.account-link { right:5.1875rem; background:#4d2c17; border-radius:50%; color:#fffaf0; }
.account-link svg { width:1.125rem; height:1.25rem; }
.search-link { right:2.1875rem; }.search-link svg { width:1.125rem; height:1.125rem; }
.menu-link,.mobile-menu { display:none; }
.hero { position:relative; height:14.625rem; isolation:isolate; }
.hero-art { position:absolute; inset:0; z-index:-1; background:url('/assets/hero.webp') center center / 100% 100% no-repeat; }
.hero-copy { position:absolute; left:8.25rem; top:3.0625rem; }
h1 { margin:0; width:24.0625rem; height:6.1875rem; }
h1 img { width:24.0625rem; height:6.1875rem; }
.hero-subtitle { margin:0.1875rem 0 0.3125rem; font-family:Georgia,'Times New Roman',serif; font-size:1.375rem; line-height:1.625rem; white-space:nowrap; }
.hero-actions { display:flex; gap:1.125rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:0.625rem; border:0.0625rem solid #603719; border-radius:0.1875rem; min-height:2.125rem; padding:0.25rem 1.1875rem; text-decoration:none; font-size:0.9375rem; line-height:1.1; }
.button svg { width:1.25rem; height:1.25rem; }
.primary { color:#fff9ed; background:linear-gradient(#6a3d20,#542b12); box-shadow:inset 0 0.0625rem rgba(255,255,255,.1); }
.primary:hover:not(:disabled) { background:linear-gradient(#7c4c2d,#623718); }
.secondary { background:rgba(255,250,240,.42); color:#593017; }
.secondary:hover:not(:disabled) { background:#f5e7d1; }
.button:disabled { cursor:not-allowed; color:#fffaf1; background:#aaa295; border-color:#aaa295; box-shadow:none; }
.hero-actions .button:first-child { width:13.6875rem; }
.hero-actions .button:last-child { width:12rem; }
.page-body { display:grid; grid-template-columns:minmax(0,1008fr) minmax(0,295fr); gap:1.3125rem; margin:0.5625rem 1.0625rem 0 4.1875rem; align-items:start; }
.left-column { min-width:0; }
.offers { display:grid; grid-template-columns:252fr 244fr 231fr 236fr; gap:0.9375rem; }
.offer-card { text-align:left; position:relative; display:block; padding:0; overflow:hidden; border:0.0625rem solid var(--line); background:rgba(255,251,244,.55); border-radius:0.3125rem; min-width:0; height:10.5rem; }
.offer-card:hover { border-color:#bd9670; }
.offer-card[aria-pressed=true] { box-shadow:0 0 0 0.125rem #a77749; }
.offer-photo { width:100%; height:6.25rem; object-fit:cover; }
.offer-icon { position:absolute; width:2.625rem; height:2.625rem; left:0.25rem; top:5.6875rem; display:grid; place-items:center; background:#fff9ed; border-radius:50%; }
.offer-icon svg { width:1.6875rem; height:1.6875rem; color:#6d3618; }
.offer-copy { display:block; padding:0.3125rem 0.25rem 0.3125rem 3.5rem; }
.offer-title { display:block; height:1.25rem; margin:0 0 0.125rem; }
.offer-title img { height:1.25rem; width:auto; max-width:100%; object-fit:contain; object-position:left; }
.offer-description { display:block; font-size:0.875rem; line-height:1rem; color:#382d26; }
.availability { margin-top:0.75rem; scroll-margin-top:1rem; }
.section-heading { height:2.5rem; display:flex; align-items:center; gap:0.875rem; }
.horseshoe { width:2.6875rem; height:2.5rem; object-fit:contain; margin-left:-0.125rem; }
.section-heading h2 { margin:0; width:15.1875rem; flex:none; }
.section-heading h2 img { width:15.1875rem; height:1.875rem; }
.section-heading p { margin:0.3125rem 0 0 0; font-size:0.875rem; color:#382c23; }
.filters { display:grid; grid-template-columns:12.5rem 12.75rem 11.5rem minmax(17.5rem,1fr); gap:0.6875rem; margin-top:0.3125rem; height:2.0625rem; }
.filter { min-width:0; display:flex; align-items:stretch; border:0.0625rem solid var(--line); border-radius:0.25rem; background:rgba(255,251,247,.8); }
.filter > span { display:flex; align-items:center; padding:0 0.5625rem; font-size:0.75rem; flex:none; border-right:0.0625rem solid #eadfce; }
.filter select { min-width:0; flex:1; background:transparent; color:#332b27; border:0; padding:0 0.5rem; font-size:0.75rem; }
.filter.date-filter > span { padding:0 0.6875rem; }
.filter svg { width:1.25rem; height:1.25rem; }
.appointment-table { margin-top:0.5625rem; border:0.0625rem solid #e8d3b8; border-radius:0.3125rem; overflow:hidden; }
.appointment-head,.appointment-row { display:grid; grid-template-columns:6.4rem 7rem minmax(9.5rem,1.25fr) 6.8rem minmax(8.5rem,1fr) 7.5rem 8rem 7.15rem; align-items:center; }
.appointment-head { height:1.75rem; background:rgba(235,218,190,.6); border-bottom:0.0625rem solid #e9d4b7; font-size:0.75rem; color:#643719; }
.appointment-head > span:first-child { padding-left:1.4375rem; }
.appointment-row { min-height:2.21875rem; color:#353033; font-size:0.75rem; border-bottom:0.0625rem solid #eadfcd; background:rgba(255,255,255,.32); }
.appointment-row:nth-child(2n) { background:rgba(250,246,238,.54); }
.appointment-row:last-child { border-bottom:0; }
.appointment-row > * { min-width:0; }
.slot-date { padding-left:1.4375rem; white-space:nowrap; }
.slot-time { white-space:nowrap; }
.slot-title,.slot-age,.slot-trainer { display:flex; align-items:center; gap:0.6875rem; }
.slot-title { font-weight:bold; line-height:1.1; padding-right:0.25rem; }
.slot-title svg { width:1.0625rem; height:1.0625rem; color:#45403c; }
.slot-age,.slot-trainer { gap:0.5rem; }
.slot-age svg,.slot-trainer svg { width:0.8125rem; height:0.8125rem; color:#45403c; }
.slot-availability { display:flex; align-items:flex-start; flex-direction:column; gap:0.125rem; }
.slot-price { padding:0 0.3rem 0 0; font-size:0.75rem; line-height:1.25; font-weight:600; color:#563e2c; }
.badge { display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#344325; border-radius:0.3125rem; font-size:0.75rem; min-height:1.4375rem; padding:0.1875rem 0.625rem; white-space:nowrap; }
.badge.few { background:var(--amber); color:#6b441b; }.badge.full { background:var(--red); color:#79564b; }
.slot-button { justify-self:start; width:6.25rem; height:1.8125rem; min-height:1.8125rem; padding:0.125rem 0.3125rem; font-size:0.75rem; }
.empty-state { margin:0; display:flex; flex-direction:column; gap:0.4375rem; align-items:center; justify-content:center; min-height:8.875rem; padding:1.375rem; text-align:center; font-size:0.9375rem; color:#745943; }
.empty-state strong { font-family:Georgia,serif; font-size:1.1875rem; font-weight:normal; }
.steps { height:4.625rem; margin-top:0.75rem; display:grid; grid-template-columns:13.875rem 15.1875rem 16.0625rem 1fr; align-items:center; border:0.0625rem solid var(--line); border-radius:0.3125rem; background:rgba(255,250,238,.55); }
.steps-intro img { width:12.25rem; height:2.75rem; margin-left:0.75rem; object-fit:contain; }
.step { min-width:0; height:3.375rem; display:flex; gap:1.0625rem; align-items:center; padding-left:0.5rem; position:relative; }
.step + .step { border-left:0.0625rem solid #eadcc8; padding-left:1.3125rem; }
.step-number { flex:none; border-radius:50%; width:2rem; height:2rem; background:linear-gradient(#c09a76,#c6a383); color:#fff; font-family:Georgia,serif; font-size:1.125rem; line-height:2rem; text-align:center; align-self:flex-start; }
.step > svg { width:2rem; height:2.125rem; color:#754021; }
.step > div { min-width:0; }
.step h3 { margin:0 0 0.25rem; height:1.1875rem; }
.step h3 img { height:1.1875rem; width:auto; }
.step p { margin:0; font-size:0.8125rem; letter-spacing:-0.0125rem; color:#615348; line-height:1rem; }
.sidebar { position:relative; z-index:2; margin-top:-1.5rem; display:flex; flex-direction:column; gap:0.5625rem; min-width:0; }
.panel { border:0.0625rem solid #ebd8be; border-radius:0.3125rem; background:rgba(255,251,242,.72); overflow:hidden; }
.panel-heading { display:flex; align-items:center; gap:0.6875rem; height:1.625rem; margin:0; white-space:nowrap; }
.panel-heading .round-icon { width:1.6875rem; height:1.6875rem; flex:none; color:#fff9ee; border-radius:50%; background:#643918; display:grid; place-items:center; }
.round-icon svg { width:1.1875rem; height:1.1875rem; }
.panel-heading > img { height:1.5rem; width:auto; max-width:calc(100% - 2.375rem); object-fit:contain; object-position:left; }
.auth-panel { padding:0.625rem 1.125rem 0.9375rem; scroll-margin-top:1.25rem; min-height:14.625rem; }
.auth-intro { margin:0.25rem 0 0.75rem; font-size:0.875rem; line-height:1rem; color:#4b4036; }
.auth-tabs { display:flex; height:1.625rem; border:0.0625rem solid #ead9c1; border-radius:0.1875rem; overflow:hidden; }
.auth-tabs button { flex:1; border:0; padding:0; background:transparent; font-size:0.75rem; }
.auth-tabs button[aria-selected=true] { background:#684024; color:#fffaf0; }
.auth-form { margin-top:0.625rem; }
.input-with-icon { display:flex; position:relative; align-items:center; height:1.875rem; margin-bottom:0.3125rem; }
.input-with-icon svg { position:absolute; left:0.625rem; width:1rem; height:1rem; color:#666369; pointer-events:none; }
.input-with-icon input { width:100%; height:1.875rem; border:0.0625rem solid #e9dcc9; border-radius:0.1875rem; background:rgba(255,255,255,.46); padding:0.3125rem 0.5rem 0.3125rem 2.25rem; font-size:0.75rem; color:#352b22; }
.auth-footer { display:flex; justify-content:space-between; align-items:center; margin-top:0.25rem; height:1.8125rem; }
.text-button { border:0; background:none; padding:0; font-size:0.75rem; text-decoration:underline; color:#4c4931; }
.small { min-height:1.8125rem; height:1.8125rem; padding:0.125rem 1.0625rem; font-size:0.8125rem; }
.form-hint { font-size:0.75rem; color:#75634f; line-height:1.35; margin:0.4375rem 0; }
.form-error { font-size:0.8125rem; color:#922c21; line-height:1.4; margin:0.5rem 0; padding:0.5rem; background:#fbebe6; border-radius:0.1875rem; }
.selection-panel { padding:0.5625rem 1.0625rem 0.6875rem; min-height:11.6875rem; scroll-margin-top:1.25rem; }
.selected-detail { display:grid; grid-template-columns:5.25rem minmax(0,1fr); gap:0.8125rem; margin-top:0.5rem; height:5.5rem; }
.selected-photo { width:5.25rem; height:5.5rem; object-fit:cover; border-radius:0.25rem; }
.selected-text { position:relative; min-width:0; color:#312823; }
.selected-text h3 { margin:0 0 0.25rem; font-size:0.75rem; font-weight:700; line-height:0.9375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.selected-meta { display:flex; align-items:center; gap:0.5rem; font-size:0.75rem; line-height:1.125rem; }
.selected-meta svg { width:0.8125rem; height:0.8125rem; }
.selected-text .badge { position:absolute; right:0; bottom:0; font-size:0.625rem; min-height:1.125rem; padding:0.0625rem 0.3125rem; border-radius:0.1875rem; }
.selected-price { margin:0.375rem 0 0; font-size:0.75rem; font-weight:700; color:#573820; }
.book-selected { width:100%; margin-top:0.625rem; min-height:2rem; height:2rem; padding:0.25rem; font-size:0.9375rem; }
.selection-empty { min-height:5.5rem; padding:1rem 0.3125rem; margin:0.5rem 0 0; color:#7d6754; text-align:center; }
.owner-panel { padding:0.5rem 1.0625rem 0.4375rem; min-height:6.8125rem; }
.owner-panel p { margin:0.1875rem 0 0.4375rem 2.375rem; font-size:0.8125rem; line-height:0.9375rem; color:#4c4035; }
.owner-button { min-height:2rem; height:2rem; padding:0.1875rem 0.375rem; font-size:0.875rem; width:100%; font-weight:700; gap:0.5rem; }
.owner-button svg { width:1.0625rem; height:1.0625rem; stroke-width:3; }
.site-footer { position:relative; height:9.75rem; min-height:9.75rem; background:url('/assets/footer.webp') center center / 100% 100% no-repeat; color:#f7e8d2; }
.footer-brand { position:absolute; left:4.8125rem; top:3rem; display:flex; flex-direction:column; font-size:0.875rem; line-height:1.0625rem; }
.footer-brand strong { font-weight:normal; }
.footer-brand span { font-size:0.8125rem; }
.footer-nav { position:absolute; top:3.5rem; left:30.25rem; display:flex; align-items:center; gap:1.5rem; font-size:0.75rem; }
.footer-nav a,.footer-nav button { color:inherit; text-decoration:none; padding:0; border:0; background:none; font-size:inherit; white-space:nowrap; }
.footer-nav [aria-disabled=true] { cursor:default; }
.account-welcome { margin:0.75rem 0; color:#604832; font-size:0.875rem; }
.account-actions { display:grid; grid-template-columns:1fr; gap:0.4375rem; }
.account-actions .button { min-height:1.875rem; font-size:0.8125rem; }
/* NATIVE: Fixed readable controls in overlays, then responsive layouts. */
.modal { padding:0; width:min(760px,94vw); max-height:90vh; max-height:90dvh; color:#462b1b; background:#fbf5e9 url('/assets/papier.webp') repeat; border:1px solid #c9a883; border-radius:9px; box-shadow:0 20px 90px #2e180957; font-size:16px; }
.modal::backdrop { background:#29180fb0; backdrop-filter:blur(3px); }
.modal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px 15px; border-bottom:1px solid #e5d1b7; position:sticky; top:0; background:#faf2e5; z-index:2; }
.modal-header h2 { font-family:Georgia,serif; font-size:24px; line-height:1.15; margin:0; }
.icon-button { width:36px; height:36px; flex:none; display:grid; place-items:center; border:1px solid #d9c5a8; background:#fff9ef; color:#5c351c; border-radius:5px; }
.icon-button svg { width:18px; height:18px; }
.modal-body { padding:22px 24px 26px; }
.modal-body p { margin:0 0 15px; }
.modal .button { min-height:42px; height:auto; padding:10px 16px; font-size:15px; gap:8px; }
.modal .button svg { width:18px; height:18px; }
.modal .text-button { font-size:14px; padding:5px 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid .wide { grid-column:1 / -1; }
.field { display:flex; flex-direction:column; gap:5px; font-size:14px; font-weight:600; }
.field input,.field select { min-height:43px; width:100%; border:1px solid #d9c6ab; border-radius:5px; padding:9px 11px; background:#fffdf8; color:#3d2a1e; font:normal 16px 'Arial Narrow','Liberation Sans Narrow',Arial,sans-serif; }
.field input:focus,.field select:focus { border-color:#986538; }
.modal-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
.modal .form-hint { font-size:13px; margin:7px 0 0; }
.modal .form-error { font-size:14px; margin:12px 0; padding:10px; }
.modal .badge { font-size:12px; min-height:24px; padding:4px 9px; }
.notice { margin:0 0 16px; padding:12px 14px; border:1px solid #e7d0a9; background:#fff3d8; color:#74502b; border-radius:5px; font-size:14px; line-height:1.45; }
.notice.success { background:#edf3e4; border-color:#c6d6b6; color:#415232; }
.notice.error { background:#f8e3df; color:#8d362c; border-color:#e7c3bc; }
.dialog-summary { padding:15px; border:1px solid #e2cfb3; background:#fffaf0; margin-bottom:18px; border-radius:6px; }
.dialog-summary h3 { margin:0 0 8px; font-size:19px; font-family:Georgia,serif; }
.dialog-summary p { margin:0 0 3px; font-size:15px; }
.dialog-summary strong { font-weight:700; }
.modal-tabs { display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid #dfc9ac; padding-bottom:12px; margin-bottom:18px; }
.modal-tabs button { padding:9px 15px; border:1px solid #dbc3a4; border-radius:4px; background:#fff8ec; font-size:14px; }
.modal-tabs button[aria-selected=true] { background:#653b1f; color:#fffaf1; }
.management-list { display:flex; flex-direction:column; gap:10px; }
.management-item { padding:14px; border:1px solid #e4d1b6; border-radius:6px; background:#fffbf2; }
.management-item h3 { margin:0 0 5px; font:700 18px Georgia,serif; }
.management-item p { margin:3px 0; font-size:14px; word-break:break-word; }
.management-item .item-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.management-item .item-actions .button { min-height:34px; padding:7px 12px; font-size:13px; }
.danger { color:#8b3222; border-color:#b47c6a; background:#fbefea; }
.summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; font-size:14px; }
.summary-grid strong { display:block; margin-bottom:3px; color:#74513a; font-weight:normal; }
.participant-create { padding-top:18px; margin-top:18px; border-top:1px solid #e1cbb0; }
.participant-create summary { cursor:pointer; font-weight:600; padding-bottom:10px; }
.participant-list { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.participant-option { display:flex; align-items:center; gap:10px; border:1px solid #dbc5a7; border-radius:5px; padding:12px; cursor:pointer; background:#fffaf1; flex:1 1 180px; }
.participant-option:has(input:checked) { background:#efe2cd; border-color:#8b5c33; }
.participant-option input { width:18px; height:18px; accent-color:#6e4427; }
.participant-option small { display:block; margin-top:2px; }
.toast { position:fixed; z-index:90; bottom:24px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); padding:13px 20px; background:#54331e; color:#fff6e5; border:1px solid #c19d72; border-radius:6px; box-shadow:0 7px 30px #29150538; font-size:16px; text-align:center; }
.no-script { position:fixed; bottom:0; left:0; right:0; padding:15px; background:#fff1cc; font:16px Arial,sans-serif; text-align:center; z-index:100; }
@media (min-width:1100px) { .sidebar:has(.register-fields:not([hidden])) { align-self:start; } }
@media (max-width:1099px) {
  :root { font-size:16px; }
  body { font-size:15px; }
  .site-header { height:115px; }
  .panorama { height:60px; background-size:auto 100%; }
  .navigation { height:55px; }
  .brand { left:26px; top:6px; width:132px; height:130px; }
  .nav-link { display:none; }
  .nav-lessons { display:flex; left:189px; height:55px; font-size:16px; }
  .account-link { right:117px; width:30px; height:30px; }
  .search-link { right:71px; }
  .menu-link { display:grid; right:24px; }
  .mobile-menu:not([hidden]) { display:flex; flex-direction:column; gap:3px; position:absolute; top:115px; right:18px; padding:12px; min-width:230px; background:#fff8eb; border:1px solid #d8b994; border-radius:5px; box-shadow:0 7px 24px #42241530; }
  .mobile-menu a,.mobile-menu button { text-align:left; padding:11px 14px; color:#533218; text-decoration:none; border:0; background:transparent; font-size:16px; }
  .mobile-menu span { padding:10px 14px; font-size:12px; color:#836748; }
  .hero { height:288px; }
  .hero-art { background-size:auto 100%; background-position:59% center; }
  .hero-copy { left:6%; top:58px; }
  h1,h1 img { width:350px; height:90px; }
  .hero-subtitle { font-size:17px; line-height:25px; max-width:350px; white-space:normal; }
  .hero-actions { gap:10px; margin-top:8px; }
  .hero-actions .button { min-height:41px; font-size:14px; }
  .hero-actions .button:first-child { width:auto; }.hero-actions .button:last-child { width:auto; }
  .page-body { display:block; margin:17px 24px 0; }
  .offers { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .offer-card { height:182px; }
  .offer-photo { height:105px; }
  .offer-icon { top:93px; left:1px; width:36px; height:36px; }
  .offer-icon svg { width:23px; height:23px; }
  .offer-copy { padding:5px 7px 7px 38px; }
  .offer-title img { max-width:100%; height:18px; object-fit:contain; }
  .offer-description { font-size:13px; line-height:16px; }
  .offer-description br { display:none; }
  .availability { margin-top:18px; }
  .section-heading { height:auto; min-height:40px; flex-wrap:wrap; gap:10px; }
  .section-heading p { font-size:14px; margin:0 0 0 6px; }
  .filters { width:100%; grid-template-columns:1fr 1fr 0.95fr 1.45fr; gap:8px; height:41px; margin-top:10px; }
  .filter > span { padding:0 8px; font-size:13px; }.filter select { font-size:13px; padding:0 5px; }
  .appointment-table { margin-top:10px; }
  .appointment-head,.appointment-row { grid-template-columns:78px 88px minmax(125px,1.2fr) 78px minmax(95px,1fr) 106px 92px 82px; }
  .appointment-head { min-height:48px; height:auto; font-size:12px; line-height:1.15; }
  .appointment-head > span:first-child,.slot-date { padding-left:12px; }
  .appointment-row { min-height:48px; font-size:13px; }
  .slot-title,.slot-age,.slot-trainer { gap:5px; }
  .slot-button { width:80px; min-height:34px; height:auto; }
  .steps { margin-top:14px; height:auto; min-height:82px; grid-template-columns:repeat(3,1fr); padding:10px; }
  .steps-intro { display:none; }
  .step,.step+.step { height:auto; gap:9px; padding:0 10px; }
  .step-number { width:26px; height:26px; line-height:26px; font-size:16px; }
  .step > svg { display:none; }
  .step h3 img { max-width:100%; }
  .step p { font-size:12px; line-height:16px; }.step p br { display:none; }
  .sidebar { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
  .auth-panel { padding:16px 20px; }
  .auth-intro { margin-top:10px; }
  .auth-tabs { height:36px; }
  .auth-tabs button { font-size:15px; }
  .input-with-icon,.input-with-icon input { min-height:40px; font-size:16px; }
  .auth-footer { height:36px; margin-top:8px; }
  .auth-footer .button { min-height:36px; font-size:15px; }
  .text-button { font-size:14px; }
  .selection-panel { padding:16px 20px; }
  .selected-detail { height:124px; grid-template-columns:98px 1fr; margin-top:16px; gap:14px; }
  .selected-photo { width:98px; height:124px; }
  .selected-text h3 { font-size:15px; white-space:normal; line-height:18px; }
  .selected-meta { font-size:14px; line-height:21px; }
  .selected-text .badge { font-size:12px; padding:3px 8px; bottom:0; }
  .book-selected { min-height:41px; height:auto; margin-top:14px; }
  .selection-empty { min-height:120px; padding-top:35px; }
  .owner-panel { grid-column:1 / -1; display:grid; grid-template-columns:210px 1fr 270px; gap:15px; align-items:center; padding:14px 20px; min-height:76px; }
  .owner-panel p { margin:0; font-size:14px; line-height:18px; }.owner-button { min-height:40px; height:auto; }
  .site-footer { height:156px; margin-top:8px; background-size:auto 100%; }
  .footer-brand { left:28px; top:51px; }.footer-nav { left:auto; right:25px; top:62px; gap:16px; }
}
@media (max-width:820px) {
  .offers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .offer-card { height:183px; }.offer-photo { height:116px; }.offer-icon { top:103px; left:7px; width:42px; height:42px; }.offer-copy { padding:5px 9px 8px 58px; }.offer-title img { height:20px; }.offer-description { font-size:14px; }
  .filters { grid-template-columns:1fr 1fr; height:auto; gap:8px; }.filter { min-height:41px; }.filter select { font-size:14px; }
  .appointment-head { display:none; }
  #appointment-rows { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .appointment-table { background:transparent; border:0; overflow:visible; }
  .appointment-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:15px; border:1px solid #e5d1b5; border-radius:6px; background:rgba(255,253,247,.8); font-size:14px; }
  .appointment-row:last-child { border-bottom:1px solid #e5d1b5; }
  .slot-date { padding:0; font-weight:600; }.slot-time { text-align:right; }
  .slot-title { grid-column:1/-1; font-size:16px; line-height:1.2; gap:8px; min-height:24px; }.slot-trainer { justify-self:end; }.slot-availability { grid-column:1; }.slot-price { grid-column:2; align-self:center; justify-self:end; text-align:right; font-size:13px; padding:0; }.slot-action { grid-column:2; justify-self:end; }.slot-button { width:auto; min-width:106px; min-height:38px; justify-self:end; font-size:14px; }
  .badge { font-size:13px; min-height:25px; }.empty-state { grid-column:1/-1; border:1px solid #e7d5bb; border-radius:5px; background:#fffaf0; }
  .owner-panel { grid-template-columns:1fr 1.1fr; }.owner-panel p { grid-row:2; grid-column:1; margin-top:-7px; }.owner-panel .owner-button { grid-column:2; grid-row:1/3; }
  .section-heading p { width:100%; margin:0 0 5px 52px; }
}
@media (max-width:599px) {
  .site-header { height:98px; }.panorama { height:45px; }.navigation { height:53px; }.brand { left:18px; top:5px; width:103px; height:101px; }.nav-lessons { left:141px; height:53px; font-size:13px; }.account-link { right:64px; top:13px; width:28px; height:28px; }.search-link { display:none; }.menu-link { right:20px; }.mobile-menu:not([hidden]) { top:98px; right:14px; }
  .hero { height:auto; min-height:401px; background:#faf0df; }
  .hero-art { height:224px; bottom:auto; background-size:auto 224px; background-position:67% top; }
  .hero::after { content:''; position:absolute; left:0; right:0; top:145px; height:88px; background:linear-gradient(transparent,#faf0df); z-index:-1; }
  .hero-copy { position:relative; left:auto; top:auto; padding:202px 20px 20px; }
  h1,h1 img { width:330px; max-width:100%; height:auto; aspect-ratio:385/99; }
  .hero-subtitle { max-width:100%; font-size:17px; line-height:23px; margin:8px 0 13px; }
  .hero-actions { gap:9px; margin-top:0; }.hero-actions .button { font-size:13px; padding:8px 10px; min-height:44px; flex:1; }.hero-actions .button svg { width:17px; height:17px; }
  .page-body { display:flex; flex-direction:column; gap:0; margin:16px 16px 0; }
  .left-column,.sidebar { display:contents; }
  .offers { order:0; width:100%; gap:11px; }
  .offer-card { height:189px; }.offer-photo { height:110px; }.offer-icon { top:97px; left:3px; width:35px; height:35px; }.offer-icon svg { width:24px; height:24px; }.offer-copy { padding:5px 6px 7px 38px; }.offer-title { height:18px; margin-bottom:4px; }.offer-title img { height:18px; width:auto; }.offer-description { font-size:13px; line-height:16px; }
  .availability { order:1; width:100%; margin-top:21px; scroll-margin-top:12px; }
  .section-heading { gap:9px; }.horseshoe { width:34px; height:33px; }.section-heading h2,.section-heading h2 img { width:227px; height:28px; }.section-heading p { font-size:14px; width:100%; margin:3px 0 3px; line-height:19px; }
  .filters { margin-top:9px; gap:8px; }.filter { min-height:43px; }.filter > span { font-size:12px; padding:0 7px; }.filter select { font-size:13px; }.filter.date-filter > span { padding:0 9px; }
  #appointment-rows { grid-template-columns:1fr; gap:10px; }.appointment-row { padding:14px; gap:9px; font-size:14px; }.slot-title { min-height:23px; font-size:16px; }.slot-button { min-height:42px; min-width:122px; }.badge { min-height:28px; padding:5px 10px; font-size:13px; }
  .selection-panel { order:2; width:100%; padding:16px; margin-top:17px; scroll-margin-top:12px; }
  .selected-detail { grid-template-columns:98px 1fr; height:125px; margin-top:14px; }.selected-photo { width:98px; height:125px; }.selected-text h3 { font-size:16px; line-height:19px; }.selected-meta { font-size:14px; line-height:23px; }.selected-text .badge { font-size:12px; }.book-selected { min-height:44px; font-size:16px; margin-top:16px; }
  .auth-panel { order:3; width:100%; margin-top:14px; padding:16px; scroll-margin-top:14px; }.auth-intro { margin:11px 0 15px; font-size:15px; line-height:21px; }.desktop-break { display:none; }.auth-tabs { height:40px; }.auth-form { margin-top:12px; }.input-with-icon,.input-with-icon input { height:44px; min-height:44px; font-size:16px; margin-bottom:8px; }.input-with-icon { margin-bottom:9px; }.input-with-icon svg { top:13px; }.auth-footer { height:auto; margin-top:12px; }.auth-footer .button { min-height:42px; font-size:16px; }.text-button { font-size:14px; }.form-hint { font-size:13px; }.form-error { font-size:14px; }.account-welcome { font-size:16px; }.account-actions .button { min-height:42px; font-size:15px; }
  .owner-panel { order:4; width:100%; margin-top:14px; display:block; padding:16px; }.owner-panel p { margin:8px 0 13px 38px; font-size:14px; line-height:18px; }.owner-button { min-height:44px; font-size:15px; }
  .steps { order:5; width:100%; margin:17px 0 0; display:flex; flex-direction:column; align-items:stretch; padding:0 16px; }.step,.step+.step { height:auto; padding:15px 0; border-left:0; border-bottom:1px solid #eadcc7; gap:17px; }.step:last-child { border-bottom:0; }.step-number { width:30px; height:30px; line-height:30px; margin-top:5px; }.step > svg { display:block; width:28px; height:28px; }.step p { font-size:14px; line-height:19px; }.step h3 { height:19px; margin-bottom:3px; }.step h3 img { height:19px; }
  .site-footer { margin-top:12px; height:180px; background-position:39% center; }.footer-brand { top:59px; left:22px; font-size:16px; line-height:21px; }.footer-brand span { font-size:13px; }.footer-nav { left:22px; right:22px; top:115px; flex-wrap:wrap; gap:12px 17px; font-size:12px; }
  .modal { width:calc(100% - 20px); max-height:94vh; max-height:94dvh; border-radius:7px; }.modal-header { padding:17px 16px 13px; }.modal-header h2 { font-size:21px; }.modal-body { padding:18px 16px 20px; }.form-grid { grid-template-columns:1fr; gap:13px; }.form-grid .wide { grid-column:auto; }.modal-actions { justify-content:stretch; }.modal-actions > .button { flex:1; }.modal .button { min-height:44px; }.summary-grid { grid-template-columns:1fr; }.toast { bottom:16px; font-size:15px; }
}
@media (max-width:359px) { .nav-lessons { left:130px; font-size:12px; }.account-link { right:53px; }.menu-link { right:12px; }.offer-copy { padding-left:7px; padding-top:9px; }.offer-title { margin-left:30px; }.hero-actions .button { font-size:12px; padding:7px; }.hero-actions .button svg { display:none; }.section-heading h2,.section-heading h2 img { width:218px; }.filter > span { padding:0 5px; }.filter select { font-size:12px; }.owner-button { font-size:14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

@media (min-width:1100px) { .step:nth-child(3) { gap:1.0625rem; } .step:nth-child(3) p { white-space:nowrap; } }
/* Final alignment to the approved 1408 x 1056 reference coordinate system. */
@media (min-width:1100px) {
  .auth-panel { padding-bottom:0.75rem; min-height:14.5625rem; background:rgba(255,251,242,.96); }
  .owner-panel { margin-top:0.0625rem; padding-bottom:0.25rem; }
  .owner-panel p { margin-bottom:0.25rem; }
  .page-body { padding-bottom:0.0625rem; }
}
.selected-meta > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (min-width:1100px) {
  .appointment-head,.appointment-row { grid-template-columns:6.4rem 7rem minmax(9.5rem,1.25fr) 6.8rem minmax(8.5rem,1fr) 7.5rem 8rem 7.15rem; }
  .slot-button { margin-left:0.1875rem; }
  .hero-subtitle { font-size:1.453125rem; }
}
/* Keep the approved photos complete when cards change width. */
@media (max-width:1099px) {
  .offer-card { height:auto; min-height:0; }
  .offer-photo { height:auto; object-fit:contain; }
  .offer-copy { min-height:78px; }
  .offer-icon { top:auto; bottom:55px; }
}
@media (max-width:820px) { .offer-icon { bottom:49px; } }
@media (max-width:599px) { .offer-icon { bottom:56px; } }
@media (min-width:600px) and (max-width:1099px) {
  .hero-art { background-position:48% center; }
  .hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,240,223,.94) 0%,rgba(250,240,223,.8) 28%,rgba(250,240,223,.45) 43%,transparent 63%); }
}

/* Nur die neue Eselwanderungskachel: Die vier freigegebenen Karten bleiben unveraendert. */
.offer-card--eselwanderung { grid-column:1 / -1; display:flex; align-items:stretch; height:5.25rem; }
.offer-card--eselwanderung .offer-photo { flex:none; width:13rem; height:100%; object-fit:cover; }
.offer-card--eselwanderung .offer-copy { padding:0.875rem 1.25rem; }
.offer-card--eselwanderung .offer-title { height:auto; margin-bottom:0.25rem; font-family:Georgia,'Times New Roman',serif; font-size:1.1875rem; font-weight:bold; line-height:1.15; }
.offer-card--eselwanderung .offer-description { line-height:1.35; }
@media (max-width:1099px) {
  .offer-card--eselwanderung { height:86px; }
  .offer-card--eselwanderung .offer-photo { width:25%; height:100%; object-fit:cover; }
  .offer-card--eselwanderung .offer-copy { min-height:0; padding:12px 18px; }
  .offer-card--eselwanderung .offer-title { font-size:17px; }
  .offer-card--eselwanderung .offer-description { font-size:13px; }
}
@media (max-width:599px) {
  .offer-card--eselwanderung { height:90px; }
  .offer-card--eselwanderung .offer-photo { width:24%; }
  .offer-card--eselwanderung .offer-copy { padding:10px; }
  .offer-card--eselwanderung .offer-title { font-size:16px; }
  .offer-card--eselwanderung .offer-description { font-size:12px; line-height:16px; }
}


/* Compact booking-page header and four-offer layout (14.10.2026). */
.site-header { height:3.35rem; z-index:30; }
.navigation { height:3.35rem; display:flex; align-items:center; gap:2.2rem; padding:0 6.9rem 0 12.3rem; background:#fff9ed; }
.brand { left:3.55rem; top:0.15rem; width:4.45rem; height:4.45rem; }
.nav-link { position:relative; top:auto; left:auto; height:3.35rem; flex:none; }
.nav-offers { position:relative; align-self:stretch; display:flex; align-items:center; flex:none; }
.nav-offers .nav-link { display:flex; gap:0.3rem; }
.nav-caret { font-size:0.8em; margin-left:0.05rem; }
.offers-dropdown { position:absolute; top:calc(100% - 1px); left:-0.65rem; display:none; flex-direction:column; gap:0; min-width:12.75rem; padding:0.375rem 0; background:#fff9ed; border:1px solid #ddc3a5; border-radius:0 0 0.35rem 0.35rem; box-shadow:0 0.4rem 0.875rem #32180529; z-index:40; }
.nav-offers.is-open .offers-dropdown { display:flex; }
.offers-dropdown a { display:block; padding:0.55rem 0.85rem; color:#512c19; text-decoration:none; font-size:0.83rem; white-space:nowrap; }
.offers-dropdown a:hover,.offers-dropdown a:focus-visible { background:#f0dfc6; }
.hero { height:9rem; }
.hero-art { background-size:cover; background-position:center 46%; }
.hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,243,231,.95) 0%,rgba(250,243,231,.74) 36%,rgba(250,243,231,.04) 66%); }
.hero-copy { left:6.6rem; top:1.15rem; }
.hero h1 { width:auto; height:auto; aspect-ratio:auto; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:2.05rem; font-weight:700; line-height:1.1; letter-spacing:-0.04rem; white-space:nowrap; color:#432511; }
.hero-subtitle { margin:0.45rem 0 0.55rem; font-size:0.86rem; line-height:1.16rem; white-space:nowrap; }
.hero-actions { gap:0.75rem; }
.hero-actions .button { min-height:1.85rem; font-size:0.77rem; }
.hero-actions .button svg { width:1rem; height:1rem; }
.hero-actions .button:first-child { width:11.65rem; }
.hero-actions .button:last-child { width:10.25rem; }
.offers { grid-template-columns:repeat(4,minmax(0,1fr)); }
.offer-card--eselwanderung { grid-column:auto; display:block; height:10.5rem; }
.offer-card--eselwanderung .offer-photo { width:100%; height:6.25rem; object-fit:cover; }
.offer-card--eselwanderung .offer-copy { padding:0.3rem 0.55rem 0.3rem 0.65rem; min-height:0; }
.offer-card--eselwanderung .offer-title { font-size:1rem; line-height:1.17; margin:0 0 0.2rem; }
.offer-card--eselwanderung .offer-description { font-size:0.78rem; line-height:1.05rem; }
/* The existing appointment grid, side panels and administration are unaffected. */

/* The standalone offer pages reuse existing brand colors and asset paths. */
.offer-detail-page { min-height:calc(100vh - 16rem); max-width:1050px; margin:2rem auto 4rem; padding:0 1.2rem; }
.offer-detail-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:2rem; background:#fff9ed; border:1px solid #eadac4; border-radius:0.45rem; padding:1.2rem; }
.offer-detail-lead img { width:100%; max-height:350px; object-fit:cover; border-radius:0.3rem; }
.offer-detail-lead h1 { width:auto; height:auto; font:700 clamp(28px,3vw,42px)/1.15 Georgia,serif; margin:0 0 0.75rem; }
.offer-detail-lead p { font-size:clamp(16px,1.4vw,20px); line-height:1.45; }
.offer-detail-lead .button { margin-top:0.75rem; }
.offer-detail-help { margin-top:1.5rem; font-size:clamp(15px,1.25vw,18px); line-height:1.5; }

@media (max-width:1099px) {
  .site-header { height:62px; }
  .navigation { height:62px; display:block; padding:0; }
  .brand { left:16px; top:2px; width:70px; height:70px; }
  .nav-link { display:none; }
  .nav-offers { position:absolute; top:0; left:105px; height:62px; }
  .nav-offers .nav-lessons { display:flex; height:62px; left:auto; top:auto; font-size:14px; }
  .mobile-menu:not([hidden]) { top:62px; }
  .hero { height:195px; min-height:0; }
  .hero-art { height:100%; background-size:cover; background-position:57% center; }
  .hero-copy { position:absolute; top:27px; left:8%; padding:0; }
  .hero h1 { width:auto; height:auto; font-size:clamp(29px,4.2vw,42px); }
  .hero-subtitle { max-width:none; font-size:16px; line-height:21px; margin:8px 0 12px; white-space:nowrap; }
  .hero-actions { margin:0; }
  .hero-actions .button { min-height:38px; font-size:13px; }
  .offers { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .offer-card--eselwanderung { height:auto; min-height:0; }
  .offer-card--eselwanderung .offer-photo { width:100%; height:auto; object-fit:contain; }
  .offer-card--eselwanderung .offer-copy { min-height:78px; padding:5px 8px 7px 12px; }
  .offer-card--eselwanderung .offer-title { font-size:17px; }
  .offer-card--eselwanderung .offer-description { font-size:13px; line-height:16px; }
}
@media (max-width:820px) {
  .offers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .offer-card--eselwanderung { min-height:0; }
  .filters .filter:last-child { grid-column:1 / -1; }
}
@media (max-width:599px) {
  .site-header { height:58px; }
  .navigation { height:58px; }
  .brand { left:10px; top:1px; width:57px; height:57px; }
  .nav-offers { left:79px; height:58px; }
  .nav-offers .nav-lessons { font-size:12px; height:58px; }
  .mobile-menu:not([hidden]) { top:58px; }
  .hero { height:209px; min-height:0; }
  .hero-art { height:100%; background-size:cover; background-position:60% center; }
  .hero::after { content:none; }
  .hero-art::after { background:linear-gradient(90deg,rgba(250,243,231,.97) 0%,rgba(250,243,231,.9) 55%,rgba(250,243,231,.17) 100%); }
  .hero-copy { position:absolute; top:22px; left:15px; padding:0; width:calc(100% - 25px); }
  .hero h1 { width:auto; height:auto; font-size:clamp(18px,4.65vw,24px); letter-spacing:-0.35px; white-space:nowrap; }
  .hero-subtitle { font-size:13px; line-height:17px; max-width:235px; white-space:normal; margin:9px 0 11px; }
  .hero-actions { flex-wrap:wrap; gap:7px; }
  .hero-actions .button { flex:none; width:auto; min-height:35px; padding:7px 9px; font-size:12px; }
  .hero-actions .button:first-child,.hero-actions .button:last-child { width:auto; }
  .filters .filter:last-child { flex-direction:column; min-height:63px; }
  .filters .filter:last-child > span { min-height:25px; border-right:0; border-bottom:1px solid #eadfce; }
  .filters .filter:last-child select { width:100%; min-height:35px; }
  .offer-card--eselwanderung .offer-photo { width:100%; height:auto; object-fit:contain; }
  .offer-card--eselwanderung .offer-copy { min-height:0; padding:5px 8px; }
  .offer-detail-page { margin:1.25rem auto 2rem; padding:0 14px; }
  .offer-detail-lead { display:block; padding:12px; }
  .offer-detail-lead img { max-height:210px; }
  .offer-detail-lead h1 { font-size:28px; margin-top:16px; }
}

/* Text instead of the former heading PNGs on the booking page only. */
.offer-title { height:auto; min-height:1.25rem; font:700 1.13rem/1.2 Georgia,'Times New Roman',serif; letter-spacing:-0.02rem; white-space:nowrap; }
.section-heading h2 { font:700 1.5rem/1.2 Georgia,'Times New Roman',serif; white-space:nowrap; }
.steps-intro { padding-left:0.75rem; font:italic 1.13rem/1.2 Georgia,'Times New Roman',serif; white-space:nowrap; letter-spacing:-0.025rem; }
.step h3 { height:auto; font:700 1.02rem/1.2 Georgia,'Times New Roman',serif; white-space:nowrap; letter-spacing:-0.015rem; }
.panel-heading .panel-title { font:700 1.08rem/1.2 Georgia,'Times New Roman',serif; white-space:nowrap; }
@media (max-width:1099px) {
  .offer-title { min-height:18px; font-size:17px; }
  .section-heading h2 { font-size:24px; }
  .step h3 { font-size:16px; }
  .panel-heading .panel-title { font-size:19px; }
}
@media (max-width:599px) {
  .offer-title { min-height:18px; font-size:14px; letter-spacing:-0.025rem; }
  .section-heading h2 { font-size:21px; }
  .step h3 { font-size:16px; }
  .panel-heading .panel-title { font-size:18px; }
}
@media (max-width:359px) {
  .offer-title { font-size:12px; }
  .panel-heading .panel-title { font-size:17px; }
}

/* Nur der beauftragte Umbau: Startseite ohne rechte Seitenleiste. */
.nav-account-text { position:absolute; right:7.75rem; top:0; height:3.35rem; display:flex; align-items:center; font-size:0.77rem; text-decoration:none; font-weight:700; white-space:nowrap; }
.nav-account-text:hover { text-decoration:underline; }
.page-body.page-body--wide { display:block; margin:0.8rem 3.6rem 0; }
.page-body--wide .left-column { width:100%; min-width:0; }
.page-body--wide .offers { grid-template-columns:repeat(4,minmax(0,1fr)); }
.page-body--wide .filters { width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.7fr); }
@media (min-width:1100px) {
  .page-body--wide .appointment-head,
  .page-body--wide .appointment-row { grid-template-columns:minmax(5.6rem,0.9fr) minmax(6rem,0.95fr) minmax(10.5rem,1.7fr) minmax(5.7rem,0.9fr) minmax(9rem,1.55fr) minmax(6rem,1fr) minmax(8rem,1.25fr) minmax(6rem,0.9fr); }
  .page-body--wide .steps { grid-template-columns:minmax(12rem,1fr) repeat(3,minmax(0,1.2fr)); }
}

/* Neue eigenstaendige Seiten fuer Konto und Buchung; keine Aenderung der Admin-Oberflaeche. */
.flow-page { width:min(780px,calc(100% - 40px)); margin:1.6rem auto 4rem; min-height:calc(100vh - 18rem); }
.flow-back { display:inline-block; margin:0 0 1.1rem; color:#6c4222; font-size:15px; }
.flow-lead { margin-bottom:1.4rem; }
.flow-lead h1 { width:auto; height:auto; font:700 clamp(27px,3vw,37px)/1.15 Georgia,'Times New Roman',serif; white-space:normal; margin:0 0 0.4rem; }
.flow-lead p { margin:0; font-size:16px; color:#694e39; }
.flow-page .panel, .flow-stage { background:#fff9ee; border:1px solid #e4ceb0; border-radius:7px; padding:24px; }
.flow-page .auth-panel { padding:24px; min-height:0; }
.flow-page .panel-heading { height:auto; margin-bottom:14px; }
.flow-page .panel-title { font:700 23px Georgia,'Times New Roman',serif; }
.flow-page .auth-intro { margin:0 0 16px; font-size:15px; line-height:1.5; }
.flow-page .auth-tabs { height:43px; }
.flow-page .auth-tabs button { font-size:16px; }
.flow-page .input-with-icon { height:45px; margin-bottom:12px; }
.flow-page .input-with-icon input { height:45px; font-size:16px; }
.flow-page .auth-footer { height:auto; margin-top:12px; gap:12px; }
.flow-page .auth-footer .button { min-height:43px; height:auto; font-size:15px; }
.flow-page .form-hint { font-size:14px; line-height:1.5; margin:12px 0; }
.flow-page .account-welcome { font-size:16px; line-height:1.5; }
.flow-page .account-actions { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.flow-page .account-actions .button { min-height:43px; font-size:15px; }
.flow-hint { margin-top:1.15rem; font-size:14px; color:#694e39; }
.flow-stage { scroll-margin-top:1rem; }
.flow-stage-title { font:700 24px Georgia,'Times New Roman',serif; margin:0 0 18px; }
.flow-stage .dialog-summary { margin:0 0 20px; }
.flow-stage > p { font-size:16px; line-height:1.5; }
.flow-stage .button { min-height:43px; padding:9px 16px; font-size:15px; }
.flow-stage .form-hint { font-size:14px; line-height:1.45; }
.flow-stage .notice { font-size:15px; }
.flow-stage .participant-list { margin-top:12px; }
.flow-stage .field { font-size:15px; }

@media (max-width:1099px) {
  .nav-account-text { display:none; }
  .page-body.page-body--wide { margin:12px 24px 0; }
  .page-body--wide .filters { grid-template-columns:1fr 1fr; }
}
@media (max-width:820px) {
  .page-body--wide .offers { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:599px) {
  .page-body.page-body--wide { margin:16px 16px 0; }
  .flow-page { width:calc(100% - 32px); margin:24px auto 36px; }
  .flow-page .panel, .flow-stage { padding:16px; }
  .flow-page .auth-panel { padding:16px; }
  .flow-lead h1 { font-size:29px; }
  .flow-stage-title { font-size:23px; }
  .flow-page .auth-footer { flex-wrap:wrap; }
  .flow-page .auth-footer .button { flex:1; }
  .flow-page .account-actions { grid-template-columns:1fr; }
  .flow-stage .modal-actions { display:flex; flex-direction:column; }
  .flow-stage .modal-actions > .button { width:100%; }
}

/* Nur Startseite: Foto-Mischbild aus den 46 bereitgestellten Galerie-Aufnahmen. */
body[data-page="home"] .hero-art { background-image:url("/assets/galerie-header.jpg"); }

/* Leere künftige Startseite: vorhandene Navigation oben, vorhandener Fußbereich unten. */
body[data-page="home"] { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body[data-page="home"] .site-header { flex:none; }
body[data-page="home"] .empty-home { flex:1; }
body[data-page="home"] .site-footer { flex:none; }

/* Startseitentext: bereits vorhandene Regeln aus web/index.html extern eingebunden, da CSP inline Styles blockiert. */
body[data-page="home"] .home-hero-label {
      position: absolute;
      z-index: 1;
      left: clamp(26px, 7vw, 132px);
      top: 50%;
      transform: translateY(-50%);
      max-width: 48%;
      margin: 0;
      color: #442514;
      font: 700 clamp(28px, 2.7vw, 46px)/1.13 Georgia, 'Times New Roman', serif;
      letter-spacing: -0.015em;
      text-shadow: 0 1px 2px rgba(255, 250, 242, .65);
    }
    body[data-page="home"] .home-story {
      width: min(1210px, calc(100% - 56px));
      margin: 0 auto;
      padding: clamp(34px, 3.4vw, 54px) 0 clamp(42px, 4vw, 66px);
    }
    body[data-page="home"] .home-story-top {
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
      align-items: center;
      column-gap: clamp(38px, 6.2vw, 100px);
      padding-bottom: clamp(30px, 3.2vw, 45px);
      border-bottom: 1px solid #ddc5a5;
    }
    body[data-page="home"] .home-story-kicker {
      display: block;
      margin-bottom: 14px;
      color: #835531;
      font: 700 12px/1.25 Arial, sans-serif;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    body[data-page="home"] .home-story-title h1 {
      width: auto;
      height: auto;
      max-width: 580px;
      margin: 0;
      color: #492816;
      font: 700 clamp(30px, 2.7vw, 44px)/1.15 Georgia, 'Times New Roman', serif;
      letter-spacing: -.018em;
      overflow-wrap: break-word;
    }
    body[data-page="home"] .home-story-title h1::after {
      content: '';
      display: block;
      width: 76px;
      height: 3px;
      margin-top: 22px;
      background: #b48b5f;
    }
    body[data-page="home"] .home-story-lead {
      padding-left: clamp(18px, 2.1vw, 29px);
      border-left: 3px solid #b48b5f;
    }
    body[data-page="home"] .home-story-lead p {
      margin: 0 0 14px;
      color: #4c382a;
      font: 400 17px/1.65 Arial, sans-serif;
    }
    body[data-page="home"] .home-story-lead p:first-child {
      color: #482818;
      font: 700 19px/1.5 Georgia, 'Times New Roman', serif;
    }
    body[data-page="home"] .home-story-lead p:last-child { margin-bottom: 0; }
    body[data-page="home"] .home-story-columns {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      column-gap: clamp(40px, 5vw, 78px);
      padding: clamp(29px, 3vw, 44px) 0 0;
    }
    body[data-page="home"] .home-story-columns > div + div {
      border-left: 1px solid #e6d4ba;
      padding-left: clamp(25px, 3.8vw, 56px);
    }
    body[data-page="home"] .home-story-columns p {
      margin: 0 0 20px;
      color: #514037;
      font: 400 16px/1.75 Arial, sans-serif;
    }
    body[data-page="home"] .home-story-columns p:last-child { margin-bottom: 0; }
    body[data-page="home"] .home-story-end {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(24px, 4vw, 70px);
      margin-top: clamp(28px, 3.2vw, 48px);
      padding: clamp(22px, 2.6vw, 35px);
      background: rgba(240, 222, 197, .39);
      border-left: 4px solid #a97a4a;
      border-radius: 3px;
    }
    body[data-page="home"] .home-story-end p {
      margin: 0;
      color: #594435;
      font: 400 16px/1.7 Arial, sans-serif;
    }
    body[data-page="home"] .home-story-end strong {
      color: #522d19;
      font: 700 clamp(22px, 2vw, 30px)/1.25 Georgia, 'Times New Roman', serif;
    }
    @media (max-width: 800px) {
      body[data-page="home"] .home-story { width: calc(100% - 36px); padding: 28px 0 40px; }
      body[data-page="home"] .home-story-top { grid-template-columns: 1fr; gap: 25px; padding-bottom: 28px; }
      body[data-page="home"] .home-story-title h1 { font-size: clamp(28px, 6vw, 37px); }
      body[data-page="home"] .home-story-lead { padding-left: 16px; }
      body[data-page="home"] .home-story-columns { grid-template-columns: 1fr; gap: 20px; padding-top: 27px; }
      body[data-page="home"] .home-story-columns > div + div { padding-left: 0; border-left: 0; }
      body[data-page="home"] .home-story-end { grid-template-columns: 1fr; gap: 17px; margin-top: 27px; padding: 21px; }
      body[data-page="home"] .home-hero-label { max-width: 67%; left: 18px; font-size: clamp(23px, 4.7vw, 32px); }
    }
    @media (max-width: 480px) {
      body[data-page="home"] .home-hero-label { max-width: 62%; font-size: clamp(23px, 5.5vw, 29px); }
      body[data-page="home"] .home-story-title h1 { font-size: 28px; }
      body[data-page="home"] .home-story-lead p { font-size: 16px; }
      body[data-page="home"] .home-story-lead p:first-child { font-size: 18px; }
      body[data-page="home"] .home-story-columns p { font-size: 15px; }
    }

/* Startseite kompakter: nur Darstellung verdichtet, Textinhalt unveraendert. */
body[data-page="home"] .hero { height: 13.4rem; }
body[data-page="home"] .home-hero-label {
  left: clamp(26px, 6vw, 110px);
  max-width: 42%;
  font: 700 clamp(22px, 2.15vw, 36px)/1.1 Georgia, 'Times New Roman', serif;
}
body[data-page="home"] .home-story {
  width: min(1120px, calc(100% - 48px));
  padding: clamp(20px, 2.1vw, 30px) 0 clamp(26px, 2.5vw, 36px);
}
body[data-page="home"] .home-story-top {
  column-gap: clamp(26px, 4vw, 58px);
  padding-bottom: clamp(18px, 2vw, 26px);
}
body[data-page="home"] .home-story-kicker {
  margin-bottom: 10px;
  font-size: 11px;
}
body[data-page="home"] .home-story-title h1 {
  max-width: 460px;
  font: 700 clamp(24px, 2.15vw, 34px)/1.12 Georgia, 'Times New Roman', serif;
}
body[data-page="home"] .home-story-title h1::after {
  width: 58px;
  height: 2px;
  margin-top: 16px;
}
body[data-page="home"] .home-story-lead {
  padding-left: clamp(14px, 1.5vw, 20px);
  border-left-width: 2px;
}
body[data-page="home"] .home-story-lead p {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.55;
}
body[data-page="home"] .home-story-lead p:first-child {
  font-size: 16px;
  line-height: 1.45;
}
body[data-page="home"] .home-story-columns {
  column-gap: clamp(24px, 3.6vw, 46px);
  padding: clamp(18px, 2vw, 26px) 0 0;
}
body[data-page="home"] .home-story-columns > div + div {
  padding-left: clamp(18px, 2.2vw, 30px);
}
body[data-page="home"] .home-story-columns p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.62;
}
body[data-page="home"] .home-story-end {
  gap: clamp(18px, 3vw, 34px);
  margin-top: clamp(20px, 2.3vw, 30px);
  padding: clamp(16px, 2vw, 24px);
}
body[data-page="home"] .home-story-end p {
  font-size: 15px;
  line-height: 1.6;
}
body[data-page="home"] .home-story-end strong {
  font: 700 clamp(18px, 1.7vw, 24px)/1.22 Georgia, 'Times New Roman', serif;
}
@media (max-width: 800px) {
  body[data-page="home"] .hero { height: 11.5rem; }
  body[data-page="home"] .home-hero-label { left: 18px; max-width: 64%; font-size: clamp(20px, 4.4vw, 29px); }
  body[data-page="home"] .home-story { width: calc(100% - 28px); padding: 18px 0 28px; }
  body[data-page="home"] .home-story-top { gap: 18px; padding-bottom: 20px; }
  body[data-page="home"] .home-story-title h1 { font-size: clamp(22px, 5.5vw, 30px); }
  body[data-page="home"] .home-story-lead p { font-size: 14px; line-height: 1.5; }
  body[data-page="home"] .home-story-lead p:first-child { font-size: 15px; }
  body[data-page="home"] .home-story-columns { gap: 14px; padding-top: 18px; }
  body[data-page="home"] .home-story-columns p { font-size: 14px; margin-bottom: 12px; }
  body[data-page="home"] .home-story-end { gap: 14px; margin-top: 18px; padding: 16px; }
  body[data-page="home"] .home-story-end p { font-size: 14px; }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-hero-label { max-width: 60%; font-size: 21px; }
  body[data-page="home"] .home-story-title h1 { font-size: 24px; }
}

/* Nur die Startseiten-Hauptueberschrift: auf groesseren Displays eine lesbare Zeile. */
@media (min-width: 600px) {
  body[data-page="home"] .home-story-top {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 14px;
  }
  body[data-page="home"] .home-story-title h1 {
    width: 100%;
    max-width: none;
    font-size: clamp(18px, 2.05vw, 30px);
    white-space: nowrap;
  }
}
/* Auf sehr schmalen Handys bleibt der Titel lesbar statt zu winzig zu werden. */
@media (max-width: 599px) {
  body[data-page="home"] .home-story-title h1 {
    white-space: normal;
  }
}

/* Startseite: freigegebene Text- und Bildanordnung, nur fuer data-page=home. */
body[data-page="home"] .home-editorial {
  width: min(1440px, calc(100% - 96px));
  margin: 0 auto;
  padding: 22px 0 42px;
}
body[data-page="home"] .home-editorial-intro {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
  gap: clamp(26px, 3.8vw, 64px);
  align-items: center;
}
body[data-page="home"] .home-editorial-intro-text { min-width: 0; }
body[data-page="home"] .home-editorial-kicker {
  display: block;
  color: #78502f;
  font: 700 12px/1.3 Arial, sans-serif;
  letter-spacing: .22em;
  margin-bottom: 20px;
}
body[data-page="home"] .home-editorial-intro h1 {
  width: auto;
  height: auto;
  margin: 0;
  font: 700 clamp(34px, 3.35vw, 54px)/1.06 Georgia, 'Times New Roman', serif;
  letter-spacing: -.018em;
  color: #492816;
}
body[data-page="home"] .home-editorial-rule {
  display: block;
  width: 58px;
  height: 2px;
  margin: 20px 0 17px;
  background: #ad7948;
}
body[data-page="home"] .home-editorial-lead {
  margin: 0;
  font: 700 clamp(19px, 1.55vw, 24px)/1.36 Georgia, 'Times New Roman', serif;
  color: #522e1d;
}
body[data-page="home"] .home-editorial-image {
  display: block;
  width: 100%;
  border-radius: 8px;
  border: 1px solid rgba(143,95,55,.10);
  object-fit: cover;
}
body[data-page="home"] .home-editorial-horses {
  height: clamp(250px, 22vw, 325px);
  object-position: center 62%;
}
body[data-page="home"] .home-editorial-separator {
  height: 1px;
  margin: 27px 0 23px;
  background: #cfab80;
}
body[data-page="home"] .home-editorial-content {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1fr);
  gap: clamp(26px, 2.9vw, 46px);
  align-items: start;
}
body[data-page="home"] .home-editorial-cattle {
  height: clamp(265px, 24vw, 350px);
  object-position: center 60%;
}
body[data-page="home"] .home-editorial-copy { min-width: 0; }
body[data-page="home"] .home-editorial-copy p {
  margin: 0 0 12px;
  color: #4d3d34;
  font: 400 clamp(14px, 1.06vw, 16px)/1.5 Arial, sans-serif;
}
body[data-page="home"] .home-editorial-copy strong {
  display: block;
  margin-top: 14px;
  color: #532d1a;
  font: 700 clamp(20px, 1.6vw, 26px)/1.25 Georgia, 'Times New Roman', serif;
}
@media(max-width: 850px) {
  body[data-page="home"] .home-editorial {
    width: calc(100% - 44px);
    padding: 20px 0 32px;
  }
  body[data-page="home"] .home-editorial-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(30px, 5.5vw, 42px);
  }
  body[data-page="home"] .home-editorial-horses { height: 310px; }
  body[data-page="home"] .home-editorial-content { grid-template-columns: 1fr; gap: 20px; }
  body[data-page="home"] .home-editorial-cattle { height: 300px; }
  body[data-page="home"] .home-editorial-separator { margin: 23px 0 20px; }
  body[data-page="home"] .home-editorial-copy p { font-size: 15px; }
}
@media(max-width: 480px) {
  body[data-page="home"] .home-editorial { width: calc(100% - 28px); padding-top: 18px; }
  body[data-page="home"] .home-editorial-kicker { font-size: 10px; margin-bottom: 13px; }
  body[data-page="home"] .home-editorial-intro h1 { font-size: clamp(28px, 7vw, 34px); }
  body[data-page="home"] .home-editorial-lead { font-size: 18px; }
  body[data-page="home"] .home-editorial-horses { height: 270px; }
  body[data-page="home"] .home-editorial-cattle { height: 240px; }
  body[data-page="home"] .home-editorial-copy p { font-size: 15px; line-height: 1.48; }
}

/* Startseite: freigegebenen Entwurf massgetreu nachbilden.
   Ausschliesslich data-page="home", keine Aenderung an Navigation/Fussbereich/anderen Seiten. */
body[data-page="home"] .hero {
  height: clamp(145px, 10vw, 168px);
}
body[data-page="home"] .home-hero-label {
  left: clamp(28px, 6.25vw, 120px);
  top: 60%;
  max-width: 53%;
  font: 700 clamp(28px, 2.9vw, 48px)/1.1 Georgia, 'Times New Roman', serif;
}
body[data-page="home"] .home-editorial {
  width: min(1460px, calc(100% - 12.5vw));
  padding: 20px 0 40px;
}
body[data-page="home"] .home-editorial-intro {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  gap: 50px;
  align-items: center;
}
body[data-page="home"] .home-editorial-kicker {
  margin-bottom: 18px;
  font-size: 12px;
}
body[data-page="home"] .home-editorial-kicker::after {
  content: '';
  display: inline-block;
  width: 110px;
  height: 1px;
  margin-left: 18px;
  vertical-align: middle;
  background: #bb8c62;
}
body[data-page="home"] .home-editorial-intro h1 {
  max-width: 550px;
  font: 700 clamp(38px, 3.12vw, 52px)/1.08 Georgia, 'Times New Roman', serif;
}
body[data-page="home"] .home-editorial-rule {
  width: 56px;
  margin: 21px 0 17px;
}
body[data-page="home"] .home-editorial-lead {
  font: 700 clamp(20px, 1.55vw, 26px)/1.34 Georgia, 'Times New Roman', serif;
}
body[data-page="home"] .home-editorial-image {
  border: 0;
  border-radius: 10px;
}
body[data-page="home"] .home-editorial-horses {
  height: clamp(260px, 17.45vw, 292px);
  object-position: center 58%;
}
body[data-page="home"] .home-editorial-separator {
  margin: 34px 0 24px;
  background: #c99b70;
}
body[data-page="home"] .home-editorial-content {
  grid-template-columns: minmax(0, .81fr) minmax(0, 1fr);
  gap: 34px;
}
body[data-page="home"] .home-editorial-cattle {
  height: clamp(255px, 17.7vw, 296px);
  object-position: center 60%;
}
body[data-page="home"] .home-editorial-copy p {
  margin-bottom: 12px;
  font: 400 clamp(15px, 1.025vw, 17px)/1.4 Arial, sans-serif;
}
body[data-page="home"] .home-editorial-copy strong {
  margin-top: 17px;
  font: 700 clamp(20px, 1.6vw, 26px)/1.25 Georgia, 'Times New Roman', serif;
}
@media (max-width: 1099px) {
  body[data-page="home"] .home-editorial {
    width: calc(100% - 56px);
    padding: 22px 0 34px;
  }
  body[data-page="home"] .home-editorial-intro {
    gap: 24px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(31px, 3.65vw, 40px);
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: clamp(18px, 2vw, 22px);
  }
  body[data-page="home"] .home-editorial-horses {
    height: clamp(220px, 25vw, 265px);
  }
  body[data-page="home"] .home-editorial-content {
    gap: 24px;
  }
  body[data-page="home"] .home-editorial-copy p {
    font-size: 15px;
    line-height: 1.45;
  }
}
@media (max-width: 850px) {
  body[data-page="home"] .hero {
    height: clamp(145px, 19vw, 165px);
  }
  body[data-page="home"] .home-editorial {
    width: calc(100% - 44px);
    padding: 22px 0 35px;
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 19px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    max-width: 100%;
    font-size: clamp(31px, 5.5vw, 40px);
  }
  body[data-page="home"] .home-editorial-horses {
    height: clamp(240px, 39vw, 310px);
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 26px 0 21px;
  }
  body[data-page="home"] .home-editorial-cattle {
    height: clamp(235px, 36vw, 292px);
  }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-hero-label {
    left: 18px;
    max-width: 72%;
    font-size: 22px;
  }
  body[data-page="home"] .home-editorial {
    width: calc(100% - 28px);
    padding: 19px 0 30px;
  }
  body[data-page="home"] .home-editorial-kicker {
    margin-bottom: 13px;
    font-size: 10px;
  }
  body[data-page="home"] .home-editorial-kicker::after {
    width: 44px;
    margin-left: 12px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(28px, 7.5vw, 34px);
  }
  body[data-page="home"] .home-editorial-rule {
    margin: 15px 0 13px;
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 18px;
  }
  body[data-page="home"] .home-editorial-horses {
    height: 240px;
  }
  body[data-page="home"] .home-editorial-cattle {
    height: 235px;
  }
  body[data-page="home"] .home-editorial-copy p {
    font-size: 15px;
    line-height: 1.48;
  }
}
/* Feinabgleich der Typografie mit dem bestaetigten Startseitenentwurf. */
@media (min-width: 1100px) {
  body[data-page="home"] .home-hero-label {
    top: 64%;
    font-size: clamp(48px, 3.6vw, 60px);
  }
  body[data-page="home"] .home-editorial-intro-text {
    transform: translateY(10px);
  }
  body[data-page="home"] .home-editorial-kicker {
    margin-bottom: 26px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    max-width: 460px;
  }
  body[data-page="home"] .home-editorial-rule {
    margin-top: 27px;
    margin-bottom: 22px;
  }
  body[data-page="home"] .home-editorial-lead {
    max-width: 495px;
  }
}
/* Nur die Startseite wieder kompakt setzen; alle anderen Seiten unveraendert. */
@media (min-width: 1100px) {
  body[data-page="home"] .hero {
    height: clamp(126px, 8.7vw, 146px);
  }
  body[data-page="home"] .home-hero-label {
    top: 58%;
    font-size: clamp(30px, 2.3vw, 39px);
  }
  body[data-page="home"] .home-editorial {
    padding-top: 14px;
    padding-bottom: 26px;
  }
  body[data-page="home"] .home-editorial-intro {
    gap: 34px;
  }
  body[data-page="home"] .home-editorial-intro-text {
    transform: none;
  }
  body[data-page="home"] .home-editorial-kicker {
    margin-bottom: 11px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    max-width: 515px;
    font-size: clamp(31px, 2.25vw, 39px);
    line-height: 1.1;
  }
  body[data-page="home"] .home-editorial-rule {
    margin: 14px 0 11px;
  }
  body[data-page="home"] .home-editorial-lead {
    max-width: 520px;
    font-size: clamp(17px, 1.15vw, 20px);
    line-height: 1.35;
  }
  body[data-page="home"] .home-editorial-horses {
    height: clamp(198px, 13.6vw, 232px);
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 18px 0 17px;
  }
  body[data-page="home"] .home-editorial-cattle {
    height: clamp(210px, 14vw, 244px);
  }
  body[data-page="home"] .home-editorial-copy p {
    margin-bottom: 9px;
    font-size: 15px;
    line-height: 1.45;
  }
  body[data-page="home"] .home-editorial-copy strong {
    margin-top: 10px;
    font-size: 21px;
  }
}
@media (min-width: 851px) and (max-width: 1099px) {
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(27px, 3.05vw, 33px);
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 17px;
  }
  body[data-page="home"] .home-editorial-horses {
    height: 215px;
  }
  body[data-page="home"] .home-editorial-cattle {
    height: 220px;
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 17px 0 16px;
  }
}
@media (max-width: 850px) {
  body[data-page="home"] .hero {
    height: 128px;
  }
  body[data-page="home"] .home-editorial {
    padding-top: 16px;
    padding-bottom: 28px;
  }
  body[data-page="home"] .home-editorial-kicker {
    margin-bottom: 9px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(25px, 4.2vw, 32px);
    line-height: 1.12;
  }
  body[data-page="home"] .home-editorial-rule {
    margin: 12px 0 10px;
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 17px;
    line-height: 1.35;
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    gap: 15px;
  }
  body[data-page="home"] .home-editorial-horses {
    height: clamp(185px, 28vw, 225px);
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 18px 0 17px;
  }
  body[data-page="home"] .home-editorial-cattle {
    height: clamp(195px, 28vw, 235px);
  }
  body[data-page="home"] .home-editorial-copy p {
    font-size: 14px;
    line-height: 1.48;
  }
  body[data-page="home"] .home-editorial-copy strong {
    font-size: 20px;
  }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-hero-label {
    font-size: 21px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: 25px;
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 16px;
  }
}
/* Mobile Standard-H1 hat ein Bild-Seitenverhaeltnis; fuer echten Startseitentext deaktivieren. */
body[data-page="home"] .home-editorial-intro h1 { aspect-ratio: auto; height: auto; }
@media (min-width: 1100px) {
  body[data-page="home"] .home-editorial-intro h1 { max-width: 460px; }
}
@media (min-width: 1100px) {
  body[data-page="home"] .home-editorial-intro h1 { max-width: 345px; }
}

/* Nur Startseite: Einzeilige, kleinere Einleitungsueberschrift und kurze Fleisch-Ergaenzung. */
body[data-page="home"] .home-editorial-intro h1 {
  max-width: none;
  width: 100%;
  height: auto;
  font-size: clamp(23px, 1.55vw, 27px);
  line-height: 1.16;
  white-space: nowrap;
}
body[data-page="home"] .home-editorial-meat {
  max-width: 520px;
  margin: 10px 0 0;
  color: #594637;
  font: 400 15px/1.45 Arial, sans-serif;
}
@media (min-width: 851px) and (max-width: 1099px) {
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(20px, 2.05vw, 23px);
  }
}
@media (max-width: 850px) {
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(20px, 3.1vw, 26px);
  }
  body[data-page="home"] .home-editorial-meat {
    font-size: 14px;
    line-height: 1.45;
  }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(20px, 5.85vw, 23px);
  }
}

/* Nur die obere Navigation und ihre aufklappbaren Menues: warmer Western-Farbton. */
.navigation {
  background: #573520;
  border-block-color: #78523a;
}
.navigation .nav-link,
.navigation .nav-account-text,
.navigation .search-link,
.navigation .menu-link {
  color: #f3e2c5;
}
.navigation .nav-link:hover,
.navigation .nav-link:focus-visible,
.navigation .nav-account-text:hover,
.navigation .nav-account-text:focus-visible,
.navigation .search-link:hover,
.navigation .menu-link:hover {
  color: #ffeac5;
}
.navigation .nav-link.active::after {
  background: #d8b17c;
  box-shadow: 0 2px 2px rgba(31, 16, 8, .4);
}
.navigation .account-link {
  background: #3e2518;
  color: #f4e3c6;
  border: 1px solid #92704e;
}
.navigation .offers-dropdown {
  background: #62402c;
  border-color: #8b6246;
  box-shadow: 0 7px 18px rgba(38, 21, 12, .28);
}
.navigation .offers-dropdown a {
  color: #f3e2c5;
}
.navigation .offers-dropdown a:hover,
.navigation .offers-dropdown a:focus-visible {
  background: #7b5338;
  color: #ffeac5;
}
.mobile-menu:not([hidden]) {
  background: #62402c;
  border-color: #8b6246;
}
.mobile-menu a,
.mobile-menu button {
  color: #f3e2c5;
}
.mobile-menu a:hover,
.mobile-menu a:focus-visible,
.mobile-menu button:hover,
.mobile-menu button:focus-visible {
  background: #7b5338;
  color: #ffeac5;
}
.mobile-menu span {
  color: #dfc49c;
}

/* Nur Pferdefoto auf der Startseite: Originalbild 609 x 289 px,
   niemals vergroessern; auf schmalen Ansichten proportional verkleinern. */
body[data-page="home"] .home-editorial-horses {
  width: 609px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 609 / 289;
  object-fit: contain;
  object-position: center;
  border-radius: 12px;
}

/* Startseite: obere und untere Reihe am selben Zweispaltenraster ausrichten.
   Pferdefoto bleibt durch die bestehende Regel bei maximal 609 x 289 Pixel. */
@media (min-width: 851px) {
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 34px;
    align-items: start;
  }
}

/* Nur das Rinderfoto auf der Startseite: Originaldatei 678 x 280 Pixel.
   Nicht vergroessern, nicht beschneiden; nur bei Platzmangel kleiner. */
body[data-page="home"] .home-editorial-cattle {
  width: 678px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 678 / 280;
  object-fit: contain;
  border: 0;
  border-radius: 12px;
}

/* Startseite: freigegebene Anordnung mit zwei gleichfluchtenden Zeilen.
   Ausschliesslich data-page=home, keine Aenderung an anderen Seiten.
   Bilder bleiben bei ihren nativen Maximalmassen (609x289 / 678x280). */
body[data-page="home"] .home-editorial {
  width: min(1650px, calc(100% - clamp(48px, 9vw, 156px)));
  max-width: 100%;
  margin-inline: auto;
  padding: 25px 0 27px;
}
body[data-page="home"] .home-editorial-intro,
body[data-page="home"] .home-editorial-content {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
  column-gap: clamp(32px, 2.7vw, 50px);
  align-items: start;
}
body[data-page="home"] .home-editorial-intro-text {
  min-width: 0;
  padding-top: 12px;
  transform: none;
}
body[data-page="home"] .home-editorial-kicker {
  margin: 0 0 11px;
  font: 700 12px/1.25 Arial, sans-serif;
  letter-spacing: .2em;
}
body[data-page="home"] .home-editorial-kicker::after {
  width: 106px;
  margin-left: 16px;
}
body[data-page="home"] .home-editorial-intro h1 {
  width: auto;
  max-width: none;
  height: auto;
  margin: 0;
  color: #492816;
  font: 700 clamp(26px, 2vw, 36px)/1.13 Georgia, 'Times New Roman', serif;
  letter-spacing: -.015em;
  white-space: nowrap;
}
body[data-page="home"] .home-editorial-rule {
  width: 60px;
  height: 2px;
  margin: 12px 0 12px;
}
body[data-page="home"] .home-editorial-lead {
  max-width: 100%;
  margin: 0;
  font: 700 clamp(19px, 1.38vw, 24px)/1.33 Georgia, 'Times New Roman', serif;
  color: #522e1d;
}
body[data-page="home"] .home-editorial-meat {
  max-width: 660px;
  margin: 12px 0 0;
  color: #4d3d34;
  font: 400 16px/1.46 Arial, sans-serif;
}
body[data-page="home"] .home-editorial-horses {
  justify-self: start;
  display: block;
  width: 609px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 609 / 289;
  object-fit: contain;
  border: 0;
  border-radius: 12px;
}
body[data-page="home"] .home-editorial-separator {
  height: 1px;
  margin: 18px 0 18px;
  background: #c99b70;
}
body[data-page="home"] .home-editorial-cattle {
  justify-self: start;
  display: block;
  width: 678px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 678 / 280;
  object-fit: contain;
  border: 0;
  border-radius: 12px;
}
body[data-page="home"] .home-editorial-copy {
  min-width: 0;
}
body[data-page="home"] .home-editorial-copy p {
  margin: 0 0 10px;
  color: #4d3d34;
  font: 400 16px/1.4 Arial, sans-serif;
}
body[data-page="home"] .home-editorial-copy strong {
  display: block;
  margin-top: 14px;
  color: #532d1a;
  font: 700 clamp(22px, 1.6vw, 28px)/1.22 Georgia, 'Times New Roman', serif;
}

/* Tablets im Querformat: zwei Spalten, echte Bilder proportional kleiner. */
@media (min-width: 961px) and (max-width: 1199px) {
  body[data-page="home"] .home-editorial {
    width: calc(100% - 56px);
    padding: 21px 0 26px;
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    column-gap: 26px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(20px, 2.15vw, 25px);
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 19px;
  }
  body[data-page="home"] .home-editorial-meat,
  body[data-page="home"] .home-editorial-copy p {
    font-size: 15px;
    line-height: 1.42;
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 18px 0 17px;
  }
}

/* Tablets im Hochformat und Handys: lesbare, vertikale Reihenfolge. */
@media (max-width: 960px) {
  body[data-page="home"] .home-editorial {
    width: min(740px, calc(100% - 44px));
    padding: 19px 0 25px;
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }
  body[data-page="home"] .home-editorial-intro-text {
    padding-top: 0;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    white-space: normal;
    font-size: clamp(22px, 3.4vw, 31px);
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: clamp(18px, 2.45vw, 21px);
  }
  body[data-page="home"] .home-editorial-meat {
    margin-top: 12px;
    font-size: 15px;
  }
  body[data-page="home"] .home-editorial-horses,
  body[data-page="home"] .home-editorial-cattle {
    height: auto;
    max-width: 100%;
  }
  body[data-page="home"] .home-editorial-separator {
    margin: 17px 0;
  }
  body[data-page="home"] .home-editorial-copy p {
    font-size: 15px;
    line-height: 1.47;
  }
  body[data-page="home"] .home-editorial-copy strong {
    margin-top: 14px;
    font-size: 23px;
  }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-editorial {
    width: calc(100% - 30px);
    padding: 15px 0 22px;
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    row-gap: 13px;
  }
  body[data-page="home"] .home-editorial-kicker {
    margin-bottom: 12px;
    font-size: 10px;
  }
  body[data-page="home"] .home-editorial-kicker::after {
    width: 42px;
    margin-left: 10px;
  }
  body[data-page="home"] .home-editorial-intro h1 {
    font-size: clamp(20px, 5.2vw, 23px);
    line-height: 1.16;
  }
  body[data-page="home"] .home-editorial-rule {
    margin: 12px 0 11px;
  }
  body[data-page="home"] .home-editorial-lead {
    font-size: 17px;
  }
  body[data-page="home"] .home-editorial-meat,
  body[data-page="home"] .home-editorial-copy p {
    font-size: 14px;
    line-height: 1.48;
  }
  body[data-page="home"] .home-editorial-copy strong {
    font-size: 21px;
  }
}

/* Nur die vier neuen, vorerst leeren Informationsseiten. */
body[data-page="home"] .info-page {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(28px, 4vw, 52px) 0;
}
body[data-page="home"] .info-page h1 {
  width: auto;
  height: auto;
  margin: 0;
  color: #492816;
  font: 700 clamp(24px, 3vw, 36px)/1.2 Georgia, 'Times New Roman', serif;
}

/* Startseite insgesamt etwas kompakter; nur die echte Startseite, keine anderen Seiten.
   Die vorhandene Navigation und alle Originalbildabmessungen bleiben unberuehrt. */
body[data-page="home"]:has(.home-editorial) .home-editorial {
  padding-top: 17px;
  padding-bottom: 19px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-kicker {
  margin-bottom: 8px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-rule {
  margin-top: 9px;
  margin-bottom: 9px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-meat {
  margin-top: 9px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-separator {
  margin-top: 12px;
  margin-bottom: 12px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-copy p {
  margin-bottom: 8px;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-copy strong {
  margin-top: 10px;
}
@media (min-width: 1100px) {
  body[data-page="home"]:has(.home-editorial) .hero {
    height: clamp(118px, 7.7vw, 132px);
  }
  body[data-page="home"]:has(.home-editorial) .site-footer {
    height: 8.35rem;
    min-height: 8.35rem;
  }
  body[data-page="home"]:has(.home-editorial) .footer-brand { top: 2.15rem; }
  body[data-page="home"]:has(.home-editorial) .footer-nav { top: 2.65rem; }
}
@media (min-width: 600px) and (max-width: 1099px) {
  body[data-page="home"]:has(.home-editorial) .hero { height: 125px; }
  body[data-page="home"]:has(.home-editorial) .home-editorial {
    padding-top: 15px;
    padding-bottom: 18px;
  }
  body[data-page="home"]:has(.home-editorial) .site-footer {
    height: 140px;
    min-height: 140px;
  }
  body[data-page="home"]:has(.home-editorial) .footer-brand { top: 42px; }
  body[data-page="home"]:has(.home-editorial) .footer-nav { top: 53px; }
}
@media (max-width: 599px) {
  body[data-page="home"]:has(.home-editorial) .hero { height: 116px; }
  body[data-page="home"]:has(.home-editorial) .home-editorial {
    padding-top: 12px;
    padding-bottom: 15px;
  }
  body[data-page="home"]:has(.home-editorial) .home-editorial-intro,
  body[data-page="home"]:has(.home-editorial) .home-editorial-content {
    row-gap: 11px;
  }
  body[data-page="home"]:has(.home-editorial) .site-footer {
    height: 157px;
    min-height: 157px;
    margin-top: 8px;
  }
  body[data-page="home"]:has(.home-editorial) .footer-brand { top: 41px; }
  body[data-page="home"]:has(.home-editorial) .footer-nav { top: 96px; }
}

/* Beauftragter Gesamt-Kompaktabgleich: beide Originalfotos GLEICHMAESSIG
   auf 92 Prozent ihres bisherigen Layoutplatzes begrenzen, nie vergroessern.
   Nur Startseite; der Bildinhalt und die Originaldateien bleiben unveraendert. */
body[data-page="home"]:has(.home-editorial) .home-editorial-horses {
  width: min(92%, 560px);
  max-width: 100%;
  height: auto;
  aspect-ratio: 609 / 289;
  object-fit: contain;
}
body[data-page="home"]:has(.home-editorial) .home-editorial-cattle {
  width: min(92%, 624px);
  max-width: 100%;
  height: auto;
  aspect-ratio: 678 / 280;
  object-fit: contain;
}


/* Startseite: Text unter dem Pferdebild nur so breit wie dieses;
   Schlussabsatz und Willkommensgruss unmittelbar unter dem Rinderfoto.
   Bildgroessen und alle anderen Bereiche bleiben unveraendert. */
body[data-page="home"] .home-editorial-copy {
  width: min(92%, 560px);
  max-width: 100%;
}
body[data-page="home"] .home-editorial-cattle-group {
  min-width: 0;
}
body[data-page="home"] .home-editorial-cattle-note {
  width: min(92%, 624px);
  max-width: 100%;
  margin-top: 11px;
}
/* Die beiden schmaleren Text-Bild-Spalten im Seitenzentrum halten. */
@media (min-width: 1100px) {
  body[data-page="home"] .home-editorial {
    width: min(1320px, calc(100% - clamp(48px, 9vw, 156px)));
  }
  body[data-page="home"] .home-editorial-intro,
  body[data-page="home"] .home-editorial-content {
    grid-template-columns: minmax(0, 1.115fr) minmax(0, 1fr);
    column-gap: 34px;
  }
}

/* Nur die zwei beauftragten Startseitenschriften verkleinern.
   Texte, Bilder, Raster, Abstand und andere Seiten unveraendert. */
@media (min-width: 1100px) {
  body[data-page="home"] .home-editorial-intro h1 { font-size: 25px; }
  body[data-page="home"] .home-editorial-lead { font-size: 17px; }
}
@media (min-width: 851px) and (max-width: 1099px) {
  body[data-page="home"] .home-editorial-intro h1 { font-size: 21px; }
  body[data-page="home"] .home-editorial-lead { font-size: 16px; }
}
@media (min-width: 481px) and (max-width: 850px) {
  body[data-page="home"] .home-editorial-intro h1 { font-size: clamp(19px, 2.9vw, 23px); }
  body[data-page="home"] .home-editorial-lead { font-size: 16px; }
}
@media (max-width: 480px) {
  body[data-page="home"] .home-editorial-intro h1 { font-size: 19px; }
  body[data-page="home"] .home-editorial-lead { font-size: 15px; }
}


/* Über-uns-Seite: eigene kompakte Gestaltung, keine Regeln für andere Seiten. */
body[data-page="about"] .about-page {
  width: min(1140px, calc(100% - 56px));
  margin: 0 auto;
  padding: clamp(24px, 2.8vw, 42px) 0 clamp(32px, 3vw, 48px);
}
body[data-page="about"] .about-heading { margin-bottom: 25px; }
body[data-page="about"] .about-kicker {
  display: block;
  color: #80502e;
  font: 700 11px/1.3 Arial, sans-serif;
  letter-spacing: .19em;
  margin-bottom: 8px;
}
body[data-page="about"] .about-heading h1 {
  width: auto; height: auto; aspect-ratio: auto; margin: 0 0 5px;
  color: #472717;
  font: 700 clamp(25px, 2.3vw, 32px)/1.15 Georgia, 'Times New Roman', serif;
}
body[data-page="about"] .about-heading > p {
  margin: 0;
  color: #654a36;
  font: 400 clamp(14px, 1.15vw, 16px)/1.5 Arial, sans-serif;
}
body[data-page="about"] .about-section {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(24px, 3.4vw, 46px);
  align-items: center;
  padding: 19px 0 22px;
  border-top: 1px solid #d9bfa1;
}
body[data-page="about"] .about-today {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
}
body[data-page="about"] .about-copy { min-width: 0; }
body[data-page="about"] .about-copy h2,
body[data-page="about"] .about-philosophy h2 {
  margin: 0 0 12px;
  color: #4b2917;
  font: 700 clamp(19px, 1.5vw, 23px)/1.22 Georgia, 'Times New Roman', serif;
}
body[data-page="about"] .about-copy p,
body[data-page="about"] .about-philosophy p {
  max-width: 66ch;
  margin: 0 0 10px;
  color: #4a362b;
  font: 400 clamp(14px, 1vw, 16px)/1.55 Arial, sans-serif;
}
body[data-page="about"] .about-copy p:last-child,
body[data-page="about"] .about-philosophy p:last-child { margin-bottom: 0; }
body[data-page="about"] .about-photo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  justify-self: center;
}
body[data-page="about"] .about-photo--childhood { width: min(100%, 360px); }
body[data-page="about"] .about-photo--cattle { width: min(100%, 480px); }
body[data-page="about"] .about-philosophy {
  border-top: 1px solid #d9bfa1;
  margin-top: 0;
  padding-top: 22px;
  text-align: center;
}
body[data-page="about"] .about-philosophy p { max-width: 90ch; margin-left: auto; margin-right: auto; }
@media (max-width: 760px) {
  body[data-page="about"] .about-page {
    width: calc(100% - 32px);
    padding: 22px 0 30px;
  }
  body[data-page="about"] .about-heading { margin-bottom: 18px; }
  body[data-page="about"] .about-section,
  body[data-page="about"] .about-today {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 18px 0 20px;
    align-items: start;
  }
  body[data-page="about"] .about-photo { justify-self: start; }
  body[data-page="about"] .about-philosophy { padding-top: 20px; }
}

/* "Über mich": Platz des entfernten Ranch-Bildes in Originalproportion erhalten. */
body[data-page="about"] .about-photo--reserved { aspect-ratio: 678 / 280; height: auto; background: transparent; }

/* Impressum: schmale, gut lesbare Pflichtangaben ohne Änderungen an anderen Seiten. */
body[data-page="home"] .impressum-document { width: min(100%, 720px); color: #4a362b; font: 400 16px/1.6 Arial, sans-serif; }
body[data-page="home"] .impressum-document h1 { margin: 0 0 23px; }
body[data-page="home"] .impressum-document h2 { margin: 21px 0 7px; color: #4b2917; font: 700 clamp(18px, 1.7vw, 22px)/1.3 Georgia, 'Times New Roman', serif; }
body[data-page="home"] .impressum-document p { margin: 0 0 12px; overflow-wrap: anywhere; }
body[data-page="home"] .impressum-document a { color: #683418; text-decoration: underline; }


/* Nur aktive Navigationslinks: gut sichtbare Unterstreichung im Western-Stil. */
.navigation .nav-link.active,
.navigation .nav-account-text.active {
  text-decoration-line: underline;
  text-decoration-color: #f0d09b;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
/* Alte Unterkante durch die Unterstreichung des Textes ersetzen. */
.navigation .nav-link.active::after { content: none; }
.navigation .account-link.active {
  outline: 2px solid #f0d09b;
  outline-offset: 3px;
}
.navigation .offers-dropdown a[aria-current="page"],
.mobile-menu a[aria-current="page"],
.footer-nav a[aria-current="page"] {
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}


/* COWBOY-ABMELDEBUTTON-SICHTBAR */
#logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    color: #ffffff;
    background: #87301e;
    border: 2px solid #632014;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 2px 5px #00000020;
}
#logout:hover {
    color: #ffffff;
    background: #682114;
}
#logout:focus-visible {
    outline: 3px solid #d99b55;
    outline-offset: 3px;
}

