/*
===============================================================================
 LEVANET – TYPO3 / BOOTSTRAP 5 MASTER THEME
===============================================================================

 Load order in TYPO3:
 1. Bootstrap 5
 2. levanet-bootstrap5-theme.css

 This file centralizes the LEVANET design system and overrides Bootstrap 5.
 It also contains the custom classes used by the new LEVANET startpage,
 business-network template, Privacy Policy and Imprint preview.

 Brand palette
 -------------
 Blue:       #1969FF
 Deep Blue:  #123E79
 Red:        #F03828
 Sand:       #F4E8D7
 Sand Light: #FBF8F2
 White:      #FFFFFF

 Recommended TYPO3 integration:
 ben_basic_template/Resources/Public/Css/levanet-bootstrap5-theme.css
===============================================================================
*/


/* ==========================================================================
   01. CENTRAL DESIGN VARIABLES + BOOTSTRAP 5 OVERRIDES
   ========================================================================== */

:root {
    --lv-blue: #1969FF;
    --lv-blue-rgb: 25, 105, 255;

    --lv-deep-blue: #123E79;
    --lv-deep-blue-rgb: 18, 62, 121;

    --lv-red: #F03828;
    --lv-red-rgb: 240, 56, 40;

    --lv-sand: #F4E8D7;
    --lv-sand-rgb: 244, 232, 215;

    --lv-sand-light: #FBF8F2;
    --lv-sand-deep: #D5BE9C;

    --lv-white: #FFFFFF;
    --lv-text: #18324D;
    --lv-muted: #6D7A86;
    --lv-border: #E3DED5;

    --lv-success: #198754;
    --lv-success-rgb: 25, 135, 84;
    --lv-info: #4F7F99;
    --lv-info-rgb: 79, 127, 153;
    --lv-warning: #D99C2B;
    --lv-warning-rgb: 217, 156, 43;

    --lv-radius-xs: .45rem;
    --lv-radius-sm: .75rem;
    --lv-radius: 1.15rem;
    --lv-radius-lg: 1.6rem;
    --lv-radius-xl: 2rem;
    --lv-radius-pill: 50rem;

    --lv-shadow-xs: 0 4px 14px rgba(18, 62, 121, .05);
    --lv-shadow-sm: 0 8px 26px rgba(18, 62, 121, .07);
    --lv-shadow: 0 18px 50px rgba(18, 62, 121, .11);
    --lv-shadow-lg: 0 28px 80px rgba(18, 62, 121, .17);

    /* Bootstrap core remapping */
    --bs-blue: var(--lv-blue);
    --bs-red: var(--lv-red);

    --bs-primary: var(--lv-blue);
    --bs-primary-rgb: var(--lv-blue-rgb);

    --bs-secondary: var(--lv-deep-blue);
    --bs-secondary-rgb: var(--lv-deep-blue-rgb);

    --bs-danger: var(--lv-red);
    --bs-danger-rgb: var(--lv-red-rgb);

    --bs-success: var(--lv-success);
    --bs-success-rgb: var(--lv-success-rgb);
    --bs-info: var(--lv-info);
    --bs-info-rgb: var(--lv-info-rgb);
    --bs-warning: var(--lv-warning);
    --bs-warning-rgb: var(--lv-warning-rgb);

    --bs-light: var(--lv-sand-light);
    --bs-dark: var(--lv-deep-blue);

    --bs-body-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bs-body-color: var(--lv-text);
    --bs-body-bg: var(--lv-sand-light);

    --bs-heading-color: var(--lv-deep-blue);

    --bs-link-color: var(--lv-blue);
    --bs-link-hover-color: var(--lv-deep-blue);

    --bs-border-color: var(--lv-border);

    --bs-border-radius: var(--lv-radius-sm);
    --bs-border-radius-sm: var(--lv-radius-xs);
    --bs-border-radius-lg: var(--lv-radius);

    --bs-focus-ring-color: rgba(var(--lv-blue-rgb), .18);
}


/* ==========================================================================
   02. GLOBAL BOOTSTRAP OVERRIDES
   ========================================================================== */

html {
    scroll-behavior: smooth;
    background: var(--lv-sand-light);
}

body {
    margin: 0;
    color: var(--lv-text);
    background: var(--lv-sand-light);
    font-family: var(--bs-body-font-family);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--lv-deep-blue);
    font-weight: 850;
    letter-spacing: -.028em;
}

a {
    color: var(--lv-blue);
    text-decoration: none;
}

a:hover {
    color: var(--lv-deep-blue);
}

.btn {
    border-radius: .78rem;
    font-weight: 750;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--lv-blue);
    --bs-btn-border-color: var(--lv-blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lv-deep-blue);
    --bs-btn-hover-border-color: var(--lv-deep-blue);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--lv-deep-blue);
    --bs-btn-border-color: var(--lv-deep-blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--lv-blue);
    --bs-btn-hover-border-color: var(--lv-blue);
}

.btn-danger,
.btn-lv-red {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--lv-red);
    --bs-btn-border-color: var(--lv-red);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #C72E22;
    --bs-btn-hover-border-color: #C72E22;
}

.btn-lv-sand {
    --bs-btn-color: var(--lv-deep-blue);
    --bs-btn-bg: var(--lv-sand);
    --bs-btn-border-color: var(--lv-sand);
    --bs-btn-hover-color: var(--lv-deep-blue);
    --bs-btn-hover-bg: #EAD8BD;
    --bs-btn-hover-border-color: #EAD8BD;
}

.form-control,
.form-select {
    min-height: 48px;
    color: var(--lv-text);
    background: #fff;
    border: 1px solid var(--lv-border);
    border-radius: .8rem;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(var(--lv-blue-rgb), .5);
    box-shadow: 0 0 0 .2rem rgba(var(--lv-blue-rgb), .09);
}

.form-check-input:checked {
    background-color: var(--lv-blue);
    border-color: var(--lv-blue);
}

.dropdown-menu {
    --bs-dropdown-color: var(--lv-text);
    --bs-dropdown-bg: #fff;
    --bs-dropdown-border-color: var(--lv-border);
    --bs-dropdown-link-color: var(--lv-text);
    --bs-dropdown-link-hover-color: var(--lv-blue);
    --bs-dropdown-link-hover-bg: rgba(var(--lv-blue-rgb), .055);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: var(--lv-blue);

    border-radius: var(--lv-radius-sm);
    box-shadow: var(--lv-shadow-sm);
}

.card {
    --bs-card-border-color: var(--lv-border);
    --bs-card-bg: #fff;
    --bs-card-color: var(--lv-text);

    border-radius: var(--lv-radius);
    box-shadow: var(--lv-shadow-sm);
}

.accordion {
    --bs-accordion-color: var(--lv-text);
    --bs-accordion-bg: #fff;
    --bs-accordion-border-color: var(--lv-border);
    --bs-accordion-btn-color: var(--lv-text);
    --bs-accordion-btn-bg: #fff;
    --bs-accordion-active-color: var(--lv-blue);
    --bs-accordion-active-bg: rgba(var(--lv-blue-rgb), .05);
    --bs-accordion-btn-focus-box-shadow: none;
}

.ben-accordion.bb-accordion {
    background-color: transparent;
    border: 0;
    box-shadow: none;
}

.ben-accordion.bb-accordion .accordion-item {
    overflow: hidden;
    margin-bottom: .8rem;
    border: 1px solid var(--lv-border);
    border-radius: var(--lv-radius) !important;
    background-color: #fff;
    box-shadow: var(--lv-shadow-sm);
}

.ben-accordion.bb-accordion .accordion-button {
    color: var(--lv-text);
    background-color: #fff;
    font-weight: 750;
    box-shadow: none;
}

.ben-accordion.bb-accordion .accordion-button:hover {
    color: var(--lv-blue);
    background-color: rgba(var(--lv-blue-rgb), .04);
}

.ben-accordion.bb-accordion .accordion-button:not(.collapsed) {
    color: var(--lv-blue);
    background-color: rgba(var(--lv-blue-rgb), .06);
}

.ben-accordion.bb-accordion .accordion-body {
    color: var(--lv-text);
    background-color: #fff;
}

.nav-tabs {
    --bs-nav-tabs-border-color: var(--lv-border);
    --bs-nav-tabs-link-active-color: var(--lv-blue);
    --bs-nav-tabs-link-active-bg: #fff;
}

.ben-tabs,
.bb-tabs.ben-tabs {
    background-color: transparent;
    border: 0;
    box-shadow: none;
}

.ben-tabs-nav,
ul.nav-tabs.ben-tabs-nav,
.bb-tabs .ben-tabs-nav,
.bb-tabs ul.nav-tabs.ben-tabs-nav {
    background-color: transparent;
}

.ben-tabs-nav > .nav-item {
    background-color: transparent;
}

.bb-tabs .ben-tabs-nav .nav-link {
    color: var(--lv-muted);
    background-color: rgba(255, 255, 255, .72);
}

.bb-tabs .ben-tabs-nav .nav-link:hover {
    color: var(--lv-blue);
    background-color: rgba(var(--lv-blue-rgb), .06);
}

.bb-tabs .ben-tabs-nav .nav-link.active {
    color: var(--lv-blue);
    background-color: #fff;
    border-color: var(--lv-border);
    border-bottom-color: #fff;
}

.bb-tabs .ben-tabs-content {
    color: var(--lv-text);
    background-color: #fff;
    border-color: var(--lv-border);
}

.table {
    --bs-table-color: var(--lv-text);
    --bs-table-border-color: var(--lv-border);
    --bs-table-striped-bg: rgba(var(--lv-blue-rgb), .03);
    --bs-table-hover-bg: rgba(var(--lv-blue-rgb), .05);
}

.pagination {
    --bs-pagination-color: var(--lv-blue);
    --bs-pagination-bg: #fff;
    --bs-pagination-border-color: var(--lv-border);
    --bs-pagination-hover-color: var(--lv-deep-blue);
    --bs-pagination-hover-bg: var(--lv-sand-light);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--lv-blue);
    --bs-pagination-active-border-color: var(--lv-blue);
}

.list-group {
    --bs-list-group-color: var(--lv-text);
    --bs-list-group-bg: #fff;
    --bs-list-group-border-color: var(--lv-border);
    --bs-list-group-action-hover-color: var(--lv-blue);
    --bs-list-group-action-hover-bg: rgba(var(--lv-blue-rgb), .05);
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: var(--lv-blue);
    --bs-list-group-active-border-color: var(--lv-blue);
}


/* ==========================================================================
   03. TYPO3 UTILITY CLASSES
   ========================================================================== */

.text-lv-blue { color: var(--lv-blue) !important; }
.text-lv-deep-blue { color: var(--lv-deep-blue) !important; }
.text-lv-red { color: var(--lv-red) !important; }
.text-lv-muted { color: var(--lv-muted) !important; }

.bg-lv-blue { background-color: var(--lv-blue) !important; }
.bg-lv-deep-blue { background-color: var(--lv-deep-blue) !important; }
.bg-lv-red { background-color: var(--lv-red) !important; }
.bg-lv-sand { background-color: var(--lv-sand) !important; }
.bg-lv-sand-light { background-color: var(--lv-sand-light) !important; }
.bg-lv-white { background-color: #fff !important; }

.border-lv { border-color: var(--lv-border) !important; }

.shadow-lv-sm { box-shadow: var(--lv-shadow-sm) !important; }
.shadow-lv { box-shadow: var(--lv-shadow) !important; }
.shadow-lv-lg { box-shadow: var(--lv-shadow-lg) !important; }

.rounded-lv { border-radius: var(--lv-radius) !important; }
.rounded-lv-lg { border-radius: var(--lv-radius-lg) !important; }


/* ==========================================================================
   04. CUSTOM LEVANET COMPONENT CLASSES
   --------------------------------------------------------------------------
   The following section is consolidated from the approved LEVANET templates:
   - Business Network preview
   - Startpage redesign
   - Privacy Policy
   - Imprint
   ========================================================================== */

/* ==========================================================================
   LEVANET BUSINESS NETWORK – STARTPAGE PREVIEW
   Bootstrap 5 / TYPO3-ready design direction
   ========================================================================== */



*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lv-sand-light);color:var(--lv-text);font-family:var(--bs-body-font-family)}
h1,h2,h3,h4,h5,h6{color:var(--lv-deep-blue);font-weight:850;letter-spacing:-.028em}
a{text-decoration:none}
.lv-section{padding:5.5rem 0}
.lv-section-sm{padding:4rem 0}
.lv-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--lv-red);text-transform:uppercase;letter-spacing:.09em;font-size:.77rem;font-weight:850;margin-bottom:.7rem}
.lv-title{font-weight:900;letter-spacing:-.04em}
.lv-panel{background:#fff;border:1px solid var(--lv-border);border-radius:var(--lv-radius);box-shadow:var(--lv-shadow-sm)}

.btn{border-radius:.78rem;font-weight:750}
.btn-primary{--bs-btn-bg:var(--lv-blue);--bs-btn-border-color:var(--lv-blue);--bs-btn-hover-bg:var(--lv-deep-blue);--bs-btn-hover-border-color:var(--lv-deep-blue)}
.btn-danger{--bs-btn-bg:var(--lv-red);--bs-btn-border-color:var(--lv-red);--bs-btn-hover-bg:#C72E22;--bs-btn-hover-border-color:#C72E22}

/* ==========================================================================
   TRANSPARENT HEADER OVER PARALLAX
   ========================================================================== */
.lv-header{
  position:absolute;
  z-index:1035;
  left:0;right:0;top:0;
  color:#fff;
  background:linear-gradient(180deg,rgba(5,25,55,.68),rgba(5,25,55,.08));
  border-bottom:1px solid rgba(255,255,255,.14);
}
.lv-header-top{
  border-bottom:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.78);
  font-size:.8rem;
}
.lv-logo{
  width:165px;height:62px;object-fit:contain;object-position:left center;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.18));
}
.lv-lang .dropdown-toggle{
  color:#fff;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.3);font-weight:750;
}
.lv-nav-link{
  color:#fff!important;font-weight:700;border-radius:.7rem;padding:.72rem .76rem!important
}
.lv-nav-link:hover,.lv-nav-link.show{color:#fff!important;background:rgba(255,255,255,.12)}
.lv-header .btn-outline-light{border-color:rgba(255,255,255,.5)}
.lv-header .navbar-toggler{border-color:rgba(255,255,255,.35)}
.lv-header .navbar-toggler-icon{filter:brightness(0) invert(1)}

/* Mega menu */
.lv-mega{
  width:min(1180px,calc(100vw - 2rem));
  left:0!important;right:auto!important;padding:0;
  border:1px solid var(--lv-border);border-radius:1.2rem;overflow:hidden;
  box-shadow:var(--lv-shadow-lg)
}
.lv-mega-intro{
  height:100%;padding:1.6rem;color:#fff;
  background:radial-gradient(circle at 20% 10%,rgba(240,56,40,.3),transparent 30%),
             linear-gradient(145deg,var(--lv-blue),var(--lv-deep-blue))
}
.lv-mega-intro h3{color:#fff}
.lv-mega-title{color:var(--lv-red);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:850}
.lv-mega-link{display:block;padding:.52rem .55rem;margin-left:-.55rem;border-radius:.65rem;color:var(--lv-text);font-weight:650}
.lv-mega-link:hover{color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.055)}

/* ==========================================================================
   HERO PARALLAX SLIDER
   ========================================================================== */
.lv-hero-slider{
  position:relative;height:var(--ben-hero-parallax-height, 790px);overflow:hidden;background:transparent
}
.lv-hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease}
.lv-hero-slide.active{opacity:1;pointer-events:auto;z-index:2}
.lv-hero-bg{
  position:absolute;inset:-7%;
  background-size:cover;background-position:center;
  transform:translate3d(0,0,0) scale(1.08);
  transition:transform 1s ease
}
.lv-hero-slide:first-child .lv-hero-bg{
  background-image:url("https://www.leva-net.org/fileadmin/images/levanet-startpage_2_wo_logo.jpg")
}
.lv-hero-slide:nth-child(2) .lv-hero-bg{
  background-image:url("https://www.leva-net.org/fileadmin/images/OfficesInSyrien.jpg");
  background-position:center
}
.lv-hero-bg:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,31,67,.94) 0%,rgba(7,31,67,.76) 44%,rgba(7,31,67,.25) 100%)
}
.lv-hero-slide:nth-child(2) .lv-hero-bg:after{
  background:linear-gradient(90deg,rgba(7,31,67,.94) 0%,rgba(7,31,67,.78) 45%,rgba(7,31,67,.48) 100%)
}
.lv-hero-content{
  position:relative;z-index:4;height:var(--ben-hero-parallax-height, 790px);display:flex;align-items:center;
  padding-top:120px;color:#fff
}
.lv-hero-copy{max-width:810px;opacity:0;transform:translateY(24px);transition:.65s ease .15s}
.lv-hero-slide.active .lv-hero-copy{opacity:1;transform:translateY(0)}
.lv-hero-kicker{
  display:inline-flex;padding:.45rem .8rem;border-radius:999px;
  background:rgba(240,56,40,.9);color:#fff;
  text-transform:uppercase;letter-spacing:.08em;font-size:.77rem;font-weight:850
}
.lv-hero h1,.lv-hero-content h1{color:#fff;font-size:clamp(3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;font-weight:900}
.lv-hero-content p{max-width:760px;color:rgba(255,255,255,.78);font-size:1.2rem;line-height:1.65}
.lv-hero-controls{position:absolute;z-index:8;left:0;right:0;bottom:2.2rem}
.lv-dot{width:11px;height:11px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.65);background:transparent}
.lv-dot.active{background:var(--lv-red);border-color:var(--lv-red)}
.lv-arrow{width:45px;height:45px;border-radius:50%;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.08);color:#fff}
.lv-arrow:hover{background:rgba(255,255,255,.18)}

/* Purpose */
.lv-purpose-card{
  overflow:hidden;background:#fff;border:1px solid var(--lv-border);
  border-radius:var(--lv-radius-lg);box-shadow:var(--lv-shadow)
}
.lv-purpose-accent{
  height:100%;min-height:360px;padding:2rem;color:#fff;
  background:radial-gradient(circle at 82% 15%,rgba(240,56,40,.28),transparent 25%),
             linear-gradient(145deg,var(--lv-blue),var(--lv-deep-blue))
}
.lv-purpose-accent h2{color:#fff}
.lv-purpose-content{padding:2rem}

/* Function cards */
.lv-function-card{
  height:100%;padding:1.35rem;background:#fff;border:1px solid var(--lv-border);
  border-radius:1rem;transition:.18s ease
}
.lv-function-card:hover{transform:translateY(-4px);box-shadow:var(--lv-shadow);border-color:rgba(var(--lv-blue-rgb),.3)}
.lv-function-icon{
  width:52px;height:52px;display:grid;place-items:center;border-radius:15px;
  margin-bottom:1rem;color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.08);font-size:1.35rem
}
.lv-function-card ul{padding-left:1.15rem;margin-bottom:0;color:var(--lv-muted)}
.lv-function-card li{margin-bottom:.45rem}

/* Representation */
.lv-representation{
  overflow:hidden;border-radius:var(--lv-radius-lg);background:#fff;border:1px solid var(--lv-border);box-shadow:var(--lv-shadow)
}
.lv-map-wrap{height:100%;min-height:520px;background:#e8dcc8}
.lv-map-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.lv-representation-copy{padding:2.3rem}
.lv-city{
  padding:.9rem;border-radius:.9rem;background:var(--lv-sand-light);border:1px solid var(--lv-border)
}
.lv-city strong{display:block;color:var(--lv-deep-blue)}

/* Management */
.lv-management{
  position:relative;overflow:hidden;border-radius:var(--lv-radius-lg);
  color:#fff;background:radial-gradient(circle at 88% 17%,rgba(240,56,40,.19),transparent 23%),
                     linear-gradient(135deg,var(--lv-deep-blue),#0C2B54)
}
.lv-management h2,.lv-management h3{color:#fff}
.lv-management-copy{max-width:860px}
.lv-management-point{
  height:100%;padding:1rem;border-radius:1rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11)
}

/* CTA */
.lv-contact-cta{
  padding:3rem;border-radius:var(--lv-radius-lg);background:var(--lv-sand);
  border:1px solid #E5D5BE;position:relative;overflow:hidden
}
.lv-contact-cta:after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;
  right:-95px;top:-105px;background:rgba(var(--lv-red-rgb),.09)
}

/* Footer */
.lv-footer{background:var(--lv-deep-blue);color:#fff}
.lv-footer-logo{width:180px;max-height:75px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}
.lv-footer a{color:rgba(255,255,255,.69)}
.lv-footer a:hover{color:#fff}

/* Mobile */
@media(max-width:991.98px){
  .lv-header-top{display:none}
  .lv-logo{width:140px;height:56px}
  .lv-hero-slider,.lv-hero-content{height:var(--ben-hero-parallax-height, 760px)}
  .lv-hero-content{padding-top:90px}
  .lv-purpose-accent{min-height:auto}
  .lv-map-wrap{min-height:380px}
}
@media(max-width:767.98px){
  .lv-section{padding:4rem 0}
  .lv-hero-slider,.lv-hero-content{height:var(--ben-hero-parallax-height, 720px)}
  .lv-hero-content h1{font-size:3.1rem}
  .lv-hero-content p{font-size:1.05rem}
  .lv-contact-cta{padding:2rem}
}
[dir="rtl"] body{text-align:right}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lv-sand-light);color:var(--lv-text);font-family:var(--bs-body-font-family)}
h1,h2,h3,h4,h5,h6{color:var(--lv-deep-blue);font-weight:850;letter-spacing:-.028em}
a{text-decoration:none}
.btn{border-radius:.78rem;font-weight:750}
.btn-primary{--bs-btn-bg:var(--lv-blue);--bs-btn-border-color:var(--lv-blue);--bs-btn-hover-bg:var(--lv-deep-blue);--bs-btn-hover-border-color:var(--lv-deep-blue)}
.btn-danger{--bs-btn-bg:var(--lv-red);--bs-btn-border-color:var(--lv-red);--bs-btn-hover-bg:#C72E22;--bs-btn-hover-border-color:#C72E22}

/* Transparent header */
.lv-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:1035;
  background:linear-gradient(180deg,rgba(5,25,55,.72),rgba(5,25,55,.10));
  border-bottom:1px solid rgba(255,255,255,.14);
}
.lv-header-top{
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.8rem
}
.lv-logo{width:165px;height:62px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}
.lv-lang .dropdown-toggle{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);font-weight:750}
.lv-nav-link{color:#fff!important;font-weight:700;border-radius:.7rem;padding:.72rem .76rem!important}
.lv-nav-link:hover,.lv-nav-link.show{color:#fff!important;background:rgba(255,255,255,.12)}
.lv-header .navbar-toggler{border-color:rgba(255,255,255,.35)}
.lv-header .navbar-toggler-icon{filter:brightness(0) invert(1)}

/* Mega menu */
.lv-mega{
  width:min(1180px,calc(100vw - 2rem));
  left:0!important;right:auto!important;padding:0;
  border:1px solid var(--lv-border);border-radius:1.2rem;overflow:hidden;
  box-shadow:var(--lv-shadow-lg)
}
.lv-mega-intro{
  height:100%;padding:1.6rem;color:#fff;
  background:radial-gradient(circle at 20% 10%,rgba(240,56,40,.3),transparent 30%),
             linear-gradient(145deg,var(--lv-blue),var(--lv-deep-blue))
}
.lv-mega-intro h3{color:#fff}
.lv-mega-title{color:var(--lv-red);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:850}
.lv-mega-link{display:block;padding:.52rem .55rem;margin-left:-.55rem;border-radius:.65rem;color:var(--lv-text);font-weight:650}
.lv-mega-link:hover{color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.055)}

/* Legal hero */
.lv-legal-hero{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,31,67,.93) 0%,rgba(7,31,67,.77) 46%,rgba(7,31,67,.36) 100%),
    url("https://www.leva-net.org/fileadmin/images/levanet-startpage_2_wo_logo.jpg") center/cover no-repeat;
}
.lv-legal-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 82% 22%,rgba(240,56,40,.16),transparent 24%);
}
.lv-legal-hero-bg{
  position:absolute;inset:-6%;
  background:url("https://www.leva-net.org/fileadmin/images/levanet-startpage_2_wo_logo.jpg") center/cover no-repeat;
  transform:translate3d(0,0,0) scale(1.06);
}
.lv-legal-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,31,67,.94) 0%,rgba(7,31,67,.76) 45%,rgba(7,31,67,.34) 100%)
}
.lv-legal-hero-content{
  position:relative;z-index:2;
  width:100%;padding:170px 0 62px;color:#fff
}
.lv-legal-kicker{
  display:inline-flex;padding:.45rem .8rem;border-radius:999px;
  background:rgba(240,56,40,.9);color:#fff;
  font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;font-weight:850
}
.lv-legal-hero h1{color:#fff;font-size:clamp(3rem,5vw,5rem);line-height:1;letter-spacing:-.05em;font-weight:900}
.lv-legal-hero p{max-width:760px;color:rgba(255,255,255,.76);font-size:1.12rem;line-height:1.65}

/* Legal page */
.lv-legal-section{padding:5rem 0}
.lv-legal-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:2rem;align-items:start}
.lv-legal-nav{
  position:sticky;top:1.5rem;
  background:#fff;border:1px solid var(--lv-border);border-radius:1rem;
  padding:1rem;box-shadow:var(--lv-shadow-sm)
}
.lv-legal-nav-title{
  color:var(--lv-red);text-transform:uppercase;letter-spacing:.08em;
  font-size:.74rem;font-weight:850;margin-bottom:.65rem
}
.lv-legal-nav a{
  display:block;padding:.55rem .6rem;border-radius:.6rem;
  color:var(--lv-text);font-size:.9rem;font-weight:650
}
.lv-legal-nav a:hover{color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.055)}
.lv-legal-content{
  background:#fff;border:1px solid var(--lv-border);
  border-radius:var(--lv-radius-lg);padding:2rem 2.2rem;
  box-shadow:var(--lv-shadow-sm)
}
.lv-legal-content h2{
  margin:2.3rem 0 .8rem;
  padding-top:.3rem;
  font-size:1.65rem;
  letter-spacing:-.03em
}
.lv-legal-content h2:first-child{margin-top:0}
.lv-legal-content h3{margin:1.7rem 0 .6rem;font-size:1.2rem}
.lv-legal-content p,.lv-legal-content li{line-height:1.8;color:#425A6E}
.lv-legal-content ul{padding-left:1.2rem}
.lv-legal-content li{margin-bottom:.4rem}
.lv-info-card{
  padding:1.15rem;border-radius:1rem;
  background:var(--lv-sand-light);border:1px solid var(--lv-border)
}
.lv-info-card small{display:block;color:var(--lv-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800}
.lv-info-card strong{display:block;color:var(--lv-deep-blue);margin-top:.25rem}
.lv-contact-box{
  margin:1.6rem 0;padding:1.25rem 1.3rem;
  border-left:5px solid var(--lv-red);
  border-radius:0 1rem 1rem 0;
  background:var(--lv-sand)
}
.lv-legal-footer-note{
  margin-top:2rem;padding-top:1rem;border-top:1px solid var(--lv-border);
  color:var(--lv-muted);font-size:.9rem
}

/* Footer */
.lv-footer{background:var(--lv-deep-blue);color:#fff}
.lv-footer-logo{width:180px;max-height:75px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}
.lv-footer a{color:rgba(255,255,255,.69)}
.lv-footer a:hover{color:#fff}

/* Mobile */
@media(max-width:991.98px){
  .lv-header-top{display:none}
  .lv-logo{width:140px;height:56px}
  .lv-legal-grid{grid-template-columns:1fr}
  .lv-legal-nav{position:static}
  .lv-legal-hero-content{padding-top:135px}
}
@media(max-width:767.98px){
  .lv-legal-section{padding:3.5rem 0}
  .lv-legal-content{padding:1.4rem}
  .lv-legal-hero{min-height:440px}
  .lv-legal-hero-content{padding-bottom:45px}
}
[dir="rtl"] body{text-align:right}
[dir="rtl"] .lv-contact-box{border-left:0;border-right:5px solid var(--lv-red);border-radius:1rem 0 0 1rem}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lv-sand-light);color:var(--lv-text);font-family:var(--bs-body-font-family)}
h1,h2,h3,h4,h5,h6{color:var(--lv-deep-blue);font-weight:850;letter-spacing:-.028em}
a{text-decoration:none}
.btn{border-radius:.78rem;font-weight:750}
.btn-primary{--bs-btn-bg:var(--lv-blue);--bs-btn-border-color:var(--lv-blue);--bs-btn-hover-bg:var(--lv-deep-blue);--bs-btn-hover-border-color:var(--lv-deep-blue)}
.btn-danger{--bs-btn-bg:var(--lv-red);--bs-btn-border-color:var(--lv-red);--bs-btn-hover-bg:#C72E22;--bs-btn-hover-border-color:#C72E22}

/* Transparent header */
.lv-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:1035;
  background:linear-gradient(180deg,rgba(5,25,55,.72),rgba(5,25,55,.10));
  border-bottom:1px solid rgba(255,255,255,.14);
}
.lv-header-top{
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.8rem
}
.lv-logo{width:165px;height:62px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}
.lv-lang .dropdown-toggle{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);font-weight:750}
.lv-nav-link{color:#fff!important;font-weight:700;border-radius:.7rem;padding:.72rem .76rem!important}
.lv-nav-link:hover,.lv-nav-link.show{color:#fff!important;background:rgba(255,255,255,.12)}
.lv-header .navbar-toggler{border-color:rgba(255,255,255,.35)}
.lv-header .navbar-toggler-icon{filter:brightness(0) invert(1)}

/* Mega menu */
.lv-mega{
  width:min(1180px,calc(100vw - 2rem));
  left:0!important;right:auto!important;padding:0;
  border:1px solid var(--lv-border);border-radius:1.2rem;overflow:hidden;
  box-shadow:var(--lv-shadow-lg)
}
.lv-mega-intro{
  height:100%;padding:1.6rem;color:#fff;
  background:radial-gradient(circle at 20% 10%,rgba(240,56,40,.3),transparent 30%),
             linear-gradient(145deg,var(--lv-blue),var(--lv-deep-blue))
}
.lv-mega-intro h3{color:#fff}
.lv-mega-title{color:var(--lv-red);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:850}
.lv-mega-link{display:block;padding:.52rem .55rem;margin-left:-.55rem;border-radius:.65rem;color:var(--lv-text);font-weight:650}
.lv-mega-link:hover{color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.055)}

/* Legal hero */
.lv-legal-hero{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,31,67,.93) 0%,rgba(7,31,67,.77) 46%,rgba(7,31,67,.36) 100%),
    url("https://www.leva-net.org/fileadmin/images/levanet-startpage_2_wo_logo.jpg") center/cover no-repeat;
}
.lv-legal-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 82% 22%,rgba(240,56,40,.16),transparent 24%);
}
.lv-legal-hero-bg{
  position:absolute;inset:-6%;
  background:url("https://www.leva-net.org/fileadmin/images/levanet-startpage_2_wo_logo.jpg") center/cover no-repeat;
  transform:translate3d(0,0,0) scale(1.06);
}
.lv-legal-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,31,67,.94) 0%,rgba(7,31,67,.76) 45%,rgba(7,31,67,.34) 100%)
}
.lv-legal-hero-content{
  position:relative;z-index:2;
  width:100%;padding:170px 0 62px;color:#fff
}
.lv-legal-kicker{
  display:inline-flex;padding:.45rem .8rem;border-radius:999px;
  background:rgba(240,56,40,.9);color:#fff;
  font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;font-weight:850
}
.lv-legal-hero h1{color:#fff;font-size:clamp(3rem,5vw,5rem);line-height:1;letter-spacing:-.05em;font-weight:900}
.lv-legal-hero p{max-width:760px;color:rgba(255,255,255,.76);font-size:1.12rem;line-height:1.65}

/* Legal page */
.lv-legal-section{padding:5rem 0}
.lv-legal-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:2rem;align-items:start}
.lv-legal-nav{
  position:sticky;top:1.5rem;
  background:#fff;border:1px solid var(--lv-border);border-radius:1rem;
  padding:1rem;box-shadow:var(--lv-shadow-sm)
}
.lv-legal-nav-title{
  color:var(--lv-red);text-transform:uppercase;letter-spacing:.08em;
  font-size:.74rem;font-weight:850;margin-bottom:.65rem
}
.lv-legal-nav a{
  display:block;padding:.55rem .6rem;border-radius:.6rem;
  color:var(--lv-text);font-size:.9rem;font-weight:650
}
.lv-legal-nav a:hover{color:var(--lv-blue);background:rgba(var(--lv-blue-rgb),.055)}
.lv-legal-content{
  background:#fff;border:1px solid var(--lv-border);
  border-radius:var(--lv-radius-lg);padding:2rem 2.2rem;
  box-shadow:var(--lv-shadow-sm)
}
.lv-legal-content h2{
  margin:2.3rem 0 .8rem;
  padding-top:.3rem;
  font-size:1.65rem;
  letter-spacing:-.03em
}
.lv-legal-content h2:first-child{margin-top:0}
.lv-legal-content h3{margin:1.7rem 0 .6rem;font-size:1.2rem}
.lv-legal-content p,.lv-legal-content li{line-height:1.8;color:#425A6E}
.lv-legal-content ul{padding-left:1.2rem}
.lv-legal-content li{margin-bottom:.4rem}
.lv-info-card{
  padding:1.15rem;border-radius:1rem;
  background:var(--lv-sand-light);border:1px solid var(--lv-border)
}
.lv-info-card small{display:block;color:var(--lv-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800}
.lv-info-card strong{display:block;color:var(--lv-deep-blue);margin-top:.25rem}
.lv-contact-box{
  margin:1.6rem 0;padding:1.25rem 1.3rem;
  border-left:5px solid var(--lv-red);
  border-radius:0 1rem 1rem 0;
  background:var(--lv-sand)
}
.lv-legal-footer-note{
  margin-top:2rem;padding-top:1rem;border-top:1px solid var(--lv-border);
  color:var(--lv-muted);font-size:.9rem
}

/* Footer */
.lv-footer{background:var(--lv-deep-blue);color:#fff}
.lv-footer-logo{width:180px;max-height:75px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}
.lv-footer a{color:rgba(255,255,255,.69)}
.lv-footer a:hover{color:#fff}

/* Mobile */
@media(max-width:991.98px){
  .lv-header-top{display:none}
  .lv-logo{width:140px;height:56px}
  .lv-legal-grid{grid-template-columns:1fr}
  .lv-legal-nav{position:static}
  .lv-legal-hero-content{padding-top:135px}
}
@media(max-width:767.98px){
  .lv-legal-section{padding:3.5rem 0}
  .lv-legal-content{padding:1.4rem}
  .lv-legal-hero{min-height:440px}
  .lv-legal-hero-content{padding-bottom:45px}
}
[dir="rtl"] body{text-align:right}
[dir="rtl"] .lv-contact-box{border-left:0;border-right:5px solid var(--lv-red);border-radius:1rem 0 0 1rem}

/* ==========================================================================
   40. ACCESSIBILITY
   ========================================================================== */

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(var(--lv-red-rgb), .58);
    outline-offset: 2px;
}


/* ==========================================================================
   41. RTL / ARABIC
   ========================================================================== */

[dir="rtl"] body {
    text-align: right;
}

[dir="rtl"] .lv-logo,
[dir="rtl"] .lv-footer-logo {
    object-position: right center;
}

[dir="rtl"] .lv-mega-link {
    margin-left: 0;
    margin-right: -.55rem;
}

[dir="rtl"] .lv-contact-box {
    border-left: 0;
    border-right: 5px solid var(--lv-red);
    border-radius: 1rem 0 0 1rem;
}


/* ==========================================================================
   42. PRINT
   ========================================================================== */

@media print {
    .lv-header,
    .lv-topbar,
    .lv-hero-slider,
    .lv-hero-controls,
    .lv-footer,
    .btn,
    .offcanvas {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }

    .lv-legal-nav {
        display: none;
    }

    .lv-legal-grid {
        display: block;
    }

    .lv-legal-content {
        padding: 0;
        border: 0;
        box-shadow: none;
    }
}

/* ==========================================================================
   43. TYPO3 TEMPLATE INTEGRATION
   ========================================================================== */

.lv-header {
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
    z-index: 1035;
    color: var(--bs-body-color);
    background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), .96);
    border-bottom: 1px solid var(--bs-border-color);
    box-shadow: 0 .5rem 1.5rem rgba(var(--bs-dark-rgb), .06);
    backdrop-filter: blur(.65rem);
}

.lv-header .lv-nav-link,
.lv-header .navbar-brand,
.lv-header .navbar-toggler,
.lv-header .bb-language-toggle,
.lv-header .ben-language-current-link {
    color: var(--bs-body-color) !important;
    text-shadow: none;
}

.lv-header .lv-nav-link:hover,
.lv-header .lv-nav-link:focus,
.lv-header .lv-nav-link.active,
.lv-header .lv-nav-link.show,
.lv-header .ben-language-current-link:hover,
.lv-header .ben-language-current-link:focus,
.lv-header .ben-language-current-link.show {
    color: var(--bs-primary) !important;
    background: transparent;
}

.lv-header .ben-language-menu-dropdown .ben-language-option {
    color: var(--bs-body-color);
}

.lv-header .ben-language-menu-dropdown .ben-language-option:hover,
.lv-header .ben-language-menu-dropdown .ben-language-option:focus,
.lv-header .ben-language-menu-dropdown .ben-language-option.active {
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), .08);
}

.lv-header .navbar-toggler {
    border-color: var(--bs-border-color);
}

.lv-header .navbar-toggler-icon {
    filter: none;
}

.ben-modal .modal-content {
    border: 0;
    border-radius: var(--lv-radius);
    box-shadow: var(--lv-shadow-lg);
    overflow: hidden;
}

.ben-modal .modal-header,
.ben-modal .modal-footer {
    background: var(--lv-sand-light);
    border-color: rgba(var(--lv-blue-rgb), .12);
}

.ben-modal .modal-title {
    color: var(--lv-deep-blue);
}

.ben-modal .modal-body {
    color: var(--lv-text);
    background: var(--lv-white);
}

.bb-alert {
    padding: 1rem 1.1rem;
    border: 0;
    border-left: 5px solid currentColor;
    border-radius: var(--lv-radius-sm);
    box-shadow: var(--lv-shadow-sm);
}

.bb-alert-primary {
    color: var(--lv-blue);
    background: rgba(var(--lv-blue-rgb), .1);
}

.bb-alert-secondary {
    color: var(--lv-deep-blue);
    background: rgba(var(--lv-deep-blue-rgb), .1);
}

.bb-alert-accent,
.bb-alert-warning {
    color: var(--lv-warning);
    background: rgba(var(--lv-warning-rgb), .14);
}

.bb-alert-success {
    color: var(--lv-success);
    background: rgba(var(--lv-success-rgb), .1);
}

.bb-alert-danger {
    color: var(--lv-red);
    background: rgba(var(--lv-red-rgb), .1);
}

.bb-alert-info {
    color: var(--lv-info);
    background: rgba(var(--lv-info-rgb), .1);
}

.bb-alert-light {
    color: var(--lv-deep-blue);
    background: var(--lv-white);
}

.bb-alert-dark {
    color: var(--lv-white);
    background: var(--lv-deep-blue);
}

.bb-carousel {
    --ben-carousel-card-bg: var(--lv-white);
    --ben-carousel-card-border: rgba(var(--lv-blue-rgb), .12);
    --ben-carousel-control-bg: rgba(var(--lv-deep-blue-rgb), .72);
    --ben-carousel-control-hover-bg: rgba(var(--lv-deep-blue-rgb), .9);
}

.bb-carousel .ben-carousel-card {
    border-radius: var(--lv-radius);
    box-shadow: var(--lv-shadow-sm);
}

.bb-carousel .ben-carousel-card .card-title {
    color: var(--lv-deep-blue);
}

.bb-carousel .ben-carousel-card .card-text {
    color: var(--lv-muted);
}

.bb-carousel .carousel-indicators [data-bs-target] {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background-color: var(--lv-red);
}

.bb-carousel .ben-carousel-caption {
    background-color: rgba(var(--lv-deep-blue-rgb), .72);
    border-color: rgba(var(--lv-red-rgb), .2);
}

.bb-sliding-images {
    --ben-sliding-img-bg: var(--lv-sand-light);
    --ben-sliding-img-radius: var(--lv-radius);
    --ben-sliding-img-shadow: var(--lv-shadow-sm);
    --ben-sliding-card-bg: var(--lv-white);
    --ben-sliding-card-border: rgba(var(--lv-blue-rgb), .12);
    --ben-sliding-card-title-color: var(--lv-deep-blue);
    --ben-sliding-card-text-color: var(--lv-muted);
    --ben-sliding-caption-bg: rgba(var(--lv-deep-blue-rgb), .72);
    --ben-sliding-caption-border: rgba(var(--lv-red-rgb), .2);
    --ben-sliding-lightbox-bg: rgba(var(--lv-deep-blue-rgb), .76);
    --ben-sliding-lightbox-hover-bg: rgba(var(--lv-red-rgb), .92);
    --ben-sliding-file-bg: var(--lv-white);
    --ben-sliding-file-hover-bg: rgba(var(--lv-blue-rgb), .08);
}

.bb-sliding-images .ben-sliding-img-caption strong {
    color: var(--lv-white);
}

.bb-sliding-images .ben-sliding-img-caption span {
    color: rgba(255, 255, 255, .82);
}

.bb-sliding-images .ben-sliding-img-file {
    color: var(--lv-deep-blue);
}

.bb-sliding-images .ben-sliding-img-file i {
    color: var(--lv-red);
}
