/*
Theme Name: VENTRADA Corporate Finance
Theme URI: https://www.ventrada.de
Author: VENTRADA · Mathias Nebel
Author URI: https://www.ventrada.de
Description: Maßgeschneidertes WordPress-Theme für die Corporate-Finance-/M&A-Boutique VENTRADA (Mathias Nebel, Jena). Umgesetzt aus dem Claude-Design-Entwurf „VENTRADA Startseite". Designsprache: tiefes Marineblau (Navy) mit dezentem Messing-Akzent, Source Serif 4 für Headlines + Public Sans für Fließtext, Private-Banking-Anmutung, barrierefrei (WCAG AA), Mobile-First.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ventrada
*/

/* ============================================================
   Design-Tokens (zentralisiert – aus dem Entwurf übernommen)
   ============================================================ */
:root{
  --vt-navy:#0F2C4C; --vt-navy-deep:#0A2240; --vt-ink:#16263A;
  --vt-brass:#B08A4F; --vt-brass-light:#C8A45E;
  --vt-paper:#FAFAF8; --vt-line:#EAEDF1;
  --vt-img-radius:18px; --vt-img-saturate:0.92; --vt-img-contrast:1.02;
}

/* ============================================================
   Basis
   ============================================================ */
html{ scroll-behavior:smooth; }
body{ margin:0; background:#ffffff; color:var(--vt-ink);
  font-family:'Public Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
*,*::before,*::after{ box-sizing:border-box; }
img{ max-width:100%; }
::selection{ background:#0F2C4C; color:#fff; }

/* Sichtbare Fokus-Ringe für Tastaturnavigation (WCAG) */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--vt-brass); outline-offset:3px; border-radius:5px;
}

/* Scroll-Reveal-Ausgangszustand – nur bei aktivem JS, damit Inhalte ohne
   JavaScript niemals dauerhaft unsichtbar bleiben. JS hebt ihn beim Sichtbar-
   werden über die Klasse .vt-revealed wieder auf. */
.vt-js [data-reveal]{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.vt-js [data-reveal].vt-revealed{ opacity:1; transform:none; }

/* Reduced-Motion: keine Animationen, alles sofort sichtbar */
@media (prefers-reduced-motion: reduce){
  .vt-js [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

/* ============================================================
   Interaktive Zustände (ersetzen die DC-Attribute style-hover / style-focus).
   !important, weil sie Inline-Styles überschreiben müssen – gleiche Strategie
   wie die Responsive-Regeln des Original-Entwurfs.
   ============================================================ */

/* Desktop-Navigation */
.vt-navlink:hover{ color:var(--vt-navy) !important; }
.vt-navlink.is-active{ color:var(--vt-navy) !important; font-weight:600 !important; }
.vt-navlink.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px;
  height:2px; background:var(--vt-brass); border-radius:2px;
}
.vt-nav-cta:hover{ border-color:var(--vt-navy) !important; background:var(--vt-navy) !important; color:#ffffff !important; }
/* Aktiver Zustand des „Käufer & Investoren"-Buttons: dezenter Messing-Rahmen
   (statt voll gefüllt – signalisiert „hier bist du", ohne mit dem gefüllten
   Kontakt-Button zu konkurrieren). */
.vt-nav-cta.is-active{ border-color:var(--vt-brass) !important; color:var(--vt-navy) !important; }
/* Mobile-Menü: aktiver Punkt */
.vt-mobilelink.is-active{ color:var(--vt-navy) !important; font-weight:600 !important; }

/* Schlichter Textlink mit Navy-Hover (Breadcrumb etc.) */
.vt-link-navy:hover{ color:var(--vt-navy) !important; }

/* Buttons */
.vt-btn-primary:hover{ background:var(--vt-navy-deep) !important; }
.vt-btn-primary.vt-lift:hover{ transform:translateY(-2px) !important; }
.vt-btn-secondary:hover{ border-color:var(--vt-navy) !important; }
.vt-btn-brass:hover{ background:#D4B374 !important; }

/* Pfeil-/Text-Links */
.vt-link-arrow:hover{ color:var(--vt-brass) !important; }

/* Referenz-Karten */
.vt-ref-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 26px 50px -34px rgba(15,44,76,0.35) !important;
  border-color:#DFD8C8 !important;
}

/* Karussell */
.vt-net-arrow:not(:disabled):hover{ border-color:var(--vt-brass-light) !important; }
/* Helle Pfeil-Variante (Käufer-Seite: weißer Button auf weißem Grund) */
.vt-net-arrow--light:not(:disabled):hover{ border-color:var(--vt-navy) !important; color:var(--vt-navy) !important; }
.vt-net-cta:hover{ background:#ffffff !important; color:var(--vt-navy-deep) !important; }

/* Kontaktformular: Eingaben */
.vt-input:focus{ border-color:var(--vt-navy) !important; box-shadow:0 0 0 3px rgba(15,44,76,0.12) !important; }
.vt-input.is-error{ border-color:#C0492F !important; }

/* Footer */
.vt-foot-link:hover{ color:#ffffff !important; }
.vt-social:hover{ border-color:var(--vt-brass) !important; color:#ffffff !important; }

/* ============================================================
   Inhaltsseiten (Impressum, Datenschutz, …) – the_content()-Ausgabe
   ============================================================ */
.vt-prose{ font-size:15.5px; line-height:1.75; color:#3A4759; }
.vt-prose > :first-child{ margin-top:0; }
.vt-prose h2{ font-family:'Source Serif 4', Georgia, serif; font-weight:600; font-size:23px; color:var(--vt-navy); letter-spacing:-0.01em; margin:40px 0 12px; }
.vt-prose h3{ font-family:'Source Serif 4', Georgia, serif; font-weight:600; font-size:18px; color:var(--vt-navy); margin:28px 0 8px; }
.vt-prose p{ margin:0 0 16px; }
.vt-prose a{ color:var(--vt-navy); text-decoration:underline; text-underline-offset:2px; }
.vt-prose a:hover{ color:var(--vt-brass); }
.vt-prose ul, .vt-prose ol{ margin:0 0 18px; padding-left:22px; }
.vt-prose li{ margin:0 0 8px; }
.vt-prose strong{ color:var(--vt-ink); }
.vt-prose hr{ border:none; border-top:1px solid var(--vt-line); margin:32px 0; }
.vt-prose table{ border-collapse:collapse; margin:0 0 18px; }
.vt-prose td{ padding:3px 18px 3px 0; vertical-align:top; }

/* ============================================================
   Responsive (Breakpoints aus dem Entwurf – !important überschreibt Inline-Styles)
   ============================================================ */
@media (max-width:1000px){
  .v-pad{ padding-left:28px !important; padding-right:28px !important; }
  .v-hero{ grid-template-columns:1fr !important; gap:44px !important; }
  .v-services{ grid-template-columns:1fr !important; gap:44px !important; }
  .v-paths{ grid-template-columns:1fr !important; }
  .v-types{ grid-template-columns:1fr !important; gap:36px !important; }
}
@media (max-width:920px){
  .v-desktop{ display:none !important; }
  .v-toggle{ display:inline-flex !important; }
  .v-2col{ grid-template-columns:1fr !important; }
  .v-about{ grid-template-columns:1fr !important; }
  .v-block{ grid-template-columns:1fr !important; }
  .v-block .vt-imgslot, .v-block img{ order:-1; }
  .v-typegrid{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:760px){
  .v-4col{ grid-template-columns:1fr 1fr !important; }
  .v-trust{ grid-template-columns:1fr 1fr !important; row-gap:34px !important; }
  .v-3col{ grid-template-columns:1fr !important; row-gap:30px !important; }
  .v-stepper{ grid-template-columns:repeat(2,1fr) !important; row-gap:34px !important; }
  .v-stepline{ display:none !important; }
  .v-trust5{ grid-template-columns:1fr 1fr !important; row-gap:34px !important; }
  .v-trust4{ grid-template-columns:1fr 1fr !important; row-gap:34px !important; }
}
@media (max-width:560px){
  .v-4col{ grid-template-columns:1fr !important; }
  .v-trust{ grid-template-columns:1fr !important; }
  .v-pad{ padding-left:20px !important; padding-right:20px !important; }
  .v-row-sm{ flex-direction:column !important; align-items:stretch !important; }
  .v-hero-cta{ flex-direction:column !important; align-items:stretch !important; }
  .v-trust5{ grid-template-columns:1fr !important; }
  .v-trust4{ grid-template-columns:1fr !important; }
  .v-typegrid{ grid-template-columns:1fr !important; }
}

/* Kontaktsektion */
@media (max-width:900px){
  .vc-2col{ grid-template-columns:1fr !important; gap:40px !important; }
  .vc-pad{ padding-left:24px !important; padding-right:24px !important; }
}
@media (max-width:560px){ .vc-row2{ grid-template-columns:1fr !important; } }

/* Footer */
@media (max-width:900px){
  .vf-grid{ grid-template-columns:1fr 1fr !important; gap:36px !important; }
  .vf-pad{ padding-left:24px !important; padding-right:24px !important; }
}
@media (max-width:560px){
  .vf-grid{ grid-template-columns:1fr !important; }
  .vf-bottom{ flex-direction:column !important; align-items:flex-start !important; }
}
