/* EROS69 – 404, Regionen- und Stadtseiten (im Stil der Kategorie- und Infoseiten) */
.n69-404 { padding: 48px 0 64px; text-align: center; }
.n69-404-k { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #B91337; }
.n69-404 h1 { margin: 0 0 12px; font-size: clamp(24px, 4vw, 34px); }
.n69-404 > p { max-width: 560px; margin: 0 auto 22px; color: #47413F; line-height: 1.6; }
.n69-404-such { display: flex; gap: 8px; max-width: 480px; margin: 0 auto 18px; }
.n69-404-such input { flex: 1; height: 48px; padding: 0 18px; border: 1px solid #DCD3CF; border-radius: 999px; font: inherit; font-size: 16px; }
.n69-404-such button { height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: #141112; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.n69-404-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 36px; }
.n69-404-links a { padding: 8px 14px; border: 1px solid #DCD3CF; border-radius: 999px; color: #141112; text-decoration: none; font-size: 14px; }
.n69-404-links a:hover { border-color: #141112; }
.n69-404 h2 { margin: 0 0 16px; font-size: 20px; }
.n69-404-grid { text-align: left; }

/* Kopfbox (Regionen + Stadt) */
.rg .n69-wrap, .st .n69-wrap { padding-bottom: 56px; }
.rg-kopf, .st-kopf { margin: 8px 0 34px; padding: 30px 32px; border-radius: 16px; background: #F7F1EE; }
.n69 .rg-kopf h1, .n69 .st-kopf h1 { margin: 0 0 12px; font-size: clamp(24px, 3.4vw, 34px); line-height: 1.2; }
.n69 .rg-kopf p, .n69 .st-kopf p { max-width: 760px; margin: 0 0 10px; color: #47413F; font-size: 16px; line-height: 1.65; }
.rg-vorteile, .st-vorteile { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 16px 0 0; padding: 0; list-style: none; }
.rg-vorteile li, .st-vorteile li { position: relative; padding-left: 22px; font-size: 14px; font-weight: 600; color: #141112; }
.rg-vorteile li::before, .st-vorteile li::before { content: ''; position: absolute; left: 0; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; background: #1F7A3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.n69 .rg-h2, .n69 .st-h2, .n69 h2.rg-h2, .n69 h2.st-h2 { margin: 48px 0 16px; font-size: 22px; line-height: 1.3; }
.n69 .st-grid + .st-h2, .n69 .rg-grid + .rg-h2 { margin-top: 56px; }

/* Staedte als Kacheln */
.rg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.rg-karte { padding: 18px 18px 16px; border: 1px solid #ECE4E0; border-radius: 14px; background: #fff; }
.rg-ort { display: block; color: #141112; font-size: 17px; font-weight: 700; text-decoration: none; }
.rg-ort:hover { color: #B91337; }
.rg-region { display: block; margin-top: 2px; color: #8A8285; font-size: 13px; }
.rg-themen { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.rg-themen a { padding: 4px 10px; border-radius: 999px; background: #F7F1EE; color: #47413F; font-size: 12.5px; text-decoration: none; }
.rg-themen a:hover { background: #141112; color: #fff; }

/* Schaltflaechen-Reihen */
.rg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rg-chips a { padding: 9px 16px; border: 1px solid #DCD3CF; border-radius: 999px; color: #141112; font-size: 14px; text-decoration: none; background: #fff; }
.rg-chips a:hover { border-color: #141112; }

/* Stadtseite */
.st-grid { margin-top: 4px; }
.st-faq { max-width: 860px; border-top: 1px solid #ECE4E0; }
.st-faq details { border-bottom: 1px solid #ECE4E0; }
.st-faq summary { position: relative; padding: 16px 40px 16px 0; font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.st-faq summary::-webkit-details-marker { display: none; }
.st-faq summary::after { content: '+'; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: #8A8285; }
.st-faq details[open] summary::after { content: '–'; }
.st-faq details p { margin: 0 0 18px; color: #47413F; line-height: 1.65; }
@media (max-width: 640px) { .rg-kopf, .st-kopf { padding: 22px 18px; } .rg-grid { grid-template-columns: 1fr 1fr; gap: 10px; } .rg-karte { padding: 14px; } }

/* Produktseite: Lagerbestand */
.pp-info .pp-stock, .pp-stock { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 2px; margin: 14px 0 6px; font-size: 14px; color: #1F7A3A; }
.pp-stock i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(31, 122, 58, .14); }
.pp-stock-t { font-weight: 600; }
.pp-stock-l { flex-basis: 100%; padding-left: 17px; font-size: 13px; color: #6B6466; }
.pp-stock.wenig { color: #B45309; } .pp-stock.wenig i { box-shadow: 0 0 0 4px rgba(180, 83, 9, .14); }
.pp-stock.aus { color: #8A8285; } .pp-stock.aus i { box-shadow: none; }

/* Menue FR/IT: laengere Woerter - einzeilig, etwas enger */
html[lang^="fr"] .s-nav > ul, html[lang^="it"] .s-nav > ul { flex-wrap: nowrap; gap: 2px; }
html[lang^="fr"] .s-nav-a, html[lang^="it"] .s-nav-a { padding: 9px 11px; white-space: nowrap; }
@media (max-width: 1240px) { html[lang^="fr"] .s-nav-a, html[lang^="it"] .s-nav-a { padding: 8px 8px; font-size: 13px; } html[lang^="fr"] .s-nav > ul, html[lang^="it"] .s-nav > ul { padding-left: 12px; padding-right: 12px; } }

/* Regionen + Stadtseiten: gleicher Abstand zum Menue wie Kategorie- und Produktseiten */
.n69.rg > .n69-wrap, .n69.st > .n69-wrap { padding-top: 20px; }
/* Produktseite: Lagerbestand ruhig, im Stil der Preis-Zeilen */
.pp-info .pp-stock, .pp-stock { display: flex; align-items: center; gap: 7px; margin: 10px 0 2px; font-size: 13px; font-weight: 400; color: #3D3739; }
.pp-stock i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #2E7D4F; box-shadow: none; }
.pp-stock b { font-weight: 500; }
.pp-stock.wenig i { background: #C2410C; box-shadow: none; }
.pp-stock.aus { color: #8A8285; } .pp-stock.aus i { background: #B9B1B4; box-shadow: none; }
.pp-stock-t { font-weight: 400; }

/* Handy-Menue: feste Farben (Safari/iPhone faerbt sonst Links und Knoepfe blau) */
.s-drawer, .s-drawer a, .s-dl summary, .s-dl details li a, .s-dl-x > a { color: #141112; -webkit-tap-highlight-color: transparent; }
.s-dl-x > a.s-sale { color: var(--s-red); }
.s-drawer-lang a { color: #47413F; } .s-drawer-lang a.on { color: #fff; }
.s-drawer button, header button { color: #141112; -webkit-appearance: none; appearance: none; }

/* iPhone: kein Auto-Zoom beim Antippen von Eingabefeldern (passiert unter 16px Schrift) */
@media (max-width: 1024px), (pointer: coarse) {
  input, select, textarea, .s-search input { font-size: 16px; }
}
