/*
Theme Name: Praxis Augenarzt Ochsenhausen
Theme URI: https://www.augenarzt-ochsenhausen.de/
Author: Augenarztpraxis Dr. Hörmann & Dr. Pietschmann
Description: Individuelles, schlankes Theme auf Grundlage der freigegebenen Praxis-Website-Entwürfe.
Version: 1.0.39
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: praxis-augenarzt-ochsenhausen
*/

/* Die freigegebenen Seitenstile sind bewusst direkt in den jeweiligen
   Seitentemplates enthalten, damit die visuelle Abnahme exakt erhalten bleibt. */

:root {
    --praxis-admin-offset: 0px;
}

/* Vorläufige Mood- und medizinische Beispielbilder. */
.praxis-example-image {
    display: block;
    margin: 0;
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    background: #dcecf3;
}

.praxis-example-image::before,
.praxis-example-image::after {
    display: none !important;
}

.praxis-example-image > img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.praxis-example-image.image-position-top > img {
    object-position: center 20%;
}

.praxis-example-image > figcaption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 2;
    max-width: calc(100% - 20px);
    padding: 6px 9px;
    border-radius: 4px;
    background: rgba(22, 42, 57, .82);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .01em;
    text-align: right;
}

body.admin-bar {
    --praxis-admin-offset: 32px;
}

.site-header {
    position: sticky !important;
    top: var(--praxis-admin-offset) !important;
    width: 100%;
    transition: height .2s ease, box-shadow .2s ease;
}

body.praxis-header-compact .site-header {
    height: 66px;
    box-shadow: 0 8px 24px rgba(36, 55, 70, .09);
}

.site-header .brand-eye,
.site-header .brand strong,
.site-header .brand small,
.site-header .button {
    transition: width .2s ease, height .2s ease, font-size .2s ease, min-height .2s ease, padding .2s ease;
}

body.praxis-header-compact .site-header .brand-eye {
    width: 34px;
    height: 21px;
}

body.praxis-header-compact .site-header .brand strong {
    font-size: 15px;
}

body.praxis-header-compact .site-header .brand small {
    font-size: 7px;
}

body.praxis-header-compact .site-header > .button,
body.praxis-header-compact .site-header > .header-cta {
    min-height: 40px;
    padding-left: 18px;
    padding-right: 18px;
}

.site-header.menu-open nav {
    top: 100% !important;
}

[id] {
    scroll-margin-top: calc(var(--praxis-admin-offset) + 92px);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 3px solid var(--cyan, #25b9d3);
    outline-offset: 3px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --praxis-admin-offset: 46px;
    }
}

/* Bis 600 px scrollt die WordPress-Adminleiste aus dem sichtbaren Bereich.
   Der Sticky Header darf dann keinen dauerhaften Abstand reservieren. */
@media (max-width: 600px) {
    body.admin-bar {
        --praxis-admin-offset: 0px;
    }
}

@media (max-width: 760px) {
    body.praxis-header-compact .site-header {
        height: 62px;
    }

    body.praxis-header-compact .site-header .brand-eye {
        width: 29px;
        height: 18px;
    }

    body.praxis-header-compact .site-header .brand strong {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-header .brand-eye,
    .site-header .brand strong,
    .site-header .brand small,
    .site-header .button {
        transition: none;
    }
}

/* Freigegebene Wortmarke, 21.10.2026. Farben und übrige Seitenstile unverändert. */
.site-header .wordmark{flex-shrink:0;gap:0}
.praxis-fallback-header .wordmark small{display:block;font-size:11px;font-weight:400;color:#617487;line-height:1.45;margin-top:5px}
.wordmark-title{display:block;color:var(--blue,#1266b1);font-size:24px;font-weight:400;letter-spacing:-.025em;line-height:1.18;white-space:nowrap}
.wordmark-title b{font-weight:700}
.site-header .wordmark small{font-size:11px;font-weight:400;color:var(--muted,#617487);letter-spacing:0;line-height:1.45;margin-top:5px;white-space:nowrap}
body.praxis-header-compact .site-header .wordmark-title{font-size:22px}
body.praxis-header-compact .site-header .wordmark small{font-size:11px}
.footer-brand{min-width:0}
.footer-brand .wordmark-title{font-size:22px;font-weight:400;color:#fff;white-space:normal;margin:0}
.footer-brand .wordmark-doctors{font-size:13px;font-weight:400;line-height:1.5;margin-top:7px}
@media(max-width:1100px){
 .site-header.wordmark-legal-header,body.praxis-header-compact .site-header.wordmark-legal-header{height:auto;min-height:70px;padding-top:12px;padding-bottom:12px;gap:12px;flex-wrap:wrap}
 .wordmark-legal-header .brand{flex-basis:100%}
 .wordmark-legal-header > .button{margin-left:auto}
 .site-header:not(.wordmark-legal-header) nav{display:none}
 .site-header .menu-button{display:block}
 .site-header:not(.wordmark-legal-header).menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 22px;flex-direction:column;gap:14px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(36,55,70,.08)}
}
@media(min-width:1101px){.site-header .menu-button{display:none}}
@media(max-width:760px){
 .site-header:not(.wordmark-legal-header) > .button{display:none}
 .site-header .wordmark-title{font-size:19px}
 .site-header .wordmark small{font-size:10.5px;margin-top:4px}
 body.praxis-header-compact .site-header .wordmark-title{font-size:18px}
 body.praxis-header-compact .site-header .wordmark small{font-size:10.5px}
 .site-header.wordmark-legal-header,body.praxis-header-compact .site-header.wordmark-legal-header{height:auto;min-height:70px;padding-top:12px;padding-bottom:12px;gap:12px;flex-wrap:wrap}
 .wordmark-legal-header .brand{flex-basis:100%}
 .wordmark-legal-header > .button{margin-left:auto}
}

/* Einheitliche Terminwahl – freigegebene Vorschau V2. */
.praxis-booking-section{background:#fff;color:#243746;padding:80px 32px}.praxis-booking-heading{max-width:850px;margin:0 auto 48px;text-align:center}.praxis-booking-heading h2{font-size:clamp(32px,4.5vw,52px);line-height:1.12;letter-spacing:-.03em;margin:12px 0 22px;color:#243746}.praxis-booking-heading>p:not(.eyebrow){font-size:18px;line-height:1.7;color:#617487}.praxis-booking-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;max-width:1050px;margin:auto}.praxis-booking-card{border:1px solid #DCE8EE;padding:42px;border-radius:8px;position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;color:#243746}.praxis-booking-card.featured{background:#EFF8FB;border-color:#bde4ee}.praxis-booking-number{position:absolute;right:30px;top:22px;font-size:38px;color:#566b7d;line-height:1}.praxis-booking-card>.eyebrow{font-size:11px;letter-spacing:.1em;color:#1266B1;font-weight:800;margin:0 0 10px}.praxis-booking-card h3{font-size:29px;line-height:1.2;margin:0 0 18px;color:#243746;letter-spacing:-.02em}.praxis-booking-card>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#617487;min-height:82px;margin:0 0 18px}.praxis-booking-card>.button,.praxis-booking-card>.outline-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;font-size:14px;line-height:1.5;font-weight:700;padding:12px 20px;margin-top:14px;max-width:100%;text-align:center;border-radius:4px;text-decoration:none}.praxis-booking-card>.button{color:#fff;background:#1266B1;border:1px solid #1266B1}.praxis-booking-card>.outline-button{color:#1266B1;background:#fff;border:1px solid #1266B1}.praxis-booking-note{margin:18px 0 22px;color:#617487;font-size:14px;line-height:1.65}.praxis-booking-note p{margin:0 0 10px}.praxis-booking-note a{font-size:13px;font-weight:400;color:#1266B1;text-decoration:none}.praxis-booking-note a:hover{text-decoration:underline}.praxis-booking-phone{min-height:74px;margin-top:auto;padding-top:13px;border-top:1px solid #DCE8EE;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.praxis-booking-card>.button+.praxis-booking-phone{margin-top:auto}.praxis-booking-phone span{display:block;color:#617487;font-size:11px;line-height:1.4}.praxis-booking-phone-link{display:inline-flex;align-items:center;min-height:30px;margin-top:3px;color:#617487;font-size:16px;font-weight:700;text-decoration:none}.praxis-booking-extras{max-width:1050px;margin:30px auto 0;padding-top:24px;border-top:1px solid #DCE8EE}.praxis-acute-button{display:inline-flex;padding:9px 15px;border:1px solid #1266B1;border-radius:4px;color:#1266B1;font-size:13px;line-height:1.5;font-weight:600;text-decoration:none}.praxis-booking-extras p{font-size:13px;line-height:1.8;margin:18px 0 0}.praxis-booking-extras p a{color:#1266B1;text-decoration:underline;text-underline-offset:3px}.praxis-booking-extras span{padding:0 5px}.praxis-booking-section a:focus-visible{outline:3px solid #25B9D3;outline-offset:4px}.praxis-booking-card p,.praxis-booking-card a{overflow-wrap:anywhere}
.gkv-info-section{max-width:1112px;margin:0 auto;padding:58px 32px;scroll-margin-top:100px}.gkv-info-section h2{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:12px 0 18px}.gkv-intro{font-size:19px;color:#617487}.gkv-key{padding:24px;background:#EFF8FB;border-left:4px solid #1266B1;margin:25px 0}.gkv-key strong{font-size:20px;line-height:1.4}.gkv-key p{margin-bottom:0}.gkv-faq h3{font-size:21px;margin:28px 0 10px}.gkv-faq p{color:#617487}.gkv-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.gkv-info-section a{max-width:100%;text-align:center}
@media(max-width:980px){.praxis-booking-grid{grid-template-columns:1fr}.praxis-booking-card>p:not(.eyebrow){min-height:0}.praxis-booking-phone{margin-top:18px}.praxis-booking-card>.button+.praxis-booking-phone{margin-top:18px}.praxis-booking-note{margin-bottom:0}}
@media(max-width:700px){.praxis-booking-section{padding:54px 22px}.praxis-booking-heading{margin-bottom:32px}.praxis-booking-card{padding:32px 25px}.gkv-info-section{padding:36px 22px}.gkv-key{padding:18px}.gkv-key strong{font-size:18px}}
