/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* =========================================================
   Viguroux - eigene Anpassungen (aus Customizer uebernommen)
   ========================================================= */

/* Viguroux: Untermenue Hover/Aktiv in Logo-Rot */
.fusion-main-menu .sub-menu li > a:hover,
.fusion-main-menu .sub-menu li.current-menu-item > a,
.fusion-main-menu .sub-menu li.current-menu-ancestor > a,
.fusion-mobile-nav-holder li > a:hover,
.fusion-mobile-nav-holder li.current-menu-item > a { color:var(--awb-custom_color_1) !important; }

/* Viguroux: Menue zwischen 890 und 1099px enger, damit es neben dem Logo Platz hat (Burger ab 889px) */
@media (min-width:890px) and (max-width:1099px){.fusion-main-menu > ul > li{padding-right:20px !important}.fusion-main-menu > ul > li > a{font-size:15px !important}}

/* Viguroux: Startseite Intro "Was ist Recht & Strategie" - Fliesstext halbfett wie Originalseite */
.vg-intro .fusion-text p{font-weight:400;font-size:17px;line-height:1.75;color:var(--awb-custom_color_3);margin:0}

/* Viguroux: Beitragsseite - Beitragsbild klein links, Text daneben */
.single-post article .fusion-post-slideshow{float:left;width:340px;max-width:40%;margin:0 40px 20px 0}
.single-post article .fusion-meta-info,.single-post article .fusion-sharing-box{clear:both}
@media (max-width:800px){.single-post article .fusion-post-slideshow{float:none;width:260px;max-width:70%;margin:0 0 25px 0}}

/* Startseite – Beitragsvorschau: Titel unter dem grossen Bild (JS in functions.php) */
.vg-bt__stage { width: min(100%, calc((100vh - 270px) * .75)); cursor: pointer; }
.vg-bt__cap { display: block; margin-top: 18px; max-width: min(100%, calc((100vh - 270px) * .75)); font-size: 22px; line-height: 1.3; font-weight: 600; color: var(--awb-custom_color_3); text-decoration: none; transition: color .2s ease; }
.vg-bt__cap:hover, .vg-bt__cap:focus { color: var(--awb-custom_color_1); }

/* Kategorie-Archiv Fachbeiträge – Kacheln (Layout "Archiv Fachbeiträge", Post Card "Kachel Fachbeitrag") */
.vg-card .fusion-imageframe { display: block; overflow: hidden; aspect-ratio: 3 / 4; background: var(--awb-custom_color_3); }
.vg-card .fusion-imageframe img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.vg-card:hover .fusion-imageframe img { transform: scale(1.03); }
.vg-card__title a { color: var(--awb-custom_color_3); transition: color .2s ease; }
.vg-card:hover .vg-card__title a, .vg-card__title a:hover, .vg-card__title a:focus { color: var(--awb-custom_color_1); }
@media (max-width: 640px) { .vg-card__title .fusion-title-heading { font-size: 16px !important; } }

/* Einzelbeitrag – Sticky-Cover (Layout "Beitrag Einzelansicht") */
.fusion-layout-column.vg-single__cover { position: sticky; top: 150px; align-self: flex-start; }
.admin-bar .fusion-layout-column.vg-single__cover { top: 182px; }
.vg-single__img, .vg-single__img .fusion-imageframe { display: block; }
.vg-single__img img { display: block; width: auto; max-width: 100%; max-height: calc(100vh - 200px); box-shadow: 0 24px 50px -20px rgba(0,0,0,.45); }
.vg-single__meta, .vg-single__meta a { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--awb-custom_color_6); }
.vg-single__meta a, .fusion-meta-tb.vg-single__meta a { color: var(--awb-custom_color_1); }
.fusion-meta-tb.vg-single__meta { border: 0 !important; padding: 0 !important; min-height: 0 !important; }
.vg-single__content { max-width: 720px; }
.vg-single__content p, .vg-single__content li { font-size: 17px; line-height: 1.75; color: var(--awb-custom_color_4); }
.vg-single__content p { margin: 0 0 1.2em; }
.vg-single__content > p:first-child, .vg-single__content > p:first-child strong { font-size: 21px; line-height: 1.5; color: var(--awb-custom_color_1); }
.vg-single__content > p:first-child { margin-bottom: 1.6em; }
.vg-single__content h2, .vg-single__content h3 { margin: 1.8em 0 .6em; color: var(--awb-custom_color_3); }
.vg-single__nav, .fusion-pagination-tb.vg-single__nav { border-color: var(--awb-custom_color_7) !important; }
.vg-single__nav { max-width: 720px; margin-top: 50px; padding-top: 24px; border-top: 1px solid var(--awb-custom_color_7); }
.vg-single__nav a { color: var(--awb-custom_color_3); }
.vg-single__nav a:hover { color: var(--awb-custom_color_1); }
@media (max-width: 640px) {
  .fusion-layout-column.vg-single__cover, .admin-bar .fusion-layout-column.vg-single__cover { position: relative; top: 0; }
  .vg-single__img img { max-height: none; max-width: 75%; }
  .vg-single__title .fusion-title-heading { font-size: 32px !important; }
  .vg-single__content p, .vg-single__content li { font-size: 16px; }
  .vg-single__content > p:first-child, .vg-single__content > p:first-child strong { font-size: 18px; }
}

/* Swiss Style – Einstieg Startseite [vg_swiss] (Positionen in % des Hintergrundbilds 16:9) */
.vg-swiss { --vg-swiss-red: var(--awb-custom_color_2); position: relative; width: 100%; background: var(--awb-custom_color_8); }
.vg-swiss__stage { position: relative; width: 100%; aspect-ratio: 16 / 9; background: var(--awb-custom_color_8) var(--vg-swiss-bg, none) center / cover no-repeat; overflow: hidden; }
.vg-swiss__head { position: absolute; left: 10%; top: 19%; z-index: 2; }
.home #main { padding-top: 0; }
.vg-swiss .vg-swiss__title { margin: 0; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 700; font-size: 9.6vw; line-height: .92; letter-spacing: -.035em; color: var(--awb-custom_color_3); }
.vg-swiss .vg-swiss__sub { margin: 3vw 0 0; max-width: 22em; font-size: clamp(16px, 1.3vw, 28px); line-height: 1.3; font-weight: 500; color: var(--awb-custom_color_3); }
.vg-swiss__cols { position: absolute; left: 78.5%; top: 39.5%; bottom: 39.5%; z-index: 2; display: flex; gap: 1.5vw; align-items: stretch; }
.vg-swiss__cols > * { margin: 0; height: 100%; writing-mode: vertical-rl; transform: rotate(180deg); color: var(--awb-color1); }
.vg-swiss .vg-swiss__t3 { font-size: clamp(14px, 1.35vw, 30px); line-height: 1.15; font-weight: 700; color: var(--awb-color1); letter-spacing: -.01em; }
.vg-swiss .vg-swiss__t4, .vg-swiss .vg-swiss__t5 { font-size: clamp(10px, .72vw, 15px); line-height: 1.3; font-weight: 600; color: var(--awb-color1); }
@media (max-width: 899px) {
  .vg-swiss__stage { aspect-ratio: auto; background: none; overflow: visible; }
  .vg-swiss__stage::before { content: ""; display: block; aspect-ratio: 16 / 9; background: var(--awb-custom_color_8) var(--vg-swiss-bg, none) center / cover no-repeat; }
  .vg-swiss__head, .vg-swiss__cols { position: static; }
  .vg-swiss__head { padding: 36px 20px 40px; background: var(--awb-color1); }
  .vg-swiss .vg-swiss__title { font-size: clamp(44px, 13vw, 90px); }
  .vg-swiss .vg-swiss__sub { margin-top: 18px; font-size: 18px; }
  .vg-swiss__cols { display: block; padding: 36px 20px 40px; background: var(--vg-swiss-red); }
  .vg-swiss__cols > * { height: auto; writing-mode: horizontal-tb; transform: none; }
  .vg-swiss .vg-swiss__t3 { font-size: 26px; margin-bottom: 14px; }
  .vg-swiss .vg-swiss__t4, .vg-swiss .vg-swiss__t5 { font-size: 16px; line-height: 1.5; font-weight: 500; margin-bottom: 10px; }
}

/* Grosses Wort mit rotem Punkt (z. B. „Kontakt●“) – Titel-Element mit CSS-Klasse vg-bigword; der Punkt kommt automatisch per CSS */
.vg-bigword .fusion-title-heading { font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.04em; color: var(--awb-custom_color_3); }
.vg-bigword .fusion-title-heading::after { content: ""; display: inline-block; width: .36em; height: .36em; margin-left: .08em; border-radius: 50%; background: var(--awb-custom_color_2); vertical-align: top; transform: translateY(.02em); }
.vg-dot { display: none; }

/* Formen – Quadrat · Dreieck · Dreiviertel-Ring [vg_formen] (Farbe aus Palette) */
.vg-formen { display: block; width: 100%; max-width: 560px; height: auto; color: var(--awb-custom_color_1); }
.vg-formen-col .fusion-column-wrapper { justify-content: flex-end; }

/* Menüpunkte ohne eigene Seite (Klasse vg-no-link) */
.vg-no-link > a, .vg-sitemap a[href="#"] { cursor: default; }
.vg-sitemap a[href="#"] { pointer-events: none; }

/* Grosses Wort: Punkt bleibt immer rechts neben dem Wort (Grösse passt JS in functions.php an) */
.vg-bigword .fusion-title-heading { white-space: nowrap; }

/* Überschriften in schmalen Spalten (z. B. 5-Spalten-Intro): lange Wörter trennen statt überlappen.
   Trennstelle selbst setzen mit &shy; (z. B. Grundstück&shy;gewinn&shy;steuer); ohne &shy; wird notfalls am Spaltenrand umbrochen. */
.vg-intro .fusion-title-heading, .vg-intro h2, .vg-intro h3 { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }
.vg-intro .vg-bigword .fusion-title-heading { hyphens: manual; overflow-wrap: normal; }
.vg-intro .fusion-text h2, .vg-intro .fusion-text h3 { font-size: clamp(22px, 1.6vw, 30px); line-height: 1.15; margin: 0 0 .8em; color: var(--awb-custom_color_3); }

/* Grid-Abschnitt [vg_grid] – Texte in den Rasterfeldern des 16:9-Hintergrundbilds (Masse in % / cqw der Bildbreite) */
.vg-grid { width: 100%; }
.vg-grid__stage { position: relative; width: 100%; aspect-ratio: 16 / 9; container-type: inline-size; background: var(--awb-color1) var(--vg-grid-bg, none) center / cover no-repeat; overflow: hidden; }
.vg-grid__stage > * { position: absolute; margin: 0 !important; padding: 0; }
.vg-grid .vg-grid__title { left: 8.15%; top: 18.6%; width: 63.68%; white-space: nowrap; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 400; font-size: 8cqw; line-height: 1; letter-spacing: -.02em; text-transform: uppercase; color: var(--awb-custom_color_1); }
.vg-grid .vg-grid__sub { left: 8.15%; top: 47.4%; width: 30.5%; font-size: 1.5cqw; line-height: 1.22; font-weight: 700; color: var(--awb-custom_color_3); }
.vg-grid .vg-grid__t1, .vg-grid .vg-grid__t2 { top: 47.4%; width: 14.3%; font-size: clamp(11px, .82cqw, 17px); line-height: 1.38; font-weight: 400; color: var(--awb-custom_color_4); }
.vg-grid .vg-grid__t1 { left: 57.2%; }
.vg-grid .vg-grid__t2 { left: 73.45%; }
@media (max-width: 1099px) {
  .vg-grid__stage { aspect-ratio: auto; background: none; overflow: visible; container-type: normal; padding: 0 20px 50px; }
  .vg-grid__stage::before { content: ""; display: block; margin: 0 -20px 30px; aspect-ratio: 16 / 9; background: var(--vg-grid-bg, none) center / cover no-repeat; }
  .vg-grid__stage > * { position: static; width: auto !important; }
  .vg-grid .vg-grid__title { font-size: clamp(30px, 6.4vw, 60px); margin-bottom: 20px !important; }
  .vg-grid .vg-grid__sub { font-size: 20px; margin-bottom: 20px !important; }
  .vg-grid .vg-grid__t1, .vg-grid .vg-grid__t2 { font-size: 16px; line-height: 1.6; margin-bottom: 14px !important; max-width: 640px; }
}

/* Diagonal – Typo-Abschnitt [vg_diagonal] (Masse in Design-Pixeln einer 1520er-Fläche, --u skaliert mit der Breite) */
.vg-diag { width: 100%; container-type: inline-size; overflow: hidden; }
.vg-diag__canvas { --u: calc(100cqw / 1520); position: relative; width: 100%; height: calc(var(--u) * 800); }
.vg-diag__canvas > * { position: absolute; margin: 0 !important; padding: 0; font-family: Inter, Arial, Helvetica, sans-serif; }
.vg-diag .vg-diag__w1, .vg-diag .vg-diag__w2 { white-space: nowrap; font-weight: 800; font-size: calc(var(--u) * 104); line-height: 1; letter-spacing: -.03em; transform-origin: 0 100%; }
/* Wort 1 und Untertitel sind am Ende (Ecke beim roten Wort) verankert – funktionieren so mit unterschiedlich langen Texten */
.vg-diag .vg-diag__w1 { right: calc(var(--u) * 582); bottom: calc(var(--u) * 242); color: var(--awb-custom_color_3); transform-origin: 100% 100%; transform: rotate(30deg); }
.vg-diag .vg-diag__w2 { left: calc(var(--u) * 1160); bottom: calc(var(--u) * 170); color: var(--awb-custom_color_1); transform: rotate(-60deg); }
.vg-diag .vg-diag__sub { right: calc(var(--u) * 330); top: calc(var(--u) * 726); width: max-content; max-width: calc(var(--u) * 1320); white-space: normal; font-weight: 700; font-size: calc(var(--u) * 21); line-height: 1.2; color: var(--awb-custom_color_1); transform-origin: 100% 0; transform: rotate(30deg); }
.vg-diag .vg-diag__t1 { left: calc(var(--u) * 1048); bottom: calc(var(--u) * 200); width: calc(var(--u) * 470); font-weight: 700; font-size: calc(var(--u) * 21); line-height: 1.2; color: var(--awb-custom_color_3); transform-origin: 0 100%; transform: rotate(-60deg); }
.vg-diag .vg-diag__t2 { left: calc(var(--u) * 1193); top: calc(var(--u) * 602); width: calc(var(--u) * 230); font-weight: 400; font-size: calc(var(--u) * 14.5); line-height: 1.3; color: var(--awb-custom_color_4); transform-origin: 0 0; transform: rotate(-60deg); }
@media (max-width: 899px) {
  .vg-diag__canvas { height: auto; padding: 50px 20px; }
  .vg-diag__canvas > * { position: static; transform: none !important; width: auto !important; white-space: normal !important; }
  .vg-diag .vg-diag__w1, .vg-diag .vg-diag__w2 { font-size: clamp(36px, 10vw, 64px); }
  .vg-diag .vg-diag__w1 { margin-bottom: 12px !important; }
  .vg-diag .vg-diag__sub { font-size: 19px; margin-bottom: 26px !important; }
  .vg-diag .vg-diag__t1 { font-size: 17px; line-height: 1.45; margin-bottom: 36px !important; }
  .vg-diag .vg-diag__w2 { margin-bottom: 12px !important; }
  .vg-diag .vg-diag__t2 { font-size: 16px; line-height: 1.6; }
}

/* Überblick – Typo-Abschnitt [vg_ueberblick] (Masse in Design-Pixeln einer 1809er-Fläche, --u skaliert mit der Breite) */
.vg-ov { width: 100%; container-type: inline-size; overflow: hidden; background: var(--awb-custom_color_8); }
/* grauer Hintergrund läuft über die volle Fensterbreite, Inhalt bleibt in der Seitenbreite */
.fusion-fullwidth.vg-ov-wrap { background-color: var(--awb-custom_color_8) !important; box-shadow: 0 0 0 100vmax var(--awb-custom_color_8) !important; clip-path: inset(0 -100vmax); }
.post-content > .fusion-fullwidth.vg-ov-wrap:first-of-type { margin-top: -60px !important; }
.vg-ov__canvas { --u: calc(100cqw / 1809); position: relative; width: 100%; height: calc(var(--u) * 1040); }
.vg-ov__canvas > * { position: absolute; margin: 0 !important; padding: 0; font-family: Inter, Arial, Helvetica, sans-serif; }
.vg-ov .vg-ov__w1 { left: calc(var(--u) * 735); top: calc(var(--u) * 90); width: calc(var(--u) * 760); font-weight: 800; font-size: calc(var(--u) * 118); line-height: 1; letter-spacing: -.035em; color: var(--awb-custom_color_3); white-space: nowrap; }
.vg-ov .vg-ov__w2 { left: calc(var(--u) * 728); top: calc(var(--u) * 270); width: calc(var(--u) * 770); font-weight: 800; font-size: calc(var(--u) * 330); line-height: 1; letter-spacing: -.04em; color: var(--awb-custom_color_3); white-space: nowrap; }
.vg-ov__box { left: calc(var(--u) * 738); top: calc(var(--u) * 640); width: calc(var(--u) * 300); height: calc(var(--u) * 300); background: var(--awb-custom_color_1); }
.vg-ov .vg-ov__label { display: block; margin: 0; padding: calc(var(--u) * 12) calc(var(--u) * 15); font-weight: 700; font-size: calc(var(--u) * 30); line-height: 1.1; color: var(--awb-color1); }
.vg-ov__texts { left: calc(var(--u) * 1068); top: calc(var(--u) * 634); width: calc(var(--u) * 420); }
.vg-ov .vg-ov__texts p { margin: 0 0 1.1em !important; font-size: calc(var(--u) * 17); line-height: 1.3; font-weight: 500; color: var(--awb-custom_color_4); }
@media (max-width: 1099px) {
  .vg-ov__canvas { height: auto; padding: 40px 20px 50px; }
  .vg-ov__canvas > * { position: static; }
  .vg-ov .vg-ov__w1, .vg-ov .vg-ov__w2 { width: auto; }
  .vg-ov .vg-ov__w1 { font-size: clamp(30px, 8vw, 60px); margin-bottom: 6px !important; }
  .vg-ov .vg-ov__w2 { font-size: clamp(80px, 26vw, 200px); margin-bottom: 24px !important; }
  .vg-ov__box { width: min(100%, 300px); height: auto; aspect-ratio: 1 / 1; margin-bottom: 26px !important; }
  .vg-ov .vg-ov__label { padding: 12px 15px; font-size: 24px; }
  .vg-ov__texts { width: auto; max-width: 640px; }
  .vg-ov .vg-ov__texts p { font-size: 16px; line-height: 1.6; }
}

/* Minimal – ein Wort zentriert mit viel Weissraum (Titel-Element mit CSS-Klasse vg-minimal) */
.fusion-fullwidth.vg-minimal-wrap { padding-top: clamp(90px, 19vw, 400px) !important; padding-bottom: clamp(90px, 19vw, 400px) !important; }
.vg-minimal .fusion-title-heading { font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 400 !important; font-size: clamp(40px, 6.6vw, 150px) !important; line-height: 1.1 !important; letter-spacing: -.025em; color: var(--awb-custom_color_3); text-align: center; }

/* Wort-Block [vg_wort] – roter Block, grosses weisses Wort, auslaufende Striche (Position per JS in functions.php) */
.fusion-fullwidth.vg-word-wrap { background-color: var(--awb-custom_color_1) !important; box-shadow: 0 0 0 100vmax var(--awb-custom_color_1) !important; clip-path: inset(0 -100vmax); }
.post-content > .fusion-fullwidth.vg-word-wrap:first-of-type { margin-top: -60px !important; }
.vg-word { position: relative; width: 100%; aspect-ratio: 16 / 9; container-type: inline-size; background: var(--awb-custom_color_1); color: var(--awb-color1); overflow: hidden; }
.vg-word__head { position: absolute; left: 6%; right: 6%; top: 31%; }
.vg-word .vg-word__title { margin: 0 !important; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 700; font-size: 17cqw; line-height: 1; letter-spacing: -.01em; white-space: nowrap; color: var(--awb-color1); }
.vg-word__base { display: inline-block; width: 0; height: 0; vertical-align: baseline; }
.vg-word .vg-word__label { margin: 0 0 .9cqw !important; font-size: clamp(12px, 1cqw, 18px); line-height: 1.2; font-weight: 500; color: var(--awb-color1); }
.vg-word--s1-oben .vg-word__label { padding-left: var(--vg-word-stem, 0); }
.vg-word .vg-word__text { position: absolute; left: 41%; top: 9%; width: 17%; margin: 0 !important; font-size: clamp(12px, 1.05cqw, 18px); line-height: 1.32; font-weight: 500; color: var(--awb-color1); }
.vg-word__line { position: absolute; display: none; background: var(--awb-color1); pointer-events: none; }
@media (max-width: 899px) {
  .vg-word { aspect-ratio: auto; display: flex; flex-direction: column; padding: 48px 20px 56px; }
  .vg-word__line[data-dir="unten"] { display: none !important; } /* Text steht mobil unter dem Wort – Strich nach unten würde hineinlaufen */
  .vg-word__head, .vg-word .vg-word__text { position: relative; left: auto; right: auto; top: auto; width: auto; }
  .vg-word__head { order: 1; margin-top: 70px; }
  .vg-word .vg-word__text { order: 2; margin-top: 30px !important; font-size: 16px; line-height: 1.55; max-width: 520px; }
  .vg-word .vg-word__label { font-size: 14px; margin-bottom: 8px !important; }
}

/* Rechtstexte (Datenschutz, Impressum) – Textblock mit CSS-Klasse vg-legal */
#main .fusion-text.vg-legal { max-width: 780px; color: var(--awb-custom_color_4); }
#main .fusion-text.vg-legal h1 { margin: 0 0 1em; font-size: clamp(36px, 4.2vw, 64px); line-height: 1.05; font-weight: 700; letter-spacing: -.02em; color: var(--awb-custom_color_3); }
#main .fusion-text.vg-legal h2 { margin: 2.2em 0 .7em; font-size: clamp(21px, 1.6vw, 26px); line-height: 1.25; font-weight: 700; color: var(--awb-custom_color_3); }
#main .fusion-text.vg-legal h3 { margin: 1.8em 0 .5em; font-size: clamp(17px, 1.2vw, 19px); line-height: 1.3; font-weight: 700; color: var(--awb-custom_color_3); }
#main .fusion-text.vg-legal p, #main .fusion-text.vg-legal li { font-size: 16px; line-height: 1.65; }
#main .fusion-text.vg-legal p { margin: 0 0 1em; }
#main .fusion-text.vg-legal ul { margin: 0 0 1.2em; padding-left: 1.2em; }
#main .fusion-text.vg-legal li { margin-bottom: .35em; }
#main .fusion-text.vg-legal li::marker { color: var(--awb-custom_color_1); }
#main .fusion-text.vg-legal a { color: var(--awb-custom_color_1); }
#main .fusion-text.vg-legal a:hover { text-decoration: underline; }
#main .fusion-text.vg-legal .vg-legal__adr { padding-left: 14px; border-left: 3px solid var(--awb-custom_color_1); }
#main .fusion-text.vg-legal .vg-legal__stand { margin-top: 2.5em !important; font-weight: 600; }
#main .fusion-text.vg-legal .vg-legal__fn { font-size: 14px !important; color: var(--awb-custom_color_6); border-top: 1px solid var(--awb-custom_color_7); padding-top: 1em; }

/* CTA Kontakt – roter Block mit weissem Button (globales Library-Element "CTA Kontakt", Container-Klasse vg-cta-wrap) */
.fusion-fullwidth.vg-cta-wrap { background-color: var(--awb-custom_color_1) !important; box-shadow: 0 0 0 100vmax var(--awb-custom_color_1) !important; clip-path: inset(0 -100vmax); padding-top: clamp(70px, 8vw, 140px) !important; padding-bottom: clamp(70px, 8vw, 140px) !important; }
#main .vg-cta__title .fusion-title-heading { margin: 0; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 700 !important; font-size: clamp(28px, 3.92vw, 67.2px) !important; line-height: 1.02 !important; letter-spacing: -.03em; color: var(--awb-color1) !important; }
#main .fusion-text.vg-cta__text p { margin: 0; font-size: clamp(16px, 1.2vw, 20px); line-height: 1.5; color: var(--awb-color1); max-width: 34em; }
#main .vg-cta__btn { display: inline-flex; align-items: center; gap: .6em; padding: 1em 1.7em; background: var(--awb-color1); color: var(--awb-custom_color_1) !important; font-weight: 700; font-size: clamp(15px, 1.1vw, 18px); line-height: 1; text-decoration: none !important; border: 2px solid var(--awb-color1); transition: background .2s ease, color .2s ease; }
#main .vg-cta__btn::after { content: "→"; transition: transform .2s ease; }
#main .vg-cta__btn:hover, #main .vg-cta__btn:focus-visible { background: transparent; color: var(--awb-color1) !important; }
#main .vg-cta__btn:hover::after { transform: translateX(4px); }
/* Button unten rechts, bündig mit der Textzeile (Desktop) */
@media (min-width: 1025px) { .vg-cta-wrap .fusion-builder-row { align-items: flex-end !important; } .vg-cta-wrap .vg-cta__btncol .fusion-column-wrapper { align-items: flex-end; } }
/* steht der CTA als letzter Block auf der Seite, schliesst er direkt an den Footer an */
.post-content > .fusion-fullwidth.vg-cta-wrap:last-child { margin-bottom: -60px !important; }
#main .vg-cta__btnwrap p { margin: 0; }

/* Abstände wie CTA Kontakt (oben/unten), ohne Farben – Container-Klasse vg-pad */
.fusion-fullwidth.vg-pad { padding-top: clamp(70px, 8vw, 140px) !important; padding-bottom: clamp(70px, 8vw, 140px) !important; }

/* Zitat mit Porträt [vg_zitat] */
.vg-quote { display: grid; grid-template-columns: minmax(180px, 300px) 1fr; gap: clamp(30px, 5vw, 90px); align-items: end; margin: 0; max-width: 1200px; }
.vg-quote__img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--awb-custom_color_8); }
.vg-quote__img:empty { aspect-ratio: 3 / 4; background: var(--awb-custom_color_8); }
#main .vg-quote__text { margin: 0 0 1.2em; padding: 0; border: 0; background: none; quotes: none; }
#main .vg-quote__text, #main .vg-quote__text p { font-style: normal !important; }
#main .vg-quote__text p { margin: 0; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 500; font-size: clamp(24px, 2.5vw, 42px); line-height: 1.22; letter-spacing: -.015em; color: var(--awb-custom_color_3); }
#main .vg-quote__text p::before { content: "„"; color: var(--awb-custom_color_1); }
#main .vg-quote__text p::after { content: "“"; color: var(--awb-custom_color_1); }
.vg-quote__cap { display: flex; flex-wrap: wrap; gap: .2em .6em; font-size: clamp(14px, 1vw, 17px); line-height: 1.4; color: var(--awb-custom_color_6); }
.vg-quote__cap::before { content: "—"; color: var(--awb-custom_color_1); }
.vg-quote__name { font-weight: 700; color: var(--awb-custom_color_3); }
@media (max-width: 767px) {
  .vg-quote { grid-template-columns: 1fr; align-items: start; }
  .vg-quote__img { max-width: 240px; }
}


/* Praxiswissen – vertikaler Kategorie-Titel zwischen Kachelraster und grossem Bild ([vg_beitraege], functions.php) */
.vg-bt__kat { display: none; }
@media (min-width: 900px) {
	body .vg-bt { column-gap: 84px; }
	.vg-bt__kat {
		display: block;
		position: absolute;
		top: 0;
		left: -42px;
		transform: translateX(-50%) rotate(180deg);
		writing-mode: vertical-rl;
		white-space: nowrap;
		font-size: 26px;
		line-height: 1;
		font-weight: 600;
		letter-spacing: .01em;
		color: var(--awb-custom_color_1);
		text-decoration: none;
	}
	.vg-bt__kat:hover, .vg-bt__kat:focus { color: var(--awb-custom_color_3); }
}

/* Intro 5 Spalten: Titel in der ersten Spalte ca. 20 % kleiner als die Avada-Titelgrösse */
.vg-intro .fusion-row > .fusion-layout-column:first-child .fusion-title { font-size: calc(var(--awb-font-size) * .8); }

/* Beiträge (Einzelansicht): Überschriften 20 % kleiner, Fliesstext 16 px */
.fusion-body .fusion-title.vg-single__title,
.fusion-body .vg-related .fusion-title.fusion-title-size-two { font-size: calc(var(--awb-font-size) * .8); }
.fusion-body .vg-single__content h2 { font-size: calc(var(--h2_typography-font-size) * .8); }
.fusion-body .vg-single__content h3 { font-size: calc(var(--h3_typography-font-size) * .8); }
.fusion-body .vg-single__content h4 { font-size: calc(var(--h4_typography-font-size) * .8); }
.vg-single__content p, .vg-single__content li { font-size: 16px; }
@media (max-width: 640px) {
	.vg-single__title .fusion-title-heading { font-size: 26px !important; }
}

/* Grosses Wort mit rotem Punkt (vg-bigword: Immobilien, Kontakt, Strategie …): 20 % kleiner als im Avada-Element eingestellt */
.fusion-body .fusion-title.vg-bigword { font-size: calc(var(--awb-font-size) * .8); }

/* Diagonal-Collage [vg_diagonal]: „vernetzt“ und Text darunter linksbündig zum Textblock „Bei internationalen …“
   (entlang der Schreibrichtung verschoben, Abstand quer dazu unverändert) – ab 900 px */
@media (min-width: 900px) {
	.vg-diag .vg-diag__w2 { left: calc(var(--u) * 1144.85); bottom: calc(var(--u) * 143.76); }
	.vg-diag .vg-diag__t2 { left: calc(var(--u) * 1157.55); top: calc(var(--u) * 663.4); }
}

/* Intro 5 Spalten: optisch oben bündig – Oberkante der Grossbuchstaben im Titel (1. Spalte)
   = Oberkante der Grossbuchstaben in der ersten Zeile der Textspalten */
.vg-intro .fusion-text > :first-child { margin-top: 0 !important; }   /* z.B. H4-Zwischentitel ohne Abstand oben */
@media (min-width: 641px) {
	.vg-intro .fusion-row > .fusion-layout-column:first-child .fusion-title { margin-top: 0 !important; }
	/* Textspalten beginnen mit Fliesstext (17 px, Zeilenhöhe 1.75): Titel 2.4 px tiefer setzen */
	.vg-intro:has(.fusion-row > .fusion-layout-column:nth-child(2) .fusion-text > p:first-child) .fusion-row > .fusion-layout-column:first-child .fusion-title { margin-top: 2.4px !important; }
}

/* Intro 5 Spalten: automatische Silbentrennung wie in Word, wenn ein Wort nicht in die Spalte passt.
   Sprache kommt aus <html lang> (de-CH / en-GB / ru-RU). Nur Wörter ab 10 Zeichen, mind. 4 Zeichen vor/nach dem Trennstrich. */
.vg-intro .fusion-title-heading,
.vg-intro h2, .vg-intro h3, .vg-intro h4,
.vg-intro .fusion-text p, .vg-intro .fusion-text li {
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 10 4 4;
	overflow-wrap: break-word;
}
.vg-intro .vg-bigword .fusion-title-heading { -webkit-hyphens: manual; hyphens: manual; }

/* Überblick-Design [vg_ueberblick] (Steuern, Compliance …): grosses Wort in der Mitte 20 % kleiner (330 → 264) */
/* Lange Wörter (z.B. „Steuern“) werden per Script auf die Breite eingepasst – deshalb auch die Breite um 20 % kleiner (770 → 616) */
.vg-ov .vg-ov__w2 { font-size: calc(var(--u) * 264); width: calc(var(--u) * 616); }
@media (max-width: 1099px) {
	.vg-ov .vg-ov__w2 { font-size: clamp(64px, 20.8vw, 160px); width: auto; max-width: 80%; }
}


/* Überblick-Design: Quadrat/Texte/Höhe folgen dem grossen Wort (--vg-ov-top per Script in functions.php; ohne Script Originalwerte) */
@media (min-width: 1100px) {
	.vg-ov__canvas { height: calc(var(--vg-ov-top, calc(var(--u) * 640)) + var(--u) * 400); }
	.vg-ov__box { top: var(--vg-ov-top, calc(var(--u) * 640)); }
	.vg-ov__texts { top: calc(var(--vg-ov-top, calc(var(--u) * 640)) - var(--u) * 6); }
}

/* === Suchergebnisse (search.php im Child-Theme) === */
.vg-suche{max-width:1000px;margin:0 auto;padding:40px 0 100px}
.vg-suche__label{margin:0 0 14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--awb-custom_color_1)}
.vg-suche__titel{margin:0 0 36px!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.15!important;color:var(--awb-custom_color_3)!important}
.vg-suche__titel span{color:var(--awb-custom_color_6);font-weight:400}
.vg-suche__form{display:flex;align-items:stretch;border-bottom:2px solid var(--awb-custom_color_3);margin:0 0 14px}
.vg-suche__form input[type=search]{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;height:auto!important;padding:14px 0!important;font-size:20px!important;color:var(--awb-custom_color_4)!important}
.vg-suche__form button{border:0;cursor:pointer;padding:0 28px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--awb-custom_color_1);color:var(--awb-color1);transition:background .2s}
.vg-suche__form button:hover{background:var(--awb-custom_color_2)}
.vg-suche__anzahl{margin:0 0 50px;font-size:14px;color:var(--awb-custom_color_6)}
.vg-suche__liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--awb-custom_color_7)}
.vg-suche__item{margin:0;border-bottom:1px solid var(--awb-custom_color_7)}
.vg-suche__link{display:flex;align-items:center;gap:40px;padding:32px 0;color:inherit!important;text-decoration:none!important}
.vg-suche__text{flex:1;min-width:0}
.vg-suche__typ{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--awb-custom_color_1)}
.vg-suche__h{margin:0 0 10px!important;font-size:22px!important;line-height:1.3!important;color:var(--awb-custom_color_3)!important;transition:color .2s}
.vg-suche__link:hover .vg-suche__h{color:var(--awb-custom_color_1)!important}
.vg-suche__auszug{margin:0 0 12px!important;font-size:16px;line-height:1.6;color:var(--awb-custom_color_4)}
.vg-suche__auszug mark{background:transparent;padding:0;font-weight:600;color:var(--awb-custom_color_1)}
.vg-suche__mehr{font-size:14px;font-weight:600;color:var(--awb-custom_color_3)}
.vg-suche__mehr span{display:inline-block;color:var(--awb-custom_color_1);transition:transform .2s}
.vg-suche__link:hover .vg-suche__mehr span{transform:translateX(5px)}
.vg-suche__bild{flex:0 0 200px}
.vg-suche__bild img{display:block;width:200px;height:140px;object-fit:cover}
.vg-suche__seiten ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:50px 0 0;padding:0}
.vg-suche__seiten a,.vg-suche__seiten span{display:block;padding:8px 14px;font-size:14px;border:1px solid var(--awb-custom_color_7);color:var(--awb-custom_color_3)}
.vg-suche__seiten a:hover{border-color:var(--awb-custom_color_1);color:var(--awb-custom_color_1)}
.vg-suche__seiten .current{background:var(--awb-custom_color_1);border-color:var(--awb-custom_color_1);color:var(--awb-color1)}
.vg-suche__leer h2{margin:0 0 10px!important;font-size:22px!important;color:var(--awb-custom_color_3)!important}
.vg-suche__leer p{color:var(--awb-custom_color_4)}
.vg-suche__bereiche{display:grid;grid-template-columns:repeat(3,1fr);column-gap:30px;list-style:none;margin:24px 0 0;padding:0}
.vg-suche__bereiche a{display:block;padding:16px 0;border-bottom:1px solid var(--awb-custom_color_7);font-weight:600;color:var(--awb-custom_color_3)}
.vg-suche__bereiche a span{color:var(--awb-custom_color_1)}
.vg-suche__bereiche a:hover{color:var(--awb-custom_color_1)}
@media (max-width:700px){.vg-suche{padding:20px 0 60px}.vg-suche__link{flex-direction:column-reverse;align-items:stretch;gap:16px;padding:24px 0}.vg-suche__bild{flex:none}.vg-suche__bild img{width:100%;height:180px}.vg-suche__h{font-size:20px!important}.vg-suche__form input[type=search]{font-size:17px!important}.vg-suche__form button{padding:0 18px}.vg-suche__bereiche{grid-template-columns:1fr}}
