/* ============================================================
   Dr. Garagozova – Palette Override (Dunkelrot)
   Primary: #a3333d | Secondary: #6b6468 | Accent: #C9A9A6
   Background: #f9f8f7 | Section BG: #f0eeed
   Loads AFTER main.css
   ============================================================ */

:root {
    --v4-bg: #f9f8f7;
    --v4-bg-alt: #f9f8f7;
    --v4-bg-blue: #f9f8f7;
    --v4-text: #2d2a2e;
    --v4-text-muted: #6b6468;
    --v4-blue: #a3333d;
    --v4-blue-dark: #7c2630;
    --v4-blue-light: #c44d56;
    --v4-border: #e2ddd9;
    --v4-accent: #C9A9A6;
}

/* Hero: warm red smoke overlay */
.v4-hero { background: var(--v4-bg); }
.v4-hero::before { filter: saturate(0.8) hue-rotate(-10deg); opacity: 0.3; }

/* Hero image: kleiner + warm tone */
.v4-hero-img { box-shadow: 0 20px 50px rgba(163,51,61,0.12); max-width: 360px; margin: 0 auto; }
@media (max-width: 900px) { .v4-hero-img { max-width: 420px; } }
/* Mobil: Hero-Bild exakt auf Card-Breite (Section- + Container-Padding) */
@media (max-width: 600px) { .v4-hero-img { max-width: calc(100% - 3rem); margin: 0 auto; } }
@media (max-width: 380px) { .v4-hero-img { max-width: calc(100% - 2rem); } }

/* About image: accent for decorative frame + line */
.v4-about-img img { box-shadow: 0 15px 40px rgba(163,51,61,0.10); }
.v4-about-img::before { border-color: var(--v4-accent); }
.v4-about-img::after { background: var(--v4-accent); }
/* Qualification dots: accent */
.v4-quals li::before { background: var(--v4-accent); box-shadow: 0 0 0 3px rgba(201,169,166,0.15); }

/* Header */
.v4-header { background: rgba(249,248,247,0.92); }
.v4-header.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.04); }

/* Nav underline */
.v4-nav a:not(.v4-btn-nav)::after { background: var(--v4-blue); }

/* Button hover shadows */
.v4-btn-primary:hover { box-shadow: 0 4px 16px rgba(163,51,61,0.25); }
.v4-btn-nav:hover { box-shadow: 0 4px 12px rgba(163,51,61,0.2); }

/* Drawer shadow */
.v4-drawer { box-shadow: -4px 0 20px rgba(163,51,61,0.08); }

/* Expandable about */
.v4-about-expandable::after { background: linear-gradient(transparent, var(--v4-bg-alt)); }

/* Stats bar */
.v4-stats::before { background: none; }

/* Step icons: red gradient */
.v4-step-icon {
    background: linear-gradient(135deg, var(--v4-blue) 0%, var(--v4-blue-light) 100%);
    box-shadow: 0 4px 16px rgba(163,51,61,0.2);
}
.v4-steps li:hover .v4-step-icon { box-shadow: 0 6px 20px rgba(163,51,61,0.28); }
.v4-steps li:hover { border-color: rgba(163,51,61,0.18); }

/* Connecting line: accent */
.v4-steps::before { background: linear-gradient(90deg, var(--v4-border), var(--v4-accent), var(--v4-border)); }

/* Service card bottom accent line */
.v4-service-card::after { background: linear-gradient(90deg, var(--v4-accent), rgba(201,169,166,0.3)); }
.v4-service-card:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.05), 0 4px 12px rgba(0,0,0,0.03); border-color: rgba(163,51,61,0.15); }

/* Image grid hover */
.v4-img-grid img:hover { filter: brightness(1.04); }

/* CTA box */
.v4-cta-box { background: var(--v4-bg); }
.v4-cta-box::before { background: radial-gradient(circle, rgba(163,51,61,0.03) 0%, transparent 70%); }

/* Statement: accent background + quote mark + divider */
.v4-statement { background: var(--v4-bg); }
.v4-statement::before { color: var(--v4-accent); }
.v4-statement .v4-container::after { background: var(--v4-accent); }

/* Values: accent borders + icon bg */
.v4-values::before { background: linear-gradient(90deg, transparent, var(--v4-accent), transparent); opacity: 0.3; }
.v4-values::after { background: linear-gradient(90deg, transparent, var(--v4-accent), transparent); opacity: 0.3; }
.v4-value-icon { background: rgba(201,169,166,0.12); color: var(--v4-accent); }
.v4-value-icon svg { stroke: var(--v4-accent); }
.v4-value-item:hover .v4-value-icon { box-shadow: 0 4px 12px rgba(201,169,166,0.2); }

/* CTA full-width section: gleich wie restliche Sektionen */
.v4-cta { background: var(--v4-bg); }
.v4-cta::before { background: none; }
.v4-cta .v4-label { color: var(--v4-blue); }
.v4-cta h2 { color: var(--v4-text); }
.v4-cta p { color: var(--v4-text-muted); }
.v4-cta .v4-btn-primary { background: var(--v4-blue); color: #fff; border-color: var(--v4-blue); }
.v4-cta .v4-btn-primary:hover { background: var(--v4-blue-dark); border-color: var(--v4-blue-dark); color: #fff; }
.v4-cta .v4-btn-outline { border-color: var(--v4-blue); color: var(--v4-blue); }
.v4-cta .v4-btn-outline:hover { background: var(--v4-blue); color: #fff; }

/* Footer: dusty pink mit Rauch-Silhouette */
.v4-footer { background: #f1d0c9; color: var(--v4-text); position: relative; overflow: hidden; }
.v4-footer::before { content: ''; position: absolute; inset: 0; background: url('../static/uploads/footer-smoke-silhouette.webp') center 70%/cover no-repeat; opacity: 0.3; pointer-events: none; z-index: 0; }
.v4-footer > * { position: relative; z-index: 1; }
@media (max-width: 900px) { .v4-footer::before { opacity: 0.1; } }
.v4-footer a { color: var(--v4-text-muted); }
.v4-footer a:hover { color: var(--v4-text); }
.v4-footer-brand h3 { color: var(--v4-text); }
.v4-footer-brand p { color: var(--v4-text-muted); }
.v4-footer-contact { color: var(--v4-text-muted); }
.v4-footer-contact a { color: var(--v4-text-muted); }
.v4-footer-contact a:hover { color: var(--v4-text); }
.v4-footer-bottom { color: var(--v4-text-muted); border-top-color: rgba(0,0,0,0.1); }
.v4-footer-bottom a { color: var(--v4-text-muted); }
.v4-footer-bottom a:hover { color: var(--v4-text); }

/* Footer link hover underlines */
.v4-footer-links a::before { background: rgba(0,0,0,0.3); }

/* Cookie banner */
.cookie-banner { background: rgba(249,248,247,0.98); }

/* Back-to-top */
.back-to-top:hover { box-shadow: 0 6px 20px rgba(163,51,61,0.18); }

/* Testimonial stars: stay golden */
.v4-testimonial-stars { color: #e8a838; }

/* Focus states */
a:focus-visible,
button:focus-visible,
.v4-btn:focus-visible {
    outline-color: var(--v4-blue);
}

/* Service meta badge: subtle accent tint */
.v4-service-meta { background: rgba(201,169,166,0.1); color: var(--v4-blue-dark); }

/* Cert cards — Schrift einheitlich schwarz */
a.v4-cert-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.05); }
.v4-cert-title, a.v4-cert-card .v4-cert-title { color: #000; }
.v4-cert-org { color: #000; }

/* Cert icon: accent tint */
.v4-cert-icon { background: rgba(201,169,166,0.12); }
.v4-cert-icon svg { stroke: var(--v4-accent); }

/* Note/info boxes: accent left border */
.v4-note { border-left-color: var(--v4-accent); background: rgba(201,169,166,0.08); }

/* Stats numbers: accent color */
.v4-stats-item strong { color: var(--v4-accent); }

/* Hero italic accent — Dunkelrot */
.v4-hero h1 em { color: var(--v4-blue); }
