/*
Theme Name: PP CarTechnik WordPress
Theme URI: https://ppcartechnik.de/
Author: PP CarTechnik
Description: WordPress-Umsetzung der bestehenden PP-CarTechnik-Website.
Version: 1.5.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pp-car-technik
*/

html { scroll-behavior: smooth; }
body { margin: 0; }

/*
 * Oxanium is bundled locally under the SIL Open Font License 1.1.
 * No request is sent to Google Fonts or another font provider.
 */
@font-face {
    font-family: "PPCT Oxanium";
    src: url("assets/fonts/Oxanium-VariableFont_wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}
:root {
    --ppct-font-body: Inter, Aptos, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --ppct-font-display: "PPCT Oxanium", "Arial Narrow", "Helvetica Neue Condensed", "Segoe UI", Arial, sans-serif;
}
body,
button,
input,
select,
textarea {
    font-family: var(--ppct-font-body);
    font-kerning: normal;
    font-optical-sizing: auto;
}
:where(h1, h2, h3, .visual-copy, .brand-wordmark, .brand-name-label) {
    font-family: var(--ppct-font-display);
    font-weight: 750;
    text-wrap: balance;
}
:where(h1, h2, .visual-copy) {
    letter-spacing: -.045em;
}
:where(.hero-text, .section-heading > p, .rich-copy p, .legal-copy p, .service-explanation) {
    text-wrap: pretty;
}
:where(nav a, .button, .header-action, .eyebrow, .tags span, .footer-grid strong) {
    font-family: var(--ppct-font-display);
    font-weight: 650;
    letter-spacing: .065em;
}
.request-label-short { display: none; }
.footer-hours-title { display: block; margin-top: 1.2rem; }
.footer-hours { margin-top: .35rem; }
.opening-hours-band {
    color: #fff;
    background: #181818;
    border-top: 2px solid #f75511;
    padding: 64px 0;
}
.opening-hours-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 64px;
}
.opening-hours-inner h2 { font-size: clamp(34px, 4vw, 56px); }
.opening-hours-inner > p {
    margin: 0;
    color: #d0d0d0;
    font-size: 17px;
    line-height: 1.8;
}

/* Partner marks support the content without visually overpowering services. */
.partner-logo-card {
    min-height: 76px;
    opacity: .86;
    transition: opacity .2s ease, filter .2s ease, transform .2s ease;
}
.partner-logo-card:hover {
    opacity: 1;
    filter: none;
    transform: translateY(-2px);
}
.partner-detail-card { min-height: 320px; }
.partner-detail-logo { height: 96px; }

body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (min-width: 901px) and (max-width: 1220px) {
    .request-label-full { display: none; }
    .request-label-short { display: inline; }
}
@media (max-width: 620px) {
    :where(h1, h2, h3, .visual-copy) {
        hyphens: auto;
        overflow-wrap: break-word;
        word-break: normal;
        text-wrap: pretty;
    }
    :where(h1, h2, .visual-copy) {
        letter-spacing: -.025em;
        line-height: 1;
    }
    .mobile-menu-actions { grid-template-columns: 1fr !important; }
    .mobile-menu-actions .header-action { font-size: 11px; }
    .partner-logo-card { min-height: 68px; }
    .opening-hours-band { padding: 48px 0; }
    .opening-hours-inner { grid-template-columns: 1fr; gap: 22px; }
}
.ppct-fallback { max-width: 1100px; margin: 4rem auto; padding: 0 1.25rem; }
.ppct-fallback h1 { font-size: clamp(2rem, 6vw, 4rem); margin-bottom: 1rem; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; overflow: visible; white-space: normal; }
.skip-link:focus { position: fixed; z-index: 100000; top: 10px; left: 10px; padding: .8rem 1rem; background: #fff; color: #101010; border: 3px solid #f75511; font-weight: 800; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #1a73e8; outline-offset: 3px; }
.desktop-nav a[aria-current="page"], .mobile-menu-panel nav a[aria-current="page"] { color: #fff; background: #ffffff18; box-shadow: inset 0 -2px #f75511; }

/* Visual editor content is rendered without an additional theme wrapper. */
.ppct-editable-empty { min-height: 20rem; }

/* Versteckte technische Formularfelder niemals anzeigen. */
.request-form input[type="hidden"] { display: none !important; }
