/* OVIIGI GLOBAL PREMIUM BACKGROUND 48.180 */

/* Atmosphere generale */
html,
body {
  background:#030D20;
}

/* Fond lumineux sur toute la page */
body main {
  background:
    radial-gradient(
      ellipse at 12% 18%,
      rgba(0,105,255,.16),
      transparent 40%
    ),
    radial-gradient(
      ellipse at 88% 48%,
      rgba(0,165,255,.11),
      transparent 38%
    ),
    radial-gradient(
      ellipse at 18% 82%,
      rgba(255,112,20,.07),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      #031126 0%,
      #071C3A 38%,
      #06172F 68%,
      #030D20 100%
    );
}

/* Sections transparentes pour laisser voir le fond commun */
body .pricing,
body .why-oviigi,
body .about,
body .contact {
  background:transparent;
}

/* Separations tres discretes */
body .pricing,
body .why-oviigi,
body .about,
body .contact {
  border-top:1px solid rgba(65,155,255,.09);
}

/* Footer premium */
body .site-footer {
  background:
    linear-gradient(
      180deg,
      rgba(3,13,32,.94),
      #020916
    );
}

/* Mobile */
@media(max-width:767px) {
  body main {
    background:
      radial-gradient(
        ellipse at 50% 30%,
        rgba(0,115,255,.13),
        transparent 48%
      ),
      linear-gradient(
        180deg,
        #031126,
        #071A35 45%,
        #030D20
      );
  }
}

/* OVIIGI HEADER PREMIUM 48.183 */

.site-header {
  position:relative;
  z-index:100;
  background:linear-gradient(
    110deg,
    rgba(5,19,43,.97),
    rgba(9,32,66,.94),
    rgba(5,18,41,.97)
  );
  border-bottom:1px solid rgba(65,160,255,.22);
  box-shadow:0 8px 32px rgba(0,8,28,.20);
}

.site-header .header-inner {
  max-width:1440px;
  margin-inline:auto;
  min-height:78px;
  padding-inline:clamp(16px,3vw,42px);
}

.site-header .brand img {
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 0 8px rgba(28,135,255,.15));
}

.site-header .main-navigation a {
  color:#d7e8ff;
  font-weight:550;
  letter-spacing:.15px;
  transition:color .2s ease,text-shadow .2s ease;
}

.site-header .main-navigation a:hover,
.site-header .main-navigation a:focus-visible {
  color:#65caff;
  text-shadow:0 0 12px rgba(0,174,255,.40);
}

.site-header .client-link {
  border:1px solid rgba(121,205,255,.42);
  border-radius:12px;
  background:linear-gradient(
    115deg,#0877e9,#079dff
  );
  color:#fff;
  box-shadow:
    0 5px 20px rgba(0,115,255,.25),
    inset 0 1px 0 rgba(255,255,255,.20);
  transition:transform .2s ease,box-shadow .2s ease;
}

.site-header .client-link:hover {
  transform:translateY(-1px);
  box-shadow:0 7px 24px rgba(0,145,255,.38);
}

@media(max-width:767px) {
  .site-header .header-inner {
    min-height:68px;
    padding-inline:15px;
  }

  .site-header .menu-toggle {
    border:1px solid rgba(86,174,255,.38);
    border-radius:11px;
    background:rgba(12,43,83,.65);
    box-shadow:0 0 14px rgba(0,119,255,.10);
  }

  .site-header .menu-toggle span {
    background:#eaf6ff;
  }

  .site-header .main-navigation {
    background:#071a35;
    border:1px solid rgba(65,160,255,.16);
    border-radius:12px;
  }
}


/* OVIIGI STICKY HEADER 48.184 */

html {
  scroll-padding-top: 90px;
}

body .site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(5, 19, 43, .94);
  border-bottom: 1px solid rgba(76, 169, 255, .25);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 76px;
  }

  body .site-header {
    background: rgba(5, 19, 43, .96);
  }
}

/* OVIIGI MOBILE HEADER ICONS 48.186 */

.oviigi-mobile-actions {
  display:none;
}

@media(max-width:767px) {
  .site-header .header-inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }

  .site-header .brand {
    flex:1 1 auto;
    min-width:0;
  }

  .site-header .brand img {
    width:clamp(110px,31vw,145px);
    max-width:100%;
  }

  .oviigi-mobile-actions {
    display:flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
  }

  .oviigi-mobile-icon,
  .site-header .oviigi-mobile-actions .menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 39px;
    width:39px;
    height:39px;
    padding:9px;
    margin:0;
    border:1px solid rgba(91,170,255,.32);
    border-radius:11px;
    background:rgba(16,48,87,.72);
    color:#e5f5ff;
    text-decoration:none;
    box-sizing:border-box;
  }

  .oviigi-mobile-icon svg {
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .oviigi-mobile-icon:hover,
  .oviigi-mobile-icon:focus-visible {
    border-color:#46baff;
    background:rgba(14,86,158,.65);
  }

  .oviigi-mobile-cart:disabled {
    opacity:.65;
    cursor:not-allowed;
  }

  .site-header .header-actions {
    display:none;
  }

  .site-header .oviigi-mobile-actions .menu-toggle {
    flex-direction:column;
    gap:4px;
  }

  .site-header .oviigi-mobile-actions .menu-toggle span {
    width:19px;
    height:2px;
    flex:0 0 2px;
  }
}

@media(min-width:768px) {
  .oviigi-mobile-actions {
    display:contents;
  }
}

/* OVIIGI PREMIUM MOBILE MENU 48.188B */

.oviigi-nav-icon,
.oviigi-nav-chevron,
.oviigi-menu-bottom {
  display:none;
}

@media(max-width:850px) {
  .site-header .header-inner {
    position:relative;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px;
  }

  .site-header .brand {
    flex:1 1 auto;
    min-width:0;
  }

  .site-header .brand img {
    width:clamp(105px,28vw,142px);
  }

  .site-header .oviigi-mobile-actions {
    display:flex;
    align-items:center;
    gap:6px;
    margin-left:auto;
  }

  .site-header .oviigi-mobile-icon,
  .site-header .oviigi-mobile-actions .menu-toggle {
    display:inline-flex;
    flex:0 0 36px;
    width:36px;
    height:36px;
    padding:8px;
    margin:0;
  }

  .site-header .header-actions {
    display:none;
  }

  .site-header .main-navigation {
    position:absolute;
    top:calc(100% + 8px);
    right:10px;
    left:auto;
    width:60vw;
    min-width:190px;
    max-width:300px;
    flex:none;
    order:initial;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:11px;
    border:1px solid rgba(73,190,255,.58);
    border-radius:20px;
    background:linear-gradient(
      145deg,
      rgba(12,110,210,.98) 0%,
      rgba(9,74,157,.98) 36%,
      rgba(7,47,112,.98) 72%,
      rgba(5,34,82,.98) 100%
    );
    box-shadow:
      0 16px 42px rgba(0,12,40,.48),
      inset 0 1px 0 rgba(180,225,255,.25);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    z-index:1100;
  }

  .site-header .main-navigation.is-open {
    display:flex;
  }

  .site-header .main-navigation a {
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px;
    border-radius:10px;
    font-size:12px;
    line-height:1.4;
    color:#fff;
    text-decoration:none;
    border-bottom:1px solid rgba(180,218,255,.13);
  }

  .site-header .main-navigation a:hover,
  .site-header .main-navigation a:focus-visible {
    background:rgba(133,208,255,.17);
  }

  .oviigi-nav-icon {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    flex:0 0 27px;
    width:27px;
    height:27px;
    border-radius:9px;
    background:rgba(14,55,123,.55);
    font-size:16px;
    color:#b5eaff;
  }

  .oviigi-nav-icon.cyan { color:#5ce6ff; }
  .oviigi-nav-icon.violet { color:#c5a2ff; }
  .oviigi-nav-icon.orange { color:#ffd18a; }
  .oviigi-nav-icon.green { color:#6af0c5; }

  .oviigi-nav-chevron {
    display:inline;
    margin-left:auto;
    font-size:23px;
    color:#b8e3ff;
  }

  .oviigi-menu-bottom {
    display:flex;
    justify-content:flex-end;
    margin-top:5px;
    padding-top:8px;
  }

  .oviigi-theme-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    padding:6px;
    border:1px solid rgba(147,214,255,.45);
    border-radius:9px;
    background:rgba(30,118,210,.65);
    color:#fff;
    cursor:pointer;
  }

  .oviigi-theme-toggle svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

@media(max-width:350px) {
  .site-header .main-navigation {
    width:66vw;
    min-width:0;
  }
}

body.oviigi-light-mode {
  background:#eaf2ff;
}

body.oviigi-light-mode main {
  background:linear-gradient(180deg,#dcecff,#edf5ff);
}

body.oviigi-light-mode .site-header {
  background:rgba(228,240,255,.97);
}

body.oviigi-light-mode .site-header .main-navigation {
  background:linear-gradient(145deg,#e3f2ff,#bcdcff);
}

body.oviigi-light-mode .site-header .main-navigation a {
  color:#123052;
}

/* OVIIGI MENU TYPOGRAPHY 48.189 */

@media(max-width:850px) {
  .site-header .main-navigation a {
    font-size:14px;
  }

  .site-header .oviigi-nav-icon {
    font-size:19px;
  }
}

/* OVIIGI HAMBURGER PREMIUM 48.190 */

@media(max-width:850px) {

  .site-header .oviigi-mobile-actions .menu-toggle {
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:38px;
    height:38px;
    flex:0 0 38px;
    padding:8px;
    border:1px solid rgba(125,210,255,.55);
    border-radius:11px;
    background:linear-gradient(
      145deg,
      rgba(31,126,224,.65),
      rgba(8,54,126,.82)
    );
    box-shadow:0 2px 12px rgba(0,100,255,.20);
    cursor:pointer;
  }

  .site-header .oviigi-mobile-actions .menu-toggle span {
    display:block !important;
    position:static;
    width:20px;
    height:2.5px;
    min-height:2.5px;
    margin:0;
    padding:0;
    border:0;
    border-radius:5px;
    background:#ffffff !important;
    opacity:1 !important;
    transform:none;
    transition:transform .2s ease,opacity .2s ease;
    box-shadow:0 0 5px rgba(140,220,255,.35);
  }

  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform:translateY(6.5px) rotate(45deg);
  }

  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity:0 !important;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform:translateY(-6.5px) rotate(-45deg);
  }
}

/* OVIIGI HAMBURGER SVG 48.192 */

@media(max-width:850px) {

  .site-header .oviigi-mobile-actions .menu-toggle {
    display:flex !important;
    align-items:center;
    justify-content:center;
    color:#ffffff !important;
  }

  .site-header .menu-toggle .oviigi-hamburger-svg {
    display:block !important;
    width:23px !important;
    height:23px !important;
    min-width:23px;
    min-height:23px;
    flex:0 0 23px;
    overflow:visible;
    color:#ffffff;
    stroke:#ffffff;
    opacity:1;
    visibility:visible;
  }

  .site-header .oviigi-hamburger-svg path {
    fill:none;
    stroke:#ffffff;
    stroke-width:2.5;
    stroke-linecap:round;
    transform-origin:center;
    transition:transform .2s ease,opacity .2s ease;
  }

  .site-header .menu-toggle[aria-expanded="true"]
  .oviigi-line-top {
    transform:translateY(6px) rotate(45deg);
  }

  .site-header .menu-toggle[aria-expanded="true"]
  .oviigi-line-middle {
    opacity:0;
  }

  .site-header .menu-toggle[aria-expanded="true"]
  .oviigi-line-bottom {
    transform:translateY(-6px) rotate(-45deg);
  }
}

/* OVIIGI HAMBURGER WHITE 48.193 */

@media(max-width:850px) {
  .site-header .menu-toggle .oviigi-hamburger-svg {
    display:block !important;
    width:24px !important;
    height:24px !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#fff !important;
  }

  .site-header .menu-toggle .oviigi-hamburger-svg path {
    stroke:#FFFFFF !important;
    stroke-width:2.8px !important;
    opacity:1;
  }

  .site-header .oviigi-mobile-actions .menu-toggle {
    color:#fff !important;
    border-color:rgba(110,204,255,.75);
  }
}

/* OVIIGI HERO ORANGE 48.197 */
a.oviigi-hero-orange,
a.oviigi-hero-orange:visited {
  background: linear-gradient(
    110deg,
    #FF9B28 0%,
    #FF671B 55%,
    #F04436 100%
  ) !important;
  background-color: #FF671B !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 8px 26px rgba(255, 105, 28, .25) !important;
}

a.oviigi-hero-orange:hover,
a.oviigi-hero-orange:focus-visible {
  background: linear-gradient(
    110deg,
    #FFAD3D 0%,
    #FF7527 55%,
    #F45139 100%
  ) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 30px rgba(255, 105, 28, .35) !important;
}
