
/* === Self-hosted Fonts (DSGVO-konform) === */
@font-face {
  font-family: "Cabinet Grotesk";
  src: url("fonts/cabinet-grotesk-300.woff2") format("woff2");
  font-weight: 300; font-display: swap; font-style: normal;
}
@font-face {
  font-family: "Cabinet Grotesk";
  src: url("fonts/cabinet-grotesk-400.woff2") format("woff2");
  font-weight: 400; font-display: swap; font-style: normal;
}
@font-face {
  font-family: "Cabinet Grotesk";
  src: url("fonts/cabinet-grotesk-500.woff2") format("woff2");
  font-weight: 500; font-display: swap; font-style: normal;
}
@font-face {
  font-family: "Cabinet Grotesk";
  src: url("fonts/cabinet-grotesk-700.woff2") format("woff2");
  font-weight: 700; font-display: swap; font-style: normal;
}
@font-face {
  font-family: "Cabinet Grotesk";
  src: url("fonts/cabinet-grotesk-800.woff2") format("woff2");
  font-weight: 800; font-display: swap; font-style: normal;
}
@font-face {
  font-family: "Bebas Neue";
  src: url("fonts/bebas-neue-400.woff2") format("woff2");
  font-weight: 400; font-display: swap; font-style: normal;
}
/*
 Theme Name: Avada Child
 Template: Avada
 Version: 2.0
 Description: RecVision Child Theme - Dark Design System
*/

/* ====== RECVISION - AVADA DARK HEADER ====== */

/* Header background dark */
#wrapper .fusion-tb-header .fusion-fullwidth,
.fusion-tb-header .fusion-fullwidth.fullwidth-box,
.fusion-tb-header .fusion-fullwidth {
    background:rgba(12,12,14,0.97)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    border-bottom:1px solid rgba(255,255,255,0.06)!important;
}

/* Nav link text: WHITE */
.avada-main-menu .awb-menu__main-a .menu-text,
.awb-menu.avada-main-menu .awb-menu__main-a .menu-text {
    color:#ffffff!important;
}

/* Hover/active: RED */
.avada-main-menu .awb-menu__main-li:hover > .awb-menu__main-a .menu-text,
.avada-main-menu .current-menu-item > .awb-menu__main-a .menu-text,
.avada-main-menu .current-menu-ancestor > .awb-menu__main-a .menu-text {
    color:#e30613!important;
}

/* Active bar: red */
.awb-menu__main-a[style*="border-color"] {
    border-color:#e30613!important;
}

/* Header CTA email link */
.fusion-tb-header .fusion-button-text,
.fusion-tb-header .fusion-button i {
    color:#3e8ef6!important;
}

/* Mobile hamburger: WHITE bars */
.awb-menu .awb-menu__hamburger-line {
    background:#ffffff!important;
}
.awb-menu .awb-menu__mobile-nav-button {
    color:#ffffff!important;
}
.awb-menu .awb-menu__mobile-nav-button-icon span {
    background:#ffffff!important;
}

/* Mobile menu flyout: dark */
.awb-menu .awb-menu__mobile-flyout {
    background:#0c0c0e!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:9999!important;
}
.awb-menu__mobile-flyout .menu-text,
.awb-menu__mobile-flyout a {
    color:#ffffff!important;
}
.awb-menu__mobile-flyout li {
    border-color:rgba(255,255,255,0.08)!important;
}
.awb-menu__mobile-flyout .awb-menu__open-nav-submenu_mobile {
    color:#ffffff!important;
    border-color:rgba(255,255,255,0.15)!important;
}

/* Submenu: dark */
.awb-menu .awb-menu__sub-ul {
    background:#141417!important;
    border:1px solid rgba(255,255,255,0.08)!important;
    border-radius:6px!important;
}
.awb-menu .awb-menu__sub-a span,
.awb-menu .awb-menu__sub-a {
    color:#ffffff!important;
}
.awb-menu .awb-menu__sub-li:hover .awb-menu__sub-a {
    background:#e30613!important;
    color:#ffffff!important;
}

/* ====== AVADA FOOTER - DARK ====== */

.fusion-tb-footer,
.fusion-tb-footer .fusion-fullwidth,
.fusion-footer-widget-area,
.fusion-footer-copyright-area {
    background:#0c0c0e!important;
    border-top:1px solid rgba(255,255,255,0.08)!important;
}
.fusion-tb-footer *,
.fusion-footer-widget-area *,
.fusion-footer-copyright-area * {
    color:#ffffff!important;
}
.fusion-tb-footer a,
.fusion-footer-widget-area a {
    color:rgba(255,255,255,0.75)!important;
    text-decoration:none!important;
    transition:color 0.15s ease;
}
.fusion-tb-footer a:hover {
    color:#e30613!important;
}
.fusion-footer-widget-area strong,
.fusion-tb-footer strong {
    color:#ffffff!important;
}

/* ====== HIDE CUSTOM HTML NAV + FOOTER ====== */

nav.rv-nav, #rv-nav, .rv-nav,
footer.rv-footer, #rv-footer, .rv-footer {
    display:none!important;
}

/* ====== GLOBAL TEXT COLOR FIXES (rv-* sections) ====== */

[class*="rv-"] {color:#ffffff;}
[class*="rv-"] h1,[class*="rv-"] h2,[class*="rv-"] h3,
[class*="rv-"] h4,[class*="rv-"] h5,[class*="rv-"] p,
[class*="rv-"] li,[class*="rv-"] span,[class*="rv-"] label,
[class*="rv-"] strong,[class*="rv-"] em,
[class*="rv-"] td,[class*="rv-"] th {
    color:#ffffff;
}
[class*="rv-"] ol li::marker,
[class*="rv-"] ul li::marker,
[class*="rv-"] ol li::before {
    color:#ffffff!important;
}
[class*="rv-"] a:not(.rv-btn):not(.rv-cta-btn):not(.rv-insta-btn) {
    color:rgba(255,255,255,0.85);
}

/* ====== MOBILE H1 OVERFLOW FIX ====== */

@media(max-width:768px){
    .hero-h1{
        font-size:clamp(28px,9vw,40px)!important;
        overflow-wrap:break-word!important;
        word-break:break-word!important;
        max-width:100%!important;
        line-height:0.95!important;
    }
    .hero-h2{
        font-size:clamp(13px,3.5vw,17px)!important;
        max-width:100%!important;
    }
    .rv-hero{
        overflow-x:hidden!important;
        padding:90px 20px 60px!important;
        max-width:100vw!important;
        box-sizing:border-box!important;
    }
    .rv-hero-content{
        width:100%!important;
        max-width:100%!important;
    }
    [class*="rv-"]{
        overflow-x:hidden!important;
        max-width:100vw!important;
        box-sizing:border-box!important;
    }
    .rv-section,.rv-wrap{
        padding-left:20px!important;
        padding-right:20px!important;
    }
}
@media(max-width:480px){
    .hero-h1{font-size:clamp(26px,8.5vw,34px)!important;}
}

/* ====== CALENDLY BUTTON - RED ====== */

.calendly-badge-widget .calendly-badge-content,
.calendly-badge-content {
    background-color:#e30613!important;
    background:#e30613!important;
    border-radius:6px!important;
    font-family:"Montserrat",sans-serif!important;
    font-weight:600!important;
    letter-spacing:0.04em!important;
}

/* ====== INSTAGRAM SECTION ====== */

.rv-insta-section{
    background:#0c0c0e;
    padding:80px 64px;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.rv-insta-section::before{
    content:"";
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:700px;height:400px;
    background:radial-gradient(ellipse at center,rgba(192,64,153,0.10) 0%,transparent 70%);
    pointer-events:none;
}
.rv-insta-badge-tag{
    display:inline-block;
    background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
    color:#fff!important;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.12em;
    text-transform:uppercase;
    padding:4px 14px;
    border-radius:20px;
    margin-bottom:20px;
    display:inline-block;
}
.rv-insta-heading{
    font-family:"Cabinet Grotesk",sans-serif!important;
    font-size:clamp(26px,3.5vw,42px)!important;
    font-weight:800!important;
    color:#ffffff!important;
    margin:0 0 12px!important;
    line-height:1.1!important;
}
.rv-insta-sub{
    font-size:16px!important;
    color:rgba(255,255,255,0.65)!important;
    margin:0 auto 36px!important;
    max-width:480px;
    line-height:1.5;
}
.rv-insta-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
    color:#ffffff!important;
    font-family:"Cabinet Grotesk",sans-serif;
    font-size:16px;
    font-weight:700;
    padding:16px 36px;
    border-radius:50px;
    text-decoration:none!important;
    transition:transform 0.2s ease,box-shadow 0.2s ease;
    box-shadow:0 4px 24px rgba(192,64,153,0.30);
}
.rv-insta-btn:hover{
    transform:translateY(-2px) scale(1.02);
    box-shadow:0 8px 32px rgba(192,64,153,0.45);
    color:#ffffff!important;
}
.rv-insta-btn svg{width:22px;height:22px;fill:#ffffff;flex-shrink:0;}
.rv-insta-scroll-hint{
    margin-top:16px;
    font-size:13px;
    color:rgba(255,255,255,0.30)!important;
}
@media(max-width:768px){
    .rv-insta-section{padding:60px 24px;}
    .rv-insta-btn{padding:14px 28px;font-size:15px;}
}

/* ====== SUBPAGE TEXT FIXES ====== */

body.page [class*="rv-"] p,
body.page [class*="rv-"] li,
body.page [class*="rv-"] h2,
body.page [class*="rv-"] h3,
body.page [class*="rv-"] span {
    color:#ffffff!important;
}

/* Avada sticky/scrolled header */
.fusion-is-sticky .fusion-tb-header .fusion-fullwidth,
.fusion-is-sticky.fusion-tb-header .fusion-fullwidth {
    background:rgba(12,12,14,0.98)!important;
}

/* ====== RV-FOOTER GLOBAL OVERRIDE ====== */
nav.rv-nav, #rv-nav, .rv-nav { display:none!important; }

footer.rv-footer, #rv-footer, .rv-footer {
    display:flex!important;
    box-sizing:border-box!important;
    padding:48px 64px!important;
    border-top:1px solid rgba(255,255,255,0.10)!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:32px!important;
    background:#0c0c0e!important;
    width:100%!important;
}
.rv-footer-logo-img { height:36px!important; width:auto!important; }
.rv-footer-center { display:flex!important; flex-direction:column!important; align-items:center!important; gap:16px!important; }
.ft-links { display:flex!important; gap:24px!important; flex-wrap:wrap!important; justify-content:center!important; }
.ft-links a { color:rgba(255,255,255,0.80)!important; text-decoration:none!important; font-size:12px!important; letter-spacing:.06em!important; }
.ft-links a:hover { color:#ffffff!important; }
.ft-right { text-align:right!important; font-size:12px!important; color:rgba(255,255,255,0.80)!important; display:flex!important; flex-direction:column!important; align-items:flex-end!important; gap:6px!important; }
.ft-right a { color:rgba(255,255,255,0.80)!important; text-decoration:none!important; }
.ft-right a:hover { color:#ffffff!important; }
.fusion-footer-copyright-area, .fusion-footer-widget-area { display:none!important; }
@media(max-width:768px){
    footer.rv-footer, #rv-footer, .rv-footer {
        flex-direction:column!important;
        align-items:center!important;
        text-align:center!important;
        padding:32px 24px!important;
        gap:20px!important;
    }
    .ft-links { flex-direction:column!important; align-items:center!important; gap:12px!important; }
    .ft-right { align-items:center!important; text-align:center!important; }
}
/* ====== END RV-FOOTER GLOBAL ====== */

/* ====== RV-FOOTER MOBILE FIX v2 ====== */
@media(max-width:768px){
    .ft-links { flex-direction:row!important; flex-wrap:wrap!important; justify-content:center!important; gap:16px 24px!important; }
    .ft-right a, .ft-right { color:rgba(255,255,255,0.80)!important; }
}
/* ====== END v2 ====== */

/* ====== RV-FOOTER-RIGHT (homepage class alias) ====== */
.rv-footer-right { text-align:right!important; font-size:12px!important; color:rgba(255,255,255,0.80)!important; display:flex!important; flex-direction:column!important; align-items:flex-end!important; gap:6px!important; }
.rv-footer-right a { color:rgba(255,255,255,0.80)!important; text-decoration:none!important; }
.rv-footer-right a:hover { color:#ffffff!important; }
@media(max-width:768px){
    .rv-footer-right { align-items:center!important; text-align:center!important; }
    .rv-footer-right a, .rv-footer-right { color:rgba(255,255,255,0.80)!important; }
}
/* ====== END RV-FOOTER-RIGHT ====== */

/* ====== CTA STRIP SUB FIX ====== */
.cta-strip-sub { text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
/* ====== END CTA STRIP SUB FIX ====== */
