/* ============================================================
   Menu Pulsing Neon Border — style.css
   Version: 2.1.0
   ============================================================ */

@keyframes neonBottomPulse6f73ae55 {
    0%   { border-bottom-color: rgba(57,255,20,0.45); }
    50%  { border-bottom-color: #39FF14; }
    100% { border-bottom-color: rgba(57,255,20,0.45); }
}

/* ============================================================
   HEADER — Suppression de toute bordure / ombre parasite
   ============================================================ */

html body .site-header,
html body header.site-header,
html body header.elementor-location-header,
html body .elementor-location-header,
html body [data-elementor-type="header"],
html body .elementor-7262 {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    outline: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html body header.elementor-location-header::before,
html body header.elementor-location-header::after,
html body .elementor-location-header::before,
html body .elementor-location-header::after,
html body [data-elementor-type="header"]::before,
html body [data-elementor-type="header"]::after,
html body .site-header::before,
html body .site-header::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
    background: none !important;
}

/* Container principal header (27d55f64) */
html body .elementor-element.elementor-element-27d55f64,
html body .elementor-7262 .elementor-element-27d55f64 {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html body .elementor-element.elementor-element-27d55f64 > .e-con-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
}

/* Widget nav-menu (49d26c8b) */
html body .elementor-7262 .elementor-element.elementor-element-49d26c8b,
html body .elementor-element.elementor-element-49d26c8b {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Bordure néon pulsante sur le nav-menu */
html body .elementor-element.elementor-element-49d26c8b .elementor-nav-menu--main.elementor-nav-menu__container,
html body .elementor-element-49d26c8b .elementor-nav-menu__container.elementor-nav-menu--main,
html body .elementor-element-49d26c8b .elementor-nav-menu__container {
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 2px solid transparent !important;
    border-block-end: 2px solid transparent !important;
    box-shadow: none !important;
    outline: none !important;
    animation: neonBottomPulse6f73ae55 2s ease-in-out infinite !important;
    -webkit-animation: neonBottomPulse6f73ae55 2s ease-in-out infinite !important;
    overflow: visible !important;
}

html body .elementor-element.elementor-element-49d26c8b .elementor-widget-container,
html body .elementor-element.elementor-element-49d26c8b .elementor-widget-nav-menu {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ============================================================
   PAGE D'ACCUEIL — Suppression du padding-top de la 1ère section
   Container 47b73 : padding-top 80px → 0
   Container 3c635 : padding-top 64px → 0
   ============================================================ */

/* Ciblage direct par ID Elementor */
html body .elementor-element.elementor-element-47b73 {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body .elementor-element.elementor-element-47b73 > .e-con-inner {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body .elementor-element.elementor-element-3c635 {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body .elementor-element.elementor-element-3c635 > .e-con-inner {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ciblage générique : premier container enfant direct du contenu principal */
html body #page > main > .elementor > .e-con:first-child,
html body #page > .site-content > main > .elementor > .e-con:first-child,
html body .elementor-7102 > .e-con:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body #page > main > .elementor > .e-con:first-child > .e-con-inner,
html body .elementor-7102 > .e-con:first-child > .e-con-inner {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Zone de contenu principale */
html body #page,
html body #content,
html body .site-content,
html body .site-main,
html body #main {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* Sélecteurs adjacents génériques */
.elementor-location-header + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.elementor-location-header + * > .elementor-section:first-child,
.elementor-location-header + * > .e-con:first-child,
.elementor-location-header + .elementor > .e-con:first-child {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body > .elementor-location-header ~ main,
body > .elementor-location-header ~ .site-content,
body > .elementor-location-header ~ #content {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

header.elementor-location-header::after,
header.elementor-location-header + *::before,
[data-elementor-type="header"]::after,
[data-elementor-type="header"] + *::before {
    display: none !important;
    content: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   WooCommerce pages
   ============================================================ */

body.woocommerce-order-received .elementor-7262,
body.woocommerce-order-received .elementor-7262 *,
body.woocommerce-order-received header.elementor-location-header,
body.woocommerce-order-received .elementor-location-header,
body.woocommerce-order-received [data-elementor-type="header"],
body.woocommerce-order-received .site-header,
body.woocommerce-order-received .elementor-element-27d55f64,
body.woocommerce-order-received .elementor-element-49d26c8b,
body.woocommerce-order-received main,
body.woocommerce-order-received #main,
body.woocommerce-order-received #content,
body.woocommerce-order-received .site-content {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

body.woocommerce-order-received .elementor-element-49d26c8b .elementor-nav-menu__container {
    border-bottom: 2px solid transparent !important;
    border-block-end: 2px solid transparent !important;
    animation: neonBottomPulse6f73ae55 2s ease-in-out infinite !important;
    -webkit-animation: neonBottomPulse6f73ae55 2s ease-in-out infinite !important;
}

body.woocommerce-checkout .elementor-7262,
body.woocommerce-checkout header.elementor-location-header,
body.woocommerce-checkout .elementor-location-header,
body.woocommerce-checkout [data-elementor-type="header"],
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .elementor-element-27d55f64,
body.woocommerce-checkout .elementor-element-49d26c8b {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

body.woocommerce-page .elementor-7262,
body.woocommerce-page header.elementor-location-header,
body.woocommerce-page .elementor-location-header,
body.woocommerce-page [data-elementor-type="header"],
body.woocommerce-page .site-header,
body.woocommerce-page .elementor-element-27d55f64,
body.woocommerce-page .elementor-element-49d26c8b {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Classe utilitaire */
.neon-border-pulse {
    border: 2px solid transparent !important;
    animation: neonBottomPulse6f73ae55 2s infinite ease-in-out !important;
    overflow: visible !important;
}
