/*
Theme Name: OMIBAT Theme
Theme URI: https://omibat.fr/
Author: OpenAI
Description: Thème WordPress léger et premium pour OMIBAT, adapté aux artisans et TPE locales.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: omibat-theme
*/

:root{
  --blue:#2563eb; --blue-dark:#1d4ed8; --blue-light:#dbeafe; --blue-xlight:#eff6ff;
  --orange:#f97316; --orange-dark:#ea6c0a; --orange-light:#fff7ed;
  --white:#ffffff;
  --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb; --gray-300:#d1d5db;
  --gray-400:#9ca3af; --gray-500:#6b7280; --gray-600:#4b5563; --gray-700:#374151;
  --gray-800:#1f2937; --gray-900:#111827;
  --green:#16a34a; --green-light:#dcfce7;
  --font-body:'Inter',sans-serif;
  --font-heading:'Plus Jakarta Sans',sans-serif;
  --shadow:0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  --shadow-md:0 12px 22px -6px rgb(0 0 0 / 0.10), 0 4px 10px -4px rgb(0 0 0 / 0.06);
  --shadow-lg:0 20px 45px -12px rgb(0 0 0 / 0.16);
  --shadow-xl:0 28px 60px -12px rgb(0 0 0 / 0.25);
  --radius:.75rem; --radius-lg:1rem; --radius-xl:1.5rem;
  --transition:all .28s ease;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--gray-700);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:var(--transition)}
ul{list-style:none;margin:0;padding:0}
button,input,textarea,select{font:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
section{padding:5rem 0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--gray-900);line-height:1.15;letter-spacing:-.03em;margin:0}
.section-label{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-xlight);padding:.34rem .85rem;border-radius:999px;margin-bottom:1rem;
}
.section-header{text-align:center;max-width:760px;margin:0 auto 3rem}
.section-title{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1rem}
.text-orange{color:var(--orange)}
.text-gradient-blue{
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.88rem 1.55rem;border-radius:.7rem;border:none;font-size:.95rem;font-weight:700;
  white-space:nowrap;transition:var(--transition);cursor:pointer
}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.38)}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(249,115,22,.45)}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.28)}
.btn-blue:hover{background:var(--blue-dark);transform:translateY(-2px)}
.btn-outline{border:1.5px solid rgba(255,255,255,.28);color:#fff;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55)}
.btn-ghost{background:#fff;border:1.5px solid var(--gray-200);color:var(--gray-800)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-xlight)}
.btn-lg{padding:1rem 1.9rem;font-size:1rem}

/* ===== NAVBAR ===== */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--gray-200);padding:.8rem 0
}
.navbar .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav-logo{display:flex;align-items:center}
.logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:900}
.logo-text .omi{color:var(--blue)} .logo-text .bat{color:var(--orange)}

.nav-wrap{
  display:flex;
  align-items:center;
  gap:1rem;
  position:relative;
}

.nav-menu{
  display:flex;
  align-items:center;
  gap:.25rem;
}

.nav-link,.nav-menu>li>a{
  padding:.5rem .9rem;
  border-radius:.55rem;
  font-size:.9rem;
  font-weight:500;
  color:var(--gray-700);
  display:block;
  transition:var(--transition);
}

.nav-link:hover,.nav-menu>li>a:hover{
  color:var(--blue);
  background:var(--blue-xlight);
}

.nav-menu .current-menu-item>a,
.nav-menu .current_page_item>a,
.nav-menu .current-page-ancestor>a{
  color:var(--gray-900);
  border-bottom:2px solid var(--orange);
  border-radius:0;
  background:transparent;
}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  padding:.4rem;
  background:none;
  border:none;
  z-index:1001;
}

.nav-toggle span{
  width:22px;
  height:2px;
  background:var(--gray-700);
  border-radius:2px;
  display:block;
  transition:all .25s ease;
}

.nav-overlay{
  display:none;
}

.nav-cta-desktop{
  display:inline-flex;
}

@media (max-width:768px){

  .nav-cta-desktop{
    display:none;
  }

  .nav-toggle{
    display:flex;
    position:relative;
    z-index:1003;
  }

  /* OVERLAY */
  .nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease;
    z-index:1001;
  }

  .nav-overlay.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  /* MENU DROITE */
  .nav-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:260px; /* 👈 plus compact */
    height:100vh;
    background:#ffffff;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:5rem 1.2rem 2rem;
    gap:.4rem;

    box-shadow:-10px 0 40px rgba(0,0,0,.15);
    z-index:1002;

    transition:right .28s ease;
  }

  .nav-menu.open{
    right:0;
  }

  /* LIENS */
  .nav-menu > li{
    width:100%;
  }

  .nav-menu > li > a{
    display:block;
    width:100%;
    padding:.75rem .9rem;
    border-radius:.6rem;

    font-size:.95rem; /* 👈 plus petit */
    font-weight:600;
    color:var(--gray-800);

    background:transparent;
  }

  .nav-menu > li > a:hover{
    background:var(--blue-xlight);
    color:var(--blue);
  }

  /* ACTIF */
  .nav-menu .current-menu-item > a,
  .nav-menu .current_page_item > a{
    background:var(--orange-light);
    color:var(--orange-dark);
  }

}

.footer{background:var(--gray-900);color:var(--gray-400);padding:4rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand .logo-text{display:block;margin-bottom:.85rem}
.footer-brand p{font-size:.84rem;line-height:1.75;max-width:270px}
.footer-col h4{color:#fff;font-size:.88rem;margin-bottom:.9rem}
.footer-col ul{display:flex;flex-direction:column;gap:.55rem}
.footer-col a{font-size:.84rem;color:var(--gray-400)}
.footer-col a:hover{color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding-top:1.4rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8rem
}
.footer-links{display:flex;gap:1.4rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease, transform .55s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

.page-generic{
  padding-top:7rem;padding-bottom:4rem;min-height:60vh
}
.page-generic .entry{
  max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--gray-200);
  border-radius:1.25rem;padding:2rem;box-shadow:var(--shadow)
}
.page-generic h1{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1rem}
.page-generic .entry-content{color:var(--gray-600);line-height:1.85}
.page-generic .entry-content p{margin:0 0 1rem}
.page-generic .entry-content ul{list-style:disc;padding-left:1.2rem}

.omibat-alert{
  max-width:1100px;margin:7rem auto 0;padding:0 1.5rem
}
.omibat-alert-box{
  border-radius:1rem;padding:1rem 1.1rem;font-size:.92rem;line-height:1.6
}
.omibat-alert-success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}
.omibat-alert-error{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}

/* ===== FIX VIDEO MOBILE ===== */
@media (max-width: 767px) {
  .video-showcase {
    padding: 3.5rem 0;
  }

  .video-showcase .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .video-frame {
    border-radius: 18px;
    padding: 5px;
    box-shadow:
      0 0 0 1px rgba(34,211,238,0.18),
      0 14px 28px rgba(0,0,0,0.38),
      0 0 18px rgba(34,211,238,0.08);
  }

  .video-frame::before {
    border-radius: 14px;
  }

  .video-frame iframe,
  .video-frame video {
    border-radius: 12px;
    aspect-ratio: 4 / 3;
  }

  .video-showcase .section-title {
    font-size: 1.5rem;
  }

  .video-showcase .section-header p {
    font-size: 0.92rem;
    line-height: 1.6;
  }
}