/* Content pages inherit the approved landing page. Do not replace its design. */
:root { --surface-2:rgba(166,233,46,.04); }
[hidden] { display:none!important; }
html { scroll-padding-top:100px; }
:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
main:focus { outline:none; }
.skip-link { position:fixed; z-index:300; top:8px; left:16px; max-width:calc(100% - 32px); padding:12px 18px; background:var(--text); color:var(--bg); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.main-nav a[aria-current] { color:var(--lime); text-decoration:none; }
html:not(.menu-ready) .home-page .reveal { opacity:1; transform:none; }
.inner-page { overflow-wrap:anywhere; }
.content-page { padding:130px 0 64px; min-height:70vh; }
.content-page h2 { margin:28px 0 16px; }
.content-page h3 { margin:20px 0 12px; }
.content-page p { margin-bottom:16px; }
.content-page ul,.content-page ol { padding-left:24px; }
.content-page li { margin-bottom:8px; }
.content-page a { color:var(--lime); text-underline-offset:4px; }
.content-page .seo-links { padding-left:0; }
.content-page .seo-crumbs { margin-bottom:28px; }
.content-hero { position:relative; padding:12px 0 24px; margin-bottom:20px; }
.content-hero .section-kicker { margin-bottom:16px; }
.content-hero h1 { max-width:22ch; margin:0 0 24px; }
.content-page .seo-source,.content-page .seo-note { color:var(--muted); font-size:.875rem; }
.content-page .seo-facts { color:var(--muted); padding-left:0; }
.content-page section { margin-block:24px; }
.tariff-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0; align-items:start; }
.tariff-grid .seo-tariff { margin:0; min-width:0; }
.content-page .seo-tariff h2 { margin-top:0; }
.tariff-price-summary strong { font-size:1.45rem; color:var(--lime); }
.tariff-price-summary span { color:var(--muted); }
.tariff-price-summary p { padding-bottom:14px; border-bottom:1px solid rgba(147,169,184,.14); }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; text-align:center; max-width:100%; }
.page-actions { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin:20px 0; }
.page-actions>a:not(.button) { padding-block:12px; }
.content-page label { font-weight:600; }
.content-page input::placeholder { opacity:1; }
.content-page button { cursor:pointer; }
.content-page button:disabled { cursor:default; opacity:.55; }
.directory-tabs a[aria-selected=true] { color:var(--text); }
.app-callout { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin:40px 0; }
.app-callout strong { font:600 1.4rem var(--font-display); }
.app-callout p { color:var(--muted); margin:8px 0 0; }
.page-toc,.content-details,.city-directory-list { margin:24px 0; }
.content-page summary { cursor:pointer; }
.content-page summary::marker { color:var(--lime); }
.page-toc a { display:inline-block; padding:8px 0; }
.page-toc ol { margin-bottom:16px; }
.table-label { display:none; }
.station-route { display:block; width:fit-content; padding:8px 0; min-height:44px; }
.buying-helper h2 { margin-top:0; }
.buying-helper label { color:var(--text); }
.buying-helper select { width:100%; }
.seo-cards a { text-decoration:none; }
.seo-cards a h2 { color:var(--text); }
.seo-cards a:after { content:'Weiterlesen →'; color:var(--cyan); font-weight:600; }
.seo-article { max-width:780px; }
.legal-page { max-width:none; }
.legal-page h1 { font-size:clamp(2rem,4vw,3rem); }
.legal-page .container { max-width:800px; }
@media(max-width:1023px) {
 .header-inner { flex-wrap:wrap; }
 .nav-toggle { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
 .main-nav { position:static; order:3; flex:1 0 100%; display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:12px; border:1px solid var(--panel-border); border-radius:18px; background:var(--bg-soft); opacity:1; visibility:visible; transform:none; pointer-events:auto; }
 .main-nav a { padding:10px 14px; }
 .main-nav .nav-cta { align-self:flex-start; padding:10px 22px; }
 .menu-ready .main-nav:not(.menu-open) { display:none; }
 .menu-ready .nav-toggle { display:flex!important; }
 html:not(.menu-ready) .site-header { position:relative; background:var(--bg); }
 html:not(.menu-ready) .hero { padding-top:48px; }
 html:not(.menu-ready) .content-page { padding-top:32px; }
 .tariff-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
 .content-page { padding-top:106px; }
 .content-hero h1 { max-width:100%; }
 .content-hero { padding:8px 0 16px; margin-bottom:24px; }
 .content-page .seo-crumbs { margin-bottom:20px; }
 .tariff-price-summary strong { font-size:1.3rem; }
 .seo-table .table-label { display:block; }
}

.home-page .station-note { color:var(--muted); opacity:1; }

/* Navigation and link lists use the landing page's unadorned link style. */
.content-page a { text-decoration:none; }
.content-page a:hover { color:var(--text); }
.content-page p a:not(.button) { font-weight:700; text-decoration:none; }
.buying-actions button[type=reset] { text-decoration:none; }
.city-directory-list { padding:0; border:0; background:none; }
.city-directory-list>h2 { margin-top:32px; }
.city-links a { text-decoration:none; }
.city-links a:hover,.city-links a:focus-visible { background:var(--panel); color:var(--lime); }

.content-page .seo-cards a:after,.content-page .directory-chunk>summary,.content-page .directory-fallback-title { color:var(--lime); }

/* Presentation comes from the original homepage rules in style.css. */
.content-page input,.content-page select { max-width:100%; }
.content-page select { font-weight:400; }
.content-page .button,.content-page .product-card-button { justify-content:center; max-width:100%; text-align:center; line-height:normal; white-space:normal; }
.content-page .button-secondary,.content-page .directory-page-buttons button,.content-page .buying-actions button[type=reset],.content-page .directory-tabs a { color:var(--text); }
.content-page .button-secondary:hover,.content-page .directory-page-buttons button:hover:not(:disabled),.content-page .directory-tabs a:hover { border-color:var(--lime); }
.content-page .directory-tabs a[aria-selected=true] { border-color:var(--lime); color:var(--lime); }
.content-page .city-alphabet a { padding:0; border-radius:999px; }
.content-page .directory-enhanced .directory-chunk { padding:0; background:none; border:0; }
.content-page .app-callout { text-align:left; }
.content-page .page-toc>summary,.content-page .content-details>summary,.content-page .directory-chunk>summary { padding:0; }
.content-page .seo-cards { padding-left:0; }
.content-page .seo-cards a { color:var(--text); }
.content-page .seo-cards a:hover { border-color:var(--lime); }
.content-page .directory-search-row { align-items:stretch; }
@media(max-width:720px) {
 .content-page .directory-search button { justify-content:center; }
}

.content-page h1,.content-page h3 { font-family:var(--font-display); }
.content-page small a { font-weight:700; }
@media(max-width:720px) {
 .seo-table tbody tr { padding:16px; border:1px solid var(--panel-border); border-radius:var(--radius); background:var(--panel); }
}

.content-page .directory-page-buttons button,.content-page .buying-actions button[type=reset] { font-family:inherit; }
