/* Local illustrative sports imagery; original navigation and booking styles stay untouched. */
.bereichsseite .fischer-media { margin: 0; min-width: 0; position: relative; }
.bereichsseite .fischer-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; }
.bereichsseite .fischer-media figcaption,
.bereichsseite .sport-retail__feature > figure figcaption { position: absolute; right: 12px; bottom: 12px; max-width: calc(100% - 24px); margin: 0; padding: 4px 8px; border-radius: 6px; background: rgb(0 0 0 / .65); color: #fff; font-size: 12px; line-height: 1.5; text-align: right; overflow-wrap: anywhere; pointer-events: none; }
.bereichsseite .fischer-media--material img { aspect-ratio: 5 / 4; object-position: 50% 52%; }
.bereichsseite .fischer-media--course { margin: 12px 0 20px; }
.bereichsseite .fischer-media--course img { border-radius: 18px; }
@media (max-width: 900px) {
    .bereichsseite .fischer-media--material img { aspect-ratio: 4 / 3; }
}

.bereichsseite .sport-retail { padding-block: clamp(64px, 8vw, 112px); }
.bereichsseite .sport-retail__heading { max-width: 760px; margin-bottom: clamp(32px, 5vw, 64px); }
.bereichsseite .sport-retail__heading .area-label { margin-bottom: 22px; }
.bereichsseite .sport-retail__heading h2 { margin-bottom: 18px; }
.bereichsseite .sport-retail__heading > p { max-width: 620px; margin: 0; font-size: clamp(18px, 1.7vw, 21px); }
.bereichsseite .sport-retail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.bereichsseite .sport-retail__feature { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }
.bereichsseite .sport-retail__feature > img,
.bereichsseite .sport-retail__feature > figure img { display: block; width: 100%; height: clamp(210px, 26vw, 340px); object-fit: cover; }
.bereichsseite .sport-retail__feature > figure { margin: 0; position: relative; }
.bereichsseite .sport-retail__feature > div { padding: clamp(22px, 3vw, 34px); }
.bereichsseite .sport-retail__feature > div > span,
.bereichsseite .sport-retail__eyebrow { color: var(--red); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bereichsseite .sport-retail__feature h3,
.bereichsseite .sport-retail__essentials h3 { margin-top: 9px; font-size: clamp(27px, 3vw, 36px); }
.bereichsseite .sport-retail__feature p,
.bereichsseite .sport-retail__essentials p { margin: 12px 0 18px; font-size: 16px; line-height: 1.65; }
.bereichsseite .sport-retail__feature a { display: inline-flex; gap: 8px; align-items: center; color: var(--red); font-weight: 700; }
.bereichsseite .sport-retail__feature a:hover { color: var(--dark-red); text-decoration: underline; text-underline-offset: 3px; }
.bereichsseite .sport-retail__essentials { align-self: stretch; padding: clamp(24px, 3vw, 38px); border-radius: 22px; background: #f0f1ed; }
.bereichsseite .sport-retail__essentials ul { display: grid; gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.bereichsseite .sport-retail__essentials li { padding: 12px 0 0 28px; border-top: 1px solid #d9dbd4; position: relative; }
.bereichsseite .sport-retail__essentials li::before { content: "→"; position: absolute; left: 0; color: var(--red); font-weight: 700; }
.bereichsseite .sport-retail__visit { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.bereichsseite .sport-retail__visit > p { display: grid; gap: 5px; margin: 0; }
.bereichsseite .sport-retail__visit > p strong { color: var(--ink); font-size: 19px; }
.bereichsseite .sport-retail__visit > p span { color: var(--muted); }
.bereichsseite .sport-retail__visit .actions { margin: 0; }
@media (max-width: 760px) {
    .bereichsseite .sport-retail__grid { gap: 14px; }
    .bereichsseite .sport-retail__feature > img,
    .bereichsseite .sport-retail__feature > figure img { height: clamp(170px, 36vw, 260px); }
    .bereichsseite .sport-retail__feature > div { padding: 20px; }
    .bereichsseite .sport-retail__visit { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 360px) {
    .bereichsseite .area-intro[data-area-panel="sport"] h1 { font-size: 34px; hyphens: manual; overflow-wrap: normal; }
}
@media (max-width: 560px) {
    .bereichsseite .sport-retail__grid { grid-template-columns: 1fr; }
    .bereichsseite .sport-retail__feature > img,
    .bereichsseite .sport-retail__feature > figure img { height: auto; aspect-ratio: 16 / 10; }
    .bereichsseite .sport-retail__feature > div,
    .bereichsseite .sport-retail__essentials { padding: 24px; }
    .bereichsseite .sport-retail__visit .actions { width: 100%; }
    .bereichsseite .sport-retail__visit .button { justify-content: center; width: 100%; }
}
/* Preserve the entire product; remaining white preview margins are intentional, not an action crop. */
.bereichsseite .sport-retail__feature--product > figure img { object-fit: contain; background: #fff; }
.bereichsseite .sport-retail__image-note { margin: 20px 0 0; max-width: 760px; color: var(--muted); font-size: 14px; }

/* Rent overview: equipment stories first, confirmed extras alongside. */
.bereichsseite .rent-overview { position: relative; overflow: hidden; background: linear-gradient(180deg, #f5f7f0 0%, #fff 70%); }
.bereichsseite .rent-overview__heading { max-width: 760px; margin: 0 0 clamp(28px, 4vw, 48px); }
.bereichsseite .rent-overview__heading .area-label { margin-bottom: 18px; }
.bereichsseite .rent-overview__heading h2 { margin-bottom: 14px; }
.bereichsseite .rent-overview__heading .lead { margin: 0; }
.bereichsseite .rent-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(240px, .82fr); gap: clamp(14px, 2vw, 22px); align-items: stretch; }
.bereichsseite .rent-card { min-width: 0; overflow: hidden; border: 1px solid #e3e7dd; border-radius: 24px; background: #fff; box-shadow: 0 14px 40px rgb(24 38 24 / .07); }
.bereichsseite .rent-card figure { margin: 0; height: clamp(190px, 22vw, 290px); overflow: hidden; background: #e5e9df; }
.bereichsseite .rent-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.bereichsseite .rent-card:hover figure img { transform: scale(1.035); }
.bereichsseite .rent-card__copy { padding: clamp(20px, 2.4vw, 30px); }
.bereichsseite .rent-card__eyebrow { display: block; color: #55732d; font-size: 12px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.bereichsseite .rent-card h3, .bereichsseite .rent-extras h3 { margin-top: 8px; font-size: clamp(25px, 2.4vw, 32px); }
.bereichsseite .rent-card p { margin: 10px 0 0; line-height: 1.6; }
/* Dominant green sampled from the original local logo-rent.png; dark text keeps contrast. */
.bereichsseite .rent-extras { padding: clamp(22px, 2.8vw, 34px); border-radius: 24px; background: #80b720; color: var(--ink); box-shadow: 0 14px 40px rgb(24 38 24 / .12); }
.bereichsseite .rent-extras .rent-card__eyebrow { color: var(--ink); }
.bereichsseite .rent-extras h3 { margin-bottom: 20px; }
.bereichsseite .rent-extras ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.bereichsseite .rent-extras li { display: grid; gap: 2px; padding: 13px 0; border-top: 1px solid rgb(22 25 29 / .2); }
.bereichsseite .rent-extras li strong { font-size: 16px; }
.bereichsseite .rent-extras li span { color: var(--ink); font-size: 14px; }
.bereichsseite .rent-overview__next { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: clamp(20px, 3vw, 32px); border: 1px solid #e3e7dd; border-radius: 22px; background: #fff; }
.bereichsseite .rent-overview__next > div { flex: 1 1 0; min-width: 0; max-width: 720px; container-type: inline-size; }
.bereichsseite .rent-overview__next h2 { margin: 9px 0 0; font: 600 clamp(26px, 3.2vw, 42px)/1.08 'Bricolage Grotesque', sans-serif; }
.bereichsseite .rent-overview__next p { margin: 7px 0 0; }
.bereichsseite .rent-overview__next .button { flex: 0 0 auto; }
.bereichsseite .rent-overview__standard { margin: 14px 0 0; font-size: 13px; }
@media (max-width: 920px) {
 .bereichsseite .rent-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .bereichsseite .rent-extras { grid-column: 1 / -1; }
 .bereichsseite .rent-extras ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}
@media (max-width: 560px) {
 .bereichsseite .rent-showcase { grid-template-columns: minmax(0, 1fr); gap: 16px; }
 .bereichsseite .rent-card figure { height: auto; aspect-ratio: 16 / 9; }
 .bereichsseite .rent-card__copy { padding: 22px; }
 .bereichsseite .rent-extras { grid-column: auto; padding: 24px; }
 .bereichsseite .rent-overview__next { align-items: stretch; flex-direction: column; }
 .bereichsseite .rent-overview__next .button { justify-content: center; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .bereichsseite .rent-card figure img { transition: none; }
 .bereichsseite .rent-card:hover figure img { transform: none; }
}

/* The pre-arrival callout follows the published rental prices. */
.bereichsseite .rent-checkin { padding-block: 0 clamp(48px, 6vw, 80px); }
.bereichsseite .rent-checkin .rent-overview__next { margin-top: 0; padding: clamp(26px, 4vw, 48px); background: #f0f5e7; border-color: #dbe6c9; }
.bereichsseite .rent-checkin .rent-card__eyebrow { color: var(--area-accent); }

.bereichsseite .rent-flow { background: #f5f7f0; }
.bereichsseite .rent-flow .public-tariffs { padding-bottom: 28px; }
.bereichsseite .rent-flow .public-tariffs__heading h3 { color: var(--area-accent); }
.bereichsseite .rent-checkin__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; margin: 24px 0 0; padding: 0; list-style: none; }
.bereichsseite .rent-checkin__steps li { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 14px; font-weight: 600; }
.bereichsseite .rent-checkin__steps b { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: var(--area-accent); color: #fff; }
@container (max-width: 620px) { .bereichsseite .rent-checkin__steps { grid-template-columns: minmax(0, 1fr); } }
