/*
Theme Name:   Das Taxi in Bonn (GeneratePress Child)
Theme URI:    https://www.example-taxi-bonn.de/
Description:  Child-Theme für GeneratePress mit den Design-Tokens „Das Taxi in Bonn“ (Dunkelgrau/Schwarz + Taxigelb), Mobile-First, ohne Webfonts.
Author:       Taxi Fatteh GmbH
Template:     generatepress
Version:      0.3.0
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  taxi-bonn-child
*/

/* Tokens liegen in assets/tokens.css (wird vor dieser Datei geladen). Hier nur GeneratePress-Anpassungen. */
body{background:var(--c-bg);color:var(--c-text);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--c-accent)}a:hover,a:focus{color:var(--c-accent-hover)}
.site-header,.main-navigation,.main-navigation ul ul{background:var(--c-bg)}
.site-header{border-bottom:1px solid var(--c-border)}
.main-navigation .main-nav ul li a,.menu-toggle{color:var(--c-text);min-height:48px}
.main-navigation .main-nav ul li[class*="current-menu-"]>a,.main-navigation .main-nav ul li a:hover{color:var(--c-accent)}
.separate-containers .inside-article,.one-container .container,.inside-article,.sidebar .widget,.site-content{background:transparent;color:var(--c-text)}
h1,h2,h3,h4{color:var(--c-text);letter-spacing:-.02em;line-height:1.15}
h1{font-size:clamp(2.25rem,6vw + 1rem,4rem);font-weight:800}
h1 .accent,.tb-accent{color:var(--c-accent)}
.site-footer,.site-info{background:#0B0C0D;color:var(--c-muted);border-top:1px solid var(--c-border)}
.site-info a{color:var(--c-text)}
input,select,textarea{background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:var(--r-sm,8px);min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--c-accent);outline:none;box-shadow:0 0 0 3px rgba(255,194,14,.25)}
button,.button,.wp-block-button__link,input[type=submit]{background:var(--c-accent);color:var(--c-on-accent);border-radius:12px;font-weight:700;min-height:48px}
button:hover,.button:hover,.wp-block-button__link:hover,input[type=submit]:hover{background:var(--c-accent-hover);color:var(--c-on-accent)}
:focus-visible{outline:3px solid var(--c-accent-hover);outline-offset:2px}
.tb-hero{padding:12px 0 24px}
.tb-hero>.wp-block-columns{gap:24px;margin:0}
@media (min-width:1024px){.tb-hero{padding:32px 0}.tb-hero>.wp-block-columns{gap:48px;align-items:flex-start}.tb-hero>.wp-block-columns>.wp-block-column:last-child{flex:0 0 560px}}
.tb-hero .lead{color:var(--c-muted);font-size:1.0625rem;margin:0}
/* Sticky Buchen-Leiste (mobil) – Markup im Pattern „Hero“ */
.tb-bbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(17,18,20,.96);border-top:1px solid var(--c-border)}
.tb-bbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font-weight:700;text-decoration:none}
.tb-bbar .p{background:var(--c-accent);color:var(--c-on-accent)}.tb-bbar .s{border:2px solid var(--c-accent);color:var(--c-text)}
@media (min-width:768px){.tb-bbar{display:none}}
@media (max-width:767px){body{padding-bottom:72px}}

/* ---------- GeneratePress Globalfarben auf Marken-Tokens umstellen ---------- */
:root{--contrast:#F5F5F2;--contrast-2:#A8ADB5;--contrast-3:#6B717B;--base:#26292E;--base-2:#111214;--base-3:#1C1E22;--accent:#FFC20E}
.site,.site-content,.separate-containers .inside-article,.separate-containers .site-main>*,.one-container .container{background:transparent}
.separate-containers .inside-article{padding:0 16px}
@media (min-width:1024px){.separate-containers .inside-article{padding:0 40px}}
.site-content{padding-top:0}
.separate-containers .site-main{margin:0}
.entry-content .wp-block-group__inner-container{padding:0}
.tb-cards>.wp-block-column>.tb-calc{background:none;border:0;padding:0;border-radius:0}
.separate-containers .inside-article{margin:0}
.inside-header{padding:12px 16px}
.site-header .site-logo{flex-shrink:0}
.site-header .header-image{height:40px;width:auto;max-width:none;display:block}
@media (max-width:400px){.site-header .header-image{height:34px}}
.main-navigation .menu-toggle{background:var(--c-surface-2);border-radius:8px;color:var(--c-text);padding:0 16px}
.main-navigation.toggled .main-nav ul ul{background:var(--c-surface)}
.main-navigation .main-nav ul li a{font-weight:600}
.entry-content>*:first-child{margin-top:0}
.inside-article .entry-content{margin-top:0}
.site-info{padding:24px 16px 32px}
.site-info .inside-site-info{display:block;text-align:center;font-size:.875rem;line-height:1.6}
.tb-foot,.tb-foot-links{display:block}.tb-foot-links{margin-top:4px}
.copyright-bar{width:100%}

/* ---------- Inhaltsbausteine (Block-Markup der Seiten) ---------- */
.entry-content h2{font-size:clamp(1.5rem,3vw + .5rem,2.25rem);font-weight:800;margin:0 0 12px}
.entry-content h3{font-size:1.125rem;font-weight:700;margin:0 0 6px}
.entry-content p,.entry-content li{color:var(--c-text)}
.tb-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--c-muted);margin:0 0 8px!important}
.tb-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-success)}
.tb-hero h1{margin:0 0 8px}
.tb-hero .wp-block-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.tb-hero .wp-block-list li{padding-left:28px;position:relative;font-weight:600}
.tb-hero .wp-block-list li::before{content:"✓";position:absolute;left:0;color:var(--c-accent);font-weight:800}
.tb-sec{padding:32px 0;border-top:1px solid var(--c-border)}
.tb-sec .tb-muted,.tb-muted{color:var(--c-muted)!important}
.tb-cards{gap:12px!important;margin:16px 0 0!important}
.tb-cards>.wp-block-column{background:var(--c-surface);border:1px solid var(--c-border);border-radius:16px;padding:16px;margin:0!important}
.tb-cards p{margin:0;color:var(--c-muted)}
.tb-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0!important;margin:16px 0 0!important}
.tb-trust li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;padding:12px;font-size:.875rem;font-weight:600}
@media (min-width:768px){.tb-trust{grid-template-columns:repeat(4,minmax(0,1fr))}}
.wp-block-table.tb-routes table,.wp-block-table.tb-tariff table{width:100%;border-collapse:collapse;background:var(--c-surface);border-radius:12px;overflow:hidden}
.wp-block-table.tb-routes td,.wp-block-table.tb-routes th,.wp-block-table.tb-tariff td,.wp-block-table.tb-tariff th{border:0;border-bottom:1px solid var(--c-border);padding:12px;text-align:left;color:var(--c-text)}
.wp-block-table.tb-routes th,.wp-block-table.tb-tariff th{font-size:.8125rem;color:var(--c-muted);font-weight:600}
.wp-block-table.tb-routes td:not(:first-child),.wp-block-table.tb-routes th:not(:first-child),.wp-block-table.tb-tariff td:last-child,.wp-block-table.tb-tariff th:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.wp-block-table.tb-routes td:nth-child(2){color:var(--c-accent);font-weight:800}
.wp-block-table.tb-routes figcaption,.wp-block-table.tb-tariff figcaption{color:var(--c-muted);font-size:.8125rem;text-align:left}
.wp-block-table{margin:16px 0 0}
.wp-block-details{background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;padding:14px 16px;margin:8px 0 0}
.wp-block-details summary{font-weight:700;cursor:pointer;min-height:24px}
.wp-block-details p{color:var(--c-muted);margin:8px 0 0}
.tb-calc{background:var(--c-surface);border:1px solid var(--c-border);border-radius:16px;padding:16px;margin:0!important}
.tb-calc p{display:flex;justify-content:space-between;margin:0;padding:4px 0;color:var(--c-muted)}
.tb-calc p.tb-sum{color:var(--c-accent);font-weight:800;font-size:1.25rem;border-top:1px dashed var(--c-border);margin-top:6px;padding-top:10px}
.tb-contact-list{list-style:none;padding:0!important;margin:16px 0 0!important;display:grid;gap:8px}
.tb-contact-list li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;padding:14px 16px}
.tb-contact-list strong{display:block}
.wp-block-buttons .wp-block-button__link{min-height:56px;display:inline-flex;align-items:center;padding:0 24px}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--c-accent);color:var(--c-text)}
.tb-ph-notice{border:2px dashed var(--c-accent);border-radius:12px;padding:16px;background:rgba(255,194,14,.08);font-weight:700;color:var(--c-accent)!important}
.tb-ph-block{outline:1px dashed var(--c-accent);outline-offset:4px;border-radius:4px}
.tb-crumbs{font-size:.8125rem;color:var(--c-muted)}
.tb-page-hero{padding:24px 0 8px}
.tb-page-hero h1{margin:4px 0 8px}
.tb-page-hero h1 em,.tb-hero h1 em{font-style:normal;color:var(--c-accent)}
.tb-mapbox{border-radius:12px;overflow:hidden;border:1px solid var(--c-border)}
#buchen{scroll-margin-top:16px}
.entry-content .tb-widget h2.tb-title{font-size:1.25rem;margin:0 0 16px}
@media (min-width:1024px){.entry-content .tb-widget h2.tb-title{font-size:1.125rem;margin-bottom:12px}}
.entry-content .tb-widget fieldset{margin:0 0 16px}
