/**
 * Garagenvereinigung Im Grund Strausberg-Nord e.V.
 * Datei: /assets/css/styles.css
 * Version: 0.7.8
 * Datum: 2026-07-20
 * Zweck: Grundlayout sowie Ergänzungen für Der Verein, Schaukasten, Termine,
 *        Garageninformationen, Dokumente und den Mitglieder-Service.
 **/
:root{--bg:#f6f3ee;--bg-alt:#efeae2;--text:#1f2a24;--muted:#4a5b52;--brand:#2f6f55;--brand-dark:#245742;--brand-soft:rgba(47,111,85,.12);--accent:#d6a94a;--line:rgba(31,42,36,.14);--card:#ffffff;--shadow:0 10px 30px rgba(0,0,0,.10);--radius:16px;--container:1400px}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;padding-top:101px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--container);margin:0 auto;padding:0 18px}
.skip-link{position:absolute;left:-999px;top:10px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.skip-link:focus{left:12px;z-index:9999}
.site-header{background:var(--bg)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.2px;line-height:1.2}
.brand img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0}
.nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.nav__link{padding:8px 10px;border-radius:10px;color:var(--muted)}
.nav__link:hover{background:var(--brand-soft);text-decoration:none;color:var(--text)}
.nav__link--active{background:rgba(47,111,85,.18);color:var(--text)}
.hero{position:relative;min-height:360px;overflow:hidden}
.hero--compact{min-height:220px}
.hero__bg{position:absolute;inset:0;background-image:url("../images/panorama_1600.jpg");background-size:cover;background-position:center;transform:scale(1.02)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,12,.78) 0%,rgba(10,14,12,.62) 28%,rgba(10,14,12,.18) 55%,rgba(10,14,12,0) 75%)}
.hero__inner{position:relative;padding:46px 0 54px}
.hero--compact .hero__inner{padding:28px 0 34px}
.hero__panel{max-width:560px;color:#fff}
.hero--compact .hero__panel{max-width:680px}
.hero__title{margin:0 0 10px;font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.15;letter-spacing:.2px}
.hero__lead{margin:0 0 18px;color:rgba(255,255,255,.9)}
.hero__note{margin:0;font-size:.95rem;color:rgba(255,255,255,.78)}
.main{padding:26px 0 50px}
.section{padding:26px 0}
.section--alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section__title{margin:0 0 14px;font-size:1.35rem;line-height:1.25}
.section__title--spaced{margin-top:22px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h3{margin:0 0 8px;font-size:1.08rem;line-height:1.25}
.card p{margin:0 0 12px;color:var(--muted)}
.bullets{margin:0 0 12px 18px;padding:0;color:var(--muted)}
.bullets li{margin:4px 0}
.textlink{font-weight:700;color:var(--brand)}
.textlink:hover{text-decoration:underline}
.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:16px;align-items:start}
.list{display:grid;gap:12px}
.list__item{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.meta{font-size:.9rem;color:var(--muted)}
.list__title{margin:6px 0;font-size:1.05rem;line-height:1.28}
.list__text{margin:0;color:var(--muted)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.panel__title{margin:0 0 8px;font-size:1.15rem;line-height:1.25}
.panel__subtitle{margin:0 0 6px;font-size:1.05rem;line-height:1.25}
.panel__big{margin:0 0 8px;font-weight:700}
.panel__text{margin:0 0 12px;color:var(--muted)}
.divider{border:none;border-top:1px solid var(--line);margin:14px 0}
.button{display:inline-block;background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;font-weight:700;border:1px solid rgba(0,0,0,0)}
.button:hover{text-decoration:none;filter:brightness(1.04)}
.button--ghost{background:rgba(47,111,85,.10);border-color:rgba(47,111,85,.20);color:var(--brand-dark)}
.button--small{padding:9px 12px;font-weight:700}
.form{display:grid;gap:14px}
.form__row{display:grid;gap:8px}
.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form__grid>.form__row{align-content:start}
.form__label{font-weight:700}
.form__control{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit}
.form__control:focus{outline:2px solid rgba(47,111,85,.25);outline-offset:2px}
.form__control--textarea{resize:vertical;min-height:140px}
.form__check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;color:var(--muted)}
.form__field-dynamic[hidden]{display:none!important}
.form__hint{margin:10px 0 0;color:var(--muted);font-size:.95rem}
.form__hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form__message{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);margin:0 0 16px}
.form__message .meta{margin:0 0 6px}
.form__message .list__title{margin:0 0 10px}
.form__message .bullets{margin:0 0 0 18px}
.form__message--error{background:#fff1f1;border-color:#d9a3a3;box-shadow:0 6px 18px rgba(0,0,0,.06)}.footer{padding:22px 0;background:#101513;color:rgba(255,255,255,.86)}
.form__row:has(.form__control[required])>.form__label::after{content:" *";color:#b42323;font-weight:800}
.form__required{color:#b42323;font-weight:800}
.footer__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer__brand{font-weight:700;margin-bottom:6px}
.footer__small{font-size:.95rem;color:rgba(255,255,255,.68);max-width:640px}
.footer__nav{display:flex;gap:14px;flex-wrap:wrap}
.footer__link{color:rgba(255,255,255,.86)}
.footer__link:hover{text-decoration:underline}
.footer__credit{margin-top:6px;font-size:.92rem;color:rgba(255,255,255,.62);max-width:780px}
.footer__credit a{color:rgba(255,255,255,.9);font-weight:700}
.footer__credit a:hover{text-decoration:underline}.admin__toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.admin__journal-list{display:grid;gap:18px}
.admin__journal-entry{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.admin__entry-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.admin__entry-number{font-size:1.08rem;font-weight:800;line-height:1.25;margin:0 0 6px;color:var(--text)}
.admin__entry-head .meta{font-size:1rem;margin:0 0 8px;color:var(--text);font-weight:600}
.admin__entry-head .list__title{margin:0;font-size:1.22rem;line-height:1.25}
.admin__mail-status{font-weight:800;border-radius:999px;padding:7px 11px;background:var(--brand-soft);white-space:nowrap;font-size:.92rem;line-height:1}
.admin__mail-status--sent{background:#e7f5eb;color:#245742}
.admin__mail-status--failed{background:#fff1f1;color:#8b2323}
.admin__mail-status--skipped{background:#f4ead2;color:#72520d}
.admin__mail-status--pending{background:#edf0f2;color:#3d4850}
.admin__detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
.admin__detail-box,.admin__message-box,.admin__tech-box{background:rgba(246,243,238,.72);border:1px solid var(--line);border-radius:14px;padding:14px}
.admin__detail-box .panel__subtitle,.admin__message-box .panel__subtitle,.admin__tech-box .panel__subtitle{margin:0 0 8px}
.admin__detail-box .panel__text,.admin__message-box .panel__text,.admin__tech-box .panel__text{margin:0}
.admin__info-line{margin:0 0 6px;color:var(--muted)}
.admin__info-line:last-child{margin-bottom:0}
.admin__info-line strong{color:var(--text)}
.admin__message-box{margin:0 0 12px}
.admin__message-box .panel__text{white-space:normal}
.admin__tech-box{font-size:.95rem}
@media (max-width:900px){
.admin__entry-head{grid-template-columns:1fr}
.admin__mail-status{justify-self:start}
.admin__detail-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
body{padding-top:153px}
.grid{grid-template-columns:1fr}
.split{grid-template-columns:1fr}
.form__grid{grid-template-columns:1fr}
.hero{min-height:320px}
.hero--compact{min-height:200px}
.topbar__inner{align-items:flex-start;flex-direction:column}
.nav{justify-content:flex-start}
}
@media (max-width:560px){
.container{padding:0 14px}
.nav{gap:6px}
.nav__link{padding:7px 8px}
.hero__inner{padding:34px 0 42px}
.hero--compact .hero__inner{padding:24px 0 30px}
.main{padding:18px 0 38px}
.section{padding:20px 0}
.card,.panel,.list__item{border-radius:14px}
}
/* Verein & Garagen, Schaukasten und Dokumente */
:focus-visible{outline:3px solid rgba(47,111,85,.45);outline-offset:3px}
.content-block{margin-top:28px;scroll-margin-top:20px}
.content-block>p{color:var(--muted)}
.page-nav{margin:0 0 22px;padding:14px 16px;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:var(--radius)}
.page-nav__title{font-weight:800;margin:0 0 8px}
.page-nav__list{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;margin:0;padding:0}
.page-nav__list a{color:var(--brand);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.fact-grid{margin-top:14px}
.status-note{margin:16px 0 0;padding:14px 16px;border-left:5px solid var(--accent);background:rgba(214,169,74,.13);border-radius:0 12px 12px 0}
.steps{margin:14px 0 0;padding-left:24px;color:var(--muted)}
.steps li{margin:0 0 10px;padding-left:4px}
.table-scroll{max-width:100%;overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.table-scroll:focus{outline:3px solid rgba(47,111,85,.28);outline-offset:3px}
.data-table{width:100%;min-width:650px;border-collapse:collapse}
.data-table caption{text-align:left;padding:14px 16px;font-weight:800;color:var(--text);background:var(--bg-alt);border-bottom:1px solid var(--line)}
.data-table th,.data-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.data-table thead th{background:rgba(47,111,85,.10);color:var(--text)}
.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody th{font-weight:700;color:var(--text)}
.contact-box{margin-top:18px;padding:16px;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:var(--radius)}
.contact-box h3{margin:0 0 10px;font-size:1.05rem}
.contact-box p{margin:0 0 12px;color:var(--muted)}
.contact-box p:last-child{margin-bottom:0}
.download-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.download-link{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--brand-dark);font-weight:700;background:var(--brand-soft)}
.download-link:hover{text-decoration:none;background:rgba(47,111,85,.18)}
.list__item--featured{border-left:5px solid var(--accent)}
.list__item--event{border-left:5px solid var(--brand)}
.event-list{display:grid;gap:18px}
.event-card{scroll-margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.event-card__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;margin:0 0 14px}
.event-card__title{margin:4px 0 8px;font-size:1.2rem;line-height:1.25}
.event-card__meta{margin:0;color:var(--muted)}
.event-card__subtitle{margin:18px 0 8px;font-size:1rem}
.event-date{width:76px;min-height:76px;display:grid;place-content:center;text-align:center;border:1px solid rgba(47,111,85,.25);border-radius:14px;background:var(--brand-soft);color:var(--brand-dark)}
.event-date__day{font-size:1.8rem;font-weight:900;line-height:1}
.event-date__month{margin-top:4px;font-size:.82rem;font-weight:800}
.event-response{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.event-response__fieldset{border:0;margin:0;padding:0}
.event-response__fieldset legend{font-weight:800;margin:0 0 10px;padding:0}
.event-response__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.event-response__button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.event-response__button:hover{background:var(--brand-soft);border-color:rgba(47,111,85,.35)}
.event-response__button--selected{background:rgba(47,111,85,.18);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.event-response__count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-variant-numeric:tabular-nums}
.timeline{position:relative}
@media (max-width:700px){
.page-nav__list{display:grid;gap:7px}
.event-response__buttons{grid-template-columns:1fr}
.event-card__head{grid-template-columns:1fr}
.event-date{width:68px;min-height:68px}
}

/* Der Verein: Kalenderblatt, Garageninformationen und Satzungsfunktionen */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.calendar-sheet{position:relative;display:flex;flex-direction:column;justify-content:center;aspect-ratio:2/3;width:min(100%,190px);margin:14px auto 18px;border:1px solid rgba(31,42,36,.22);border-radius:8px 8px 2px 2px;background:#fffdf8;text-align:center;color:var(--text);box-shadow:0 8px 20px rgba(0,0,0,.12);overflow:hidden}
.calendar-sheet::before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,var(--brand) 0 18px,var(--brand-dark) 18px 36px)}
.calendar-sheet::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:10px;background:radial-gradient(circle at 6px 0,transparent 6px,#fffdf8 6.5px) 0 0/12px 10px repeat-x}
.calendar-sheet__weekday{margin:8px 14px 12px;padding:8px 6px;border-bottom:2px solid var(--brand);font-size:1rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-dark)}
.calendar-sheet__date{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.calendar-sheet__day{font-size:clamp(3.2rem,7vw,4.6rem);font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.calendar-sheet__month{margin-top:5px;font-size:1.55rem;font-weight:900}
.calendar-sheet__year{margin-top:14px;font-size:1rem;font-weight:800;letter-spacing:.14em;color:var(--muted)}
.garage-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.garage-option{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.garage-option--association{border-top:5px solid var(--brand)}
.garage-option--municipal{border-top:5px solid var(--accent)}
.garage-option__label{margin:0 0 8px;font-size:.88rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.garage-option h3{margin:0 0 10px;font-size:1.15rem;line-height:1.25}
.garage-option p{margin:0 0 12px;color:var(--muted)}
.availability-note{margin-top:16px;padding:14px 16px;border-left:5px solid var(--accent);border-radius:0 12px 12px 0;background:rgba(214,169,74,.13)}
.compact-costs{margin:16px 0;border-top:1px solid var(--line)}
.compact-costs>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.compact-costs dt{font-weight:700}
.compact-costs dd{margin:0;text-align:right;white-space:nowrap;color:var(--muted)}
.contact-address{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-style:normal;color:var(--muted)}
.contact-address strong{color:var(--text)}
.association-cost-table{min-width:700px}
.cost-summary{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.62)}
.cost-summary h3{margin:0 0 8px;font-size:1.05rem}
.cost-summary ul{margin:0 0 10px;padding-left:20px;color:var(--muted)}
.cost-summary li{margin:4px 0}
.cost-summary p{margin:0;color:var(--muted)}
.function-group{margin-top:26px}
.function-group__title{margin:0 0 5px;font-size:1.16rem;line-height:1.25}
.function-group__text{margin:0 0 12px;color:var(--muted)}
.function-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.function-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.62)}
.function-card__role{margin:0 0 10px;font-size:1.02rem;line-height:1.3;color:var(--brand-dark)}
.function-card__names{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.function-card__names li{font-size:1.06rem;font-weight:800;color:var(--text)}
.function-card__missing{margin:6px 0 0;color:var(--muted);font-style:italic}
.function-contact-note{margin-top:20px;padding:14px 16px;border-left:5px solid var(--brand);border-radius:0 12px 12px 0;background:var(--brand-soft);color:var(--text)!important}
#stadt-kontakt{scroll-margin-top:20px}
@media (max-width:900px){
.garage-option-grid,.function-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
.calendar-sheet{width:min(100%,170px)}
.compact-costs>div{grid-template-columns:1fr;gap:2px}
.compact-costs dd{text-align:left;white-space:normal}
}


/* Mitglieder-Service, Business-Einträge und Flohmarkt */
.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.service-submit-panel .button{width:100%;text-align:center}
.empty-state{margin-top:18px;padding:20px;border:1px dashed rgba(47,111,85,.38);border-radius:var(--radius);background:rgba(255,255,255,.55)}
.empty-state h2,.empty-state h3{margin:0 0 8px}
.empty-state p{margin:0 0 14px;color:var(--muted)}
.business-grid{display:grid;gap:20px;margin-top:18px}
.business-card{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.business-card__media{display:grid;place-items:center;background:#fff;border-bottom:1px solid var(--line)}
.business-card--logo .business-card__media--logo{float:left;width:112px;min-height:0;margin:18px 18px 10px 18px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}
.business-card__media--logo img{display:block;width:94px;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.business-card--banner .business-card__media--banner{float:none;width:100%;max-width:100%;padding:0;border-bottom:1px solid var(--line)}.business-card__media--banner img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;background:#fff}
.business-card__body{min-width:0;padding:18px}.business-card__body::after{content:"";display:block;clear:both}
.business-card__title,.flea-card__title{margin:10px 0 5px;font-size:1.25rem;line-height:1.25}
.business-card__service{margin:0 0 10px;color:var(--text)}
.business-card__text,.flea-card__text{margin:0 0 14px;color:var(--muted)}
.listing-badges{display:flex;gap:7px;flex-wrap:wrap}
.listing-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:.82rem;font-weight:800;line-height:1.2}
.listing-badge--source{background:rgba(214,169,74,.18);color:#72520d}
.listing-badge--offer{background:#e7f5eb;color:#245742}
.listing-badge--search{background:#edf0f2;color:#3d4850}
.listing-note{margin:14px 0 0;padding:13px 14px;border-left:4px solid var(--brand);border-radius:0 10px 10px 0;background:var(--brand-soft)}
.listing-note--accent{border-left-color:var(--accent);background:rgba(214,169,74,.13)}
.listing-note p{margin:5px 0 0;color:var(--muted)}
.listing-location{margin:14px 0 0;color:var(--muted);font-style:normal;font-weight:700;white-space:normal}
.listing-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.listing-actions button{font:inherit;cursor:pointer}
.listing-phone-revealed{display:inline-flex;gap:7px;flex-wrap:wrap}
.listing-phone-revealed button{font:inherit;cursor:pointer}
.flea-list{display:grid;gap:18px;margin-top:18px}
.flea-card{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.flea-card--with-images{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr)}.flea-card--without-images{display:block}
.flea-card__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:var(--bg-alt);min-height:220px}
.flea-card__image-button{display:block;min-width:0;min-height:0;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.flea-card__image-button img{display:block;width:100%;height:100%;min-height:105px;object-fit:cover;transition:transform .18s ease}.flea-card__image-button:hover img{transform:scale(1.025)}.flea-card__image-button:focus-visible{position:relative;z-index:2;outline:3px solid rgba(47,111,85,.55);outline-offset:-3px}
.flea-card__gallery .flea-card__image-button:first-child:nth-last-child(1){grid-column:1/-1}
.flea-card__gallery .flea-card__image-button:first-child:nth-last-child(3){grid-row:span 2}
.flea-card__body{padding:18px}
.flea-card__price{margin:0 0 10px;font-weight:900;color:var(--brand-dark)}
.flea-card__owner{margin:14px 0 0;color:var(--muted);font-weight:700}
.listing-fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.55)}
.listing-fieldset legend{padding:0 8px;font-weight:900}
.listing-choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;color:var(--muted)}
.listing-choice+ .listing-choice{border-top:1px solid var(--line)}
.listing-choice strong{color:var(--text)}
.form-section{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.5)}
.form-section h3{margin:0;font-size:1.12rem}
.image-specification{padding:13px 14px;border-left:5px solid var(--accent);border-radius:0 10px 10px 0;background:rgba(214,169,74,.13);color:var(--muted)}

.form__business-listing [hidden]{display:none!important}
.business-card--none .business-card__media--placeholder{float:left;width:112px;min-height:0;margin:18px 18px 10px 18px;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:var(--bg-alt);color:var(--muted)}
.business-card__media--placeholder svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.business-card__media--placeholder span{font-size:.78rem;font-weight:800;text-align:center}
.listing-contact-person{margin:12px 0 0;color:var(--muted)}
.listing-actions--member{margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.privacy-note{padding:13px 14px;border-left:5px solid var(--brand);border-radius:0 10px 10px 0;background:var(--brand-soft);color:var(--muted)}
.privacy-note strong{color:var(--text)}
.listing-runtime-note>div{margin:0}
.approval-preview{max-width:1200px}
.approval-preview>h1{margin:7px 0 8px}
.approval-preview>p{color:var(--muted)}
.approval-preview__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px;margin-top:18px}
.approval-preview__content,.approval-preview__images{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.approval-data{margin:0}
.approval-data>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.approval-data>div:last-child{border-bottom:0}
.approval-data dt{font-weight:800}
.approval-data dd{margin:0;color:var(--muted)}
.approval-preview__images{display:grid;gap:12px;align-content:start}
.approval-preview__images figure{margin:0}
.approval-preview__images img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.approval-preview__images figcaption{margin-top:5px;font-size:.9rem;color:var(--muted)}
.approval-action{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.approval-action button{font:inherit;cursor:pointer}
@media (max-width:900px){
.flea-card{grid-template-columns:1fr}
.approval-preview__grid{grid-template-columns:1fr}
}
@media (max-width:620px){
.flea-card__gallery{min-height:180px}
.listing-actions .button{width:100%;text-align:center}
.approval-data>div{grid-template-columns:1fr;gap:2px}
}

/* Mitglieder-Service: dynamische Bereichs- und Kategorienavigation */
.page-nav__list--service{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 20px;align-items:start}
.page-nav__item{min-width:0}
.page-nav__sublist{display:grid;gap:5px;list-style:none;margin:7px 0 0;padding:0 0 0 14px;border-left:2px solid rgba(47,111,85,.22)}
.page-nav__sublist a{font-size:.94rem;font-weight:600}
.listing-section+ .listing-section{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.listing-category-section{scroll-margin-top:120px}
.listing-category-section+ .listing-category-section{margin-top:28px}
.listing-category-section__title{margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:1.12rem;line-height:1.3;color:var(--brand-dark)}
@media (max-width:700px){
.page-nav__list--service{grid-template-columns:1fr}
}



/* Inseratsfreigabe und öffentliche Prüfvorschau */
.approval-public-preview{margin-top:22px}
.approval-public-card{max-width:920px;margin:0 auto}
.approval-decision{margin:22px 0;padding:18px;border:3px solid var(--brand);border-radius:var(--radius);background:var(--brand-soft)}
.approval-decision p{margin:0 0 12px}
.approval-release-button{font-size:1.08rem;padding:12px 18px}
.approval-release-button:disabled{cursor:not-allowed;opacity:.48;filter:none}
.approval-internal-details{margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.approval-action--secondary{padding-top:18px;border-top:1px solid var(--line)}
.approval-preview-actions .button{pointer-events:none}
.approval-blocking-error{margin-top:18px}


/* Mitglieder-Service: fixiertes Sprungmarken-Menü und kompakte Business-Bilder */
.page-service .page-nav{position:sticky;top:113px;z-index:30;max-height:calc(100vh - 129px);overflow:auto;overscroll-behavior:contain;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.10);backdrop-filter:blur(8px)}
.page-service .content-block,.page-service .listing-category-section{scroll-margin-top:210px}
@media (max-width:900px){
.page-service .page-nav{top:165px;max-height:calc(100vh - 181px)}
}
@media (max-width:620px){
.business-card--logo .business-card__media--logo,.business-card--none .business-card__media--placeholder{width:88px;margin:14px 18px 8px 18px;padding:7px}
.business-card__media--logo img{width:72px}
.business-card__media--placeholder svg{width:34px;height:34px}
.business-card__media--placeholder span{font-size:.72rem}
.page-service .content-block,.page-service .listing-category-section{scroll-margin-top:240px}
}

.listing-contact-hint{display:inline-flex;align-items:center;min-height:42px;padding:0 4px;color:var(--muted);font-size:.92rem}
.listing-image-dialog{width:min(96vw,1400px);max-width:1400px;height:min(94vh,1000px);max-height:94vh;margin:auto;padding:0;border:0;border-radius:14px;background:#111;box-shadow:0 18px 60px rgba(0,0,0,.42);overflow:hidden}
.listing-image-dialog::backdrop{background:rgba(0,0,0,.78)}
.listing-image-dialog__figure{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;margin:0}
.listing-image-dialog__image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#111}
.listing-image-dialog__caption{padding:10px 58px 10px 14px;background:#fff;color:var(--text);font-size:.92rem}
.listing-image-dialog__close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.66);color:#fff;font:700 1.35rem/1 system-ui;cursor:pointer}
.listing-image-dialog__close:hover{background:rgba(0,0,0,.85)}
@media (max-width:900px){
.flea-card--with-images{grid-template-columns:1fr}
}
@media (max-width:620px){
.listing-contact-hint{width:100%;min-height:0;padding:2px 0}
.listing-image-dialog{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0}
}
