/* ==============================
   BRIGNOLE BIOMECHANICS CSS
   نسخة منظفة - بدون تكرار
   ============================== */

/* ------------------------------ */
/* General / Base                 */
/* ------------------------------ */
html { scroll-padding-top: 85px; }

html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

* {
  box-sizing: border-box !important;
}

img, video {
  max-width: 100% !important;
  height: auto !important;
}

/* ------------------------------ */
/* Footer Section Binding         */
/* ------------------------------ */
#colophon, #footer, footer.site-footer, .site-footer {
  position: relative;
  scroll-margin-top: 85px;
}

/* ------------------------------ */
/* Tablet (max-width: 1024px)     */
/* ------------------------------ */
@media only screen and (max-width: 1024px) {
  h1, .elementor-heading-title {
    font-size: 5vw !important;
  }

  .elementor-container {
    padding-left: 3vw !important;
    padding-right: 3vw !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-button {
    font-size: 3vw !important;
    padding: 6px 12px !important;
  }
}

/* ------------------------------ */
/* Mobile (max-width: 767/768px)  */
/* كل قواعد الموبايل بمكان واحد   */
/* ------------------------------ */
@media only screen and (max-width: 767px) {

  body { padding: 0 15px; }

  /* حجم العناوين - مربوطة بالوسم + الكلاس مع بعض، حتى ما تصير قاعدة الكلاس العامة تغلب على الوسم */
  /* العناصر يلي عندها id="manual-typo" أو "bio-title" أو "brignole-title" مستثناة، حتى تتحكم فيها من بانل Typography مباشرة بحرية كاملة */
  h1.elementor-heading-title:not(#manual-typo):not(#bio-title):not(#brignole-title),
  h1:not(.elementor-heading-title):not(#manual-typo):not(#bio-title):not(#brignole-title) {
    font-size: clamp(1.8rem, 5vw, 2.5rem) !important;
    line-height: 1.2 !important;
  }

  h2.elementor-heading-title:not(#manual-typo):not(#bio-title):not(#brignole-title),
  h2:not(.elementor-heading-title):not(#manual-typo):not(#bio-title):not(#brignole-title) {
    font-size: clamp(1.4rem, 4vw, 2rem) !important;
    line-height: 1.3 !important;
  }

  h3.elementor-heading-title:not(#manual-typo):not(#bio-title):not(#brignole-title),
  h3:not(.elementor-heading-title):not(#manual-typo):not(#bio-title):not(#brignole-title) {
    font-size: clamp(1.1rem, 3.5vw, 1.5rem) !important;
    line-height: 1.3 !important;
  }

  .elementor-section {
    padding: 30px 0 !important;
  }

  .elementor-column {
    margin-bottom: 20px;
  }

  .elementor-container {
    flex-direction: column !important;
    text-align: center !important;
    padding-left: 5vw !important;
    padding-right: 5vw !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-button {
    font-size: 12px !important;
    padding: 8px 16px !important;
    width: 100%;
  }

  .desktop-only {
    display: none !important;
  }

  .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
  }

  .elementor-widget-heading,
  .elementor-widget-text-editor {
    text-align: center !important;
  }

  /* استجابة عامة للحاويات والعناصر */
  .e-con, .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-section,
  .elementor-container,
  .e-con {
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* -------------------------------------------------- */
/* Main menu design - Astra                            */
/* -------------------------------------------------- */

/* Desktop menu alignment */
.ast-desktop .main-header-menu {
  margin-left: 15px !important;
}

/* Menu base style */
.ast-desktop .main-header-menu > .menu-item > a {
  display: inline-block !important;
  color: #000000 !important;
  background-color: #FDD27C !important;
  font-family: 'Bebas Neue', 'Oswald', 'Anton', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  margin: 0 2px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  position: relative;
  overflow: hidden;
  transition: all 0.35s ease-in-out !important;
  pointer-events: auto !important;
}

/* Shine effect */
.ast-desktop .main-header-menu > .menu-item > a::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.5), transparent);
  transform: skewX(-20deg);
  transition: left 0.7s ease;
}
.ast-desktop .main-header-menu > .menu-item > a:hover::after {
  left: 150%;
}

/* Hover effect */
.ast-desktop .main-header-menu > .menu-item > a:hover {
  background-color: #e6b95c !important;
  color: #000 !important;
  box-shadow: 0 4px 12px rgba(253,210,124,0.6);
  transform: translateY(-2px);
}

/* Active state - excluding footer/colophon links */
.ast-desktop .main-header-menu > .menu-item.current-menu-item > a:not([href*="#colophon"]):not([href*="#footer"]) {
  background-color: #e6b95c !important;
  color: #000 !important;
  box-shadow: 0 4px 12px rgba(253,210,124,0.6);
  transform: translateY(-2px);
}

/* Mobile menu */
.ast-mobile-header-wrap .main-header-menu {
  padding-left: 8px !important;
}
.ast-mobile-header-wrap .main-header-menu > .menu-item > a {
  color: #000000 !important;
  background-color: #FDD27C !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  margin: 2px 0 !important;
  font-family: 'Bebas Neue', 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  display: block !important;
}

/* Transparent header background */
.ast-primary-header-bar {
  background: transparent !important;
}

/* Contact (#colophon) link - special handling */
.ast-desktop .main-header-menu > .menu-item.current-menu-item > a[href*="#colophon"],
.ast-desktop .main-header-menu > .menu-item.current-menu-item > a[href*="#footer"] {
  background-color: #FDD27C !important;
  color: #000000 !important;
  transform: none !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
}

.ast-desktop .main-header-menu > .menu-item > a[href*="#colophon"]:hover,
.ast-desktop .main-header-menu > .menu-item > a[href*="#footer"]:hover {
  background-color: #e6b95c !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(253,210,124,0.6) !important;
}

/* -------------------------------------------------- */
/* التلاتة نصوص فوق البانر - حرية كاملة من بانل        */
/* Typography بإلمنتور. مستثناة أصلاً من قواعد h1/h2/h3 */
/* العامة (فوق) بواسطة :not(#id)، فما في داعي نفرض حجم  */
/* أو محاذاة هون - كلشي من البانل.                      */
/* -------------------------------------------------- */