/*
Theme Name:   Neurones Astra Child
Theme URI:    https://neurones-escape.fr
Description:  Thème enfant pour Neurones Escape Game basé sur Astra
Author:       Votre Nom
Author URI:   https://neurones-escape.fr
Template:     astra
Version:      1.0.40
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  neurones-child
*/

/* ==========================================================================
   Styles personnalisés Neurones Escape Game
   ========================================================================== */

/* Variables CSS pour les couleurs du thème */
:root {
    --neurones-primary: #1a1a1a;
    --neurones-secondary: #ff6b35;
    --neurones-accent: #3ad88f;
    --neurones-dark: #0a0a0a;
    --neurones-light: #f5f5f5;
    --neurones-text: #1a6378;

    /* Typographie */
    --ne-h1-h2:   #3ad88f;
    --ne-h3-h4:   #00bc9b;
    --ne-h5-h6:   #009f9c;
    --ne-text:    #1a6378;

    /* Fonds alternés sections */
    --ne-bg-1:    #e2deda;
    --ne-bg-2:    #ededed;
    --ne-bg-3:    #4a433f;
    --ne-decor-hero-image: url('images/decoration-accueil-reduit.png');

    /* Boutons */
    --ne-btn-bg:      #3ad88f;
    --ne-btn-text:    #1a6378;
    --ne-btn-hover:   #00bc9b;
}

/* ==========================================================================
   Typographie
   ========================================================================== */

body {
    font-family: 'Lato', Arial, sans-serif;
    color: var(--ne-text);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    line-height: 1.3;
}

h1, h2 { color: var(--ne-h1-h2) !important; }
h3, h4 { color: var(--ne-h3-h4) !important; }
h5, h6 { color: var(--ne-h5-h6) !important; }

/* Boutons globaux */
.ne-btn {
    display: inline-block;
    background: var(--ne-btn-bg);
    color: var(--ne-btn-text);
    border: none;
    border-radius: 50px;
    padding: 12px 30px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.35);
}
a[style*="background:#3ad88f"] {
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.35);
}

/* Boutons inline PHP (events, contact, tarifs) sans background dans leur style */
a[style*="border-radius:50px"][style*="text-transform:uppercase"] {
    background: #3ad88f;
    color: #1a6378 !important;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.35);
}

.ne-btn:hover,
a[style*="background:#3ad88f"]:hover,
a[style*="border-radius:50px"][style*="text-transform:uppercase"]:hover {
    background: #00bc9b !important;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(58, 216, 143, 0.5) !important;
}
.elementor-widget-button.ne-btn {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.elementor-widget-button.ne-btn:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button-text {
    background: transparent;
}
.elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button:hover .elementor-button-text {
    background: transparent !important;
    color: inherit !important;
}

/* ==========================================================================
   Variables header
   ========================================================================== */

:root {
    --header-height:      60px;
    --logo-size:          120px;
    --header-bg:          rgba(10, 10, 10, 0.95);
    --header-accent:      #3ad88f;        /* Vert correspondant au site de référence */
    --header-font:        'Lato', sans-serif;
}

/* ==========================================================================
   Tokens globaux
   ========================================================================== */
:root {
    --ne-section-a:      var(--ne-bg-1);  /* #e2deda */
    --ne-section-b:      var(--ne-bg-2);  /* #ededed */
    --ne-separator-line: #3ad88f;
    --ne-separator-h:    4px;
    --ne-body-text:      var(--ne-text);
    --ne-heading-text:   var(--ne-h1-h2);
    --ne-card-bg:        #eaf4f7;
    --ne-card-text:      var(--ne-text);
    --ne-card-border:    rgba(26,99,120,0.15);
}

/* ==========================================================================
   Header personnalisé — Logo centré débordant
   ========================================================================== */

/* Cacher le header Astra par défaut */
.main-header-bar,
.ast-main-header-wrap,
.ast-primary-header-bar,
#ast-mobile-header,
.site-header .custom-logo-link {
    display: none !important;
}

/* Compenser le header fixe */
body {
    padding-top: var(--header-height);
}

/* Conteneur principal */
.neurones-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    height: var(--header-height);
    background: var(--header-bg);
    backdrop-filter: blur(12px);
    border-bottom: 2px solid rgba(58, 216, 143, 0.55);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
    overflow: visible; /* Crucial : permet au logo de déborder vers le bas */
}

/* Ligne intérieure en flex */
.header-inner {
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
    overflow: visible;
}

/* ── Logo centré ─────────────────────────────────────────── */

.header-logo-wrap {
    flex: 0 0 var(--logo-size);
    position: relative;        /* Ancre pour le positionnement absolu du cercle */
    align-self: stretch;       /* S'étire sur toute la hauteur du header */
    overflow: visible;
}

.header-logo-wrap a {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--logo-size);
    height: var(--logo-size);
    border-radius: 50%;
    background: rgba(8, 8, 8, 0.98);
    border: 2.5px solid var(--header-accent);
    box-shadow:
        0 0 0 5px rgba(58, 216, 143, 0.12),
        0 8px 30px rgba(0, 0, 0, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1;
}

.header-logo-wrap a:hover {
    transform: translate(-50%, -50%) scale(1.07);
    box-shadow:
        0 0 0 6px rgba(58, 216, 143, 0.25),
        0 12px 35px rgba(0, 0, 0, 0.7);
}

.header-logo-wrap img {
    max-width: 105px;
    max-height: 105px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* ── Navs gauche & droite ─────────────────────────────────── */

.header-nav-left,
.header-nav-right {
    flex: 1;
    display: flex;
    align-items: center;
    overflow: visible;
}

.header-nav-left  { justify-content: flex-end; }
.header-nav-right { justify-content: flex-start; }

/* Listes de menu générées par WordPress */
.header-nav-left  ul.nav-menu,
.header-nav-right ul.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
    align-items: center;
}

.header-nav-left  li,
.header-nav-right li {
    position: relative;
}

.header-nav-left  a,
.header-nav-right a {
    display: block;
    padding: 8px 13px;
    color: #ffffff;
    text-decoration: none;
    font-family: var(--header-font);
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.25s ease;
    line-height: var(--header-height);
}

.header-nav-left  a:hover,
.header-nav-right a:hover,
.header-nav-left  .current-menu-item > a,
.header-nav-right .current-menu-item > a {
    color: var(--header-accent);
}

/* Indicateur de sous-menu */
.header-nav-left  .menu-item-has-children > a::after,
.header-nav-right .menu-item-has-children > a::after {
    content: ' ▾';
    font-size: 9px;
    opacity: 0.65;
}

/* ── Dropdown ─────────────────────────────────────────────── */

.header-nav-left  ul ul,
.header-nav-right ul ul {
    display: none;
    position: absolute;
    top: calc(var(--header-height) - 8px);
    left: 0;
    background: rgba(8, 8, 8, 0.97);
    border: 1px solid rgba(58, 216, 143, 0.3);
    border-top: 2px solid var(--header-accent);
    min-width: 210px;
    list-style: none;
    margin: 0;
    padding: 6px 0;
    z-index: 100;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.55);
}

.header-nav-left  li:hover > ul,
.header-nav-right li:hover > ul {
    display: block;
}

.header-nav-left  ul ul a,
.header-nav-right ul ul a {
    font-size: 12px;
    letter-spacing: 0.3px;
    line-height: 1;
    padding: 11px 18px;
    text-transform: none;
    display: block;
    border-bottom: 2px solid rgba(58, 216, 143, 0.28);
}
.header-nav-left  ul ul li:last-child a,
.header-nav-right ul ul li:last-child a {
    border-bottom: none;
}

/* ── Burger mobile ─────────────────────────────────────────── */

.neurones-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px 6px;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-left: auto;
}

.toggle-bar {
    display: block;
    width: 23px;
    height: 2px;
    background: #ffffff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.neurones-menu-toggle[aria-expanded="true"] .toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.neurones-menu-toggle[aria-expanded="true"] .toggle-bar:nth-child(2) {
    opacity: 0;
}
.neurones-menu-toggle[aria-expanded="true"] .toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Menu mobile ───────────────────────────────────────────── */

.neurones-mobile-menu {
    display: none;
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    background: rgba(8, 8, 8, 0.98);
    border-top: 1px solid rgba(58, 216, 143, 0.3);
    padding: 15px 20px 25px;
    z-index: 9998;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
}

.neurones-mobile-menu.is-open {
    display: block;
}

.neurones-mobile-menu ul.mobile-nav-menu {
    list-style: none;
    margin: 0 0 10px 0;
    padding: 0;
}

.neurones-mobile-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.neurones-mobile-menu a {
    display: block;
    padding: 13px 15px;
    color: #ffffff;
    text-decoration: none;
    font-family: var(--header-font);
    font-weight: 500;
    font-size: 13.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s;
}

.neurones-mobile-menu a:hover {
    color: var(--header-accent);
}

.neurones-mobile-menu ul ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: rgba(255, 255, 255, 0.03);
}

.neurones-mobile-menu ul ul a {
    padding-left: 30px;
    font-size: 12.5px;
    text-transform: none;
    color: rgba(255, 255, 255, 0.75);
}

/* ── Responsive ────────────────────────────────────────────── */

@media (max-width: 992px) {
    .header-nav-left,
    .header-nav-right {
        display: none;
    }

    .neurones-menu-toggle {
        display: flex;
        position: absolute;
        right: 20px;
    }

    /* Sur mobile le logo reste visible mais plus petit */
    .header-logo-wrap {
        flex: 0 0 80px;
        position: static;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
    }

    .header-logo-wrap a {
        position: static;
        transform: none;
        width: 64px;
        height: 64px;
    }

    .header-logo-wrap a:hover {
        transform: scale(1.05);
    }

    .header-logo-wrap img {
        max-width: 56px;
        max-height: 56px;
    }
}

/* ==========================================================================
   Elementor — supprimer les marges latérales du gap par défaut
   ========================================================================== */

.elementor-column-gap-default > .elementor-container {
    max-width: 100% !important;
    margin-left:   0 !important;
    margin-right:  0 !important;
    padding-right: 0 !important;
    padding-left:  0 !important;
}

.elementor-column-gap-default > .elementor-container > .elementor-row > .elementor-column > .elementor-element-populated {
    padding-right: 0 !important;
    padding-left:  0 !important;
}

/* ==========================================================================
   Hero — premier écran plein viewport
   ========================================================================== */

/* Hero — hauteur fixe (géré par nh-hero-fix dans header.php) */

/* Trust bar (sect02) + USP (sect03) — tiennent dans l'espace restant sous le hero */
[data-id="hpsect02"] {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* USP (sect03) — tout compact pour tenir dans calc(100vh - 60px - 500px) */
[data-id="hpsect03"] {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
[data-id="hpsect03"] h2 {
    font-size: clamp(16px, 2vw, 22px) !important;
    margin-bottom: 14px !important;
}
[data-id="hpsect03"] [style*="margin-bottom:64px"] {
    margin-bottom: 15px !important;
}
[data-id="hpsect03"] [style*="padding:24px 16px"] {
    padding: 20px 16px !important;
}
[data-id="hpsect03"] [style*="font-size:38px"] {
    font-size: 30px !important;
    margin-bottom: 8px !important;
}
[data-id="hpsect03"] [style*="font-size:15px"][style*="font-weight:600"] {
    font-size: 14px !important;
    margin-bottom: 4px !important;
}
[data-id="hpsect03"] [style*="font-size:13px"] {
    font-size: 12px !important;
}

/* Centrer le contenu du widget HTML dans la section hero */
body.home .elementor-top-section:first-child .elementor-widget-html {
    width: 100%;
}

/* ==========================================================================
   Boutons CTA
   ========================================================================== */

.btn-primary,
.wp-block-button__link,
.elementor-button {
    background: linear-gradient(135deg, var(--neurones-secondary), #ff8c42);
    color: #ffffff;
    padding: 15px 35px;
    border-radius: 50px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}

.btn-primary:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
    background: linear-gradient(135deg, #ff8c42, var(--neurones-secondary));
}

.btn-secondary {
    background: transparent;
    color: var(--neurones-accent);
    border: 2px solid var(--neurones-accent);
    padding: 15px 35px;
    border-radius: 50px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 212, 255, 0.2);
}

.btn-secondary:hover {
    background: var(--neurones-accent);
    color: #ffffff;
    transform: translateY(-2px);
}

/* ==========================================================================
   Cards Énigmes (inspiré thegame-france.com)
   ========================================================================== */

.enigme-card {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 400px;
}

.enigme-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}

.enigme-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.enigme-card:hover img {
    transform: scale(1.1);
}

.enigme-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 100%);
    padding: 30px 20px;
    transition: all 0.3s ease;
}

.enigme-card:hover .enigme-card-overlay {
    padding-bottom: 40px;
}

.enigme-card-title {
    color: #ffffff;
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 700;
}

.enigme-card-excerpt {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    margin-bottom: 15px;
}

.enigme-card-meta {
    display: flex;
    gap: 15px;
    color: var(--neurones-accent);
    font-size: 12px;
    font-weight: 600;
}

/* ==========================================================================
   Section Hero / Banner
   ========================================================================== */

.hero-section {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-attachment: fixed;
    background-size: 100% 100%;
    background-position: center;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #ffffff;
    max-width: 800px;
    padding: 0 20px;
}

.hero-title {
    font-size: 48px;
    margin-bottom: 20px;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}

.hero-subtitle {
    font-size: 24px;
    margin-bottom: 30px;
    color: var(--neurones-accent);
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}

/* ==========================================================================
   Sections avec fond sombre
   ========================================================================== */

.section-dark {
    background-color: var(--neurones-dark);
    color: #ffffff;
    padding: 80px 0;
}

.section-dark h2 {
    color: #ffffff;
}

.section-dark p {
    color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Stats / Chiffres clés
   ========================================================================== */

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    text-align: center;
}

.stat-item {
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    border: 1px solid rgba(0, 212, 255, 0.3);
    transition: all 0.3s ease;
}

.stat-item:hover {
    background: rgba(0, 212, 255, 0.1);
    border-color: var(--neurones-accent);
    transform: translateY(-5px);
}

.stat-number {
    font-size: 48px;
    font-weight: 700;
    color: var(--neurones-accent);
    line-height: 1;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 16px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
    display: none;
}

.footer-widget h3 {
    color: #ffffff;
    margin-bottom: 20px;
}

.footer-widget a {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.3s ease;
}

.footer-widget a:hover {
    color: var(--neurones-accent);
}

/* Réseaux sociaux */
.social-links {
    display: flex;
    gap: 15px;
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.social-links a:hover {
    background: var(--neurones-accent);
    transform: translateY(-3px);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .hero-title {
        font-size: 32px;
    }
    
    .hero-subtitle {
        font-size: 18px;
    }
    
    .enigme-card {
        height: 300px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

/* ==========================================================================
   Section backgrounds — fonds alternés (remplace diamond pattern)
   ========================================================================== */

body {
    background: var(--ne-bg-1);
}

/* Fonds alternés — sections Elementor hors hero */
.elementor-top-section:nth-child(even) {
    background-color: var(--ne-bg-1) !important;
    background-image: none !important;
}
.elementor-top-section:nth-child(odd):not(:first-child) {
    background-color: var(--ne-bg-2) !important;
    background-image: none !important;
}

/* Home FR/EN: cadence manuelle des fonds.
   Tons clairs pour la respiration, tons moyens pour rythmer, tons sombres
   pour les blocs showcase et reservation. */
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect09"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect09"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect09"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] {
    background-color: var(--ne-bg-2) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect07"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect07"],
html[data-theme="light"] body.home .elementor-top-section[data-id="21268341"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="21268341"],
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect06"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect06"],
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect10"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect10"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect07"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect07"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect06"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect06"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect10"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect10"] {
    background-color: var(--ne-bg-1) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect03"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect03"],
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect05"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect05"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect03"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect03"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect05"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect05"] {
    background-color: var(--ne-bg-1) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect06c"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect06c"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect06c"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect06c"] {
    background-color: var(--ne-bg-2) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"],
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect04"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect04"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect08"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect08"] {
    background-color: var(--ne-bg-3) !important;
    --ne-text: rgba(255, 245, 238, 0.82);
    --ne-body-text: rgba(255, 245, 238, 0.82);
    --ne-heading-text: #f4efe9;
    color: rgba(255, 245, 238, 0.82);
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] h1,
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] h2,
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] h3,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] h1,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] h2,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] h3,
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] h1,
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] h2,
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] h3,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] h1,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] h2,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] h3 {
    color: #f4efe9 !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] p,
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] li,
html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect04"] span:not(.ns-card__badge):not(.nr-review-card__stars),
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] p,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] li,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect04"] span:not(.ns-card__badge):not(.nr-review-card__stars),
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] p,
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] li,
html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] span,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] p,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] li,
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] span {
    color: rgba(255, 245, 238, 0.82) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"] a:not(.ne-btn),
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"] a:not(.ne-btn) {
    color: #f4efe9 !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="1d183858"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="1d183858"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect08"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect08"] {
    position: relative;
    overflow: hidden !important;
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%) !important;
}


/* ==========================================================================
   Séparateur liseret vert entre sections Elementor
   ========================================================================== */

/* Plus besoin d'overflow visible — le ::after reste dans les limites */
.elementor-top-section:not(:last-child) {
    overflow: hidden !important;
}

/* Liseret 2px vert en bas de chaque section (sauf la dernière) */
.elementor-top-section:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--ne-separator-h);
    background-color: var(--ne-separator-line);
    z-index: 10;
    pointer-events: none;
}
.elementor-top-section[data-id="hpsect03"]::after,
.elementor-top-section[data-id="enhpsect03"]::after {
    display: none !important;
}

.elementor-top-section[data-id="jobs02"]::after {
    display: none !important;
}

.elementor-top-section[data-id="hpsect05"],
.elementor-top-section[data-id="enhpsect05"] {
    padding-top: clamp(6px, 1vw, 14px) !important;
}


/* ==========================================================================
   Enigmes Showcase — Ring layout full-screen
   ========================================================================== */

/* ── Neutralise le padding Elementor autour du widget ─────────── */
.elementor-section:has(.ns-wrap),
.elementor-section:has(.ns-wrap) > .elementor-container,
.elementor-column:has(.ns-wrap),
.elementor-column:has(.ns-wrap) > .elementor-widget-wrap,
.elementor-widget-html:has(.ns-wrap),
.elementor-widget-html:has(.ns-wrap) .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* PosLimitless booking embed: let the shortcode fill the custom HTML frame */
.elementor-widget-html:has(#pl-booking-root) div:has(> #pl-booking-root) {
    width: 100% !important;
}
.elementor-widget-html:has(#pl-booking-root) div[style*="display:flex"]:has(> div > #pl-booking-root) {
    align-items: stretch !important;
}
.elementor-widget-html:has(#pl-booking-root) #pl-booking-root,
.elementor-widget-html:has(#pl-booking-root) #pl-booking-root > .pl-booking-container,
.elementor-widget-html:has(#pl-booking-root) #pl-booking-root > .pl-booking-container > div {
    width: 100% !important;
    max-width: none !important;
}
body.home .elementor-widget-html:has(#pl-booking-root) div[style*="max-width:900px"] {
    max-width: 900px !important;
}

/* ── Conteneur full-bleed 100vw × (100vh - header) ─────────────── */
.ns-wrap {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: calc(100vh - var(--header-height));
    overflow: hidden;
    padding: 10px 60px;
    box-sizing: border-box;
    scroll-margin-top: var(--header-height);
}
#enigmes-showcase {
    scroll-margin-top: var(--header-height);
}

/* ── Grille ring ────────────────────────────────────────────────── */
.ns-ring {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: 1fr 2.4fr 1fr;
    grid-template-rows: 1fr 1.2fr 1.2fr 1.2fr 0.35fr;
    grid-template-areas:
        "ret  ta   tb"
        "la   ctr  ra"
        "lb   ctr  rb"
        "lc   ctr  rc"
        "res  res  res";
    gap: 18px;
}

/* ── Cartes énigmes ─────────────────────────────────────────────── */
.ns-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background: #111;
    border-radius: 8px;
    transition: outline-color 0.25s;
    outline: 2px solid transparent;
    outline-offset: -2px;
}

.ns-card:hover {
    outline-color: var(--neurones-accent);
    z-index: 2;
}

.ns-card.is-active {
    outline-color: var(--neurones-secondary);
    z-index: 3;
}

.ns-card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.ns-card:hover .ns-card__bg {
    transform: scale(1.06);
}

.ns-card.is-active .ns-card__bg {
    filter: grayscale(80%) brightness(0.45);
}

.ns-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.2) 55%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 10px 10px 10px;
    gap: 4px;
}

.ns-card__badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: var(--neurones-secondary);
    color: #fff;
    align-self: flex-start;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ns-card:hover .ns-card__badge {
    opacity: 1;
    transform: translateY(0);
}

/* Badge colours */
.ns-card__badge[data-badge="HORREUR"]     { background: #8b0000; }
.ns-card__badge[data-badge="POPULAIRE"]   { background: #ff6b35; }
.ns-card__badge[data-badge="MYSTÈRE"]     { background: #6a3d9a; }
.ns-card__badge[data-badge="MYSTERE"]     { background: #6a3d9a; }
.ns-card__badge[data-badge="FANTASTIQUE"] { background: #1a4a8a; }
.ns-card__badge[data-badge="WESTERN"]     { background: #7a5200; }
.ns-card__badge[data-badge="AVENTURE"]    { background: #1a7a3a; }
.ns-card__badge[data-badge="NOUVEAU"]     { background: #00a86b; }

.ns-card__title {
    display: block;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: clamp(9px, 1vw, 13px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
}

/* ── Carte "Toutes nos salles" (remplace la carte active) ─────── */
.ns-card--back {
    cursor: pointer;
    background: #0a0a14;
}

.ns-card--back:hover {
    outline-color: var(--neurones-accent);
}

.ns-card__back-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.45) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    padding: 12px;
    transition: background 0.25s;
}

.ns-card--back:hover .ns-card__back-overlay {
    background: linear-gradient(135deg, rgba(0,0,0,0.45) 0%, rgba(0,212,255,0.15) 100%);
}

.ns-card__back-icon {
    font-size: clamp(18px, 2vw, 26px);
    color: var(--neurones-accent);
    line-height: 1;
}

.ns-card__back-label {
    font-family: 'Lato', sans-serif;
    font-size: clamp(9px, 0.9vw, 12px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--neurones-accent);
    line-height: 1.3;
}

/* ── Barre Réserver ─────────────────────────────────────────────── */
.ns-reserver-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3ad88f;
    border-radius: 8px;
}

.ns-reserver-bar__btn {
    font-family: 'Lato', sans-serif;
    font-size: clamp(11px, 1vw, 15px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #1a6378 !important;
    text-decoration: none !important;
    display: block;
    width: 100%;
    padding: 12px 20px;
    text-align: center;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 8px;
}

.ns-reserver-bar__btn:hover {
    background: #00bc9b !important;
    color: #fff !important;
    box-shadow: 0 4px 18px rgba(0,188,155,0.45);
}

/* ── Panneau central ────────────────────────────────────────────── */
.ns-center {
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
    border-radius: 8px;
}

/* État par défaut et état détail — transition fondu */
.ns-center__default,
.ns-center__detail {
    position: absolute;
    inset: 0;
    transition: opacity 0.45s ease;
}

.ns-center__default { opacity: 1; pointer-events: auto; }
.ns-center__detail  { opacity: 0; pointer-events: none; }

.ns-center.is-detail .ns-center__default { opacity: 0; pointer-events: none; }
.ns-center.is-detail .ns-center__detail  { opacity: 1; pointer-events: auto; }

/* ── Default : image + texte d'accueil ──────────────────────────── */
.ns-center__default-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.ns-center__default-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.15) 0%,
        rgba(0,0,0,0.55) 55%,
        rgba(0,0,0,0.88) 100%
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: clamp(20px, 3vw, 48px);
    text-align: center;
}

.ns-center__heading {
    font-family: 'Lato', sans-serif;
    font-size: clamp(20px, 2.8vw, 38px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.15;
    letter-spacing: -0.5px;
}

.ns-center__sub {
    font-size: clamp(12px, 1.3vw, 17px);
    color: rgba(255,255,255,0.65);
    margin: 0;
}

/* ── Auto-scroll progress bar ───────────────────────────────────── */
.ns-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: var(--neurones-secondary);
    transition: width linear;
    z-index: 10;
}

/* ── Détail énigme ──────────────────────────────────────────────── */
.ns-center__detail-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: background-image 0.35s ease;
}

.ns-center__detail-content {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,0.25) 30%,
        rgba(0,0,0,0.85) 65%,
        rgba(0,0,0,0.97) 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(20px, 3vw, 44px);
}

.ns-center__detail-badge {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    background: var(--neurones-secondary);
    color: #fff;
    align-self: flex-start;
    margin-bottom: 10px;
}

.ns-center__detail-title {
    font-family: 'Lato', sans-serif;
    font-size: clamp(20px, 2.8vw, 38px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px;
    line-height: 1.15;
}

.ns-center__detail-excerpt {
    font-size: clamp(12px, 1.2vw, 15px);
    color: rgba(255,255,255,0.8);
    margin: 0 0 24px;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ns-center__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ns-center__cta {
    display: inline-block;
    padding: 11px 26px;
    background: linear-gradient(135deg, #ff6b35, #ff8c42);
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 50px;
    font-size: clamp(10px, 1vw, 13px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.ns-center__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(255,107,53,0.5);
}


/* ── Responsive tablette / mobile ──────────────────────────────── */
@media (max-width: 900px) {
    .ns-ring {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-template-areas:
            "ctr  ctr"
            "ret  ta"
            "tb   la"
            "lb   lc"
            "ra   rb"
            "rc   ba"
            "res  res";
        height: auto;
        min-height: calc(100vh - var(--header-height));
    }

    .ns-wrap { height: auto; min-height: calc(100vh - var(--header-height)); }

    .ns-center { height: 55vw; min-height: 260px; }

    .ns-card { height: 28vw; min-height: 130px; }
}

@media (max-width: 480px) {
    .ns-card__title { font-size: 9px; }
    .ns-center__heading { font-size: 18px; }
}

/* Showcase redesign */
.ns-wrap {
    height: auto;
    min-height: 0;
    padding: clamp(26px, 4vw, 58px);
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%);
}
.ns-stage {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
        rgba(8, 11, 10, 0.58);
    box-shadow: 0 30px 80px rgba(0,0,0,0.28);
    backdrop-filter: blur(12px);
}
.ns-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    border: 1px solid rgba(58, 216, 143, 0.08);
}
.ns-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 28px;
    align-items: end;
    margin-bottom: 24px;
}
.ns-head__copy {
    max-width: 760px;
}
.ns-head__eyebrow,
.ns-rail__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(58, 216, 143, 0.34);
    background: rgba(58, 216, 143, 0.12);
    color: #9ef1c7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.ns-head__title {
    margin: 14px 0 0;
    font-family: 'Lato', sans-serif;
    font-size: clamp(34px, 5vw, 66px);
    line-height: 0.96;
    letter-spacing: -0.04em;
    color: #f5efe7;
}
.ns-head__sub {
    margin: 0;
    max-width: 500px;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.65;
    color: rgba(244, 239, 233, 0.72);
}
.ns-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.95fr);
    gap: 22px;
    align-items: stretch;
}
.ns-feature {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    border-radius: 30px;
    background: #0d1110;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
.ns-feature__bg,
.ns-feature__overlay,
.ns-feature__glow {
    position: absolute;
    inset: 0;
}
.ns-feature__bg {
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    transition: transform 0.9s ease, background-image 0.25s linear;
}
.ns-feature.is-swapping .ns-feature__bg {
    transform: scale(1.06);
}
.ns-feature__glow {
    background:
        radial-gradient(circle at 22% 18%, rgba(58, 216, 143, 0.28), transparent 22%),
        radial-gradient(circle at 82% 78%, rgba(255, 107, 53, 0.20), transparent 20%);
    mix-blend-mode: screen;
    opacity: 0.75;
}
.ns-feature__overlay {
    background:
        linear-gradient(180deg, rgba(5,8,8,0.16) 0%, rgba(5,8,8,0.2) 18%, rgba(5,8,8,0.58) 62%, rgba(5,8,8,0.94) 100%),
        linear-gradient(90deg, rgba(5,8,8,0.68) 0%, rgba(5,8,8,0.1) 52%, rgba(5,8,8,0.45) 100%);
}
.ns-feature__panel {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(24px, 3vw, 38px);
}
.ns-feature__meta,
.ns-feature__footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.ns-feature__content {
    margin-top: auto;
    max-width: min(86%, 680px);
}
.ns-feature__badge,
.ns-thumb__badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    background: var(--neurones-secondary);
    color: #fff;
}
.ns-feature__badge[data-badge="HORREUR"],
.ns-thumb__badge[data-badge="HORREUR"] { background: #8b0000; }
.ns-feature__badge[data-badge="POPULAIRE"],
.ns-thumb__badge[data-badge="POPULAIRE"] { background: #ff6b35; }
.ns-feature__badge[data-badge="MYSTERE"],
.ns-thumb__badge[data-badge="MYSTERE"],
.ns-feature__badge[data-badge="MYSTÈRE"],
.ns-thumb__badge[data-badge="MYSTÈRE"] { background: #6a3d9a; }
.ns-feature__badge[data-badge="FANTASTIQUE"],
.ns-thumb__badge[data-badge="FANTASTIQUE"] { background: #1a4a8a; }
.ns-feature__badge[data-badge="WESTERN"],
.ns-thumb__badge[data-badge="WESTERN"] { background: #7a5200; }
.ns-feature__badge[data-badge="AVENTURE"],
.ns-thumb__badge[data-badge="AVENTURE"] { background: #1a7a3a; }
.ns-feature__badge[data-badge="NOUVEAU"],
.ns-thumb__badge[data-badge="NOUVEAU"] { background: #00a86b; }
.ns-feature__counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(8, 13, 12, 0.46);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(245, 239, 231, 0.88);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}
.ns-feature__title {
    margin: 0 0 14px;
    max-width: 10ch;
    font-family: 'Lato', sans-serif;
    font-size: clamp(38px, 5vw, 78px);
    line-height: 0.95;
    letter-spacing: -0.05em;
    color: #f7f1e9;
    text-wrap: balance;
}
.ns-feature__excerpt {
    margin: 0;
    max-width: 56ch;
    font-size: clamp(15px, 1.35vw, 19px);
    line-height: 1.72;
    color: rgba(247, 241, 233, 0.78);
}
.ns-feature__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.ns-feature__chip,
.ns-foot__stat {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(8, 13, 12, 0.52);
    color: rgba(247, 241, 233, 0.80);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}
.ns-feature__cta,
.ns-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.ns-feature__cta {
    background: linear-gradient(135deg, #ff6b35, #ff8c42);
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(255,107,53,0.28);
}
.ns-book {
    background: linear-gradient(135deg, #3ad88f, #21bc79);
    color: #113127 !important;
    box-shadow: 0 12px 28px rgba(58,216,143,0.22);
}
.ns-feature__cta:hover,
.ns-book:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}
.ns-rail {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,0.07);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
        rgba(8, 11, 10, 0.56);
}
.ns-rail__intro {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 8px 4px 0;
}
.ns-rail__copy {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(244, 239, 233, 0.7);
}
.ns-thumbs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.ns-thumb {
    position: relative;
    min-height: 140px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 22px;
    background: #111;
    text-align: left;
    cursor: pointer;
    transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}
.ns-thumb:hover {
    transform: translateY(-4px);
    border-color: rgba(58, 216, 143, 0.26);
    box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}
.ns-thumb.is-active {
    border-color: rgba(255, 107, 53, 0.52);
    box-shadow: 0 18px 40px rgba(255, 107, 53, 0.14);
}
.ns-thumb__bg,
.ns-thumb__shade {
    position: absolute;
    inset: 0;
}
.ns-thumb__bg {
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    transition: transform 0.5s ease;
}
.ns-thumb:hover .ns-thumb__bg,
.ns-thumb.is-active .ns-thumb__bg {
    transform: scale(1.08);
}
.ns-thumb__shade {
    background:
        linear-gradient(180deg, rgba(7,10,10,0.12) 0%, rgba(7,10,10,0.25) 38%, rgba(7,10,10,0.90) 100%),
        linear-gradient(135deg, rgba(58,216,143,0.16), transparent 44%);
}
.ns-thumb__number,
.ns-thumb__badge,
.ns-thumb__title {
    position: relative;
    z-index: 1;
}
.ns-thumb__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: auto;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(7,10,10,0.42);
    color: rgba(247,241,233,0.78);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
}
.ns-thumb__badge {
    margin-top: 16px;
}
.ns-thumb__title {
    display: block;
    margin-top: 10px;
    max-width: 14ch;
    font-family: 'Lato', sans-serif;
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 800;
    line-height: 1.05;
    color: #f7f1e9;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.ns-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.ns-foot__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.ns-foot__actions {
    display: flex;
    align-items: center;
}
.ns-progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, #3ad88f, #ff6b35);
    transform: scaleX(0);
    transform-origin: left center;
}
@media (max-width: 1180px) {
    .ns-layout {
        grid-template-columns: 1fr;
    }
    .ns-feature {
        min-height: 640px;
    }
    .ns-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 820px) {
    .ns-wrap {
        padding: 18px;
    }
    .ns-stage {
        padding: 18px;
        border-radius: 26px;
    }
    .ns-head {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .ns-feature {
        min-height: 560px;
    }
    .ns-feature__content {
        max-width: none;
    }
    .ns-feature__title {
        max-width: 11ch;
        font-size: clamp(34px, 10vw, 56px);
    }
    .ns-feature__meta,
    .ns-feature__footer,
    .ns-foot {
        flex-direction: column;
        align-items: stretch;
    }
    .ns-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .ns-wrap {
        padding: 14px;
    }
    .ns-stage {
        padding: 14px;
        border-radius: 22px;
    }
    .ns-layout {
        gap: 14px;
    }
    .ns-feature {
        min-height: 470px;
        border-radius: 22px;
    }
    .ns-feature__panel {
        padding: 18px;
    }
    .ns-feature__title {
        max-width: none;
        font-size: 36px;
    }
    .ns-feature__excerpt {
        font-size: 14px;
    }
    .ns-thumbs {
        grid-template-columns: 1fr;
    }
    .ns-thumb {
        grid-column: auto;
        min-height: 132px;
        padding: 14px;
        border-radius: 18px;
    }
    .ns-thumb__title {
        font-size: 18px;
    }
    .ns-feature__chip,
    .ns-foot__stat,
    .ns-book,
    .ns-feature__cta {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   FAQ Accordion (.nr-faq-*)
   ========================================================================== */

.nr-faq-item {
    background: var(--ne-card-bg);
    border: 1px solid rgba(58, 216, 143, 0.35);
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.nr-faq-item:hover,
.nr-faq-item[open] {
    border-color: #3ad88f;
    box-shadow: 0 0 0 1px rgba(58, 216, 143, 0.25);
}
.nr-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    color: var(--ne-text);
    font-family: 'Lato', sans-serif;
    list-style: none;
    user-select: none;
}
.nr-faq-item summary::-webkit-details-marker { display: none; }
.nr-faq-item summary::marker { display: none; }
.nr-faq-item summary::after {
    content: '+';
    color: var(--ne-h1-h2);
    font-size: 22px;
    font-weight: 400;
    flex-shrink: 0;
    line-height: 1;
    margin-left: 12px;
}
.nr-faq-item[open] summary::after { content: '−'; }
.nr-faq-a {
    padding: 0 20px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--ne-text);
    animation: nr-faq-open 0.2s ease;
}
@keyframes nr-faq-open {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   Google Reviews — badge de note + carrousel d'avis
   ========================================================================== */

/* ── Badge Google ────────────────────────────────────────────────────────── */
.nr-gbadge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--ne-card-bg);
    border: 1px solid rgba(26,99,120,0.2);
    border-radius: 50px;
    padding: 10px 22px;
    text-decoration: none;
    color: var(--ne-text);
    font-family: 'Lato', sans-serif;
    transition: background 0.2s, border-color 0.2s;
}
.nr-gbadge:hover {
    background: var(--ne-bg-1);
    border-color: var(--ne-h1-h2);
    color: var(--ne-text);
    text-decoration: none;
}
.nr-gbadge__glogo {
    height: 28px;
    width: auto;
    flex-shrink: 0;
    display: block;
    object-fit: contain;
}
.nr-gbadge__score {
    font-size: 22px;
    font-weight: 700;
    color: var(--ne-text);
    line-height: 1;
}
.nr-gbadge__stars {
    color: #fbbc04;
    font-size: 15px;
    letter-spacing: 2px;
    line-height: 1;
}
.nr-gbadge__sep {
    display: inline-block;
    width: 1px;
    height: 20px;
    background: rgba(26,99,120,0.2);
    flex-shrink: 0;
}
.nr-gbadge__count {
    font-size: 13px;
    color: var(--ne-text);
}

/* Variante footer — fond sombre, taille réduite */
.nr-gbadge--footer {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.15);
    padding: 8px 16px;
    gap: 8px;
}
.nr-gbadge--footer:hover {
    background: rgba(255,255,255,0.11);
    border-color: rgba(58,216,143,0.5);
}
.nr-gbadge--footer .nr-gbadge__glogo { height: 20px; }
.nr-gbadge--footer .nr-gbadge__score { font-size: 16px; color: rgba(255,255,255,0.9); }
.nr-gbadge--footer .nr-gbadge__stars { font-size: 12px; color: #fbbc04; }
.nr-gbadge--footer .nr-gbadge__sep   { background: rgba(255,255,255,0.15); height: 16px; }
.nr-gbadge--footer .nr-gbadge__count { font-size: 11px; color: rgba(255,255,255,0.55); }

/* ── Carrousel d'avis ────────────────────────────────────────────────────── */
.nr-carousel {
    --nr-carousel-gap: 16px;
    position: relative;
    overflow: hidden;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 8px 0 16px;
}
/* Masques de fondu sur les bords */
.nr-carousel::before,
.nr-carousel::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    z-index: 2;
    pointer-events: none;
}
.nr-carousel::before {
    left: 0;
    background: linear-gradient(to right, var(--ne-bg-2), transparent);
}
.nr-carousel::after {
    right: 0;
    background: linear-gradient(to left, var(--ne-bg-2), transparent);
}

.nr-carousel__track {
    display: flex;
    gap: var(--nr-carousel-gap);
    width: max-content;
    animation: nr-scroll 55s linear infinite;
    will-change: transform;
}
.nr-carousel__track:hover {
    animation-play-state: paused;
}

@keyframes nr-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(-50% - (var(--nr-carousel-gap) / 2))); }
}

/* ── Carte d'avis ────────────────────────────────────────────────────────── */
.nr-review-card {
    flex: 0 0 290px;
    background: var(--ne-card-bg);
    border: 1px solid rgba(26,99,120,0.15);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.2s;
}
.nr-review-card:hover {
    border-color: var(--ne-h3-h4);
}
.nr-review-card__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.nr-review-card__name {
    font-weight: 600;
    font-size: 14px;
    color: var(--ne-text);
    font-family: 'Lato', sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nr-review-card__guide {
    font-size: 11px;
    color: var(--ne-h3-h4);
    font-weight: 500;
}
.nr-review-card__stars {
    color: #fbbc04;
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 1;
}
.nr-review-card__text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ne-text);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    flex: 1;
}
.nr-review-card__link {
    font-size: 12px;
    color: var(--ne-h1-h2);
    text-decoration: none;
    font-weight: 500;
    margin-top: 4px;
}
.nr-review-card__link:hover {
    text-decoration: underline;
    color: var(--ne-h3-h4);
}
.ne-home-google__badge > .elementor-widget-container {
    display: flex;
    justify-content: center;
}
.ne-home-google__badge .nr-gbadge {
    box-shadow: 0 18px 44px rgba(18, 16, 15, 0.10);
}
.ne-home-google__carousel > .elementor-widget-container {
    overflow: visible;
}

/* ==========================================================================
   Cartes HTML (blocs événements, etc.)
   ========================================================================== */

/* Cartes sans classe dans les widgets HTML — ciblage par attribut */
.elementor-widget-html div[style*="border-radius:15px"][style*="box-shadow"] {
    background-color: var(--ne-card-bg);
}

/* ==========================================================================
   Utilitaires
   ========================================================================== */

.text-center {
    text-align: center;
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.p-40 {
    padding: 40px;
}

/* ==========================================================================
   ARCHIVE ÉNIGMES — /enigmes/
   ========================================================================== */

/* Reset Astra sur la page archive */
/* Technique full-bleed : .ne-archive-wrap s'échappe du container Astra
   (l'ast-container a max-width:1240px sans margin:auto → contenu collé à gauche)
   Cette approche est indépendante de toute contrainte parent. */
body.page-template-page-enigmes-archive .site-content > .ast-container,
body.post-type-archive-enigmes .site-content > .ast-container,
body.ne-fullwidth-shell .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}
body.page-template-page-enigmes-archive .site .site-content #primary,
body.post-type-archive-enigmes .site .site-content #primary,
body.ne-fullwidth-shell .site .site-content #primary {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
body.single-enigmes .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}
body.single-enigmes .site .site-content #primary {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body.ne-fullwidth-shell {
    overflow-x: hidden;
}

.ne-archive-wrap,
.ne-page-shell,
.ne-module-slot,
.ne-arc-contact,
.ne-separator {
    width: auto;
    max-width: none;
}

body.ne-fullwidth-shell .ne-archive-wrap,
body.ne-fullwidth-shell .ne-page-shell,
body.ne-fullwidth-shell .ne-module-slot,
body.ne-fullwidth-shell .ne-arc-contact,
body.ne-fullwidth-shell .ne-separator,
body.post-type-archive-enigmes .ne-archive-wrap,
body.post-type-archive-enigmes .ne-arc-contact,
body.page-template-page-enigmes-archive .ne-archive-wrap,
body.page-template-page-enigmes-archive .ne-arc-contact {
    position: relative;
    left: auto;
    transform: none;
    width: auto;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.ne-archive-wrap {
    overflow-x: clip;
}

/* ── Hero bannière ── */
.ne-archive-hero {
    position: relative;
    width: 100%;
    background-image: url('/wp-content/uploads/2026/02/carroussel-scaled.png');
    background-size: 100% 100%;
    padding: 185px 0 100px; /* +110px par rapport aux 75px précédents */
    text-align: center;
    overflow: hidden;
}
.ne-archive-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.70);
    pointer-events: none;
}
.ne-archive-hero__overlay { display: none; }
.ne-archive-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}
.ne-archive-hero__eyebrow {
    font-size: 13px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--neurones-accent);
    margin-bottom: 16px;
}
.ne-archive-hero__title {
    font-size: clamp(36px, 6vw, 72px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 20px;
}
.ne-archive-hero__title span { color: var(--neurones-accent); }
.ne-archive-hero__sub {
    font-size: clamp(15px, 2vw, 18px);
    color: rgba(255,255,255,.7);
    margin-bottom: 36px;
    line-height: 1.7;
}
.ne-archive-hero__badges {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ne-cat-pill {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 100px;
    font-size: 12px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 1px solid transparent;
}
.ne-cat-pill--horreur  { border-color: #c0392b; color: #c0392b; }
.ne-cat-pill--aventure { border-color: #00d4ff; color: #00d4ff; }
.ne-cat-pill--western  { border-color: #e67e22; color: #e67e22; }
.ne-cat-pill--medieval { border-color: #8e44ad; color: #8e44ad; }

/* ── Séparateurs PHP — legacy classes → simple liseret vert ── */
.ne-separator {
    display: block;
    width: 100%;
    height: 0;
    border-top: var(--ne-separator-h) solid var(--ne-separator-line);
    background-image: none;
    flex-shrink: 0;
}
.ne-separator--white,
.ne-separator--green {
    background-color: transparent;
    background-image: none;
}
/* Dans le contexte single, full-bleed individuel car le parent peut être contraint */
.ne-single-wrap .ne-separator,
.ne-single-content,
.ne-single-showcase,
.ne-single-wrap .ne-arc-contact {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
}

/* ── Grille ── */
.ne-archive-wrap {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: var(--ne-section-a);
    padding: 80px 0;
}
.ne-archive-wrap__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.ne-archive-wrap__title {
    margin: 0 0 10px;
    text-align: center;
    font-size: clamp(34px, 5vw, 48px);
    font-family: 'Lato', sans-serif;
    font-weight: 800;
    color: var(--ne-heading-text);
}
.ne-archive-wrap__intro {
    margin: 0 0 60px;
    text-align: center;
    font-size: 18px;
    color: var(--ne-body-text);
}
.ne-archive-grid-wrap {
    background-color: var(--ne-section-a);
    padding: 60px clamp(24px, 6vw, 100px) 80px;
}
.ne-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1200px;
    margin: 30px auto;
}
.ne-archive-page {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: var(--ne-section-a);
    padding: 80px 0;
}
.ne-archive-page__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.ne-archive-page__content > :last-child {
    margin-bottom: 0;
}
.ne-archive-grid-wrap--shortcode {
    background: transparent;
    padding: 0;
}
.ne-elementor-singular {
    width: 100%;
    max-width: 100%;
    margin: 0;
}
.ne-elementor-singular .elementor {
    width: 100%;
}

/* ── Carte énigme ── */
.ne-card {
    background: var(--ne-card-bg);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.10);
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}
.ne-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0,0,0,.16);
}

/* Image */
.ne-card__img-wrap {
    position: relative;
    display: block;
    height: 200px;
    flex-shrink: 0;
}
.ne-card__img {
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    transition: transform .4s ease;
}
.ne-card:hover .ne-card__img { transform: scale(1.02); }
.ne-card__img--placeholder {
    background: var(--neurones-primary);
}

/* Badge */
.ne-card__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 5px 12px;
    border-radius: 100px;
    font-size: 10px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Contenu */
.ne-card__body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ne-card__title {
    font-size: 17px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: var(--ne-heading-text);
    margin: 0 0 8px;
    line-height: 1.25;
}
.ne-card__title a {
    text-decoration: none;
    color: inherit;
}
.ne-card__title a:hover { color: var(--neurones-secondary); }

.ne-card__teaser {
    font-size: 13px;
    color: var(--ne-body-text);
    line-height: 1.65;
    margin-bottom: 14px;
    flex: 1;
}

/* Tags */
.ne-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}
.ne-tag {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    background: #f0f0f0;
    color: #444;
    white-space: nowrap;
}
.ne-tag--age {
    background: rgba(255,107,53,.12);
    color: var(--neurones-secondary);
}

/* Stats */
.ne-card__stats {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 22px;
}
.ne-stat {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ne-stat__label {
    font-size: 11px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: #555;
    width: 108px;
    flex-shrink: 0;
}
.ne-stat__bar {
    flex: 1;
    height: 6px;
    background: #e8e8e8;
    border-radius: 100px;
    overflow: hidden;
}
.ne-stat__fill {
    height: 100%;
    border-radius: 100px;
    background: var(--neurones-accent);
}
.ne-card--horreur  .ne-stat__fill { background: #c0392b; }
.ne-card--western  .ne-stat__fill { background: #e67e22; }
.ne-card--medieval .ne-stat__fill { background: #8e44ad; }
.ne-stat__val {
    font-size: 11px;
    font-weight: 700;
    color: #888;
    width: 24px;
    text-align: right;
    flex-shrink: 0;
}

/* CTA carte */
.ne-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    background: var(--neurones-primary);
    color: #fff;
    border-radius: 100px;
    font-size: 13px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .5px;
    transition: background .2s ease, transform .2s ease;
    align-self: flex-start;
}
.ne-card__cta:hover {
    background: var(--neurones-secondary);
    transform: translateX(4px);
    color: #fff;
}
.ne-archive-wrap .ne-card__img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.ne-archive-wrap .ne-card__cta {
    display: block;
    width: 100%;
    text-align: center;
    align-self: stretch;
}

/* ── Contact CTA bas archive ── */
.ne-page-shell {
    width: 100%;
    padding: 80px 0 60px;
    background: var(--ne-section-a);
}
.ne-page-shell__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
    text-align: center;
}
.ne-page-shell__title {
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.06;
    margin: 0 0 18px;
    color: var(--ne-heading-text);
}
.ne-page-shell__sub {
    max-width: 760px;
    margin: 0 auto;
    font-size: 17px;
    color: var(--ne-body-text);
}
.ne-module-slot {
    width: 100%;
    padding: 20px 0 80px;
    background: var(--ne-section-a);
}
.ne-module-slot__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.ne-module-slot__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    color: var(--ne-heading-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-module-slot__title {
    margin: 0 0 12px;
    font-size: clamp(28px, 4vw, 40px);
    color: var(--ne-heading-text);
}
.ne-module-slot__sub {
    max-width: 760px;
    margin: 0 0 28px;
    color: var(--ne-body-text);
    font-size: 17px;
}
.ne-module-slot__frame {
    min-height: 320px;
    border-radius: 28px;
    border: 2px dashed rgba(58, 216, 143, 0.35);
    background:
        linear-gradient(180deg, rgba(58, 216, 143, 0.06), rgba(58, 216, 143, 0.02)),
        rgba(255, 255, 255, 0.22);
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding: 32px;
    text-align: center;
}
.ne-module-slot__live {
    width: 100%;
    flex: 1 1 auto;
}
.ne-module-slot__live > div,
.ne-module-slot__live [id^="pl-booking-root"],
.ne-module-slot__live [id^="pl-espace-client-root"],
.ne-module-slot__live [id^="pl-bon-cadeau-root"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.ne-module-slot__live [style*="maxWidth"],
.ne-module-slot__live [style*="max-width"] {
    max-width: none !important;
    width: 100% !important;
}
.ne-module-slot__live [style*="margin:0 auto"],
.ne-module-slot__live [style*="margin: 0 auto"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.ne-module-slot__live .pl-booking-container,
.ne-module-slot__live > div > div {
    width: 100% !important;
    max-width: none !important;
}
.ne-module-slot__live table {
    width: 100% !important;
}
.ne-module-slot__live button,
.ne-module-slot__live input,
.ne-module-slot__live select,
.ne-module-slot__live textarea {
    max-width: none;
}
.ne-module-slot__frame strong {
    color: var(--ne-heading-text);
    font-size: clamp(18px, 2vw, 24px);
    letter-spacing: 0.04em;
}

.ne-module-slot:has(.ne-module-slot__live) {
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%);
    color: rgba(255, 245, 238, 0.82);
    --ne-text: rgba(255, 245, 238, 0.82);
    --ne-body-text: rgba(255, 245, 238, 0.82);
    --ne-heading-text: #f4efe9;
}
.ne-module-slot:has(.ne-module-slot__live) .ne-module-slot__title {
    display: none;
}
.ne-module-slot:has(.ne-module-slot__live) .ne-module-slot__eyebrow,
.ne-module-slot:has(.ne-module-slot__live) .ne-module-slot__sub {
    display: none;
}
.ne-module-slot:has(.ne-module-slot__live) .ne-module-slot__frame {
    background: transparent;
}

.ne-arc-contact {
    background: var(--ne-section-b);
    color: var(--ne-body-text);
    width: 100%;
    padding: 80px 0;
}
.ne-arc-contact__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.ne-arc-contact__title {
    font-size: clamp(26px, 4vw, 36px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: var(--ne-heading-text);
    margin-bottom: 15px;
}
.ne-arc-contact__sub {
    color: var(--ne-body-text);
    margin-bottom: 30px;
}
.ne-arc-contact__cta { display: inline-block; margin-bottom: 30px; }
.ne-arc-contact__info {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ne-arc-contact__info li { color: var(--ne-body-text); }
.ne-arc-contact__info a { color: var(--ne-body-text); text-decoration: none; }
.ne-arc-contact__info a:hover { color: var(--ne-heading-text); }

/* ── Boutons génériques ── */
.ne-btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 100px;
    font-size: 14px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .5px;
    transition: all .2s ease;
    cursor: pointer;
}
.ne-btn--primary {
    background: linear-gradient(135deg, var(--neurones-secondary), #ff8c42);
    color: #fff;
}
.ne-btn--primary:hover { opacity: .88; color: #fff; transform: translateY(-2px); }
.ne-btn--ghost {
    background: transparent;
    border: 2px solid rgba(255,255,255,.6);
    color: #fff;
}
.ne-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
.ne-btn--ghost-white {
    background: transparent;
    border: 2px solid rgba(255,255,255,.55);
    color: rgba(255,255,255,.85);
}
.ne-btn--ghost-white:hover { border-color: #fff; color: #fff; }
.ne-btn--white {
    background: #fff;
    color: var(--neurones-secondary);
}
.ne-btn--white:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.15); }
.ne-btn--block { display: block; text-align: center; width: 100%; box-sizing: border-box; }
.ne-btn--green { background: #3ad88f; color: #1a6378; }
.ne-btn--green:hover { background: #00bc9b; color: #fff; transform: translateY(-2px); }

/* ==========================================================================
   Page Tarifs — composants .nt-*
   ========================================================================== */
.nt-wrap {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow-x: hidden;
}
.nt-sect { padding: 80px clamp(24px, 6vw, 100px); }
.nt-sect--a { background: var(--ne-section-a); }
.nt-sect--b { background: var(--ne-section-b); }
.nt-sect__inner { max-width: 1000px; margin: 0 auto; }
.nt-sect__inner--wide { max-width: 1200px; margin: 0 auto; }
.nt-sect__title {
    font-size: clamp(26px, 4vw, 38px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    text-align: center;
    margin-bottom: 12px;
    color: var(--ne-heading-text);
}
.nt-sect__sub {
    text-align: center;
    font-size: 17px;
    margin-bottom: 50px;
    color: var(--ne-body-text);
}

/* ── Cartes de prix ── */
.nt-price-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}
.nt-price-card {
    background: var(--ne-card-bg);
    border: 1px solid var(--ne-card-border);
    border-radius: 16px;
    padding: 40px 24px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    color: var(--ne-body-text);
    position: relative;
    transition: transform .2s, box-shadow .2s;
}
.nt-price-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,.12); }
.nt-price-card--featured { border: 2px solid #3ad88f; box-shadow: 0 4px 24px rgba(58,216,143,.25); }
.nt-price-card--featured:hover { box-shadow: 0 8px 32px rgba(58,216,143,.35); }
.nt-price-card__badge {
    position: absolute;
    top: -14px; left: 50%;
    transform: translateX(-50%);
    background: #3ad88f; color: #1a6378;
    padding: 4px 18px;
    border-radius: 20px;
    font-size: 11px; font-weight: 700;
    white-space: nowrap;
    font-family: 'Lato', sans-serif;
    letter-spacing: 1px;
}
.nt-price-card__label {
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: 14px;
    font-family: 'Lato', sans-serif;
    color: var(--ne-heading-text);
}
.nt-price-card__price {
    font-size: 56px; font-weight: 700; line-height: 1;
    font-family: 'Lato', sans-serif;
    color: var(--ne-heading-text);
}
.nt-price-card--featured .nt-price-card__price { color: #3ad88f; }
.nt-price-card__unit { font-size: 14px; margin: 8px 0 24px; color: var(--ne-body-text); }
.nt-price-card__total {
    font-size: 13px; border-radius: 8px; padding: 10px;
    background: rgba(0,0,0,.04); color: var(--ne-body-text);
}
html[data-theme="dark"] .nt-price-card__total { background: rgba(255,255,255,.06); }

/* ── Cartes événements ── */
.nt-event-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 40px;
}
.nt-event-card {
    background: var(--ne-card-bg);
    border: 1px solid var(--ne-card-border);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    display: flex; flex-direction: column;
    transition: transform .2s, box-shadow .2s;
}
.nt-event-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,.14); }
.nt-event-card__img {
    height: 200px;
    background-size: cover;
    background-position: center;
    background-color: var(--ne-section-a);
}
.nt-event-card__body { padding: 26px 24px; display: flex; flex-direction: column; flex: 1; }
.nt-event-card__title {
    font-size: 19px; font-weight: 700; margin-bottom: 10px;
    font-family: 'Lato', sans-serif;
    color: var(--ne-heading-text);
}
.nt-event-card__desc { margin-bottom: 14px; font-size: 14px; color: var(--ne-body-text); }
.nt-event-card__list { list-style: none; padding: 0; margin: 0 0 20px; }
.nt-event-card__list li { padding: 4px 0; font-size: 13px; color: var(--ne-body-text); }
.nt-event-card .ne-btn { margin-top: auto; align-self: flex-start; }

/* Cabinet of curiosities section on the home page */
.ne-home-decor {
    padding: 88px clamp(24px, 6vw, 100px);
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.14), transparent 42%),
        linear-gradient(135deg, rgba(74, 67, 63, 0.10), rgba(255, 249, 243, 0.76));
}
.ne-home-decor__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
}
.ne-home-decor__content {
    color: var(--ne-body-text);
}
.ne-home-decor__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(58, 216, 143, 0.35);
    background: rgba(58, 216, 143, 0.08);
    color: #1b8b61;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ne-home-decor__title {
    margin: 18px 0 16px;
    color: var(--ne-heading-text);
    font: 700 clamp(34px, 5vw, 54px)/1.02 'Lato', sans-serif;
}
.ne-home-decor__lead {
    margin: 0 0 22px;
    font-size: 17px;
    line-height: 1.8;
    color: var(--ne-body-text);
}
.ne-home-decor__list {
    display: grid;
    gap: 12px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}
.ne-home-decor__list li {
    position: relative;
    padding-left: 28px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--ne-body-text);
}
.ne-home-decor__list li::before {
    content: '';
    position: absolute;
    top: 11px;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 0 6px rgba(58, 216, 143, 0.14);
}
.ne-home-decor__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}
.ne-home-decor__stat {
    padding: 16px 14px;
    border: 1px solid var(--ne-card-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.66);
    backdrop-filter: blur(6px);
}
.ne-home-decor__stat strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ne-heading-text);
    font: 700 clamp(24px, 3vw, 34px)/1 'Lato', sans-serif;
}
.ne-home-decor__stat span {
    display: block;
    color: var(--ne-body-text);
    font-size: 13px;
    line-height: 1.5;
}
.ne-home-decor__gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.ne-home-decor__shot {
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.52);
    box-shadow: 0 20px 50px rgba(24, 19, 17, 0.16);
    background: #1f1a18;
}
.ne-home-decor__shot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ne-home-decor__shot--wide {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 10;
}
.ne-home-decor__shot--tall {
    aspect-ratio: 4 / 5;
}
.ne-home-decor__shot--room {
    aspect-ratio: 4 / 3;
}
html[data-theme="dark"] .ne-home-decor {
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 38%),
        linear-gradient(135deg, rgba(18, 22, 28, 0.94), rgba(44, 39, 36, 0.98));
}
html[data-theme="dark"] .ne-home-decor__eyebrow {
    background: rgba(58, 216, 143, 0.12);
    color: #9df3c6;
}
html[data-theme="dark"] .ne-home-decor__stat {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

/* ==========================================================================
   Home showcase / events / venue
   ========================================================================== */

.ne-home-showcase-shell {
    padding: clamp(8px, 1.6vw, 20px) 0 0;
}

.ne-home-pricing {
    position: relative;
}
.ne-home-pricing__head {
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 42px);
}
.ne-home-pricing__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 999px;
    border: 1px solid rgba(58, 216, 143, 0.28);
    background: rgba(58, 216, 143, 0.10);
    color: #1b8b61;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ne-home-pricing__eyebrow,
.ne-home-pricing__eyebrow .elementor-heading-title {
    display: none !important;
}
.ne-home-pricing__title {
    margin: 0;
    color: var(--ne-heading-text);
    font: 700 clamp(34px, 5vw, 56px)/0.98 'Lato', sans-serif;
}
.ne-home-pricing__intro {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 17px;
    line-height: 1.8;
}
.ne-home-pricing__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.ne-home-pricing__card {
    position: relative;
    display: grid;
    gap: 10px;
    justify-items: center;
    padding: 32px 24px 24px;
    text-align: center;
    border-radius: 28px;
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
.ne-home-pricing__card.is-featured {
    border-color: rgba(255, 107, 53, 0.24);
    box-shadow: 0 24px 60px rgba(255, 107, 53, 0.16);
}
.ne-home-pricing__badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 16px;
    border-radius: 999px;
    background: #ff7a3d;
    color: #fff5ee;
    font: 700 11px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}
.ne-home-pricing__label {
    color: var(--ne-body-text);
    font: 700 12px/1.3 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-home-pricing__price {
    color: var(--ne-heading-text);
    font: 700 clamp(40px, 5vw, 54px)/0.95 'Lato', sans-serif;
}
.ne-home-pricing__meta {
    color: var(--ne-body-text);
    font-size: 14px;
}
.ne-home-pricing__total {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(26, 99, 120, 0.06);
    color: var(--ne-body-text);
    font-size: 13px;
}
.ne-home-pricing__note {
    margin: 24px auto 0;
    max-width: 960px;
    text-align: center;
    padding: 18px clamp(18px, 3vw, 28px);
    border-radius: 24px;
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 32px rgba(18, 16, 15, 0.08);
}
.ne-home-pricing__note strong {
    margin-right: 8px;
}
.ne-home-pricing__note .elementor-text-editor,
.ne-home-pricing__note > .elementor-widget-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.ne-home-pricing__note .elementor-text-editor p,
.ne-home-pricing__note {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px 18px;
    flex-wrap: wrap;
}
.ne-home-pricing__note a {
    color: var(--ne-heading-text);
    font-weight: 700;
    text-decoration: none;
}
.ne-home-pricing__note a:hover {
    color: #00bc9b;
}

.ne-home-booking-shell {
    padding: 60px 0 80px;
}
.ne-home-booking {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
}
.ne-home-booking__title {
    margin: 0;
    color: #f4efe9;
    font: 700 clamp(24px, 4vw, 34px)/1.02 'Lato', sans-serif;
}
.ne-home-booking__intro {
    margin: 0;
    color: rgba(244, 239, 233, 0.82);
    font-size: 16px;
    line-height: 1.7;
}
.ne-home-booking__embed {
    width: 100%;
    min-height: 420px;
    padding: 40px 20px;
    border-radius: 18px;
    border: 2px dashed rgba(58, 216, 143, 0.35);
    display: grid;
    align-items: center;
    justify-items: stretch;
}
.ne-home-booking__embed > div,
.ne-home-booking__embed [id^="pl-booking-root"],
.ne-home-booking__embed [id^="pl-booking-root"] > .pl-booking-container,
.ne-home-booking__embed [id^="pl-booking-root"] > .pl-booking-container > div {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.ne-home-booking__embed [style*="maxWidth"],
.ne-home-booking__embed [style*="max-width"] {
    width: 100% !important;
    max-width: none !important;
}
.ne-home-booking__fallback {
    color: rgba(244, 239, 233, 0.82);
    font-size: 15px;
}
.ne-home-booking__alt {
    min-width: 0;
}

.elementor-section.nt-sect > .elementor-container > .nt-sect__inner,
.elementor-section.nt-sect > .elementor-container > .nt-sect__inner.nt-sect__inner--wide {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.elementor-section.nt-sect > .elementor-container > .nt-sect__inner {
    max-width: 1000px;
}
.elementor-section.nt-sect > .elementor-container > .nt-sect__inner.nt-sect__inner--wide {
    max-width: 1200px;
}
.ne-home-booking > .elementor-widget-wrap,
.ne-event-story > .elementor-container > .nt-sect__inner > .elementor-widget-wrap {
    position: relative;
    z-index: 1;
}
.ne-home-booking > .elementor-widget-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
}
.ne-home-pricing__head > .elementor-container > .elementor-column > .elementor-widget-wrap,
.ne-event-story__headline > .elementor-widget-wrap,
.ne-event-story__support-copy > .elementor-widget-wrap,
.ne-event-story__proof > .elementor-widget-wrap {
    display: grid;
    gap: 18px;
    align-content: start;
}
.ne-event-story__proof > .elementor-widget-wrap {
    padding: 20px 22px;
}
.ne-home-pricing__head > .elementor-container > .elementor-column > .elementor-widget-wrap {
    gap: 16px;
    justify-items: center;
    text-align: center;
}
.ne-home-pricing__grid > .elementor-container,
.ne-event-story__cards > .elementor-container,
.ne-event-story__proofs > .elementor-container,
.ne-event-story__head > .elementor-container,
.ne-event-story__support > .elementor-container {
    display: grid;
}
.ne-home-pricing__grid > .elementor-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.ne-event-story__head > .elementor-container {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
    gap: clamp(22px, 4vw, 56px);
    align-items: end;
    margin-bottom: clamp(28px, 4vw, 42px);
}
.ne-event-story__cards > .elementor-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: clamp(28px, 4vw, 42px);
    align-items: stretch;
}
.ne-event-story__support > .elementor-container {
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(28px, 4vw, 54px);
    align-items: start;
    margin-bottom: 24px;
}
.ne-event-story__proofs > .elementor-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.ne-home-pricing__grid > .elementor-container > .elementor-column,
.ne-event-story__cards > .elementor-container > .elementor-column,
.ne-event-story__proofs > .elementor-container > .elementor-column,
.ne-event-story__head > .elementor-container > .elementor-column,
.ne-event-story__support > .elementor-container > .elementor-column {
    width: auto;
    min-width: 0;
}
.ne-event-story__cards > .elementor-container > .elementor-column {
    display: flex;
}
.ne-home-pricing__card > .elementor-widget-wrap {
    position: relative;
    display: grid;
    gap: 10px;
    justify-items: center;
    padding: 32px 24px 24px;
    text-align: center;
    border-radius: 28px;
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
.ne-home-pricing__card.is-featured > .elementor-widget-wrap {
    border-color: rgba(255, 107, 53, 0.24);
    box-shadow: 0 24px 60px rgba(255, 107, 53, 0.16);
}
.ne-event-story__card > .elementor-widget-wrap {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(26, 99, 120, 0.12);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
.ne-event-story__card-body > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 12px;
    min-height: 100%;
    grid-template-rows: auto auto auto 1fr auto;
    padding: 22px 22px 20px;
    align-content: start;
}
.ne-venue-story__gallery > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.72fr);
    grid-template-areas:
        "lead quote"
        "lead room"
        "detail room";
    gap: 16px;
    align-items: stretch;
}
.ne-venue-story__quote > .elementor-widget-container {
    min-height: 148px;
    border-radius: 24px;
    padding: 24px;
    display: grid;
    gap: 12px;
    align-content: end;
}
.ne-home-pricing__eyebrow .elementor-heading-title,
.ne-home-pricing__title .elementor-heading-title,
.ne-home-pricing__label .elementor-heading-title,
.ne-home-pricing__price .elementor-heading-title,
.ne-home-booking__title .elementor-heading-title,
.ne-event-story__eyebrow .elementor-heading-title,
.ne-event-story__title .elementor-heading-title,
.ne-event-story__card-label .elementor-heading-title,
.ne-event-story__card-title .elementor-heading-title,
.ne-event-story__tag .elementor-heading-title,
.ne-event-story__hero-title .elementor-heading-title,
.ne-event-story__proof-value .elementor-heading-title {
    margin: 0;
}
.ne-home-pricing__intro .elementor-text-editor p,
.ne-home-pricing__meta .elementor-text-editor p,
.ne-home-pricing__total .elementor-text-editor p,
.ne-home-pricing__note .elementor-text-editor p,
.ne-home-booking__intro .elementor-text-editor p,
.ne-home-booking__fallback .elementor-text-editor p,
.ne-event-story__intro .elementor-text-editor p,
.ne-event-story__card-desc .elementor-text-editor p,
.ne-event-story__hero-copy .elementor-text-editor p,
.ne-event-story__proof-text .elementor-text-editor p,
.ne-venue-story__quote .elementor-text-editor p {
    margin: 0;
}
.ne-event-story__points .elementor-text-editor ul,
.ne-event-story__card-list .elementor-text-editor ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ne-event-story__points .elementor-text-editor li,
.ne-event-story__card-list .elementor-text-editor li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.ne-event-story__points .elementor-text-editor li::before,
.ne-event-story__card-list .elementor-text-editor li::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: 8px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 0 5px rgba(58, 216, 143, 0.15);
    flex: none;
}
.ne-home-booking__alt .elementor-button,
.ne-event-story__card-link .elementor-button,
.ne-event-story__cta .elementor-button {
    width: auto;
    min-width: 0;
}
.ne-home-booking__alt .elementor-button,
.ne-event-story__card-link .elementor-button,
.ne-event-story__cta .elementor-button {
    background: linear-gradient(135deg, var(--neurones-secondary), #ff8c42) !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(255, 107, 53, 0.26) !important;
    border-radius: 16px !important;
}
.ne-home-booking__alt .elementor-button:hover,
.ne-event-story__card-link .elementor-button:hover,
.ne-event-story__cta .elementor-button:hover {
    background: #00bc9b !important;
    color: #fff !important;
    box-shadow: 0 6px 22px rgba(58, 216, 143, 0.5) !important;
}
.ne-home-booking__alt .elementor-button:hover .elementor-button-text,
.ne-event-story__card-link .elementor-button:hover .elementor-button-text,
.ne-event-story__cta .elementor-button:hover .elementor-button-text,
.ne-home-booking__alt .elementor-button:hover .elementor-button-content-wrapper,
.ne-event-story__card-link .elementor-button:hover .elementor-button-content-wrapper,
.ne-event-story__cta .elementor-button:hover .elementor-button-content-wrapper {
    color: #fff !important;
}
.ne-home-booking__alt .elementor-button-content-wrapper,
.ne-event-story__card-link .elementor-button-content-wrapper,
.ne-event-story__cta .elementor-button-content-wrapper {
    width: auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}
.ne-home-booking__alt .elementor-button-text,
.ne-event-story__card-link .elementor-button-text,
.ne-event-story__cta .elementor-button-text {
    background: transparent !important;
    color: inherit !important;
}

.ne-event-story {
    position: relative;
    overflow: hidden;
}
.ne-event-story::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(58, 216, 143, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0));
    pointer-events: none;
}
.ne-event-story > .nt-sect__inner {
    position: relative;
    z-index: 1;
}
.ne-event-story__head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
    gap: clamp(22px, 4vw, 56px);
    align-items: end;
    margin-bottom: clamp(28px, 4vw, 42px);
}
.ne-event-story__eyebrow,
.ne-venue-story__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    border-radius: 999px;
    border: 1px solid rgba(58, 216, 143, 0.28);
    background: rgba(58, 216, 143, 0.10);
    color: #1b8b61;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ne-event-story__title,
.ne-venue-story__title {
    margin: 18px 0 0;
    color: var(--ne-heading-text);
    font: 700 clamp(34px, 5vw, 58px)/0.98 'Lato', sans-serif;
    text-wrap: balance;
}
.ne-event-story__intro,
.ne-venue-story__lead {
    margin: 0;
    max-width: 520px;
    color: var(--ne-body-text);
    font-size: 17px;
    line-height: 1.82;
}
.ne-event-story__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: stretch;
}
.ne-event-hero {
    position: relative;
    min-height: 560px;
    border-radius: 34px;
    overflow: hidden;
    background: #181311;
    box-shadow: 0 30px 80px rgba(16, 14, 12, 0.28);
}
.ne-event-hero__media,
.ne-event-hero__media img {
    width: 100%;
    height: 100%;
}
.ne-event-hero__media {
    position: absolute;
    inset: 0;
}
.ne-event-hero__media img,
.ne-event-card-modern__media img,
.ne-venue-story__shot img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ne-event-hero__media img {
    object-fit: fill;
}
.ne-event-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(19, 15, 13, 0.08) 0%, rgba(19, 15, 13, 0.44) 42%, rgba(19, 15, 13, 0.92) 100%),
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.24), transparent 38%);
}
.ne-event-hero__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 700px;
    padding: clamp(28px, 4vw, 40px);
    display: grid;
    gap: 18px;
    justify-items: start;
}
.ne-event-hero__tag {
    display: inline-flex;
    width: fit-content;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #f6f4f0;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ne-event-hero__title {
    margin: 0;
    max-width: 12ch;
    color: #f7f4ef;
    font: 700 clamp(32px, 4vw, 50px)/0.96 'Lato', sans-serif;
}
.ne-event-hero__copy {
    margin: 0;
    max-width: 560px;
    color: rgba(247, 244, 239, 0.86);
    font-size: 16px;
    line-height: 1.8;
}
.ne-event-hero__points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ne-event-hero__points li,
.ne-event-card-modern__list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ne-event-hero__points li {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: #f2efe9;
    font-size: 13px;
}
.ne-event-hero__points li::before,
.ne-event-card-modern__list li::before,
.ne-venue-story__quote::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 0 5px rgba(58, 216, 143, 0.16);
    flex: none;
}
.ne-event-story__stack {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.ne-event-card-modern {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(26, 99, 120, 0.12);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}
.ne-event-card-modern:hover {
    transform: translateY(-4px);
    border-color: rgba(58, 216, 143, 0.42);
    box-shadow: 0 26px 60px rgba(18, 16, 15, 0.16);
}
.ne-event-card-modern__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    min-height: 0;
}
.ne-event-card-modern__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17, 13, 12, 0.08), rgba(17, 13, 12, 0.32));
}
.ne-event-card-modern__media img {
    width: 100%;
    height: 100%;
}
.ne-event-card-modern__label {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 1;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(16, 13, 12, 0.72);
    color: #f6f2ee;
    font: 700 11px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-event-card-modern__body {
    display: grid;
    gap: 12px;
    padding: 24px 24px 22px;
    align-content: start;
}
.ne-event-card-modern__title,
.ne-venue-story__fact h3 {
    margin: 0;
    color: var(--ne-heading-text);
    font: 700 22px/1.12 'Lato', sans-serif;
}
.ne-event-card-modern__desc,
.ne-venue-story__fact p,
.ne-venue-story__quote p {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 14px;
    line-height: 1.7;
}
.ne-event-card-modern__list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--ne-body-text);
    font-size: 13px;
}
.ne-event-card-modern__link {
    width: fit-content;
    margin-top: auto;
    color: var(--ne-heading-text);
    text-decoration: none;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-event-card-modern__link:hover {
    color: #00bc9b;
}
.ne-event-story__proofs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0 24px;
}
.ne-event-story__proof,
.ne-venue-story__stat,
.ne-venue-story__quote,
.ne-venue-story__fact {
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.68);
    backdrop-filter: blur(8px);
    box-shadow: 0 16px 50px rgba(18, 16, 15, 0.10);
}
.ne-event-story__proof {
    padding: 20px 22px;
    border-radius: 22px;
}
.ne-event-story__proof strong,
.ne-venue-story__stat strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ne-heading-text);
    font: 700 clamp(28px, 3vw, 38px)/1 'Lato', sans-serif;
}
.ne-event-story__proof span,
.ne-venue-story__stat span {
    display: block;
    color: var(--ne-body-text);
    font-size: 13px;
    line-height: 1.55;
}
.ne-event-story__note {
    margin: 0;
    background: rgba(255, 255, 255, 0.54);
}
.ne-event-story .ne-btn {
    justify-self: start;
    width: auto;
    min-width: 0;
}
.ne-event-story__hero {
    display: grid;
    grid-template-columns: minmax(320px, 0.84fr) minmax(0, 1.16fr);
    gap: 22px;
    align-items: stretch;
    margin-bottom: 22px;
}
.ne-event-story__copy {
    display: grid;
    gap: 18px;
    padding: clamp(26px, 3.2vw, 38px);
    border-radius: 30px;
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.18), transparent 34%),
        linear-gradient(160deg, #191513, #2f2824);
    color: #f6f1ea;
    box-shadow: 0 30px 70px rgba(16, 14, 12, 0.20);
}
.ne-event-story__tag {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    margin: 4px 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f6f1ea;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ne-event-story__hero-title {
    margin: 0;
    color: #ffffff;
    font: 700 clamp(32px, 4vw, 48px)/0.98 'Lato', sans-serif;
    text-wrap: balance;
}
.ne-event-story__hero-copy {
    margin: 0;
    color: rgba(246, 241, 234, 0.84);
    font-size: 16px;
    line-height: 1.8;
}
.ne-event-story__points {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ne-event-story__points li,
.ne-event-story__card-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.ne-event-story__points li {
    color: #f6f1ea;
    font-size: 14px;
    line-height: 1.6;
}
.ne-event-story__points li::before,
.ne-event-story__card-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: 8px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 0 5px rgba(58, 216, 143, 0.15);
    flex: none;
}
.ne-event-story__visual {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    border-radius: 30px;
    background: #171311;
    box-shadow: 0 26px 65px rgba(16, 14, 12, 0.18);
}
.ne-event-story__visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}
.ne-event-story__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: clamp(28px, 4vw, 42px);
}
.elementor-top-section[data-id="hpsect06"],
.elementor-top-section[data-id="enhpsect06"],
.elementor-top-section[data-id="hpsect06c"],
.elementor-top-section[data-id="enhpsect06c"] {
    padding-top: clamp(34px, 5vw, 58px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: clamp(28px, 3vw, 44px) !important;
}
.elementor-top-section[data-id="hpsect06"] > .elementor-container,
.elementor-top-section[data-id="enhpsect06"] > .elementor-container,
.elementor-top-section[data-id="hpsect06c"] > .elementor-container,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}
.elementor-top-section[data-id="hpsect06"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    max-width: 100%;
    margin: 0 auto;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container {
    display: flex !important;
    flex-wrap: nowrap;
    gap: clamp(28px, 4vw, 54px);
    align-items: stretch !important;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column {
    display: flex !important;
    min-width: 0;
    align-self: stretch;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:first-child,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:first-child {
    width: 46%;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child {
    width: 54%;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100%;
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.72fr);
    grid-template-areas:
        "lead quote"
        "lead room"
        "detail room";
    gap: 16px;
    align-items: stretch;
    padding: 16px;
    border-radius: 30px;
    border: 1px solid rgba(26, 99, 120, 0.10);
    background: rgba(255, 255, 255, 0.66);
    box-shadow: 0 18px 44px rgba(18, 16, 15, 0.08);
}
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 20px;
    border-radius: 30px;
    border: 1px solid rgba(26, 99, 120, 0.10);
    background: rgba(255, 255, 255, 0.66);
    box-shadow: 0 18px 44px rgba(18, 16, 15, 0.08);
}
.elementor-top-section[data-id="hpsect06c"] .ne-event-story__cta,
.elementor-top-section[data-id="enhpsect06c"] .ne-event-story__cta {
    margin-top: auto;
}
.elementor-top-section[data-id="hpsect06c"] .ne-event-story__tag,
.elementor-top-section[data-id="enhpsect06c"] .ne-event-story__tag {
    margin: 0 0 12px;
}
.elementor-top-section[data-id="hpsect06c"] .ne-event-story__cta,
.elementor-top-section[data-id="enhpsect06c"] .ne-event-story__cta {
    margin-top: 14px;
    padding: 10px 0 22px;
}
.elementor-top-section[data-id="hpsect06c"] .ne-event-story__cta .elementor-button,
.elementor-top-section[data-id="enhpsect06c"] .ne-event-story__cta .elementor-button {
    width: calc(100% - 20px) !important;
    margin: 0 10px;
}
.ne-event-story__support {
    display: grid;
    grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr);
    gap: clamp(24px, 3.5vw, 42px);
    align-items: start;
    margin-bottom: 24px;
    padding: clamp(30px, 4vw, 42px) clamp(22px, 3vw, 30px);
    border-radius: 34px;
    background: transparent;
    box-shadow: none;
}
.ne-event-story--support {
    padding-top: 10px;
}
.ne-event-story--support .ne-event-story__support > .elementor-container {
    align-items: stretch;
}
.ne-event-story--support .ne-event-story__support > .elementor-container > .elementor-column {
    display: flex;
}
.ne-event-story--support .ne-event-story__support > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100%;
}
.ne-event-story--support .ne-venue-story__gallery,
.ne-event-story--support .ne-event-story__support-copy {
    display: grid;
    align-content: start;
    height: 100%;
    padding: 16px;
    border-radius: 30px;
    border: 1px solid rgba(26, 99, 120, 0.10);
    background: rgba(255, 255, 255, 0.66);
    box-shadow: 0 18px 44px rgba(18, 16, 15, 0.08);
}
.elementor-top-section[data-id="1d183858"],
.elementor-top-section[data-id="enhpsect08"] {
    padding-top: clamp(26px, 3vw, 40px) !important;
}
.ne-event-story__support-copy {
    display: grid;
    gap: 18px;
    align-content: start;
    min-width: 0;
}
.ne-event-story__support-copy > .elementor-widget-wrap {
    display: grid;
    gap: 18px;
    align-content: start;
}
.ne-event-story__support > .elementor-container > .elementor-column {
    align-self: stretch;
    min-width: 0;
}
.ne-event-story__support .ne-event-story__proofs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 10px 0 0;
    padding: 16px;
    border-radius: 26px;
    border: 1px solid rgba(26, 99, 120, 0.10);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 42px rgba(18, 16, 15, 0.08);
}
.ne-event-story__card {
    display: grid;
    min-height: 100%;
    height: 100%;
    grid-template-rows: auto 1fr;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(26, 99, 120, 0.12);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
.ne-event-story__card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    line-height: 0;
}
.ne-event-story__card-media > .elementor-widget-container,
.ne-event-story__card-media .elementor-image,
.ne-venue-story__shot > .elementor-widget-container,
.ne-venue-story__shot .elementor-image {
    display: block;
    width: 100%;
    height: 100%;
}
.ne-event-story__card-media > img,
.ne-event-story__card-media img,
.ne-venue-story__shot > img,
.ne-venue-story__shot img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.ne-event-story__card-media > img,
.ne-event-story__card-media img {
    object-fit: cover !important;
    object-position: center !important;
}
.ne-event-story__card-body {
    display: grid;
    min-height: 100%;
    height: 100%;
    gap: 12px;
    padding: 22px 22px 20px;
    align-content: start;
    grid-template-rows: auto auto auto 1fr auto;
}
.ne-event-story__card-label {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    color: #1b8b61;
    font: 700 11px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-event-story__card-title {
    margin: 0;
    min-height: 52px;
    color: var(--ne-heading-text);
    font: 700 22px/1.12 'Lato', sans-serif;
}
.ne-event-story__card-title .elementor-heading-title {
    min-height: 52px;
}
.ne-event-story__card-desc {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 14px;
    line-height: 1.7;
    min-height: 96px;
}
.ne-event-story__card-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--ne-body-text);
    font-size: 13px;
    min-height: 114px;
}
.ne-event-story__card-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    min-width: 240px;
    max-width: 240px;
    min-height: 64px;
    padding: 14px 24px;
    margin-top: auto;
    color: var(--ne-heading-text);
    text-decoration: none;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
}
.ne-event-story__card-link:hover {
    color: #00bc9b;
}

.ne-venue-story {
    position: relative;
    padding: 92px clamp(24px, 6vw, 100px);
    background:
        radial-gradient(circle at 8% 0%, rgba(58, 216, 143, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(74, 67, 63, 0.14), rgba(255, 249, 243, 0.84));
    overflow: hidden;
}
.ne-venue-story::before {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 160px;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.24));
    pointer-events: none;
}
.ne-venue-story__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(340px, 0.98fr);
    gap: clamp(28px, 4vw, 54px);
    align-items: center;
}
.ne-venue-story__gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.72fr);
    grid-template-areas:
        "lead quote"
        "lead room"
        "detail room";
    gap: 16px;
}
.ne-venue-story__shot {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    background: #181311;
    box-shadow: 0 24px 60px rgba(16, 14, 12, 0.24);
    line-height: 0;
}
.ne-venue-story__shot--lead { grid-area: lead; aspect-ratio: 4 / 5; min-height: 420px; }
.ne-venue-story__shot--detail { grid-area: detail; aspect-ratio: 16 / 10; min-height: 200px; }
.ne-venue-story__shot--room { grid-area: room; aspect-ratio: 4 / 5; min-height: 420px; }
.ne-venue-story__shot--lead > img,
.ne-venue-story__shot--lead img {
    object-position: center 54% !important;
}
.ne-venue-story__shot--detail > img,
.ne-venue-story__shot--detail img {
    object-position: center 46% !important;
}
.ne-venue-story__shot--room > img,
.ne-venue-story__shot--room img {
    object-position: center 42% !important;
}
.ne-venue-story__quote {
    grid-area: quote;
    min-height: 148px;
    border-radius: 24px;
    padding: 24px;
    display: grid;
    gap: 12px;
    align-content: end;
}
.ne-venue-story__quote::before {
    margin-bottom: 2px;
}
.ne-venue-story__quote-mark {
    color: rgba(58, 216, 143, 0.72);
    font: 700 14px/1 'Lato', sans-serif;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.ne-event-story__cta {
    justify-self: stretch;
    width: 100% !important;
    margin-top: 12px;
    padding: 8px 0 24px;
    border-radius: 26px;
    border: 1px solid rgba(26, 99, 120, 0.10);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 42px rgba(18, 16, 15, 0.08);
}
.ne-event-story__cta .elementor-button {
    width: calc(100% - 48px) !important;
    min-width: 0;
    max-width: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 24px;
}
.ne-event-story__cta .elementor-button-content-wrapper {
    width: auto !important;
}
.ne-venue-story__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0;
}
.ne-venue-story__fact {
    padding: 22px 22px 20px;
    border-radius: 24px;
}
.ne-venue-story__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}
.ne-venue-story__stat {
    padding: 18px 18px 16px;
    border-radius: 22px;
}

html[data-theme="dark"] .ne-event-story::before {
    background:
        radial-gradient(circle at top right, rgba(58, 216, 143, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}
html[data-theme="dark"] .ne-event-story__eyebrow,
html[data-theme="dark"] .ne-venue-story__eyebrow {
    background: rgba(58, 216, 143, 0.14);
    border-color: rgba(58, 216, 143, 0.22);
    color: #9df3c6;
}
html[data-theme="dark"] .ne-event-story__intro,
html[data-theme="dark"] .ne-venue-story__lead,
html[data-theme="dark"] .ne-event-card-modern__desc,
html[data-theme="dark"] .ne-event-card-modern__list,
html[data-theme="dark"] .ne-venue-story__fact p,
html[data-theme="dark"] .ne-venue-story__quote p,
html[data-theme="dark"] .ne-event-story__proof span,
html[data-theme="dark"] .ne-venue-story__stat span {
    color: #d3d5d8;
}
html[data-theme="dark"] .ne-event-card-modern,
html[data-theme="dark"] .ne-event-story__proof,
html[data-theme="dark"] .ne-venue-story__stat,
html[data-theme="dark"] .ne-venue-story__quote,
html[data-theme="dark"] .ne-venue-story__fact,
html[data-theme="dark"] .ne-event-story__note {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-event-card-modern__label {
    background: rgba(10, 10, 10, 0.76);
}
html[data-theme="dark"] .ne-event-card-modern__link {
    color: #9df3c6;
}
html[data-theme="dark"] .ne-event-story__copy {
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 34%),
        linear-gradient(160deg, rgba(18, 22, 28, 0.96), rgba(44, 39, 36, 0.98));
}
html[data-theme="dark"] .ne-event-story__hero-copy,
html[data-theme="dark"] .ne-event-story__points li,
html[data-theme="dark"] .ne-event-story__card-desc,
html[data-theme="dark"] .ne-event-story__card-list {
    color: #d3d5d8;
}
html[data-theme="dark"] .ne-event-story__card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-event-story__card > .elementor-widget-wrap {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-event-story--support .ne-venue-story__gallery,
html[data-theme="dark"] .ne-event-story--support .ne-event-story__support-copy {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-event-story__support .ne-event-story__proofs,
html[data-theme="dark"] .ne-event-story__cta {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-event-story__card-label {
    background: rgba(58, 216, 143, 0.14);
    color: #9df3c6;
}
html[data-theme="dark"] .ne-event-story__card-link {
    color: #9df3c6;
}
html[data-theme="dark"] .ne-event-story__support {
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.18), transparent 36%),
        linear-gradient(155deg, rgba(16, 20, 26, 0.98), rgba(42, 37, 34, 0.98) 58%, rgba(24, 24, 28, 0.98));
}
html[data-theme="dark"] .ne-event-story__support .ne-event-story__proof,
html[data-theme="dark"] .ne-event-story__support .ne-venue-story__quote {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__tag {
    background: rgba(58, 216, 143, 0.12);
    border-color: rgba(58, 216, 143, 0.18);
    color: #1b8b61;
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__hero-title {
    color: var(--ne-heading-text);
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__hero-copy,
html[data-theme="light"] .ne-event-story__support .ne-event-story__points li {
    color: var(--ne-body-text);
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__proof,
html[data-theme="light"] .ne-event-story__support .ne-venue-story__quote {
    background: rgba(255, 255, 255, 0.68);
    border-color: rgba(26, 99, 120, 0.12);
    box-shadow: 0 16px 50px rgba(18, 16, 15, 0.10);
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__proof strong {
    color: var(--ne-heading-text);
}
html[data-theme="light"] .ne-event-story__support .ne-event-story__proof span,
html[data-theme="light"] .ne-event-story__support .ne-venue-story__quote p {
    color: var(--ne-body-text);
}
html[data-theme="light"] .ne-event-story__support .ne-venue-story__quote-mark {
    color: #1b8b61;
}
html[data-theme="dark"] .ne-venue-story {
    background:
        radial-gradient(circle at 8% 0%, rgba(58, 216, 143, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(16, 20, 26, 0.96), rgba(42, 37, 34, 0.98));
}

html[data-theme="dark"] .ne-home-pricing__eyebrow {
    background: rgba(58, 216, 143, 0.14);
    border-color: rgba(58, 216, 143, 0.22);
    color: #9df3c6;
}
html[data-theme="dark"] .ne-home-pricing__card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-home-pricing__card > .elementor-widget-wrap {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .ne-home-pricing__card.is-featured {
    border-color: rgba(255, 122, 61, 0.34);
}
html[data-theme="dark"] .ne-home-pricing__card.is-featured > .elementor-widget-wrap {
    border-color: rgba(255, 122, 61, 0.34);
}
html[data-theme="dark"] .ne-home-pricing__label,
html[data-theme="dark"] .ne-home-pricing__meta,
html[data-theme="dark"] .ne-home-pricing__total,
html[data-theme="dark"] .ne-home-pricing__intro {
    color: #d3d5d8;
}
html[data-theme="dark"] .ne-home-pricing__total {
    background: rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .ne-home-pricing__note a {
    color: #9df3c6;
}

html[data-theme="light"] .elementor-top-section[data-id="hpsect03"],
html[data-theme="light"] .elementor-top-section[data-id="hpsect05"],
html[data-theme="light"] .elementor-top-section[data-id="21268341"],
html[data-theme="light"] .elementor-top-section[data-id="hpsect06"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect03"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect05"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect06"],
html[data-theme="light"] .elementor-top-section[data-id="hpsect10"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect10"] {
    background-color: var(--ne-bg-1) !important;
}
html[data-theme="light"] .elementor-top-section[data-id="hpsect07"],
html[data-theme="light"] .elementor-top-section[data-id="hpsect06c"],
html[data-theme="light"] .elementor-top-section[data-id="hpsect09"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect07"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect06c"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect09"] {
    background-color: var(--ne-bg-2) !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect07"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect07"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect07"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect07"] {
    background-color: var(--ne-bg-2) !important;
}
html[data-theme="light"] .elementor-top-section[data-id="hpsect04"],
html[data-theme="light"] .elementor-top-section[data-id="1d183858"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect04"],
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] {
    background-color: var(--ne-bg-3) !important;
    color: rgba(255, 245, 238, 0.82);
    --ne-text: rgba(255, 245, 238, 0.82);
    --ne-body-text: rgba(255, 245, 238, 0.82);
    --ne-heading-text: #f4efe9;
}
html[data-theme="light"] .elementor-top-section[data-id="enhpsect04"] h1,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect04"] h2,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect04"] h3,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] h1,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] h2,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] h3 {
    color: #f4efe9 !important;
}
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] p,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] span,
html[data-theme="light"] .elementor-top-section[data-id="enhpsect08"] li {
    color: rgba(255, 245, 238, 0.82);
}

@media (max-width: 1120px) {
    .ne-home-pricing__grid,
    .ne-home-pricing__grid > .elementor-container {
        grid-template-columns: 1fr;
    }
    .ne-event-story__head,
    .ne-event-story__head > .elementor-container,
    .ne-event-story__support,
    .ne-event-story__support > .elementor-container,
    .ne-venue-story__inner {
        grid-template-columns: 1fr;
    }
    .ne-event-story__hero {
        grid-template-columns: 1fr;
    }
    .ne-event-hero {
        min-height: 520px;
    }
    .ne-event-story__intro,
    .ne-venue-story__lead {
        max-width: none;
    }
    .ne-event-story__cards,
    .ne-event-story__cards > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ne-venue-story__gallery {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 0.72fr);
    }
    .ne-venue-story__gallery > .elementor-widget-wrap {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 0.72fr);
    }
}

@media (max-width: 900px) {
    .ne-event-story__proofs,
    .ne-event-story__proofs > .elementor-container,
    .ne-venue-story__stats,
    .ne-venue-story__facts {
        grid-template-columns: 1fr 1fr;
    }
    .ne-venue-story__gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "lead lead"
            "quote room"
            "detail room";
    }
    .ne-venue-story__gallery > .elementor-widget-wrap {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "lead lead"
            "quote room"
            "detail room";
    }
}

@media (max-width: 640px) {
    .ne-home-showcase-shell {
        padding-top: 0;
    }
    .ne-home-booking__embed {
        min-height: 320px;
        padding: 28px 14px;
    }
    .ne-event-story__head {
        gap: 18px;
    }
    .ne-event-story__copy {
        padding: 24px;
    }
    .ne-event-story__visual {
        min-height: 320px;
        border-radius: 26px;
    }
    .ne-event-story__cards,
    .ne-event-story__cards > .elementor-container,
    .ne-event-story__proofs,
    .ne-event-story__proofs > .elementor-container,
    .ne-venue-story__stats,
    .ne-venue-story__facts {
        grid-template-columns: 1fr;
    }
    .ne-venue-story {
        padding: 64px 20px;
    }
    .ne-venue-story__gallery {
        grid-template-columns: 1fr;
        grid-template-areas:
            "lead"
            "quote"
            "detail"
            "room";
    }
    .ne-venue-story__gallery > .elementor-widget-wrap {
        grid-template-columns: 1fr;
        grid-template-areas:
            "lead"
            "quote"
            "detail"
            "room";
    }
    .ne-venue-story__shot--lead,
    .ne-venue-story__shot--detail,
    .ne-venue-story__shot--room {
        min-height: auto;
        aspect-ratio: 4 / 3;
    }
}

/* ── Moyens de paiement ── */
.nt-payment-grid { display: flex; align-items: center; justify-content: center; gap: 40px; flex-wrap: wrap; }
.nt-payment-item { font-size: 16px; color: var(--ne-body-text); }
.nt-payment-ancv { display: flex; align-items: center; gap: 14px; border: 1px solid var(--ne-card-border); border-radius: 14px; padding: 16px 28px; }
.nt-payment-ancv__title { font-weight: 700; font-family: 'Lato', sans-serif; font-size: 15px; color: var(--ne-heading-text); }
.nt-payment-ancv__sub { font-size: 13px; color: var(--ne-body-text); }

/* ── Contact ── */
.nt-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.nt-contact-title { font-size: clamp(26px,4vw,36px); font-family: 'Lato',sans-serif; font-weight: 700; margin-bottom: 15px; color: var(--ne-heading-text); }
.nt-contact-sub { margin-bottom: 30px; color: var(--ne-body-text); }
.nt-contact-info { display: flex; flex-direction: column; gap: 12px; }
.nt-contact-info div { color: var(--ne-body-text); }
.nt-contact-info a { color: var(--ne-body-text); text-decoration: none; }
.nt-contact-info a:hover { color: var(--ne-heading-text); }

/* ── Info list (page Contact) ── */
.nt-info-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.nt-info-item { display: flex; gap: 18px; align-items: flex-start; padding: 28px 24px; border-top: 1px solid var(--ne-card-border); }
.nt-info-item:nth-child(-n+3) { border-top: none; }
.nt-info-item__icon { font-size: 28px; line-height: 1; flex-shrink: 0; padding-top: 2px; }
.nt-info-item__label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; color: var(--ne-heading-text); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.04em; }
.nt-info-item__desc { font-size: 14px; line-height: 1.6; color: var(--ne-body-text); }
.nt-info-item__desc a { color: var(--ne-body-text); text-decoration: none; }
.nt-info-item__desc a:hover { color: #3ad88f; }
@media (max-width: 768px) {
    .nt-info-list { grid-template-columns: 1fr 1fr; }
    .nt-info-item:nth-child(-n+3) { border-top: 1px solid var(--ne-card-border); }
    .nt-info-item:nth-child(-n+2) { border-top: none; }
}
@media (max-width: 480px) {
    .nt-info-list { grid-template-columns: 1fr; }
    .nt-info-item:nth-child(-n+2) { border-top: 1px solid var(--ne-card-border); }
    .nt-info-item:first-child { border-top: none; }
}

/* ── Utilitaires ── */
.nt-note { text-align: center; border: 1px solid var(--ne-card-border); border-radius: 12px; padding: 20px 30px; color: var(--ne-body-text); }
.nt-note strong { color: var(--ne-heading-text); }
.nt-footer-note { text-align: center; font-size: 14px; color: var(--ne-body-text); }

/* ── Responsive tarifs ── */
@media (max-width: 900px) {
    .nt-price-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
    .nt-event-grid { grid-template-columns: 1fr; }
    .nt-contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .ne-home-decor__inner { grid-template-columns: 1fr; }
    .ne-home-decor__gallery { max-width: 760px; width: 100%; margin: 0 auto; }
}
@media (max-width: 560px) {
    .nt-sect { padding: 60px 20px; }
    .ne-home-decor { padding: 64px 20px; }
    .ne-home-decor__stats { grid-template-columns: 1fr; }
    .ne-home-decor__gallery { grid-template-columns: 1fr; }
    .ne-home-decor__shot--wide,
    .ne-home-decor__shot--tall,
    .ne-home-decor__shot--room { grid-column: auto; aspect-ratio: 4 / 3; }
}

/* ==========================================================================
   Elementor Structured Layout Compatibility
   ========================================================================== */

.elementor-top-section:has(.ne-page-shell__title),
.elementor-top-section:has(.ne-module-slot__title),
.elementor-top-section:has(.ne-book-page__module),
.elementor-top-section:has(.ne-contact-page__form),
.elementor-top-section:has(.ne-team-page__feature-title),
.elementor-top-section:has(.ne-team-page__form),
.elementor-top-section:has(.ne-faq-page__question),
.elementor-top-section:has(.ne-pricing-page-hero__title),
.elementor-top-section:has(.ne-pricing-payments__title),
.elementor-top-section:has(.ne-arc-contact__cta) {
    width: 100%;
}

.elementor-top-section:has(.ne-page-shell__title) {
    padding: 80px 0 56px;
    background: var(--ne-section-a);
}
.elementor-top-section:has(.ne-page-shell__title) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    text-align: center;
}
.ne-page-shell__eyebrow .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    justify-self: center;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    border: 1px solid rgba(58, 216, 143, 0.22);
    color: #1b8b61;
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="pricfr00"]:has(.ne-pricing-page-hero__title),
.elementor-top-section[data-id="pricen00"]:has(.ne-pricing-page-hero__title) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    height: 600px;
    min-height: 600px;
    max-height: 600px;
    padding: 0;
    background: var(--ne-section-a);
}

.elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-decor-hero-image) center center / 100% 100% no-repeat;
    z-index: 0;
}

.elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-booking-hero-image, var(--ne-decor-hero-image)) center center / 100% 100% no-repeat;
    z-index: 0;
}

.elementor-top-section[data-id="pricfr00"]:has(.ne-pricing-page-hero__title)::before,
.elementor-top-section[data-id="pricen00"]:has(.ne-pricing-page-hero__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-pricing-hero-image, var(--ne-decor-hero-image)) center center / 100% 100% no-repeat;
    z-index: 0;
}

.elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="pricfr00"]:has(.ne-pricing-page-hero__title) > .elementor-container,
.elementor-top-section[data-id="pricen00"]:has(.ne-pricing-page-hero__title) > .elementor-container {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
}

.elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    max-width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(28px, 3vw, 38px);
    border-radius: 28px;
    border: 1px solid rgba(26, 99, 120, 0.08);
    background: rgba(248, 245, 241, 0.92);
    box-shadow: 0 18px 42px rgba(17, 22, 28, 0.14);
    backdrop-filter: none;
}

.elementor-top-section[data-id="pricfr00"]:has(.ne-pricing-page-hero__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen00"]:has(.ne-pricing-page-hero__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    place-items: center;
    text-align: center;
}

.ne-pricing-page-hero__title .elementor-heading-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(38px, 6vw, 66px);
    line-height: 1.05;
    text-transform: none;
    text-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
}

.elementor-top-section:has(.ne-module-slot__title) {
    padding: 20px 0 80px;
    background: var(--ne-section-a);
}
.elementor-top-section:has(.ne-module-slot__title) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.elementor-top-section:has(.ne-module-slot__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    align-content: start;
}

.elementor-top-section:has(.ne-module-slot__live) {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%) !important;
    color: rgba(255, 245, 238, 0.82);
    --ne-text: rgba(255, 245, 238, 0.82);
    --ne-body-text: rgba(255, 245, 238, 0.82);
    --ne-heading-text: #f4efe9;
}
.elementor-top-section:has(.ne-module-slot__live) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.elementor-top-section:has(.ne-module-slot__live) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__eyebrow .elementor-heading-title {
    border: 1px solid rgba(58, 216, 143, 0.34);
    background: rgba(58, 216, 143, 0.12);
    color: #9ef1c7 !important;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__title .elementor-heading-title {
    color: #f5efe7 !important;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__title {
    display: none;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__eyebrow,
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__sub,
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__sub .elementor-text-editor,
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__sub .elementor-text-editor p {
    display: none;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__placeholder > .elementor-widget-container,
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__live > .elementor-widget-container {
    min-height: 320px;
    border-radius: 28px;
    border: 2px dashed rgba(58, 216, 143, 0.35);
    background: transparent;
    padding: 32px;
}
.elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__placeholder > .elementor-widget-container {
    color: #f5efe7;
}

.ne-module-slot__eyebrow .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    color: var(--ne-heading-text);
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ne-module-slot__placeholder > .elementor-widget-container,
.ne-module-slot__live > .elementor-widget-container {
    min-height: 320px;
    border-radius: 28px;
    border: 2px dashed rgba(58, 216, 143, 0.35);
    background:
        linear-gradient(180deg, rgba(58, 216, 143, 0.06), rgba(58, 216, 143, 0.02)),
        rgba(255, 255, 255, 0.22);
    padding: 32px;
}
.ne-module-slot__placeholder > .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.ne-module-slot__placeholder .elementor-heading-title {
    color: var(--ne-heading-text);
    font-size: clamp(18px, 2vw, 24px);
    letter-spacing: 0.04em;
}

.elementor-top-section:has(.ne-arc-contact__cta) {
    background: var(--ne-section-b);
    padding: 80px 0;
}
.elementor-top-section:has(.ne-arc-contact__cta) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
.elementor-top-section:has(.ne-arc-contact__cta) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    align-content: start;
}
.ne-arc-contact__cta .elementor-button {
    display: inline-flex;
}
.ne-arc-contact__map iframe {
    width: 100%;
}

.elementor-top-section[data-id="hpsect02"],
.elementor-top-section[data-id="enhpsect02"] {
    padding: 20px 0;
}
.elementor-top-section[data-id="hpsect02"] > .elementor-container,
.elementor-top-section[data-id="enhpsect02"] > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}
.elementor-top-section[data-id="hpsect02"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect02"] > .elementor-container > .elementor-column {
    width: auto !important;
    flex: 0 1 auto;
}
.elementor-top-section[data-id="hpsect02"] .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect02"] .elementor-widget-wrap {
    justify-content: center;
    text-align: center;
}
.ne-home-trust__item .elementor-text-editor p {
    margin: 0;
    font: 500 14px/1.4 'Montserrat', sans-serif;
    color: var(--ne-heading-text);
}

.elementor-top-section[data-id="hpsect03"],
.elementor-top-section[data-id="enhpsect03"] {
    padding: 80px 0;
}
.elementor-top-section[data-id="hpsect03"] > .elementor-container,
.elementor-top-section[data-id="enhpsect03"] > .elementor-container,
.elementor-top-section[data-id="hpsect05"] > .elementor-container,
.elementor-top-section[data-id="enhpsect05"] > .elementor-container,
.elementor-top-section[data-id="hpsect07"] > .elementor-container,
.elementor-top-section[data-id="enhpsect07"] > .elementor-container,
.elementor-top-section[data-id="hpsect09"] > .elementor-container,
.elementor-top-section[data-id="enhpsect09"] > .elementor-container,
.elementor-top-section[data-id="hpsect10"] > .elementor-container,
.elementor-top-section[data-id="enhpsect10"] > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.elementor-top-section[data-id="hpsect03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect05"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect05"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect07"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect07"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 28px;
}

.ne-home-usp__title .elementor-heading-title,
.ne-home-testimonials__title .elementor-heading-title,
.ne-home-howto__title .elementor-heading-title,
.ne-home-faq__title .elementor-heading-title {
    font-size: 36px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: var(--ne-heading-text);
    text-align: center;
}
.ne-home-testimonials__intro .elementor-text-editor,
.ne-home-howto__intro .elementor-text-editor,
.ne-home-faq__intro .elementor-text-editor {
    text-align: center;
    color: var(--ne-body-text);
}

section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
}
section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    text-align: center;
    padding: 30px 20px;
    background: rgba(255,255,255,0.72);
    border-radius: 10px;
    border: 1px solid rgba(0,212,255,0.3);
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    gap: 10px;
}
.ne-home-usp__card-title .elementor-heading-title {
    font: 600 20px/1.3 'Montserrat', sans-serif;
    color: var(--ne-heading-text);
}
.ne-home-usp__card-text .elementor-text-editor p {
    margin: 0;
    font-size: 15px;
    color: var(--ne-body-text);
}

section.elementor-inner-section:has(.ne-home-testimonials__stars) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}
section.elementor-inner-section:has(.ne-home-testimonials__stars) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 30px;
    background: rgba(255,255,255,0.76);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    gap: 15px;
}
.ne-home-testimonials__stars .elementor-text-editor p {
    margin: 0;
    font-size: 20px;
}
.ne-home-testimonials__quote .elementor-text-editor p {
    margin: 0;
    font-style: italic;
    color: var(--ne-body-text);
}
.ne-home-testimonials__author .elementor-text-editor p {
    margin: 0;
    color: var(--ne-heading-text);
}

section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
}
section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    text-align: center;
    gap: 14px;
}
.ne-home-howto__number .elementor-heading-title {
    margin: 0 auto;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 400 32px/1 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
    box-shadow: none;
    padding: 0;
}
.ne-home-howto__step-title .elementor-heading-title {
    font: 700 18px/1.3 'Montserrat', sans-serif;
    color: var(--ne-heading-text);
}
.ne-home-howto__step-text .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
}

.elementor-top-section[data-id="hpsect09"],
.elementor-top-section[data-id="enhpsect09"],
.elementor-top-section:has(.ne-faq-page__question) {
    padding: 80px 0;
}
.elementor-top-section[data-id="hpsect09"] > .elementor-container,
.elementor-top-section[data-id="enhpsect09"] > .elementor-container,
.elementor-top-section:has(.ne-faq-page__question) > .elementor-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px;
}
.elementor-top-section:has(.ne-faq-page__question) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 0;
}
.ne-home-faq__question,
.ne-faq-page__question {
    margin-top: 16px;
    margin-bottom: 0 !important;
}
.ne-home-faq__question .elementor-heading-title,
.ne-faq-page__question .elementor-heading-title {
    margin: 0;
    padding: 20px;
    background: rgba(255,255,255,0.82);
    border-radius: 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    color: var(--ne-heading-text);
    font: 600 18px/1.4 'Montserrat', sans-serif;
}
.ne-home-faq__question.is-open .elementor-heading-title,
.ne-faq-page__question.is-open .elementor-heading-title {
    border-radius: 18px 18px 0 0;
    box-shadow: 0 10px 26px rgba(18, 16, 15, 0.08);
}
.ne-home-faq__answer,
.ne-faq-page__answer {
    margin-top: -8px;
    margin-bottom: 0 !important;
}
.ne-home-faq__answer.is-open,
.ne-faq-page__answer.is-open {
    display: flex;
    align-items: center;
    padding: 0 22px;
    min-height: 88px;
    background: linear-gradient(180deg, rgba(236, 248, 243, 0.96), rgba(246, 251, 248, 0.98));
    border-radius: 0 0 18px 18px;
    border-top: 1px solid rgba(58, 216, 143, 0.16);
    box-shadow: 0 12px 28px rgba(18, 16, 15, 0.08);
}
.ne-home-faq__answer .elementor-text-editor,
.ne-faq-page__answer .elementor-text-editor {
    width: 100%;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}
.ne-home-faq__answer .elementor-text-editor p,
.ne-faq-page__answer .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    line-height: 1.75;
}

.elementor-top-section[data-id="hpsect10"],
.elementor-top-section[data-id="enhpsect10"],
.elementor-top-section:has(.ne-contact-page__form) {
    padding: 80px 0;
}
.elementor-top-section[data-id="hpsect10"] > .elementor-container,
.elementor-top-section[data-id="enhpsect10"] > .elementor-container,
.elementor-top-section:has(.ne-contact-page__form) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
}
.elementor-top-section[data-id="hpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section:has(.ne-contact-page__form) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
}
.ne-home-contact__title .elementor-heading-title,
.ne-contact-page__title .elementor-heading-title {
    font-size: clamp(26px, 4vw, 36px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: var(--ne-heading-text);
    margin: 0 0 10px;
}
.ne-home-contact__sub .elementor-text-editor p,
.ne-contact-page__sub .elementor-text-editor p,
.ne-contact-page__info .elementor-text-editor li,
.ne-home-contact__info .elementor-text-editor li {
    color: var(--ne-body-text);
}
.ne-home-contact__info .elementor-text-editor ul,
.ne-contact-page__info .elementor-text-editor ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 10px;
}
.ne-home-contact__cta .elementor-button {
    width: fit-content;
}

section.elementor-top-section:has(.ne-book-page__module) {
    padding: 30px 0 80px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%) !important;
    color: rgba(255, 245, 238, 0.82);
    --ne-text: rgba(255, 245, 238, 0.82);
    --ne-body-text: rgba(255, 245, 238, 0.82);
    --ne-heading-text: #f4efe9;
}
section.elementor-top-section:has(.ne-book-page__module) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}
section.elementor-top-section:has(.ne-book-page__module) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    text-align: center;
    align-content: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.ne-book-page__title .elementor-heading-title {
    font-size: clamp(30px, 4vw, 42px);
    color: #f5efe7;
}
.ne-book-page__sub,
.ne-book-page__sub .elementor-text-editor,
.ne-book-page__sub .elementor-text-editor p {
    color: rgba(244, 239, 233, 0.72) !important;
}
.ne-book-page__module > .elementor-widget-container {
    min-height: 320px;
    padding: 32px;
    border-radius: 28px;
    background: transparent;
    border: 2px dashed rgba(58, 216, 143, 0.35);
    box-shadow: none;
}

section.elementor-top-section:has(.ne-pricing-payments__title) {
    padding: 60px 0;
    background: var(--ne-section-b);
}
section.elementor-top-section:has(.ne-pricing-payments__title) > .elementor-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}
section.elementor-top-section:has(.ne-pricing-payments__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 30px;
    text-align: center;
}
.ne-pricing-payments__title .elementor-heading-title {
    font-size: clamp(22px, 3.5vw, 30px);
    color: var(--ne-heading-text);
}
section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 220px));
    gap: 24px;
    align-items: stretch;
    justify-content: center;
    max-width: 760px;
    margin: 0 auto;
}
section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    gap: 12px;
    align-items: center;
    justify-items: center;
    align-content: start;
    min-height: 100%;
    text-align: center;
}
.ne-pricing-payments__item .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    display: grid;
    gap: 6px;
    min-height: 40px;
    align-content: start;
    text-align: center;
    justify-items: center;
}

section.elementor-top-section:has(.ne-team-page__feature-title) {
    padding: 80px 0;
    background: var(--ne-section-b);
}
section.elementor-top-section:has(.ne-team-page__feature-title) > .elementor-container,
section.elementor-top-section:has(.ne-team-page__form) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
section.elementor-top-section:has(.ne-team-page__feature-title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section:has(.ne-team-page__form) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 24px;
}
section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
}
section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 30px 24px;
    background: rgba(255,255,255,0.76);
    border-radius: 15px;
    border: 1px solid rgba(0,212,255,0.2);
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    gap: 10px;
}
.ne-team-page__feature-title .elementor-heading-title,
.ne-team-page__quote-title .elementor-heading-title {
    color: var(--ne-heading-text);
    font: 700 22px/1.2 'Montserrat', sans-serif;
}
.ne-team-page__quote-sub .elementor-text-editor p,
.ne-team-page__feature-text .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
}
section.elementor-top-section:has(.ne-team-page__form) {
    padding: 80px 0;
    background: var(--ne-section-a);
}
section.elementor-top-section:has(.ne-team-page__form) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

section.elementor-top-section:has(.ne-home-pricing__title) > .elementor-container,
section.elementor-top-section:has(.ne-home-booking__title) > .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
}
section.elementor-top-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 24px;
    justify-items: center;
}
section.elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
}
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    display: grid;
    gap: 10px;
    justify-items: center;
    padding: 32px 24px 24px;
    text-align: center;
    border-radius: 28px;
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
section.elementor-inner-section:has(.ne-home-pricing__badge) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    border-color: rgba(255, 107, 53, 0.24);
    box-shadow: 0 24px 60px rgba(255, 107, 53, 0.16);
}

/* Repair pass after full Elementor conversion */
.elementor-top-section[data-id="hpsect02"] > .elementor-container,
.elementor-top-section[data-id="enhpsect02"] > .elementor-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
.elementor-top-section[data-id="hpsect06"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: clamp(24px, 3vw, 32px);
}
.elementor-top-section[data-id="hpsect02"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect02"] > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container > .elementor-column,
section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column,
section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column,
section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-event-story__eyebrow) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
}
.elementor-top-section[data-id="hpsect02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-width: 0;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
}
.ne-home-trust__item {
    text-align: center;
}
.ne-home-trust__item p {
    margin: 0;
    color: var(--ne-heading-text);
    font: 600 clamp(18px, 2vw, 20px)/1.35 'Montserrat', sans-serif;
    text-wrap: balance;
}
.ne-home-trust__item strong {
    display: block;
}

.ne-home-testimonials__intro,
.ne-home-howto__intro,
.ne-home-faq__intro,
.ne-home-pricing__intro,
.ne-home-pricing__meta,
.ne-home-pricing__total,
.ne-home-pricing__note,
.ne-home-booking__intro,
.ne-home-booking__fallback,
.ne-home-contact__sub,
.ne-home-contact__info,
.ne-contact-page__sub,
.ne-contact-page__info,
.ne-pricing-payments__sub,
.ne-pricing-payments__item,
.ne-team-page__feature-text,
.ne-team-page__quote-sub,
.ne-event-story__intro,
.ne-event-story__card-desc,
.ne-event-story__hero-copy,
.ne-event-story__proof-text,
.ne-venue-story__quote {
    color: var(--ne-body-text);
}
.ne-home-testimonials__intro,
.ne-home-howto__intro,
.ne-home-faq__intro,
.ne-home-google__badge,
.ne-home-pricing__head,
.ne-pricing-payments,
.ne-book-page,
.ne-contact-page {
    text-align: center;
}
.ne-home-testimonials__intro p,
.ne-home-howto__intro p,
.ne-home-faq__intro p,
.ne-home-pricing__intro p,
.ne-home-pricing__meta p,
.ne-home-pricing__total p,
.ne-home-pricing__note p,
.ne-home-booking__intro p,
.ne-home-booking__fallback p,
.ne-home-testimonials__quote p,
.ne-home-testimonials__author p,
.ne-home-howto__step-text p,
.ne-home-contact__sub p,
.ne-contact-page__sub p,
.ne-pricing-payments__sub p,
.ne-pricing-payments__item p,
.ne-team-page__feature-text p,
.ne-team-page__quote-sub p,
.ne-event-story__intro p,
.ne-event-story__card-desc p,
.ne-event-story__hero-copy p,
.ne-event-story__proof-text p,
.ne-venue-story__quote p {
    margin: 0;
}

section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-event-story__eyebrow) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-width: 0;
    min-height: 100%;
    display: grid;
    align-content: start;
}

section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    justify-items: center;
    text-align: center;
    padding: 18px 12px;
}
.ne-pricing-payments__image img {
    width: min(140px, 100%);
    max-height: 78px;
    height: auto;
    position: static;
    inset: auto;
    object-fit: contain;
    margin: 0 auto;
}
.ne-pricing-payments__item strong {
    display: block;
    color: var(--ne-heading-text);
    font: 700 16px/1.3 'Lato', sans-serif;
    text-align: center;
}

.ne-pricing-payments__icon .elementor-heading-title {
    font: 400 34px/1 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
}

.ne-pricing-payments__item .elementor-text-editor span {
    display: block;
    font-size: 14px;
    line-height: 1.45;
}

.ne-home-pricing__payments,
.ne-home-pricing__payments > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    justify-content: center;
}

.ne-home-pricing__payments > .elementor-container > .elementor-column,
.ne-home-pricing__payment-item {
    min-width: 0;
}

.ne-home-pricing__payments {
    justify-self: center;
}

.ne-home-pricing__payments > .elementor-container {
    width: min(100%, 860px);
}

.ne-home-pricing__payment-item,
.ne-home-pricing__payment-item > .elementor-widget-wrap {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 8px;
    text-align: center;
    padding: 18px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(58, 216, 143, 0.12);
}

.ne-home-pricing__payment-icon,
.ne-home-pricing__payment-icon .elementor-heading-title {
    font: 400 30px/1 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
}

.ne-home-pricing__payment-copy,
.ne-home-pricing__payment-copy .elementor-text-editor p {
    margin: 0;
    display: grid;
    gap: 4px;
}

.ne-home-pricing__payment-copy strong {
    display: block;
    color: var(--ne-heading-text);
    font: 700 15px/1.25 'Montserrat', sans-serif;
}

.ne-home-pricing__payment-copy span {
    display: block;
    color: var(--ne-body-text);
    font-size: 13px;
    line-height: 1.45;
}

section.elementor-inner-section.elementor-element-3ceb7615,
section.elementor-inner-section.elementor-element-afd4a209 {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    margin: 22px auto 0 !important;
    justify-self: center !important;
}

section.elementor-inner-section.elementor-element-3ceb7615 > .elementor-container,
section.elementor-inner-section.elementor-element-afd4a209 > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
}

section.elementor-inner-section.elementor-element-3ceb7615 > .elementor-container > .elementor-column,
section.elementor-inner-section.elementor-element-afd4a209 > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

section.elementor-top-section:has(.ne-pricing-payments__image) > .elementor-container {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
}

section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .ne-pricing-payments__icon {
    order: 1;
}

section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .ne-pricing-payments__item {
    order: 2;
}

section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .ne-pricing-payments__image {
    order: 3;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon {
    display: none !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image {
    order: 1 !important;
    justify-self: center !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__item {
    order: 2 !important;
}

.ne-home-howto__step {
    text-align: center;
}
.ne-home-howto__step-title .elementor-heading-title {
    text-wrap: balance;
}
section.elementor-inner-section:has(.ne-event-story__eyebrow) > .elementor-container {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
    gap: clamp(22px, 4vw, 56px);
    align-items: end;
}
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container > .elementor-column {
    display: flex;
    align-self: stretch;
}
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(26, 99, 120, 0.12);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(18, 16, 15, 0.10);
}
section.elementor-inner-section:has(.ne-event-story__card-label),
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container,
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 100%;
    height: 100%;
}
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    align-content: start;
    grid-template-rows: auto auto auto 1fr auto;
    gap: 12px;
    padding: 22px 22px 20px;
    --widgets-spacing: 0px;
}
section.elementor-inner-section:has(.ne-event-story__card-label) .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(340px, 1.04fr);
    gap: clamp(28px, 4vw, 54px);
    align-items: start;
}
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.72fr);
    grid-template-areas:
        "lead quote"
        "lead room"
        "detail room";
    gap: 16px;
}
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
    display: grid;
    gap: 18px;
    align-content: start;
}
.ne-venue-story__shot--lead {
    grid-area: lead;
}
.ne-venue-story__shot--detail {
    grid-area: detail;
}
.ne-venue-story__shot--room {
    grid-area: room;
}
.ne-venue-story__quote {
    grid-area: quote;
}
.ne-event-story__points ul,
.ne-event-story__card-list ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ne-event-story__points li,
.ne-event-story__card-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.ne-event-story__points li::before,
.ne-event-story__card-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: 8px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 0 5px rgba(58, 216, 143, 0.15);
    flex: none;
}

@media (max-width: 1120px) {
    .elementor-top-section[data-id="hpsect02"] > .elementor-container,
    .elementor-top-section[data-id="enhpsect02"] > .elementor-container,
    section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container,
    section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container,
    section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container,
    section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container,
    section.elementor-top-section:has(.ne-contact-page__form) > .elementor-container,
    .elementor-top-section[data-id="hpsect10"] > .elementor-container,
    .elementor-top-section[data-id="enhpsect10"] > .elementor-container,
    .elementor-top-section:has(.ne-arc-contact__cta) > .elementor-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
    section.elementor-top-section:has(.ne-pricing-payments__image) .elementor-inner-section > .elementor-container {
        grid-template-columns: 1fr;
    }
    section.elementor-inner-section:has(.ne-event-story__eyebrow) > .elementor-container,
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
        grid-template-columns: 1fr;
    }
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "lead lead"
            "quote room"
            "detail room";
    }
    .elementor-top-section[data-id="hpsect02"] > .elementor-container,
    .elementor-top-section[data-id="enhpsect02"] > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .elementor-top-section:has(.ne-page-shell__title) {
        padding: 60px 0 40px;
    }
    .elementor-top-section:has(.ne-module-slot__title),
    .elementor-top-section:has(.ne-book-page__module),
    .elementor-top-section:has(.ne-contact-page__form),
    .elementor-top-section:has(.ne-team-page__feature-title),
    .elementor-top-section:has(.ne-team-page__form),
    .elementor-top-section:has(.ne-faq-page__question),
    .elementor-top-section:has(.ne-pricing-payments__title),
    .elementor-top-section:has(.ne-arc-contact__cta),
    .elementor-top-section[data-id="hpsect03"],
    .elementor-top-section[data-id="enhpsect03"],
    .elementor-top-section[data-id="hpsect05"],
    .elementor-top-section[data-id="enhpsect05"],
    .elementor-top-section[data-id="hpsect07"],
    .elementor-top-section[data-id="enhpsect07"],
    .elementor-top-section[data-id="hpsect09"],
    .elementor-top-section[data-id="enhpsect09"],
    .elementor-top-section[data-id="hpsect10"],
    .elementor-top-section[data-id="enhpsect10"] {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    section.elementor-inner-section:has(.ne-home-usp__card-title) > .elementor-container,
    section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container,
    section.elementor-inner-section:has(.ne-home-howto__number) > .elementor-container,
    section.elementor-top-section:has(.ne-team-page__feature-title) .elementor-inner-section > .elementor-container,
    section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container {
        grid-template-columns: 1fr;
    }
    .elementor-top-section[data-id="hpsect02"] > .elementor-container,
    .elementor-top-section[data-id="enhpsect02"] > .elementor-container,
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
        grid-template-columns: 1fr;
    }
    .nr-carousel::before,
    .nr-carousel::after {
        width: 32px;
    }
    .nr-review-card {
        flex-basis: min(82vw, 290px);
    }
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
        grid-template-areas:
            "lead"
            "quote"
            "detail"
            "room";
    }
    .ne-module-slot__placeholder > .elementor-widget-container,
    .ne-module-slot__live > .elementor-widget-container,
    .ne-book-page__module > .elementor-widget-container {
        padding: 24px;
    }
}

/* ── Responsive archive ── */
@media (max-width: 992px) {
    .ne-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}
@media (max-width: 640px) {
    .ne-archive-grid { grid-template-columns: 1fr; gap: 24px; }
    .ne-arc-contact__inner { grid-template-columns: 1fr; gap: 40px; }
    .ne-archive-wrap { padding: 60px 0; }
    .ne-archive-page { padding: 60px 0; }
    .ne-archive-wrap__intro { margin-bottom: 40px; font-size: 16px; }
    .ne-card__img-wrap { height: 250px; }
    .ne-page-shell { padding: 60px 0 40px; }
    .ne-module-slot { padding: 10px 0 60px; }
    .ne-module-slot__sub { font-size: 16px; }
    .ne-module-slot__frame { min-height: 220px; padding: 24px; }
    .elementor-top-section:has(.ne-module-slot__live) > .elementor-container {
        padding: 0 20px;
    }
    .elementor-top-section:has(.ne-book-page__module) > .elementor-container {
        padding: 0 20px;
    }
    .elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__placeholder > .elementor-widget-container,
    .elementor-top-section:has(.ne-module-slot__live) .ne-module-slot__live > .elementor-widget-container {
        min-height: 220px;
        padding: 24px;
        border-radius: 24px;
    }
}
@media (max-width: 560px) {
    .ne-archive-hero { padding: 100px 0 60px; }
    .ne-archive-grid-wrap { padding: 40px 20px 60px; }
    .ne-arc-contact { padding: 60px 0; }
}


/* ==========================================================================
   SINGLE ÉNIGME — /enigmes/[slug]/
   ========================================================================== */

/* Full-bleed : même technique que l'archive */
.ne-single-wrap {
    width: 100%;
    max-width: 100% !important;
    position: relative;
    overflow-x: hidden;
}
/* Override Astra container on single enigmes */
.single-enigme .ast-container,
.single-enigme #primary,
.single-enigme #main,
.ne-single-wrap .ast-container,
.ne-single-wrap #primary,
.ne-single-wrap #main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Override Astra wrappers sur toutes les pages utilisant .nt-wrap */
body:has(.nt-wrap) .ast-container,
body:has(.nt-wrap) #primary,
body:has(.nt-wrap) #main,
body:has(.nt-wrap) .site-main,
body:has(.nt-wrap) .ast-article-single,
body:has(.nt-wrap) .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body:has(.nt-wrap) .entry-header {
    display: none !important;
}

/* ── Hero ── */
.ne-single-hero {
    position: relative;
    width: 100vw;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    left: 0;
    right: auto;
    height: calc(50vh + 60px);
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--neurones-dark);
}
.ne-single-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10,10,10,.6) 0%,
        rgba(10,10,10,.72) 60%,
        rgba(10,10,10,.88) 100%
    );
}
.ne-single-hero__content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    padding: 80px 24px 40px;
    width: 100%;
}
.ne-single-hero__badge {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 100px;
    font-size: 11px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.ne-single-hero__badge--horreur  { background: #c0392b; color: #fff; }
.ne-single-hero__badge--aventure { background: #00d4ff; color: #0a0a0a; }
.ne-single-hero__badge--western  { background: #e67e22; color: #fff; }
.ne-single-hero__badge--medieval { background: #8e44ad; color: #fff; }

.ne-single-hero__title {
    font-size: clamp(36px, 6vw, 80px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    line-height: 1.05;
    margin-bottom: 28px;
    text-shadow: 0 2px 20px rgba(0,0,0,.4);
}

/* Meta chips hero */
.ne-single-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 36px;
}
.ne-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 100px;
    font-size: 13px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
}
.ne-meta-chip--warn {
    background: rgba(192,57,43,.2);
    border-color: rgba(192,57,43,.5);
}

/* CTA hero */
.ne-single-hero__ctas {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ── Section contenu 3 colonnes : histoire + profil + infos ── */
.ne-single-content {
    background-color: var(--ne-bg-2) !important;
    padding: 80px 0;
}

.ne-single-showcase {
    background-color: var(--ne-bg-1) !important;
    padding: 80px 0;
}

.ne-arc-contact {
    background-color: var(--ne-bg-2) !important;
    padding: 80px 0;
}
.ne-single-content__inner {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr;
    gap: 36px;
    padding: 0 clamp(20px, 3.5vw, 50px);
    align-items: start;
}
.ne-single-content__video {
    grid-row: span 2;
}
.ne-single-content__video .ne-single-video__embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}
.ne-single-content__video .ne-single-video__embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.ne-single-content__story { color: #fff; }
.ne-single-content__eyebrow {
    font-size: 12px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.ne-single-content__title {
    font-size: clamp(22px, 2.5vw, 32px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
    line-height: 1.2;
}
.ne-single-content__text {
    font-size: 15px;
    line-height: 1.85;
    color: rgba(255,255,255,.8);
}
.ne-single-content__text p { margin-bottom: 18px; }
.ne-single-content__text p:last-child { margin-bottom: 0; }
.ne-single-content__stats,
.ne-single-content__info {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    padding: 28px;
}

/* heading dans le contexte sombre */
.ne-single-profile__heading {
    font-size: 18px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
}

/* Big stats */
.ne-big-stat {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.ne-big-stat__icon {
    font-size: 24px;
    width: 36px;
    flex-shrink: 0;
    text-align: center;
}
.ne-big-stat__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ne-big-stat__label {
    font-size: 12px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: rgba(255,255,255,.65);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.ne-big-stat__bar {
    height: 8px;
    background: rgba(255,255,255,.15);
    border-radius: 100px;
    overflow: hidden;
}
.ne-big-stat__fill {
    height: 100%;
    border-radius: 100px;
    transition: width .6s ease;
}
.ne-big-stat__score {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    width: 28px;
    text-align: right;
    flex-shrink: 0;
}

/* Difficulté étoiles */
.ne-difficulty {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 16px 20px;
    background: var(--neurones-primary);
    border-radius: 12px;
}
.ne-difficulty__stars { display: flex; gap: 4px; }
.ne-difficulty__star {
    font-size: 18px;
    color: #444;
    transition: color .2s;
}
.ne-difficulty__star.is-on { color: #ffc107; }
.ne-difficulty__label {
    font-size: 14px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: #fff;
}

/* Video inside Profil column */
.ne-profile-video {
    margin-top: 24px;
}
.ne-profile-video__embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.ne-profile-video__embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Video inside Profil column */
.ne-profile-video {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.ne-profile-video__embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
}
.ne-profile-video__embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Info list */
.ne-info-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    border-radius: 12px;
    overflow: hidden;
}
.ne-info-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.ne-info-list li:last-child { border-bottom: none; }
.ne-info-list__icon {
    font-size: 18px;
    width: 26px;
    text-align: center;
    flex-shrink: 0;
}
.ne-info-list li > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ne-info-list strong {
    font-size: 13px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: #fff;
}
.ne-info-list small {
    font-size: 11px;
    color: rgba(255,255,255,.55);
}
.ne-info-note {
    text-align: center;
    font-size: 11px;
    color: rgba(255,255,255,.45);
    margin-top: 10px;
}

/* ── Vidéo ── */
.ne-single-video {
    background: var(--neurones-dark);
    padding: 80px 24px;
    text-align: center;
}
.ne-single-video__inner { max-width: 860px; margin: 0 auto; }
.ne-single-video__eyebrow {
    font-size: 12px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.ne-single-video__title {
    font-size: clamp(26px, 3.5vw, 40px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    margin-bottom: 36px;
}
.ne-single-video__embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: 16px;
    overflow: hidden;
}
.ne-single-video__embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* ── Showcase autres énigmes (anneau, même display que l'accueil) ── */
.ne-single-showcase {
    width: 100%;
    background-color: var(--ne-section-b);
    padding: 0;
}
.ne-single-showcase__inner {
    padding: 0 clamp(20px, 3.5vw, 50px);
}
.ne-single-showcase__title {
    font-size: clamp(22px, 3vw, 32px);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #fff;
    margin-bottom: 36px;
    text-align: center;
}

/* ── Responsive single ── */
@media (max-width: 960px) {
    .ne-single-content__inner { grid-template-columns: 1fr !important; }
    .ne-single-content__story,
    .ne-single-content__stats,
    .ne-single-content__info,
    .ne-single-content__video {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}
@media (max-width: 560px) {
    .ne-single-hero__content { padding: 120px 20px 60px; }
    .ne-single-hero__title { font-size: clamp(30px, 8vw, 52px); }
}

/* ══ Event Pages (Anniversaire, Team Building, EVJF/EVG) ══ */
.ne-event-page {
    background: var(--neurones-dark);
    min-height: 100vh;
}

.ne-event-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: 60vh;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--neurones-dark);
}

.ne-event-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10,10,10,.5) 0%,
        rgba(10,10,10,.7) 100%
    );
}

.ne-event-hero__content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    padding: 80px 24px 40px;
}

.ne-event-hero__badge {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 100px;
    font-size: 12px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
    background: var(--neurones-secondary);
    color: #fff;
}

.ne-event-hero__title {
    font-size: clamp(36px, 6vw, 64px);
    font-family: 'Lato', sans-serif;
    font-weight: 800;
    color: #fff;
    margin-bottom: 16px;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

.ne-event-hero__subtitle {
    font-size: clamp(18px, 2.5vw, 24px);
    color: rgba(255,255,255,.85);
    font-weight: 400;
}

.ne-event-desc {
    background: #111;
    padding: 80px 24px;
}

.ne-event-desc__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    align-items: start;
}

.ne-event-desc__text h2 {
    font-family: 'Lato', sans-serif;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
}

.ne-event-desc__text p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255,255,255,.8);
    margin-bottom: 16px;
}

.ne-event-desc__text ul {
    list-style: none;
    padding: 0;
    margin-top: 24px;
}

.ne-event-desc__text ul li {
    color: rgba(255,255,255,.85);
    margin-bottom: 12px;
    padding-left: 20px;
    position: relative;
}

.ne-event-desc__text ul li::before {
    content: '▸';
    position: absolute;
    left: 0;
    color: var(--neurones-secondary);
}

.ne-event-desc__features {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    padding: 32px;
}

.ne-event-desc__features h3 {
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
}

.ne-event-desc__features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ne-event-desc__features ul li {
    color: rgba(255,255,255,.85);
    margin-bottom: 16px;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ne-event-desc__features ul li span {
    color: var(--neurones-secondary);
    font-weight: 700;
    font-size: 16px;
}

.ne-event-cta {
    background: linear-gradient(135deg, #1a1a1a, #0a0a0a);
    padding: 80px 24px;
    text-align: center;
}

.ne-event-cta__inner {
    max-width: 600px;
    margin: 0 auto;
}

.ne-event-cta h2 {
    font-family: 'Lato', sans-serif;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}

.ne-event-cta p {
    font-size: 18px;
    color: rgba(255,255,255,.7);
    margin-bottom: 32px;
}

.ne-event-temoignage {
    background: #111;
    padding: 60px 24px;
    text-align: center;
}

.ne-event-temoignage__inner {
    max-width: 800px;
    margin: 0 auto;
}

.ne-event-temoignage blockquote {
    font-size: 20px;
    font-style: italic;
    color: rgba(255,255,255,.9);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

.ne-event-temoignage blockquote p {
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .ne-event-desc__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ne-event-hero {
        height: 50vh;
        min-height: 350px;
    }
}

/* ── Formulaire devis événements ───────────────────────────────────── */
.nd-form {
    background: var(--ne-card-bg);
    border: 1px solid var(--ne-card-border);
    border-radius: 16px;
    padding: 40px;
}
.nd-form__error {
    background: rgba(192, 57, 43, 0.12);
    border: 1px solid rgba(192, 57, 43, 0.4);
    color: #c0392b;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 24px;
    font-size: 14px;
}
html[data-theme="dark"] .nd-form__error { color: #ff6b6b; }
.nd-form__row { display: grid; gap: 20px; margin-bottom: 20px; }
.nd-form__row--2 { grid-template-columns: 1fr 1fr; }
.nd-form__row--3 { grid-template-columns: 1fr 1fr 1fr; }
.nd-form__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.nd-form__label {
    color: var(--ne-heading-text);
    font-size: 13px;
    font-weight: 600;
    font-family: Lato, sans-serif;
}
.nd-form__input {
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid var(--ne-card-border);
    border-radius: 8px;
    padding: 12px 16px;
    color: var(--ne-body-text);
    font-size: 15px;
    line-height: 1.5;
    font-family: Roboto, sans-serif;
    box-sizing: border-box;
    transition: border-color 0.2s, background 0.2s;
}
html[data-theme="dark"] .nd-form__input { background: rgba(255, 255, 255, 0.06); }
.nd-form__input:focus {
    outline: none;
    border-color: #3ad88f;
    background: rgba(58, 216, 143, 0.05);
}
.nd-form__input::placeholder { color: var(--ne-body-text); opacity: 0.45; }
.nd-form__textarea { resize: vertical; min-height: 120px; }
.nd-form__submit { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 10px; }
.nd-form__btn {
    display: inline-block;
    padding: 18px 50px;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 15px;
    font-family: Lato, sans-serif;
    background: #3ad88f;
    color: #1a6378;
    letter-spacing: 1px;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(58, 216, 143, 0.35);
    transition: background 0.2s, transform 0.15s;
}
.nd-form__btn:hover { background: #00bc9b; color: #fff; transform: translateY(-2px); }
.nd-form__note { color: var(--ne-body-text); opacity: 0.6; font-size: 12px; margin: 0; text-align: center; }
.nd-form--success { text-align: center; padding: 60px 40px; }
.nd-form__check { font-size: 48px; margin-bottom: 16px; }
.nd-form__thanks { color: var(--ne-heading-text); font-family: Lato, sans-serif; font-size: 28px; font-weight: 700; margin-bottom: 12px; }
.nd-form__sub { color: var(--ne-body-text); font-size: 16px; margin: 0; }
.nd-form__select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233ad88f' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding: 16px 42px 16px 16px;
    height: 54px;
    cursor: pointer;
}
.nd-form__select option { background: var(--ne-bg-1); color: var(--ne-text); }
.nd-form__file { cursor: pointer; }
.nd-form__file::file-selector-button {
    background: rgba(58, 216, 143, 0.12);
    border: 1px solid rgba(58, 216, 143, 0.4);
    border-radius: 6px;
    color: #3ad88f;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    cursor: pointer;
    margin-right: 12px;
    transition: background 0.2s;
}
.nd-form__file::file-selector-button:hover { background: rgba(58, 216, 143, 0.22); }

/* ── Cartes feature (Anniversaire, TB, EVJF) ── */
.nt-feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.nt-feature-card {
    background: var(--ne-card-bg);
    border: 1px solid var(--ne-card-border);
    border-top: 4px solid #3ad88f;
    border-radius: 14px;
    padding: 30px 24px;
    text-align: center;
    box-shadow: 0 3px 15px rgba(0,0,0,.06);
}
.nt-feature-card__icon { font-size: 42px; margin-bottom: 12px; }
.nt-feature-card__title { font-size: 16px; font-weight: 700; font-family: 'Lato', sans-serif; margin-bottom: 8px; color: var(--ne-heading-text); }
.nt-feature-card__text { font-size: 14px; line-height: 1.6; color: var(--ne-body-text); }

/* ── Hero centré (pages événements) ── */
.nt-sect--hero { text-align: center; }
.nt-sect--hero .nt-sect__inner { max-width: 800px; }
.nt-eyebrow {
    display: inline-block;
    padding: 6px 20px;
    border-radius: 20px;
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    font-family: 'Lato', sans-serif;
    background: rgba(58,216,143,0.15);
    color: #3ad88f;
    margin-bottom: 20px;
}

/* ── Cartes offres d'emploi ─────────────────────────────────────── */
.ne-job-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
.ne-job-card {
    background: var(--ne-card-bg);
    border: 1px solid var(--ne-card-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
}
.ne-job-card__header {
    background: linear-gradient(135deg, rgba(0,0,0,0.55), rgba(0,0,0,0.35));
    border-bottom: 3px solid #3ad88f;
    padding: 28px 30px 22px;
}
.ne-job-card__badge {
    display: inline-block;
    background: #3ad88f;
    color: #1a6378;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: Lato, sans-serif;
    margin-bottom: 12px;
}
.ne-job-card__badge--cdi { background: #00d4ff; color: #0a0a0a; }
.ne-job-card__title { color: var(--ne-heading-text); font-family: Lato, sans-serif; font-size: 22px; font-weight: 700; margin: 0; }
.ne-job-card__body { padding: 28px 30px; flex: 1; background: var(--ne-card-bg); }
.ne-job-card__label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #3ad88f; font-family: Lato, sans-serif; margin-bottom: 10px; }
.ne-job-card__list { list-style: none; padding: 0; margin: 0 0 20px; }
.ne-job-card__list li { padding: 7px 0; border-bottom: 1px solid var(--ne-card-border); font-size: 14px; color: var(--ne-body-text); line-height: 1.5; }
.ne-job-card__list li:last-child { border-bottom: none; }
.ne-job-card__list li::before { content: '✅ '; }
.ne-job-card__note { font-size: 13px; color: var(--ne-body-text); opacity: 0.7; font-style: italic; margin: 0; }

@media (max-width: 768px) {
    .nd-form { padding: 24px; }
    .nd-form__row--2,
    .nd-form__row--3 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Bouton toggle dark / light mode
   ========================================================================== */
.theme-toggle-btn {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    cursor: pointer;
    outline: none;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    transition: border-color 0.2s, background 0.2s;
    margin-left: 12px;
    flex-shrink: 0;
}
.theme-toggle-btn:hover {
    border-color: var(--header-accent);
    background: rgba(58,216,143,0.1);
}

.theme-toggle-btn:focus,
.theme-toggle-btn:active,
.theme-toggle-btn:focus-visible {
    outline: none;
    box-shadow: none;
}
html[data-theme="dark"]  .theme-toggle-btn::before { content: '☀'; }
html[data-theme="light"] .theme-toggle-btn::before { content: '☾'; }

/* ==========================================================================
   Dark Mode overrides (html[data-theme="dark"])
   Couleurs issues de la palette du projet :
    section A → #57595B (gris ardoise foncé)
    section B → #454040 (brun-gris profond)
   ========================================================================== */

/* 1. Redéfinir les variables de fond/texte */
html[data-theme="dark"] {
    --ne-bg-1:        #57595B;
    --ne-bg-2:        #454040;
    --ne-section-a:   #57595B;
    --ne-section-b:   #454040;
    --ne-card-bg:     #253a47;
    --ne-card-border: rgba(58, 216, 143, 0.15);
    --ne-text:        rgba(255, 255, 255, 0.88);
    --ne-body-text:   rgba(255, 255, 255, 0.88);
    background-color: #1e3038;
}

/* 2. Corps de page */
html[data-theme="dark"] body {
    background-color: #1e3038;
    color: rgba(255, 255, 255, 0.88);
}
html[data-theme="dark"] .ne-archive-wrap {
    background-color: var(--ne-section-a);
}
html[data-theme="dark"] .ne-archive-wrap__intro,
html[data-theme="dark"] .ne-archive-wrap .ne-stat__label,
html[data-theme="dark"] .ne-archive-wrap .ne-stat__val {
    color: rgba(255, 255, 255, 0.78);
}
html[data-theme="dark"] .ne-archive-wrap .ne-stat__bar {
    background: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .ne-archive-wrap .ne-card {
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28);
}

/* 3. Sections Elementor — alternance palette */
html[data-theme="dark"] .elementor-top-section:not(.elementor-element-hpsect01):not(.elementor-element-enhpsect01) {
    background-color: #57595B !important;
}
html[data-theme="dark"] .elementor-top-section:not(.elementor-element-hpsect01):not(.elementor-element-enhpsect01):nth-child(even) {
    background-color: #454040 !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect03"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect03"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect05"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect05"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="21268341"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="21268341"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect03"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect03"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect05"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect05"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect05"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect06"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect06"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect06"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect06"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect10"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect10"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect10"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect10"] {
    background-color: #57595B !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect07"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect07"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect06c"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect06c"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect07"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect07"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect06c"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect06c"] {
    background-color: #454040 !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-container,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background: #62686d !important;
    background-color: #62686d !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-background-overlay,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-background-overlay,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-background-overlay,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-background-overlay {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect04"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect04"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="1d183858"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="1d183858"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect04"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect04"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect08"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect08"] {
    background:
        radial-gradient(circle at top left, rgba(58, 216, 143, 0.16), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(255, 107, 53, 0.16), transparent 20%),
        linear-gradient(135deg, #111513 0%, #171d1a 24%, #23201c 58%, #171311 100%) !important;
}

html[data-theme="dark"] body.ne-page-nos-enigmes .elementor-top-section[data-id="nearcfr01"],
html[data-theme="dark"] body.ne-page-escape-rooms .elementor-top-section:first-of-type {
    background-color: #57595B !important;
}

html[data-theme="dark"] body.ne-page-nos-enigmes .elementor-top-section[data-id="nearcfr02"],
html[data-theme="dark"] body.ne-page-escape-rooms .elementor-top-section:last-of-type {
    background-color: #57595B !important;
}

html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"],
html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr05"],
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr05"],
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr05"],
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr05"],
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr05"],
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr05"] {
    background: #454040 !important;
}

html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr03"],
html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr06"],
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr06"],
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr06"],
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr06"],
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr06"],
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr06"] {
    background: #57595B !important;
}

/* 4. Textes dans les sections Elementor */
html[data-theme="dark"] .elementor-top-section p,
html[data-theme="dark"] .elementor-top-section li,
html[data-theme="dark"] .elementor-top-section span:not(.ns-card__badge):not(.nr-review-card__stars) {
    color: rgba(255, 255, 255, 0.80);
}

html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background: rgba(255, 255, 255, 0.94) !important;
}

html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-label .elementor-heading-title {
    color: #1f2a30 !important;
}

html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text,
html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor,
html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text .elementor-text-editor p,
html[data-theme="dark"] body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p,
html[data-theme="dark"] body.ne-page-anniversary .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p,
html[data-theme="dark"] body.ne-page-team-building .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p,
html[data-theme="dark"] body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p,
html[data-theme="dark"] body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p,
html[data-theme="dark"] body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr02"] .ne-birthday-page__proof-text p {
    color: #355466 !important;
}

/* 5. FAQ items — dark mode handled by var(--ne-card-bg) / var(--ne-body-text) */
html[data-theme="dark"] .nr-faq-item {
    border-color: rgba(58, 216, 143, 0.3);
}

html[data-theme="dark"] .ne-home-faq__answer.is-open,
html[data-theme="dark"] .ne-faq-page__answer.is-open {
    background: linear-gradient(180deg, rgba(236, 248, 243, 0.96), rgba(246, 251, 248, 0.98));
}

html[data-theme="dark"] .ne-home-faq__answer,
html[data-theme="dark"] .ne-faq-page__answer,
html[data-theme="dark"] .ne-home-faq__answer .elementor-text-editor,
html[data-theme="dark"] .ne-faq-page__answer .elementor-text-editor,
html[data-theme="dark"] .ne-home-faq__answer .elementor-text-editor p,
html[data-theme="dark"] .ne-faq-page__answer .elementor-text-editor p,
html[data-theme="dark"] .ne-home-faq__answer p,
html[data-theme="dark"] .ne-faq-page__answer p,
html[data-theme="dark"] .ne-home-faq__answer li,
html[data-theme="dark"] .ne-faq-page__answer li,
html[data-theme="dark"] .ne-home-faq__answer span,
html[data-theme="dark"] .ne-faq-page__answer span,
html[data-theme="dark"] .ne-home-faq__answer *,
html[data-theme="dark"] .ne-faq-page__answer * {
    color: #1f2a30 !important;
}

html[data-theme="dark"] .elementor-top-section[data-id="jobs02"],
html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] {
    background: #57595B !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs02"],
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs02"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] {
    background: #57595B !important;
}

html[data-theme="dark"] .elementor-top-section[data-id="jobs04"] {
    background: #454040 !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs04"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs04"] {
    background: #454040 !important;
}

html[data-theme="dark"] .elementor-top-section[data-id="jobs05"] {
    background: #57595B !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs05"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs05"] {
    background: #57595B !important;
}

html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] .ne-job-card__label .elementor-heading-title,
html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor,
html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor ul,
html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor li,
html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] .ne-job-card__note .elementor-text-editor p {
    color: #1f2a30 !important;
}

html[data-theme="dark"] .elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget:nth-child(3) {
    padding-top: 34px !important;
}

/* 6. Cartes avis Google */
html[data-theme="dark"] .nr-review-card {
    background: #253a47;
    border-color: rgba(58, 216, 143, 0.15);
}
html[data-theme="dark"] .nr-review-card__name,
html[data-theme="dark"] .nr-review-card__text {
    color: rgba(255, 255, 255, 0.88);
}

/* 7. Masques de fondu du carrousel avis */
html[data-theme="dark"] .nr-carousel::before {
    background: linear-gradient(to right, #57595B, transparent);
}
html[data-theme="dark"] .nr-carousel::after {
    background: linear-gradient(to left, #454040, transparent);
}

/* 8. Badge Google */
html[data-theme="dark"] .nr-gbadge {
    background: #253a47;
    border-color: rgba(58, 216, 143, 0.25);
}

/* ==========================================================================
   Light Mode overrides (html[data-theme="light"])
   ========================================================================== */
html[data-theme="light"] body {
    background: var(--ne-section-a);
    color: var(--ne-body-text);
}
html[data-theme="light"] {
    background-color: var(--ne-section-a);
}
html[data-theme="light"] .elementor-top-section h1,
html[data-theme="light"] .elementor-top-section h2,
html[data-theme="light"] .elementor-top-section h3,
html[data-theme="light"] .elementor-widget-heading .elementor-heading-title {
    color: var(--ne-heading-text) !important;
}
html[data-theme="light"] .elementor-top-section p:not(.ng-subtitle):not(.ng-slide-content p),
html[data-theme="light"] .elementor-top-section li {
    color: var(--ne-text) !important;
}
/* Textes du hero : toujours blancs (fond sombre) */
html[data-theme="light"] .ng-slide-content p,
html[data-theme="light"] .ng-slide-content .ng-subtitle {
    color: #fff !important;
}
html[data-theme="light"] .ns-card               { background: var(--ne-card-bg); border: 1px solid var(--ne-card-border); }
html[data-theme="light"] .ns-card__teaser        { color: #555; }
html[data-theme="light"] .ne-single-content      { background-color: var(--ne-section-b); }
html[data-theme="light"] .ne-single-content__text { color: rgba(0,0,0,0.75); }
html[data-theme="light"] .ne-single-content__stats,
html[data-theme="light"] .ne-single-content__info {
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(26,99,120,0.12);
}
html[data-theme="light"] .ne-single-profile__heading,
html[data-theme="light"] .ne-big-stat__score,
html[data-theme="light"] .ne-difficulty__label,
html[data-theme="light"] .ne-info-list strong {
    color: #1a6378;
}
html[data-theme="light"] .ne-big-stat__label,
html[data-theme="light"] .ne-info-list small,
html[data-theme="light"] .ne-info-note {
    color: rgba(26,99,120,0.78);
}
html[data-theme="light"] .ne-big-stat__bar {
    background: rgba(26,99,120,0.14);
}
html[data-theme="light"] .ne-info-list li {
    border-bottom: 1px solid rgba(26,99,120,0.12);
}
html[data-theme="light"] .ne-difficulty {
    background: rgba(26,99,120,0.08);
}
html[data-theme="light"] .ne-difficulty__star {
    color: rgba(26,99,120,0.24);
}
html[data-theme="light"] .ne-single-showcase     { background-color: var(--ne-section-a); }
html[data-theme="light"] .ne-event-desc          { background: var(--ne-section-b); }
html[data-theme="light"] .ne-event-desc__text h2 { color: var(--ne-heading-text); }
html[data-theme="light"] .ne-event-desc__text p  { color: var(--ne-body-text); }
html[data-theme="light"] .nd-form__label         { color: rgba(0,0,0,0.75); }
html[data-theme="light"] .nd-form__input {
    background: rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.18);
    color: var(--ne-heading-text);
}
/* Le header reste sombre dans les deux modes (identité de marque) */
/* Le ns-wrap (showcase ring) reste sombre intentionnellement */

html[data-theme="light"] #enigmes-showcase .ns-head__eyebrow,
html[data-theme="light"] #enigmes-showcase .ns-rail__eyebrow,
html[data-theme="dark"] #enigmes-showcase .ns-head__eyebrow,
html[data-theme="dark"] #enigmes-showcase .ns-rail__eyebrow {
    color: #9ef1c7 !important;
    background: rgba(58, 216, 143, 0.12) !important;
    border-color: rgba(58, 216, 143, 0.34) !important;
}
html[data-theme="light"] #enigmes-showcase .ns-head__title,
html[data-theme="light"] #enigmes-showcase .ns-feature__title,
html[data-theme="light"] #enigmes-showcase .ns-thumb__title,
html[data-theme="dark"] #enigmes-showcase .ns-head__title,
html[data-theme="dark"] #enigmes-showcase .ns-feature__title,
html[data-theme="dark"] #enigmes-showcase .ns-thumb__title {
    color: #f7f1e9 !important;
}
html[data-theme="light"] #enigmes-showcase .ns-head__sub,
html[data-theme="light"] #enigmes-showcase .ns-rail__copy,
html[data-theme="light"] #enigmes-showcase .ns-feature__excerpt,
html[data-theme="dark"] #enigmes-showcase .ns-head__sub,
html[data-theme="dark"] #enigmes-showcase .ns-rail__copy,
html[data-theme="dark"] #enigmes-showcase .ns-feature__excerpt {
    color: rgba(247, 241, 233, 0.78) !important;
}
html[data-theme="light"] #enigmes-showcase .ns-feature__badge,
html[data-theme="light"] #enigmes-showcase .ns-thumb__badge,
html[data-theme="dark"] #enigmes-showcase .ns-feature__badge,
html[data-theme="dark"] #enigmes-showcase .ns-thumb__badge {
    color: #fff !important;
}
html[data-theme="light"] #enigmes-showcase .ns-feature__counter,
html[data-theme="light"] #enigmes-showcase .ns-feature__chip,
html[data-theme="light"] #enigmes-showcase .ns-foot__stat,
html[data-theme="light"] #enigmes-showcase .ns-thumb__number,
html[data-theme="dark"] #enigmes-showcase .ns-feature__counter,
html[data-theme="dark"] #enigmes-showcase .ns-feature__chip,
html[data-theme="dark"] #enigmes-showcase .ns-foot__stat,
html[data-theme="dark"] #enigmes-showcase .ns-thumb__number {
    color: rgba(247, 241, 233, 0.82) !important;
}
html[data-theme="light"] #enigmes-showcase .ns-book,
html[data-theme="dark"] #enigmes-showcase .ns-book {
    color: #113127 !important;
}
html[data-theme="light"] #enigmes-showcase .ns-feature__cta,
html[data-theme="dark"] #enigmes-showcase .ns-feature__cta {
    color: #fff !important;
}

/* ==========================================================================
   Hero carousel — overrides de sécurité (le CSS principal est dans le widget)
   ========================================================================== */

/* Zéroter la chaîne Elementor du hero — sans overflow:hidden pour ne pas clipper le stretch */
.elementor-element-hpsect01,
.elementor-element-enhpsect01 {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.elementor-element-hpsect01 > .elementor-container,
.elementor-element-hpsect01 .elementor-column,
.elementor-element-hpsect01 .elementor-widget-wrap,
.elementor-element-hpsect01 .elementor-widget-html,
.elementor-element-hpsect01 .elementor-widget-container,
.elementor-element-enhpsect01 > .elementor-container,
.elementor-element-enhpsect01 .elementor-column,
.elementor-element-enhpsect01 .elementor-widget-wrap,
.elementor-element-enhpsect01 .elementor-widget-html,
.elementor-element-enhpsect01 .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.elementor-element-hpsect01 > .elementor-background-overlay,
.elementor-element-enhpsect01 > .elementor-background-overlay {
    display: none !important;
}

/* ── Hero carousel ────────────────────────────────────────────────────── */
.ng-hero-wrapper   { position: relative !important; width: 100% !important; height: 600px !important; overflow: hidden !important; }
.ng-carousel-main  { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
.ng-slide          { position: absolute !important; inset: 0 !important; opacity: 0 !important; visibility: hidden !important; transition: opacity .6s ease !important; display: flex !important; align-items: flex-end !important; justify-content: center !important; background-size: 100% 100% !important; background-position: center center !important; background-repeat: no-repeat !important; }
.ng-slide.active   { opacity: 1 !important; visibility: visible !important; }
.ng-slide::before  { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; background: rgba(0,0,0,0.52) !important; }
.ng-slide-content  { position: relative !important; z-index: 2 !important; text-align: center !important; padding: 40px 24px 48px !important; width: 100% !important; max-width: 860px !important; margin: 0 auto 86px !important; background: rgba(10,30,40,0.6) !important; border-radius: 16px !important; border: 1px solid rgba(58,216,143,0.3) !important; box-shadow: 0 4px 32px rgba(0,0,0,0.4) !important; }
.ng-slide-content h2 { font-size: clamp(22px,3.5vw,42px) !important; font-family: Lato,sans-serif !important; font-weight: 800 !important; text-transform: uppercase !important; margin-bottom: 10px !important; line-height: 1.15 !important; color: #3ad88f !important; }
.ng-subtitle       { font-weight: 600 !important; margin-bottom: 14px !important; font-size: clamp(14px,1.5vw,18px) !important; font-family: Lato,sans-serif !important; color: #fff !important; }
.ng-slide-content p:not(.ng-subtitle) { font-size: clamp(13px,1.2vw,15px) !important; margin-bottom: 22px !important; line-height: 1.6 !important; color: #fff !important; }
.ng-actions        { display: flex !important; justify-content: center !important; gap: 12px !important; flex-wrap: wrap !important; margin-bottom: 8px !important; }
.ng-actions .btn   { display: inline-block !important; padding: 12px 28px !important; border-radius: 50px !important; font-weight: 700 !important; text-transform: uppercase !important; text-decoration: none !important; font-size: 13px !important; letter-spacing: 1px !important; font-family: 'Lato', sans-serif !important; transition: background .2s, transform .15s, box-shadow .2s !important; }
.ng-actions .btn-primary  { background: #3ad88f !important; color: #1a6378 !important; box-shadow: 0 4px 16px rgba(58,216,143,0.4) !important; }
.ng-actions .btn-primary:hover  { background: #00bc9b !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 6px 22px rgba(58,216,143,0.5) !important; }
.ng-actions .btn-secondary { background: transparent !important; border: 2px solid rgba(255,255,255,0.65) !important; color: #fff !important; }
.ng-actions .btn-secondary:hover { background: rgba(255,255,255,0.12) !important; border-color: #fff !important; transform: translateY(-2px) !important; }
.ng-dots           { position: absolute !important; right: 0 !important; bottom: 0 !important; left: 0 !important; transform: none !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; min-height: 42px !important; padding: 10px 20px !important; z-index: 30 !important; background: rgba(70, 65, 61, 0.96) !important; border-top: 1px solid rgba(255,255,255,0.10) !important; border-bottom: var(--ne-separator-h) solid var(--ne-separator-line) !important; box-shadow: 0 -1px 0 rgba(255,255,255,0.04) inset !important; }
.ng-dot            { width: 10px !important; height: 10px !important; border-radius: 50% !important; border: 1px solid rgba(255,255,255,0.24) !important; cursor: pointer !important; padding: 0 !important; background: rgba(255,255,255,0.42) !important; opacity: .72 !important; transition: background .2s, transform .2s, opacity .2s, border-color .2s, box-shadow .2s !important; }
.ng-dot:hover      { opacity: 1 !important; background: rgba(255,255,255,0.72) !important; }
.ng-dot.active     { transform: scale(1.18) !important; opacity: 1 !important; background: #3ad88f !important; border-color: rgba(58,216,143,0.8) !important; box-shadow: 0 0 0 4px rgba(58,216,143,0.16) !important; }
.ng-btn-door       { display: none !important; }

@media (max-width: 767px) {
    .ng-slide-content {
        margin: 0 16px 88px !important;
        width: auto !important;
    }

    .ng-dots {
        min-height: 38px !important;
        gap: 10px !important;
        padding: 8px 16px !important;
    }
}

/* ==========================================================================
   Footer
   ========================================================================== */

.neurones-footer {
    background: #0a0a0a;
    border-top: 2px solid #3ad88f;
    color: rgba(255,255,255,0.65);
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}
.neurones-footer__body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 40px 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
}
.neurones-footer__col-title {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #3ad88f;
    margin-bottom: 20px;
}
.neurones-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.neurones-footer__links a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
    display: inline-block;
}
.neurones-footer__links a:hover { color: #3ad88f; }
.neurones-footer__links--legal {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(58,216,143,0.15);
    gap: 8px;
}
.neurones-footer__links--legal a {
    font-size: 12px;
    color: rgba(255,255,255,0.38);
}
.neurones-footer__links--legal a:hover { color: rgba(255,255,255,0.7); }
.neurones-footer__social {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.neurones-footer__social-link {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}
.neurones-footer__social-link:hover { color: #3ad88f; }
.neurones-footer__social-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(58,216,143,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    transition: border-color 0.2s, background 0.2s;
}
.neurones-footer__social-link:hover .neurones-footer__social-icon {
    border-color: #3ad88f;
    background: rgba(58,216,143,0.08);
}
.neurones-footer__review {
    margin-top: 24px;
    padding: 14px 18px;
    border: 1px solid rgba(58,216,143,0.25);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: rgba(255,255,255,0.65);
    font-size: 13px;
    transition: border-color 0.2s, background 0.2s;
}
.neurones-footer__review:hover {
    border-color: #3ad88f;
    background: rgba(58,216,143,0.06);
    color: rgba(255,255,255,0.9);
}
.neurones-footer__review-stars { color: #fbbf24; font-size: 15px; letter-spacing: 1px; }
.neurones-footer__bar {
    border-top: 1px solid rgba(58,216,143,0.1);
    padding: 18px 40px;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    flex-wrap: wrap;
    gap: 8px;
}
.neurones-footer__bar a { color: rgba(255,255,255,0.4); text-decoration: none; }
.neurones-footer__bar a:hover { color: #3ad88f; }
@media (max-width: 900px) {
    .neurones-footer__body { grid-template-columns: 1fr 1fr; gap: 40px; padding: 40px 24px 30px; }
}
@media (max-width: 560px) {
    .neurones-footer__body { grid-template-columns: 1fr; gap: 32px; }
    .neurones-footer__bar { flex-direction: column; text-align: center; }
}

/* ==========================================================================
   Scroll-to-top (Astra #ast-scroll-top override)
   ========================================================================== */
#ast-scroll-top {
    background: #3ad88f !important;
    color: #1a6378 !important;
    border-radius: 50% !important;
    width: 56px !important;
    height: 56px !important;
    line-height: 56px !important;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.4) !important;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
}
#ast-scroll-top:hover {
    background: #00bc9b !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 24px rgba(58, 216, 143, 0.55) !important;
}
#ast-scroll-top .ast-icon.icon-arrow svg {
    width: 24px !important;
    height: 24px !important;
    color: #1a6378 !important;
    fill: #1a6378 !important;
    stroke: #1a6378 !important;
}

/* ==========================================================================
   Homepage events/support final alignment overrides
   ========================================================================== */
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container {
    gap: 24px;
}
section.elementor-inner-section:has(.ne-event-story__card-media) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 100%;
    grid-template-rows: auto 1fr;
}
section.elementor-inner-section:has(.ne-event-story__card-label) {
    min-height: 100%;
}
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container,
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column,
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 100%;
}
section.elementor-inner-section:has(.ne-event-story__card-label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 12px;
    align-content: start;
    height: 100%;
    grid-template-rows: auto auto auto 1fr auto;
}
.ne-event-story__card-link {
    margin-top: auto;
    align-self: end;
    justify-self: start;
    width: 100%;
}
.ne-event-story__card-link > .elementor-widget-container,
.ne-event-story__card-link .elementor-button-wrapper {
    display: flex;
}
.ne-event-story__card-link .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    min-width: 240px;
    max-width: 240px;
    min-height: 64px;
    padding: 14px 24px;
}

.ne-venue-story__quote::before,
.ne-venue-story__quote-mark {
    display: none !important;
    content: none !important;
}
.ne-venue-story__quote > .elementor-widget-container {
    min-height: 0;
    padding-top: 20px;
}

section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
}
section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 100%;
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 18px 18px 16px;
    border-radius: 22px;
    border: 1px solid rgba(26, 99, 120, 0.12);
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 16px 50px rgba(18, 16, 15, 0.10);
}
html[data-theme="dark"] section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}

@media (max-width: 1120px) {
    section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ne-event-story__card-desc,
    .ne-event-story__card-list {
        min-height: 0;
    }
    section.elementor-inner-section:has(.ne-event-story__proof-value) > .elementor-container {
        grid-template-columns: 1fr;
    }
    .ne-event-story__card-link .elementor-button {
        min-width: 0;
        width: 100%;
    }
}

section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(320px, 0.92fr) minmax(560px, 1.08fr) !important;
    gap: 32px !important;
    align-items: start !important;
}
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
}
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
    width: 100%;
    max-width: none;
    display: grid;
    gap: 18px;
    align-content: start;
}
section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
    width: 100%;
}
.ne-event-story__hero-copy .elementor-text-editor,
.ne-event-story__points,
.ne-event-story__cta,
section.elementor-inner-section:has(.ne-event-story__proof-value) {
    width: 100%;
    max-width: none;
}

@media (max-width: 1120px) {
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
        grid-template-columns: 1fr !important;
    }
}

.ne-home-faq__question,
.ne-faq-page__question {
    cursor: pointer;
}
.ne-home-faq__question .elementor-heading-title,
.ne-faq-page__question .elementor-heading-title {
    position: relative;
    padding-right: 56px;
    border-radius: 18px;
    transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.ne-home-faq__question .elementor-heading-title::after,
.ne-faq-page__question .elementor-heading-title::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font: 700 24px/1 'Lato', sans-serif;
    color: #1b8b61;
}
.ne-home-faq__question.is-open .elementor-heading-title,
.ne-faq-page__question.is-open .elementor-heading-title {
    border-radius: 18px 18px 0 0;
}
.ne-home-faq__question.is-open .elementor-heading-title::after,
.ne-faq-page__question.is-open .elementor-heading-title::after {
    content: '−';
}
.ne-home-faq__answer,
.ne-faq-page__answer {
    display: none;
}
.ne-home-faq__answer.is-open,
.ne-faq-page__answer.is-open {
    display: flex;
    align-items: center;
}

section.elementor-top-section[data-id="hpsect10"],
section.elementor-top-section[data-id="enhpsect10"] {
    padding: 80px 0 !important;
}
section.elementor-top-section[data-id="hpsect10"] > .elementor-container,
section.elementor-top-section[data-id="enhpsect10"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 60px !important;
    align-items: start !important;
    max-width: 1200px !important;
    width: min(1200px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 6vw, 100px) !important;
}
section.elementor-top-section[data-id="hpsect10"] > .elementor-container > .elementor-column,
section.elementor-top-section[data-id="enhpsect10"] > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}
section.elementor-top-section[data-id="hpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section[data-id="enhpsect10"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    gap: 16px !important;
    align-content: start !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    section.elementor-top-section[data-id="hpsect10"] > .elementor-container,
    section.elementor-top-section[data-id="enhpsect10"] > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

section.elementor-top-section[data-id="faqfr03"],
section.elementor-top-section[data-id="faqen03"],
body.single-enigmes .ne-arc-contact {
    padding: 80px 0 !important;
    background: var(--ne-bg-1) !important;
}

section.elementor-top-section[data-id="faqfr03"] > .elementor-container,
section.elementor-top-section[data-id="faqen03"] > .elementor-container,
body.single-enigmes .ne-arc-contact > .ne-arc-contact__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 60px !important;
    align-items: start !important;
    max-width: 1200px !important;
    width: min(1200px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 6vw, 100px) !important;
}

section.elementor-top-section[data-id="faqfr03"] > .elementor-container > .elementor-column,
section.elementor-top-section[data-id="faqen03"] > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

section.elementor-top-section[data-id="faqfr03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
section.elementor-top-section[data-id="faqen03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.single-enigmes .ne-arc-contact > .ne-arc-contact__inner > * {
    display: grid !important;
    gap: 16px !important;
    align-content: start !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    section.elementor-top-section[data-id="faqfr03"] > .elementor-container,
    section.elementor-top-section[data-id="faqen03"] > .elementor-container,
    body.single-enigmes .ne-arc-contact > .ne-arc-contact__inner {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        width: min(1200px, calc(100% - 32px)) !important;
    }
}

section.elementor-top-section:has(.ne-home-google__carousel) {
    overflow: visible;
}
section.elementor-top-section:has(.ne-home-google__carousel) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    justify-items: stretch;
}
.ne-home-google__badge {
    display: block !important;
    width: auto !important;
    margin: 0 auto !important;
    position: relative;
    z-index: 2;
}
.ne-home-google__badge > .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
}
.ne-home-google__carousel {
    width: auto !important;
}
.ne-home-google__carousel > .elementor-widget-container {
    width: auto !important;
    overflow: visible !important;
}
.nr-carousel {
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 8px 0 16px !important;
}

/* Dedicated home testimonials layout: full-width carousel, centered title/badge */
.elementor-top-section[data-id="hpsect05"],
.elementor-top-section[data-id="enhpsect05"] {
    overflow: hidden;
}
.elementor-top-section[data-id="hpsect05"] > .elementor-container,
.elementor-top-section[data-id="enhpsect05"] > .elementor-container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.elementor-top-section[data-id="hpsect05"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect05"] > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.elementor-top-section[data-id="hpsect05"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect05"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 28px !important;
}
.elementor-top-section[data-id="hpsect05"] .ne-home-testimonials__title,
.elementor-top-section[data-id="hpsect05"] .ne-home-testimonials__intro,
.elementor-top-section[data-id="enhpsect05"] .ne-home-testimonials__title,
.elementor-top-section[data-id="enhpsect05"] .ne-home-testimonials__intro {
    width: min(1200px, calc(100% - 40px)) !important;
    max-width: min(1200px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.elementor-top-section[data-id="hpsect05"] .ne-home-google__badge > .elementor-widget-container,
.elementor-top-section[data-id="enhpsect05"] .ne-home-google__badge > .elementor-widget-container {
    width: 100%;
    display: flex !important;
    justify-content: center !important;
}
.elementor-top-section[data-id="hpsect05"] .ne-home-google__badge,
.elementor-top-section[data-id="enhpsect05"] .ne-home-google__badge {
    width: min(1200px, calc(100% - 40px)) !important;
    max-width: min(1200px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.elementor-top-section[data-id="hpsect05"] .ne-home-google__carousel,
.elementor-top-section[data-id="enhpsect05"] .ne-home-google__carousel {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
}
.elementor-top-section[data-id="hpsect05"] .ne-home-google__carousel > .elementor-widget-container,
.elementor-top-section[data-id="enhpsect05"] .ne-home-google__carousel > .elementor-widget-container {
    width: 100% !important;
    overflow: hidden !important;
}
.elementor-top-section[data-id="hpsect05"] .nr-carousel,
.elementor-top-section[data-id="enhpsect05"] .nr-carousel {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.elementor-top-section[data-id="hpsect05"] .nr-carousel::before,
.elementor-top-section[data-id="hpsect05"] .nr-carousel::after,
.elementor-top-section[data-id="enhpsect05"] .nr-carousel::before,
.elementor-top-section[data-id="enhpsect05"] .nr-carousel::after {
    display: none !important;
}

/* Final pricing polish */
.ne-home-pricing,
section.elementor-top-section:has(.ne-home-pricing__title) {
    --ne-pricing-green: #3ad88f;
    --ne-pricing-green-deep: #1b8b61;
    --ne-pricing-green-soft: rgba(58, 216, 143, 0.12);
    --ne-pricing-glow: rgba(58, 216, 143, 0.10);
    --ne-pricing-glow-strong: rgba(58, 216, 143, 0.16);
    --ne-pricing-orange: #ff7a3d;
    --ne-pricing-orange-deep: #ff6b35;
}
.ne-home-pricing__card,
.ne-home-pricing__card > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.ne-home-pricing__card.is-featured,
.ne-home-pricing__card.is-featured > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-pricing__badge) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    border-color: rgba(58, 216, 143, 0.32) !important;
    box-shadow: 0 18px 40px rgba(58, 216, 143, 0.14) !important;
}
.ne-home-pricing__card > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    gap: 14px !important;
    align-content: start;
    padding: 40px 28px 30px !important;
    border-radius: 30px;
    border: 1px solid rgba(58, 216, 143, 0.16);
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 12px 28px rgba(18, 16, 15, 0.06);
    backdrop-filter: blur(12px);
    overflow: hidden;
    isolation: isolate;
}
.ne-home-pricing__card > .elementor-widget-wrap::before,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap::before {
    display: none;
}
.ne-home-pricing__card > .elementor-widget-wrap > *,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap > * {
    position: relative;
    z-index: 1;
}
.ne-home-pricing__card:hover > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column:hover > .elementor-widget-wrap {
    transform: translateY(-4px);
    border-color: rgba(58, 216, 143, 0.24);
    box-shadow: 0 18px 36px rgba(58, 216, 143, 0.12);
}
.ne-home-pricing__badge {
    position: absolute !important;
    top: 26px;
    left: 28px;
    right: 28px;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px;
    width: auto !important;
    margin: 0 !important;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #21d389, #16b775) !important;
    color: #f7fff9 !important;
    box-shadow: 0 10px 22px rgba(58, 216, 143, 0.18);
    overflow: hidden;
}
.ne-home-pricing__badge .elementor-heading-title {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 1px rgba(9, 46, 31, 0.22) !important;
    opacity: 1 !important;
    text-align: center !important;
    white-space: nowrap;
}
.ne-home-pricing__card.is-featured > .elementor-widget-wrap,
section.elementor-inner-section:has(.ne-home-pricing__badge) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding-top: 92px !important;
}
.ne-home-pricing__label,
.ne-home-pricing__label .elementor-heading-title {
    color: #1b8b61 !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.ne-home-pricing__price,
.ne-home-pricing__price .elementor-heading-title {
    color: #28cf83 !important;
    font-size: clamp(48px, 5vw, 62px);
    line-height: 0.92;
    letter-spacing: -0.05em;
    text-shadow: 0 6px 14px rgba(58, 216, 143, 0.08);
}
.ne-home-pricing__meta,
.ne-home-pricing__meta .elementor-text-editor {
    max-width: 18ch;
    color: rgba(26, 99, 120, 0.84);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    opacity: 1;
}
.ne-home-pricing__total,
.ne-home-pricing__total > .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 0;
}
.ne-home-pricing__total,
.ne-home-pricing__total .elementor-text-editor,
.ne-home-pricing__total > .elementor-widget-container {
    width: min(100%, 240px);
    padding: 12px 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(246, 249, 249, 0.98), rgba(236, 242, 242, 0.94));
    border: 1px solid rgba(26, 99, 120, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
    text-align: center;
}
.ne-home-pricing__total p,
.ne-home-pricing__total .elementor-text-editor p {
    margin: 0 !important;
    color: #1c7a58;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.01em;
    text-align: center;
}
.ne-home-pricing__note {
    margin-top: 30px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
}
.ne-home-pricing__note > .elementor-widget-container {
    max-width: 1040px;
    margin: 0 auto;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
}
.ne-home-pricing__note .elementor-text-editor {
    padding: 20px 24px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(230, 249, 239, 0.78));
    border: none !important;
    box-shadow: 0 18px 38px rgba(18, 16, 15, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}
.ne-home-pricing__note .elementor-text-editor p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 18px;
}
.ne-home-pricing__note strong {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 420px;
    margin-right: 0 !important;
    color: var(--ne-heading-text);
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
}
.ne-home-pricing__note strong::before {
    content: '';
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    border-radius: 999px;
    background: radial-gradient(circle at 35% 35%, #baf9d7 0, #3ad88f 48%, #1b8b61 100%);
    box-shadow: 0 0 0 6px rgba(58, 216, 143, 0.12);
}
.ne-home-pricing__note a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff874a, #ff6b35);
    color: #fff8f2 !important;
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 16px 32px rgba(255, 107, 53, 0.24);
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}
.ne-home-pricing__note a:hover {
    background: linear-gradient(135deg, #ff955e, #ff7540);
    color: #fffaf5 !important;
    transform: translateY(-1px);
    box-shadow: 0 20px 38px rgba(255, 107, 53, 0.28);
}
html[data-theme="dark"] .ne-home-pricing__card.is-featured,
html[data-theme="dark"] .ne-home-pricing__card.is-featured > .elementor-widget-wrap,
html[data-theme="dark"] section.elementor-inner-section:has(.ne-home-pricing__badge) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    border-color: rgba(58, 216, 143, 0.34) !important;
    box-shadow: 0 18px 40px rgba(58, 216, 143, 0.12) !important;
}
html[data-theme="dark"] .ne-home-pricing__card > .elementor-widget-wrap,
html[data-theme="dark"] section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    border-color: rgba(58, 216, 143, 0.12);
    background: rgba(21, 28, 26, 0.96) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}
html[data-theme="dark"] .ne-home-pricing__total,
html[data-theme="dark"] .ne-home-pricing__total .elementor-text-editor,
html[data-theme="dark"] .ne-home-pricing__total > .elementor-widget-container {
    background: linear-gradient(180deg, rgba(34, 44, 41, 0.98), rgba(28, 36, 34, 0.95));
    border-color: rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .ne-home-pricing__total p,
html[data-theme="dark"] .ne-home-pricing__total .elementor-text-editor p {
    color: #a4f5cd;
}
html[data-theme="dark"] .ne-home-pricing__note .elementor-text-editor {
    background: linear-gradient(135deg, rgba(22, 29, 27, 0.94), rgba(18, 24, 22, 0.90));
    border: none !important;
    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
}
html[data-theme="dark"] .ne-home-pricing__note strong {
    color: #f3f7f5;
}
html[data-theme="dark"] .ne-home-pricing__note a {
    background: linear-gradient(135deg, #ff874a, #ff6b35);
    color: #fff8f2 !important;
    box-shadow: 0 16px 32px rgba(255, 107, 53, 0.20);
}

html[data-theme="dark"] .elementor-top-section[data-id="21268341"] .ne-home-pricing__note .elementor-text-editor,
html[data-theme="dark"] .elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note .elementor-text-editor,
html[data-theme="dark"] .elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note .elementor-text-editor,
html[data-theme="dark"] .elementor-top-section[data-id="pricen01"] .ne-home-pricing__note .elementor-text-editor,
html[data-theme="dark"] .elementor-top-section[data-id="21268341"] .ne-home-pricing__note .elementor-text-editor p,
html[data-theme="dark"] .elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note .elementor-text-editor p,
html[data-theme="dark"] .elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note .elementor-text-editor p,
html[data-theme="dark"] .elementor-top-section[data-id="pricen01"] .ne-home-pricing__note .elementor-text-editor p,
html[data-theme="dark"] .elementor-top-section[data-id="21268341"] .ne-home-pricing__note strong,
html[data-theme="dark"] .elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note strong,
html[data-theme="dark"] .elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note strong,
html[data-theme="dark"] .elementor-top-section[data-id="pricen01"] .ne-home-pricing__note strong {
    color: #1f2a30 !important;
}
@media (max-width: 767px) {
    .ne-home-pricing__card > .elementor-widget-wrap,
    section.elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding: 34px 22px 24px !important;
    }
    .ne-home-pricing__note .elementor-text-editor p {
        justify-content: center;
    }
    .ne-home-pricing__note strong {
        text-align: center;
        justify-content: center;
    }
}

/* ==========================================================================
   Home cadence hard lock
   ========================================================================== */

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] {
    background-color: #62686d !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-container,
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background-color: #62686d !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect09"] > .elementor-container,
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect09"] > .elementor-container,
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect09"] > .elementor-container {
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
    background-color: transparent !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect10"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect10"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect10"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect10"] {
    background-color: #454040 !important;
    background-image: none !important;
}

html[data-theme="dark"] section.elementor-top-section[data-id="hpsect09"],
html[data-theme="dark"] section.elementor-top-section[data-id="enhpsect09"] {
    position: relative !important;
    background: #62686d !important;
    background-color: #62686d !important;
    background-image: none !important;
    overflow: hidden !important;
}

html[data-theme="dark"] section.elementor-top-section[data-id="hpsect09"]::before,
html[data-theme="dark"] section.elementor-top-section[data-id="enhpsect09"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: #62686d !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="21268341"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="21268341"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect07b"] {
    background-color: #e2deda !important;
    background-image: none !important;
}

html[data-theme="light"] body.home .elementor-top-section[data-id="hpsect06c"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="hpsect06c"],
html[data-theme="light"] body.home .elementor-top-section[data-id="enhpsect06c"],
html[data-theme="light"] body.page-id-795 .elementor-top-section[data-id="enhpsect06c"] {
    background-color: #ededed !important;
    background-image: none !important;
}



/* ==========================================================================
   Page Evenements v2 — classes nev2- — redesign complet
   ========================================================================== */

/* Reset des sections Elementor pour laisser les blocs HTML internes controler */
.elementor-top-section[data-id="evpgfr01"],
.elementor-top-section[data-id="evpgen01"],
.elementor-top-section[data-id="evpgfr02"],
.elementor-top-section[data-id="evpgen02"],
.elementor-top-section[data-id="evpgfr03"],
.elementor-top-section[data-id="evpgen03"] {
    background: transparent !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="evpgfr01"] > .elementor-container,
.elementor-top-section[data-id="evpgen01"] > .elementor-container,
.elementor-top-section[data-id="evpgfr02"] > .elementor-container,
.elementor-top-section[data-id="evpgen02"] > .elementor-container,
.elementor-top-section[data-id="evpgfr03"] > .elementor-container,
.elementor-top-section[data-id="evpgen03"] > .elementor-container,
.elementor-top-section[data-id="evpgfr04"] > .elementor-container,
.elementor-top-section[data-id="evpgen04"] > .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Colonnes full-width sans padding Elementor */
.nev2-hero-section > .elementor-container > .elementor-column,
.nev2-formats-section > .elementor-container > .elementor-column,
.nev2-hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
.nev2-formats-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.nev2-hero-wrap > .elementor-widget-container,
.nev2-formats-wrap > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Single-column reset for decor section */
.nev2-decor-section > .elementor-container > .elementor-column,
.nev2-decor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.nev2-decor-wrap > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Eyebrow shared ──────────────────────────────────────────────── */
.nev2-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border-radius: 999px;
    border: 1px solid rgba(58, 216, 143, 0.32);
    background: rgba(58, 216, 143, 0.10);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #3ad88f;
    line-height: 1;
}

/* ── Buttons shared ──────────────────────────────────────────────── */
.nev2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 10px;
    font: 700 14px/1 'Lato', sans-serif;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    cursor: pointer;
}

.nev2-btn--primary {
    background: #ff6b35;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(255, 107, 53, 0.35);
}

.nev2-btn--primary:hover {
    background: #e55820;
    box-shadow: 0 12px 32px rgba(255, 107, 53, 0.48);
    transform: translateY(-2px);
    color: #fff !important;
}

.nev2-btn--ghost {
    background: transparent;
    color: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.nev2-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff !important;
}

/* ── HERO ─────────────────────────────────────────────────────────── */
.nev2-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 12%, rgba(58, 216, 143, 0.18) 0%, rgba(58, 216, 143, 0) 34%),
        radial-gradient(circle at 88% 16%, rgba(255, 107, 53, 0.16) 0%, rgba(255, 107, 53, 0) 30%),
        linear-gradient(180deg, #161311 0%, #0f0d0d 100%);
}

.elementor-top-section[data-id="pricfr01"],
.elementor-top-section[data-id="pricen01"] {
    background: var(--ne-bg-1) !important;
}

.elementor-top-section[data-id="pricfr02"],
.elementor-top-section[data-id="pricen02"] {
    background: var(--ne-bg-2) !important;
}

.elementor-top-section[data-id="pricfr03"],
.elementor-top-section[data-id="pricen03"] {
    background: var(--ne-bg-1) !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"],
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column {
    width: 220px !important;
    max-width: 220px !important;
    flex: 0 1 220px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    min-height: 100% !important;
}

.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item,
.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item > .elementor-widget-container,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item > .elementor-widget-container,
.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item .elementor-text-editor,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item .elementor-text-editor,
.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item .elementor-text-editor p,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item .elementor-text-editor p {
    width: 100% !important;
    text-align: center !important;
    justify-items: center !important;
    justify-content: center !important;
}

.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item strong,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item strong {
    display: block !important;
    max-width: 18ch !important;
    margin: 0 auto !important;
    line-height: 1.35 !important;
}

.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__image,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__image {
    justify-self: center !important;
    width: 100% !important;
}

.nev2-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 100%),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 100%);
    background-size: 36px 36px;
    opacity: 0.10;
    pointer-events: none;
}

.nev2-hero__body {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(126px, 14vw, 172px) clamp(24px, 5vw, 56px) clamp(56px, 8vw, 92px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

.nev2-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 720px;
}

.nev2-hero__aside {
    width: 100%;
}

.nev2-hero__title {
    margin: 0 !important;
    font: 800 clamp(46px, 6.5vw, 84px)/1.0 'Lato', sans-serif !important;
    color: #fff !important;
    text-shadow: 0 2px 40px rgba(0,0,0,0.5);
    letter-spacing: -0.02em;
}

.nev2-hero__sub {
    margin: 0 !important;
    font-size: clamp(16px, 1.9vw, 20px) !important;
    color: rgba(255, 255, 255, 0.78) !important;
    line-height: 1.75;
    max-width: 580px;
}

.nev2-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 4px;
}

.nev2-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.nev2-stat {
    padding: 22px 22px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.24);
    min-height: 138px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.nev2-stat strong {
    display: block;
    font: 800 clamp(30px, 3vw, 48px)/1.0 'Lato', sans-serif;
    color: #3ad88f;
    letter-spacing: -0.01em;
}

.nev2-stat strong small {
    font-size: 0.50em;
    vertical-align: super;
    letter-spacing: 0;
    font-weight: 700;
}

.nev2-stat span {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.58);
}

/* ── FORMAT CARDS ─────────────────────────────────────────────────── */
.nev2-formats-section {
    background: #111 !important;
}

.nev2-formats {
    padding: clamp(72px, 9vw, 120px) clamp(20px, 4vw, 60px);
    max-width: 1280px;
    margin: 0 auto;
}

.nev2-fmt-head {
    text-align: center;
    margin-bottom: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.nev2-fmt-head__title {
    margin: 0 !important;
    font: 700 clamp(30px, 4vw, 50px)/1.08 'Lato', sans-serif !important;
    color: var(--ne-heading-text) !important;
    max-width: 780px;
}

.nev2-fmt-head__sub {
    margin: 0 !important;
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    line-height: 1.8;
    max-width: 560px;
}

/* Cards grid */
.nev2-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.5vw, 30px);
}

.nev2-card {
    border-radius: 20px;
    overflow: hidden;
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.07);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.nev2-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 32px 72px rgba(0, 0, 0, 0.60);
    border-color: rgba(255, 107, 53, 0.30);
}

/* Photo with CSS custom property */
.nev2-card__photo {
    height: clamp(220px, 22vw, 280px);
    background-image: var(--nev2-img);
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.55s ease;
    flex-shrink: 0;
}

.nev2-card__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.55) 100%);
}

.nev2-card:hover .nev2-card__photo {
    transform: scale(1.06);
}

/* Card body */
.nev2-card__body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.nev2-card__tag {
    display: inline-flex;
    align-self: flex-start;
    padding: 5px 13px;
    border-radius: 999px;
    background: rgba(255, 107, 53, 0.14);
    border: 1px solid rgba(255, 107, 53, 0.28);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #ff6b35;
    line-height: 1;
}

.nev2-card__title {
    margin: 0 !important;
    font: 700 clamp(20px, 2vw, 26px)/1.2 'Lato', sans-serif !important;
    color: var(--ne-heading-text) !important;
}

.nev2-card__desc {
    margin: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.58) !important;
}

.nev2-card__list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 9px;
    flex: 1;
}

.nev2-card__list li {
    padding-left: 20px;
    position: relative;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.55;
}

.nev2-card__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 8px rgba(58, 216, 143, 0.45);
}

.nev2-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    background: #ff6b35;
    color: #fff !important;
    font: 600 13px/1 'Lato', sans-serif;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    transition: background 0.2s ease, transform 0.2s ease;
    align-self: flex-start;
}

.nev2-card__cta:hover {
    background: #e55820;
    transform: translateX(4px);
    color: #fff !important;
}

/* ── DECOR SECTION ──��─────────────────────────────────────────────── */
.nev2-decor-section {
    background: #0a0a0a !important;
    padding: clamp(72px, 9vw, 120px) 0 !important;
}

.nev2-decor-carousel-col > .elementor-widget-wrap {
    justify-content: flex-start;
}

.nev2-carousel-label {
    margin: 0 0 10px !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.42) !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
}

/* CSS Grid layout for decor block */
.nev2-decor {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(72px, 9vw, 120px) clamp(20px, 3vw, 48px);
}

.nev2-decor__carousel {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── CAROUSEL BASE ─────────────────────────────────────────────────── */
.ne-decor-carousel {
    width: 100%;
    position: relative;
    user-select: none;
}

.ne-decor-carousel__stage {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ne-decor-carousel__viewport {
    flex: 1;
    overflow: hidden;
    border-radius: 12px;
    height: clamp(220px, 28vw, 420px);
    background: #111;
    contain: layout paint;
}

.ne-decor-carousel__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
    transform: translateZ(0);
}

.ne-decor-carousel__slide {
    min-width: 100%;
    width: 100%;
    height: 100%;
    flex: 0 0 100%;
    overflow: hidden;
    backface-visibility: hidden;
}

.ne-decor-carousel__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
    backface-visibility: hidden;
}

.ne-decor-carousel__nav {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: rgba(0, 0, 0, 0.60);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    z-index: 2;
}

.ne-decor-carousel__nav:hover {
    background: rgba(58, 216, 143, 0.20);
    border-color: #3ad88f;
}

.ne-decor-carousel__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0 4px;
}

.ne-decor-carousel__hint {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.38);
    margin: 0 !important;
    letter-spacing: 0.05em;
}

.ne-decor-carousel__counter {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
}

.ne-decor-carousel__thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
    gap: 8px;
    margin-top: 4px;
}

.ne-decor-carousel__thumb {
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 8px;
    border: 2px solid transparent;
    background: rgba(255, 255, 255, 0.06);
    padding: 0;
    cursor: pointer;
    transition: border-color 0.2s ease, opacity 0.2s ease;
    opacity: 0.50;
}

.ne-decor-carousel__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}

.ne-decor-carousel__thumb.is-active {
    border-color: #3ad88f;
    opacity: 1;
}

.ne-decor-carousel__thumb:hover {
    opacity: 0.85;
}

/* Copy column */
.nev2-decor-copy {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
    padding: 8px 0 8px 48px;
}

.nev2-decor-copy__title {
    margin: 8px 0 0 !important;
    font: 700 clamp(26px, 3vw, 38px)/1.18 'Lato', sans-serif !important;
    color: var(--ne-heading-text) !important;
}

.nev2-decor-copy__text {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.60) !important;
}

.nev2-decor-copy__list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nev2-decor-copy__list li {
    padding-left: 24px;
    position: relative;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.70);
    line-height: 1.6;
}

.nev2-decor-copy__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #3ad88f;
    box-shadow: 0 0 10px rgba(58, 216, 143, 0.50);
}

/* Mini stats dans la section decor */
.nev2-decor-copy__stats {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    margin: 4px 0;
}

.nev2-ms strong {
    display: block;
    font: 800 clamp(26px, 2.8vw, 38px)/1.0 'Lato', sans-serif;
    color: #ff6b35;
}

.nev2-ms strong small {
    font-size: 0.50em;
    vertical-align: super;
    letter-spacing: 0;
}

.nev2-ms span {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ne-heading-text);
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

/* Carousel adjustments in dark context */
.nev2-carousel-wrap .ne-decor-carousel__viewport {
    border-radius: 16px;
    background: #0d0d0d;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.50);
}

.nev2-carousel-wrap .ne-decor-carousel__counter {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.nev2-carousel-wrap .ne-decor-carousel__hint {
    color: rgba(255, 255, 255, 0.42);
}

.nev2-carousel-wrap .ne-decor-carousel__thumb {
    background: rgba(255, 255, 255, 0.06);
    border-color: transparent;
    opacity: 0.55;
    border-radius: 10px;
}

.nev2-carousel-wrap .ne-decor-carousel__thumb.is-active {
    border-color: #3ad88f;
    opacity: 1;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .nev2-hero__body {
        grid-template-columns: 1fr;
    }

    .nev2-cards {
        grid-template-columns: 1fr 1fr;
    }

    .nev2-decor {
        grid-template-columns: 1fr;
    }

    .nev2-decor-copy {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .nev2-hero__body {
        padding-top: 118px;
        gap: 24px;
    }

    .nev2-hero__ctas {
        flex-direction: column;
    }

    .nev2-hero__ctas .nev2-btn {
        width: 100%;
    }

    .nev2-hero__stats {
        grid-template-columns: 1fr 1fr;
    }

    .nev2-stat {
        min-height: 120px;
    }

    .nev2-cards {
        grid-template-columns: 1fr;
    }

    .nev2-formats {
        padding-left: 18px;
        padding-right: 18px;
    }

    .elementor-top-section[data-id="hpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
    .elementor-top-section[data-id="enhpsect06c"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-of-type > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
        padding: 14px !important;
    }

    .elementor-top-section[data-id="hpsect06c"] .ne-event-story__tag,
    .elementor-top-section[data-id="enhpsect06c"] .ne-event-story__tag {
        margin: 0 0 10px !important;
    }

    .elementor-top-section[data-id="hpsect06c"] .ne-event-story__cta,
    .elementor-top-section[data-id="enhpsect06c"] .ne-event-story__cta {
        margin-top: 12px !important;
        padding: 10px 0 18px !important;
    }

    .elementor-top-section[data-id="hpsect06c"] .ne-event-story__cta .elementor-button,
    .elementor-top-section[data-id="enhpsect06c"] .ne-event-story__cta .elementor-button {
        width: calc(100% - 20px) !important;
        margin: 0 10px !important;
    }
}

/* Events page specific corrections */
.elementor-top-section[data-id="evpgfr01"],
.elementor-top-section[data-id="evpgen01"] {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.elementor-top-section[data-id="evpgfr01"] > .elementor-container,
.elementor-top-section[data-id="evpgen01"] > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="evpgfr01"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="evpgen01"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="evpgfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="evpgen01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="evpgfr01"] .nev2-hero-wrap,
.elementor-top-section[data-id="evpgen01"] .nev2-hero-wrap,
.elementor-top-section[data-id="evpgfr01"] .nev2-hero-wrap > .elementor-widget-container,
.elementor-top-section[data-id="evpgen01"] .nev2-hero-wrap > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="evpgfr01"] .nev2-hero,
.elementor-top-section[data-id="evpgen01"] .nev2-hero {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}

.elementor-top-section[data-id="evpgfr01"] .nev2-hero__body,
.elementor-top-section[data-id="evpgen01"] .nev2-hero__body {
    max-width: 1440px;
    padding: clamp(110px, 11vw, 148px) clamp(32px, 5vw, 72px) clamp(44px, 6vw, 74px);
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
}

.elementor-top-section[data-id="evpgfr04"],
.elementor-top-section[data-id="evpgen04"] {
    background: var(--ne-bg-1) !important;
    padding: 80px 0 !important;
}

.elementor-top-section[data-id="evpgfr04"] > .elementor-container,
.elementor-top-section[data-id="evpgen04"] > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 clamp(32px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="evpgfr04"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="evpgen04"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="evpgfr04"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="evpgen04"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="evpgfr04"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="evpgen04"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 350px;
}

@media (max-width: 900px) {
    .elementor-top-section[data-id="evpgfr04"] > .elementor-container,
    .elementor-top-section[data-id="evpgen04"] > .elementor-container {
        grid-template-columns: 1fr;
    }
}

/* ── Team Building / Anniversaire / EVJF fixes ─────────────────────────── */
.elementor-top-section[data-id="teambfr01"] {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(12, 16, 20, 0.72), rgba(17, 35, 31, 0.62)),
        url("./images/business-3370832_1920.jpg") center/cover no-repeat !important;
    padding: clamp(112px, 12vw, 164px) 0 clamp(78px, 8vw, 112px) !important;
}

.elementor-top-section[data-id="teambfr01"] > .elementor-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 6vw, 88px) !important;
}

.elementor-top-section[data-id="teambfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    gap: 18px;
    text-align: left;
    justify-items: start;
}

.elementor-top-section[data-id="teambfr01"] .ne-page-shell__eyebrow .elementor-heading-title {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.92);
}

.elementor-top-section[data-id="teambfr01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="teambfr01"] .ne-page-shell__sub .elementor-text-editor,
.elementor-top-section[data-id="teambfr01"] .ne-page-shell__sub .elementor-text-editor p {
    color: #fff !important;
}

.elementor-top-section[data-id="teambfr01"] .ne-page-shell__title .elementor-heading-title {
    font-size: clamp(40px, 6vw, 68px);
    line-height: 1.02;
    max-width: 10ch;
    text-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.elementor-top-section[data-id="teambfr01"] .ne-page-shell__sub .elementor-text-editor p {
    max-width: 720px;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.6;
    opacity: 0.98;
    text-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.elementor-top-section[data-id="teambfr04"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="teambfr04"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    gap: 64px;
    align-items: start;
    width: 100% !important;
    max-width: 1460px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 4vw, 72px) !important;
}

.elementor-top-section[data-id="teambfr04"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="teambfr04"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="teambfr04"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(42px, 4.6vw, 58px);
    line-height: 1.05;
}

.elementor-top-section[data-id="teambfr04"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="teambfr04"] .ne-arc-contact__info,
.elementor-top-section[data-id="teambfr04"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="teambfr04"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

body.page-id-730 .nt-sect--hero,
body.page-id-733 .nt-sect--hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: clamp(420px, 58vw, 620px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(120px, 11vw, 164px) clamp(24px, 6vw, 72px) clamp(76px, 8vw, 108px);
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

body.page-id-730 .nt-sect--hero {
    background-image:
        linear-gradient(135deg, rgba(15, 19, 22, 0.72), rgba(49, 23, 24, 0.5)),
        url("./images/happy-birthday-1688783.jpg");
}

body.page-id-733 .nt-sect--hero {
    background-image:
        linear-gradient(135deg, rgba(12, 16, 20, 0.76), rgba(36, 22, 24, 0.54)),
        url("./images/married-1937005_1920.jpg");
}

body.page-id-730 .nt-sect--hero .nt-sect__inner,
body.page-id-733 .nt-sect--hero .nt-sect__inner {
    position: relative;
    z-index: 1;
    max-width: 920px;
}

body.page-id-730 .nt-sect--hero .nt-eyebrow,
body.page-id-733 .nt-sect--hero .nt-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 8px 14px;
    margin: 0 auto 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.92);
    font: 700 12px/1 "Lato", sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-730 .nt-sect--hero .nt-sect__title,
body.page-id-730 .nt-sect--hero .nt-sect__sub,
body.page-id-733 .nt-sect--hero .nt-sect__title,
body.page-id-733 .nt-sect--hero .nt-sect__sub {
    color: #fff !important;
}

body.page-id-730 .nt-sect--hero .nt-sect__title,
body.page-id-733 .nt-sect--hero .nt-sect__title {
    text-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

body.page-id-730 .nt-sect--hero .nt-sect__sub,
body.page-id-733 .nt-sect--hero .nt-sect__sub {
    max-width: 760px;
    margin-inline: auto;
    opacity: 0.92;
}

body.page-id-733 .nt-sect#devis {
    min-height: 100vh;
    padding: 24px 0 !important;
    display: flex;
    align-items: stretch;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner {
    width: min(calc(100vw - 200px), 1848px);
    min-height: calc(100vh - 48px);
    max-height: calc(100vh - 48px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(760px, 2.1fr);
    gap: 32px;
    align-items: stretch;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__title,
body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__sub,
body.page-id-733 .nt-sect#devis > .nt-sect__inner > .glorious-glass-card {
    margin: 0;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__title,
body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__sub {
    grid-column: 1;
    width: min(100%, 460px);
    text-align: left;
    justify-self: start;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__title {
    align-self: end;
    margin-bottom: 10px;
    font-size: clamp(32px, 3.4vw, 52px);
    line-height: 1.08;
    max-width: 11ch;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__sub {
    align-self: start;
    font-size: 17px;
    line-height: 1.65;
    margin-bottom: 0;
}

body.page-id-733 .nt-sect#devis > .nt-sect__inner > .glorious-glass-card {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: stretch;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    body.page-id-733 .nt-sect#devis {
        min-height: auto;
        padding: 48px 0 !important;
    }

    body.page-id-733 .nt-sect#devis > .nt-sect__inner {
        width: min(calc(100vw - 48px), 1240px);
        min-height: auto;
        max-height: none;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__title,
    body.page-id-733 .nt-sect#devis > .nt-sect__inner > .nt-sect__sub,
    body.page-id-733 .nt-sect#devis > .nt-sect__inner > .glorious-glass-card {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        max-width: none;
    }
}

.elementor-top-section[data-id="contacfr02"],
.elementor-top-section[data-id="contacen02"] {
    background: var(--ne-bg-2) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="contacfr02"] > .elementor-container,
.elementor-top-section[data-id="contacen02"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
    gap: 72px;
    align-items: start;
    width: 100% !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="contacfr02"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="contacen02"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="contacfr03"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="contacen03"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="contacfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="contacen02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="contacfr02"] .ne-contact-page__title .elementor-heading-title,
.elementor-top-section[data-id="contacen02"] .ne-contact-page__title .elementor-heading-title {
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.06;
}

.elementor-top-section[data-id="contacfr02"] .ne-contact-page__info,
.elementor-top-section[data-id="contacen02"] .ne-contact-page__info {
    font-size: 18px;
}

.elementor-top-section[data-id="contacfr02"] .ne-contact-page__info ul,
.elementor-top-section[data-id="contacen02"] .ne-contact-page__info ul {
    margin: 0;
    padding-left: 20px;
    line-height: 1.8;
}

.elementor-top-section[data-id="contacfr02"] .ne-contact-page__form .nd-form,
.elementor-top-section[data-id="contacen02"] .ne-contact-page__form .nd-form {
    width: 100%;
    max-width: none;
    padding: 42px;
}

.elementor-top-section[data-id="contacfr03"],
.elementor-top-section[data-id="contacen03"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="contacfr03"] > .elementor-container,
.elementor-top-section[data-id="contacen03"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: 64px;
    align-items: start;
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="contacfr03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="contacen03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="contacfr03"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="contacen03"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="contacfr03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="contacfr03"] .ne-arc-contact__info,
.elementor-top-section[data-id="contacfr03"] .ne-arc-contact__info li,
.elementor-top-section[data-id="contacen03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="contacen03"] .ne-arc-contact__info,
.elementor-top-section[data-id="contacen03"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="contacfr03"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="contacen03"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

.elementor-top-section[data-id="bookfr03"],
.elementor-top-section[data-id="booken03"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="bookfr03"] > .elementor-container,
.elementor-top-section[data-id="booken03"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: 64px;
    align-items: start;
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="bookfr03"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="booken03"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="bookfr03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="booken03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="bookfr03"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="booken03"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="bookfr03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="bookfr03"] .ne-arc-contact__info,
.elementor-top-section[data-id="bookfr03"] .ne-arc-contact__info li,
.elementor-top-section[data-id="booken03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="booken03"] .ne-arc-contact__info,
.elementor-top-section[data-id="booken03"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="bookfr03"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="booken03"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

.elementor-top-section[data-id="70bb4b98"],
.elementor-top-section[data-id="1d528795"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="70bb4b98"] > .elementor-container,
.elementor-top-section[data-id="1d528795"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: 64px;
    align-items: start;
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="70bb4b98"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="1d528795"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="70bb4b98"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="1d528795"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="70bb4b98"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="1d528795"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="70bb4b98"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="70bb4b98"] .ne-arc-contact__info,
.elementor-top-section[data-id="70bb4b98"] .ne-arc-contact__info li,
.elementor-top-section[data-id="1d528795"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="1d528795"] .ne-arc-contact__info,
.elementor-top-section[data-id="1d528795"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="70bb4b98"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="1d528795"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

.elementor-top-section[data-id="20d20a18"],
.elementor-top-section[data-id="54294ebc"],
.elementor-top-section[data-id="9f382a39"],
.elementor-top-section[data-id="ee1de0d2"],
.elementor-top-section[data-id="pricfr03"],
.elementor-top-section[data-id="pricen03"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="20d20a18"] > .elementor-container,
.elementor-top-section[data-id="54294ebc"] > .elementor-container,
.elementor-top-section[data-id="9f382a39"] > .elementor-container,
.elementor-top-section[data-id="ee1de0d2"] > .elementor-container,
.elementor-top-section[data-id="pricfr03"] > .elementor-container,
.elementor-top-section[data-id="pricen03"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: 64px;
    align-items: start;
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 80px) !important;
}

.elementor-top-section[data-id="20d20a18"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="54294ebc"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="9f382a39"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="ee1de0d2"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricfr03"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricen03"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="20d20a18"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="54294ebc"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="9f382a39"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="ee1de0d2"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricfr03"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="20d20a18"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="54294ebc"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="9f382a39"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="ee1de0d2"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="pricfr03"] .ne-arc-contact__title .elementor-heading-title,
.elementor-top-section[data-id="pricen03"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="20d20a18"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="20d20a18"] .ne-arc-contact__info,
.elementor-top-section[data-id="20d20a18"] .ne-arc-contact__info li,
.elementor-top-section[data-id="54294ebc"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="54294ebc"] .ne-arc-contact__info,
.elementor-top-section[data-id="54294ebc"] .ne-arc-contact__info li,
.elementor-top-section[data-id="9f382a39"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="9f382a39"] .ne-arc-contact__info,
.elementor-top-section[data-id="9f382a39"] .ne-arc-contact__info li,
.elementor-top-section[data-id="ee1de0d2"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="ee1de0d2"] .ne-arc-contact__info,
.elementor-top-section[data-id="ee1de0d2"] .ne-arc-contact__info li,
.elementor-top-section[data-id="pricfr03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="pricfr03"] .ne-arc-contact__info,
.elementor-top-section[data-id="pricfr03"] .ne-arc-contact__info li,
.elementor-top-section[data-id="pricen03"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="pricen03"] .ne-arc-contact__info,
.elementor-top-section[data-id="pricen03"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="20d20a18"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="54294ebc"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="9f382a39"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="ee1de0d2"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="pricfr03"] .ne-arc-contact__map iframe,
.elementor-top-section[data-id="pricen03"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

@media (max-width: 900px) {
    .elementor-top-section[data-id="teambfr04"] > .elementor-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .elementor-top-section[data-id="contacfr02"] > .elementor-container,
    .elementor-top-section[data-id="contacen02"] > .elementor-container,
    .elementor-top-section[data-id="contacfr03"] > .elementor-container,
    .elementor-top-section[data-id="contacen03"] > .elementor-container,
    .elementor-top-section[data-id="bookfr03"] > .elementor-container,
    .elementor-top-section[data-id="booken03"] > .elementor-container,
    .elementor-top-section[data-id="70bb4b98"] > .elementor-container,
    .elementor-top-section[data-id="1d528795"] > .elementor-container,
    .elementor-top-section[data-id="20d20a18"] > .elementor-container,
    .elementor-top-section[data-id="54294ebc"] > .elementor-container,
    .elementor-top-section[data-id="9f382a39"] > .elementor-container,
    .elementor-top-section[data-id="ee1de0d2"] > .elementor-container,
    .elementor-top-section[data-id="pricfr03"] > .elementor-container,
    .elementor-top-section[data-id="pricen03"] > .elementor-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .elementor-top-section[data-id="teambfr01"] {
        padding-top: 128px !important;
    }

    .elementor-top-section[data-id="teambfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        text-align: center;
        justify-items: center;
    }
}

/* ==========================================================================
   Birthday page
   ========================================================================== */

.elementor-top-section[data-id="bdayfr01"] {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(17, 18, 26, 0.78), rgba(82, 28, 38, 0.54)) !important;
    height: 600px;
    min-height: 600px;
    max-height: 600px;
    padding: 0 !important;
}

body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr01"],
body.ne-page-anniversary .elementor-top-section[data-id="bdayfr01"] {
    background:
        linear-gradient(135deg, rgba(17, 18, 26, 0.78), rgba(82, 28, 38, 0.54)),
        url("./images/happy-birthday-1688783.jpg") center/cover no-repeat !important;
}

body.ne-page-team-building .elementor-top-section[data-id="bdayfr01"],
body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr01"] {
    background:
        linear-gradient(135deg, rgba(11, 24, 34, 0.78), rgba(19, 71, 82, 0.48)),
        url("./images/business-3370832_1920.jpg") center/cover no-repeat !important;
}

body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr01"],
body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr01"] {
    background:
        linear-gradient(135deg, rgba(28, 17, 24, 0.78), rgba(106, 44, 76, 0.46)),
        url("./images/married-1937005_1920.jpg") center/cover no-repeat !important;
}

.elementor-top-section[data-id="bdayfr01"] > .elementor-container {
    height: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 86px clamp(24px, 5vw, 56px) 42px !important;
}

.elementor-top-section[data-id="bdayfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 620px) !important;
    justify-content: start !important;
    justify-items: start !important;
    align-content: center !important;
    align-items: start !important;
    gap: 14px !important;
    min-height: 100%;
    max-width: 760px;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-eyebrow .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor p,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-text-editor,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-text-editor p {
    color: #fff !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(28px, 2.9vw, 40px);
    line-height: 1.12;
    text-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
    text-wrap: balance;
}

body.ne-page-team-building .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
    max-width: 18ch;
}

body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
    max-width: 17ch;
}

body.ne-page-anniversary .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
    max-width: 15ch;
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 0 18px !important;
    justify-self: start !important;
    align-self: start !important;
    grid-column: 1 !important;
    grid-row: 3 !important;
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container {
    width: 100% !important;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] .ne-birthday-page__hero-copy,
.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] .ne-birthday-page__hero-note,
.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] .ne-birthday-page__hero-cta {
    width: 100% !important;
    max-width: none !important;
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    gap: 0 !important;
    padding: 14px 20px 16px !important;
    border-radius: 24px !important;
    background: rgba(15, 24, 31, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32) !important;
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] .elementor-widget {
    margin-bottom: 0 !important;
}

.elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy > .elementor-widget-container,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note > .elementor-widget-container,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta > .elementor-widget-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy {
    margin-top: 2px !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-widget-container,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-widget-container {
    margin: 0 !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor,
.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-text-editor {
    margin: 0 !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor p {
    max-width: none;
    margin: 0;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.96) !important;
    opacity: 1;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor p + p {
    margin-top: 4px;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-text-editor p {
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.82) !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta .elementor-button-wrapper {
    display: flex !important;
    justify-content: flex-start !important;
}

.elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta .elementor-button {
    margin-top: 8px !important;
}

.elementor-top-section[data-id="bdayfr02"] {
    background: var(--ne-bg-1) !important;
    padding: 44px 0 84px !important;
    margin-top: 0;
    z-index: 2;
}

.elementor-top-section[data-id="bdayfr02"] > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    width: 100% !important;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 56px) !important;
}

.elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 10px;
    align-content: start;
    min-height: 100%;
    padding: 28px 24px !important;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 50px rgba(18, 22, 29, 0.08);
}

.ne-birthday-page__proof-value .elementor-heading-title {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
    color: var(--ne-accent);
}

.ne-birthday-page__proof-label .elementor-heading-title {
    color: var(--ne-heading-text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ne-birthday-page__proof-text .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    line-height: 1.7;
}

.elementor-top-section[data-id="bdayfr03"] {
    background: var(--ne-bg-2) !important;
    padding: 88px 0 !important;
}

.elementor-top-section[data-id="bdayfr03"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
    gap: 54px;
    align-items: center;
    width: 100% !important;
    max-width: 1260px !important;
    margin: 0 auto !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="bdayfr03"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="bdayfr03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
}

.ne-birthday-page__story-eyebrow .elementor-heading-title,
.ne-birthday-page__packages-eyebrow .elementor-heading-title,
.ne-birthday-page__quote-eyebrow .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    color: var(--ne-heading-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ne-birthday-page__story-title .elementor-heading-title,
.ne-birthday-page__packages-title .elementor-heading-title,
.ne-birthday-page__quote-title .elementor-heading-title {
    font-size: clamp(34px, 4.6vw, 56px);
    line-height: 1.04;
    color: var(--ne-heading-text);
}

.ne-birthday-page__story-copy .elementor-text-editor p,
.ne-birthday-page__packages-copy .elementor-text-editor p,
.ne-birthday-page__quote-copy .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 17px;
    line-height: 1.8;
}

.ne-birthday-page__story-list .elementor-text-editor ul,
.ne-birthday-page__package-list .elementor-text-editor ul,
.ne-birthday-page__quote-copy .elementor-text-editor ul {
    margin: 0;
    padding-left: 20px;
    color: var(--ne-body-text);
    line-height: 1.8;
}

.ne-birthday-page__story-image img {
    display: block;
    width: 100%;
    border-radius: 32px;
    box-shadow: 0 26px 70px rgba(17, 22, 28, 0.16);
}

.elementor-top-section[data-id="bdayf401"] {
    background: var(--ne-bg-2) !important;
    padding: 88px 0 18px !important;
}

.elementor-top-section[data-id="bdayf401"] > .elementor-container,
.elementor-top-section[data-id="bdayfr04"] > .elementor-container,
.elementor-top-section[data-id="bdayfr05"] > .elementor-container,
.elementor-top-section[data-id="bdayfr06"] > .elementor-container {
    width: 100% !important;
    margin: 0 auto !important;
}

.elementor-top-section[data-id="bdayf401"] > .elementor-container {
    max-width: 1120px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="bdayf401"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
}

.elementor-top-section[data-id="bdayfr04"] {
    background: var(--ne-bg-2) !important;
    padding: 20px 0 96px !important;
}

.elementor-top-section[data-id="bdayfr04"] > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    max-width: 1260px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="bdayfr04"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="bdayfr04"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    min-height: 100%;
    padding: 30px 26px !important;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 54px rgba(18, 22, 29, 0.09);
}

.elementor-top-section[data-id="bdayfr04"] .ne-birthday-page__package-card.is-featured > .elementor-widget-wrap {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 244, 237, 0.96));
    box-shadow: 0 22px 60px rgba(255, 107, 53, 0.16);
    transform: translateY(-6px);
}

.ne-birthday-page__package-tag .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 107, 53, 0.12);
    color: #b14d23;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ne-birthday-page__package-title .elementor-heading-title {
    font-size: clamp(24px, 2.4vw, 32px);
    line-height: 1.15;
    color: var(--ne-heading-text);
}

.ne-birthday-page__package-copy .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    line-height: 1.75;
}

.ne-birthday-page__package-cta {
    margin-top: auto;
}

.elementor-top-section[data-id="bdayfr05"] {
    background: var(--ne-bg-1) !important;
    min-height: 100vh !important;
    padding: 24px 0 !important;
}

.elementor-top-section[data-id="bdayfr05"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(280px, 0.9fr) minmax(760px, 2.1fr);
    gap: 32px;
    align-items: stretch;
    min-height: calc(100vh - 48px) !important;
    max-height: calc(100vh - 48px) !important;
    width: calc(100vw - 200px) !important;
    max-width: 1848px !important;
    padding: 0 6px !important;
}

.elementor-top-section[data-id="bdayfr05"] > .elementor-container > .elementor-column {
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy-col > .elementor-widget-wrap {
    display: grid;
    gap: 12px;
    align-content: center;
    justify-items: start;
    min-height: 100%;
    padding: 24px 8px 24px 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form-col > .elementor-widget-wrap {
    display: grid;
    gap: 0;
    align-content: center;
    justify-items: stretch;
    min-height: 100%;
    padding: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form {
    margin: 0 !important;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy .elementor-text-editor ul {
    margin-top: 8px;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-glass-card {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title {
    margin-bottom: 4px;
    font-size: clamp(32px, 3.4vw, 52px);
    max-width: 11ch;
    line-height: 1.08;
}

body.ne-page-team-building .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title,
body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title {
    max-width: 12.5ch;
}

body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title,
body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title {
    max-width: 13ch;
}

body.ne-page-anniversary .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title {
    max-width: 13ch;
}

.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-eyebrow,
.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title,
.elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy {
    width: min(100%, 460px);
}

.elementor-top-section[data-id="bdayfr06"] {
    background: var(--ne-bg-2) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="bdayfr06"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
    gap: 54px;
    align-items: start;
    max-width: 1260px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="bdayfr06"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="bdayfr06"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
}

.elementor-top-section[data-id="bdayfr06"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="bdayfr06"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="bdayfr06"] .ne-arc-contact__info,
.elementor-top-section[data-id="bdayfr06"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="bdayfr06"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

@media (max-width: 1024px) {
    .elementor-top-section[data-id="bdayfr02"] > .elementor-container,
    .elementor-top-section[data-id="bdayfr04"] > .elementor-container {
        grid-template-columns: 1fr;
    }

    .elementor-top-section[data-id="bdayfr03"] > .elementor-container,
    .elementor-top-section[data-id="bdayfr05"] > .elementor-container,
    .elementor-top-section[data-id="bdayfr06"] > .elementor-container {
        grid-template-columns: 1fr;
        gap: 34px;
    }
}

@media (max-width: 720px) {
    .elementor-top-section[data-id="bdayfr01"] {
        height: auto;
        min-height: 520px;
        max-height: none;
    }

    .elementor-top-section[data-id="bdayfr01"] > .elementor-container {
        padding-top: 112px !important;
        padding-bottom: 40px !important;
    }

    .elementor-top-section[data-id="bdayfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="bdayf401"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        align-items: center;
        text-align: center;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
        max-width: 13ch;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note {
        width: 100%;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy-col > .elementor-widget-wrap,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form-col > .elementor-widget-wrap,
    .elementor-top-section[data-id="bdayfr04"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="bdayfr02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding: 24px 20px !important;
        border-radius: 24px;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy > .elementor-widget-container,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta > .elementor-widget-container,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note > .elementor-widget-container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

@media (max-width: 767px) {
    .elementor-top-section[data-id="bdayfr05"] {
        min-height: auto !important;
        padding: 52px 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] > .elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        max-height: none !important;
        gap: 24px !important;
        padding: 0 16px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] > .elementor-container > .elementor-column {
        width: 100% !important;
        min-width: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy-col > .elementor-widget-wrap,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form-col > .elementor-widget-wrap {
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-eyebrow,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy {
        width: 100% !important;
        max-width: none !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-title .elementor-heading-title {
        max-width: none !important;
        font-size: clamp(28px, 8vw, 36px) !important;
        line-height: 1.06 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy .elementor-text-editor p,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy .elementor-text-editor li {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-copy .elementor-text-editor ul {
        margin: 10px 0 0 !important;
        padding-left: 18px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-glass-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 20px 16px !important;
        border-radius: 20px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-glass-card h2 {
        margin-bottom: 20px !important;
        font-size: 1.45rem !important;
        line-height: 1.08 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group {
        gap: 6px !important;
        margin-bottom: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group label {
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group input:not([type="radio"]):not([type="checkbox"]),
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group select,
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group textarea {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group input:not([type="radio"]):not([type="checkbox"]),
    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group select {
        min-height: 48px !important;
        height: 48px !important;
        padding: 12px 14px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-group textarea {
        min-height: 108px !important;
        padding: 12px 14px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-yesno-group {
        min-height: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-question-label {
        min-height: 0 !important;
        margin-bottom: 8px !important;
        align-items: flex-start !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-toggle-options {
        gap: 8px !important;
        flex-wrap: wrap !important;
        padding-bottom: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-toggle-option {
        flex: 1 1 calc(50% - 4px) !important;
        min-width: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-toggle-option span {
        min-height: 46px !important;
        padding: 10px 12px !important;
        font-size: 15px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-time-slots {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .time-slot {
        padding: 10px 6px !important;
        font-size: 13px !important;
    }

    .elementor-top-section[data-id="bdayfr05"] .ne-birthday-page__quote-form .glorious-btn {
        width: 100% !important;
        padding: 14px 18px !important;
        font-size: 14px !important;
    }
}

/* ==========================================================================
   Jobs page
   ========================================================================== */

.elementor-top-section[data-id="jobs01"] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
    background: var(--ne-section-a) !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="jobs01"]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-decor-hero-image) center center / 100% 100% no-repeat;
    z-index: 0;
}

.elementor-top-section[data-id="jobs01"] > .elementor-container,
.elementor-top-section[data-id="jobs02"] > .elementor-container,
.elementor-top-section[data-id="jobs03"] > .elementor-container,
.elementor-top-section[data-id="jobs04"] > .elementor-container,
.elementor-top-section[data-id="jobs05"] > .elementor-container {
    width: 100% !important;
    margin: 0 auto !important;
}

.elementor-top-section[data-id="jobs01"] > .elementor-container {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
    max-width: 1220px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="jobs01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 18px;
    max-width: min(820px, 100%);
    margin: 0 auto;
    padding: clamp(30px, 3.5vw, 42px);
    justify-items: center;
    text-align: center;
    border-radius: 30px;
    border: 1px solid rgba(26, 99, 120, 0.08);
    background: rgba(248, 245, 241, 0.92);
    box-shadow: 0 22px 52px rgba(17, 22, 28, 0.14);
    backdrop-filter: none;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-eyebrow .elementor-heading-title,
.elementor-top-section[data-id="jobs02"] .ne-jobs-page__section-eyebrow .elementor-heading-title,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-eyebrow .elementor-heading-title {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(58, 216, 143, 0.12);
    color: var(--ne-heading-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-title .elementor-heading-title {
    max-width: 10ch;
    font-size: clamp(42px, 6vw, 78px);
    line-height: 0.98;
    letter-spacing: -0.03em;
    color: var(--ne-heading-text);
    text-wrap: balance;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-sub .elementor-text-editor p {
    max-width: 760px;
    margin: 0;
    color: var(--ne-body-text);
    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1.75;
}

.elementor-top-section[data-id="jobs02"] {
    background: var(--ne-bg-2) !important;
    padding: 34px 0 8px !important;
}

.elementor-top-section[data-id="jobs02"] > .elementor-container {
    max-width: 980px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="jobs02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs02"] .ne-jobs-page__section-title .elementor-heading-title,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-title .elementor-heading-title {
    font-size: clamp(36px, 4.6vw, 58px);
    line-height: 1.04;
    color: var(--ne-heading-text);
}

.elementor-top-section[data-id="jobs02"] .ne-jobs-page__section-sub .elementor-text-editor p {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 17px;
    line-height: 1.75;
}

.elementor-top-section[data-id="jobs03"] {
    background: var(--ne-bg-2) !important;
    padding: 8px 0 96px !important;
}

.elementor-top-section[data-id="jobs03"] > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
    max-width: 1260px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column {
    width: auto !important;
    min-width: 0 !important;
}

.elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 100%;
    padding: 30px 30px 26px !important;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(237, 247, 251, 0.98), rgba(248, 252, 255, 0.98));
    border: 1px solid rgba(26, 99, 120, 0.10);
    box-shadow:
        0 20px 48px rgba(17, 22, 28, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    isolation: isolate;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: clamp(136px, 16vw, 156px);
    background:
        radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.18), transparent 24%),
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.18), transparent 38%),
        linear-gradient(135deg, #798286 0%, #a4abae 50%, #90989d 100%);
    z-index: 0;
}

.elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget {
    position: relative;
    z-index: 1;
}

.elementor-top-section[data-id="jobs01"] .elementor-widget:not(:last-child),
.elementor-top-section[data-id="jobs02"] .elementor-widget:not(:last-child),
.elementor-top-section[data-id="jobs03"] .elementor-widget:not(:last-child),
.elementor-top-section[data-id="jobs04"] .elementor-widget:not(:last-child),
.elementor-top-section[data-id="jobs05"] .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__badge {
    align-self: flex-start;
    background: transparent !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__badge > .elementor-widget-container {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__badge .elementor-heading-title {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    background: #34d994;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    box-shadow:
        0 10px 22px rgba(8, 18, 24, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__badge .elementor-heading-title,
.elementor-top-section[data-id="jobs03"] .ne-job-card__badge .elementor-heading-title * {
    color: #ffffff !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__badge--cdi .elementor-heading-title {
    background: #10cbf2;
    color: #ffffff !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__title {
    margin-bottom: 24px !important;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__title .elementor-heading-title {
    margin: 0;
    font-size: clamp(30px, 2.8vw, 42px);
    line-height: 1.04;
    letter-spacing: -0.03em;
    color: #37df93;
    text-shadow: 0 1px 0 rgba(11, 18, 22, 0.18);
}

.elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget:nth-child(3) {
    margin: 0 -30px 0 !important;
    padding: 34px 30px 0 !important;
    border-top: 2px solid rgba(58, 216, 143, 0.92);
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__label .elementor-heading-title {
    color: #0f6180;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor li {
    position: relative;
    padding: 11px 0 11px 32px;
    border-bottom: 1px solid rgba(26, 99, 120, 0.13);
    color: var(--ne-body-text);
    font-size: 15px;
    line-height: 1.62;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor li:last-child {
    border-bottom: 0;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__list .elementor-text-editor li::before {
    content: "✓";
    display: grid;
    place-items: center;
    position: absolute;
    left: 0;
    top: 12px;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    background: linear-gradient(180deg, #7be8b1, #3fd88f);
    box-shadow:
        0 8px 16px rgba(58, 216, 143, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__note {
    margin-top: auto !important;
    padding-top: 10px;
}

.elementor-top-section[data-id="jobs03"] .ne-job-card__note .elementor-text-editor p {
    margin: 0;
    color: rgba(26, 99, 120, 0.72);
    font-size: 14px;
    line-height: 1.6;
    font-style: italic;
}

.elementor-top-section[data-id="jobs04"] {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 241, 236, 0.94)) !important;
    padding: 96px 0 !important;
}

.elementor-top-section[data-id="jobs04"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(280px, 0.95fr) minmax(520px, 1.35fr);
    gap: 42px;
    align-items: center;
    width: min(calc(100vw - 200px), 1700px) !important;
    max-width: 1700px !important;
    padding: 0 8px !important;
}

.elementor-top-section[data-id="jobs04"] > .elementor-container > .elementor-column {
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy-col > .elementor-widget-wrap {
    display: grid;
    gap: 14px;
    align-content: center;
    justify-items: start;
    min-height: 100%;
    padding: 18px 0 !important;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-form-col > .elementor-widget-wrap {
    display: grid;
    gap: 0;
    align-content: center;
    justify-items: stretch;
    min-height: 100%;
    padding: 0 !important;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-eyebrow,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-title,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy {
    width: min(100%, 470px);
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy .elementor-text-editor p,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy .elementor-text-editor ul {
    margin: 0;
    color: var(--ne-body-text);
    font-size: 17px;
    line-height: 1.78;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy .elementor-text-editor ul {
    margin-top: 10px;
    padding-left: 20px;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-form,
.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-form > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-form .glorious-glass-card {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

.elementor-top-section[data-id="jobs05"] {
    background: var(--ne-bg-1) !important;
    padding: 84px 0 !important;
}

.elementor-top-section[data-id="jobs05"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
    gap: 54px;
    align-items: start;
    max-width: 1260px !important;
    padding: 0 clamp(28px, 5vw, 72px) !important;
}

.elementor-top-section[data-id="jobs05"] > .elementor-container > .elementor-column {
    width: auto !important;
}

.elementor-top-section[data-id="jobs05"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid;
    gap: 16px;
    align-content: start;
    --widgets-spacing: 0px !important;
}

.elementor-top-section[data-id="jobs05"] .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(40px, 4.4vw, 56px);
    line-height: 1.05;
}

.elementor-top-section[data-id="jobs05"] .ne-arc-contact__sub .elementor-text-editor p,
.elementor-top-section[data-id="jobs05"] .ne-arc-contact__info,
.elementor-top-section[data-id="jobs05"] .ne-arc-contact__info li {
    font-size: 18px;
    line-height: 1.7;
}

.elementor-top-section[data-id="jobs05"] .ne-arc-contact__map iframe {
    width: 100% !important;
    min-height: 390px;
}

@media (max-width: 1024px) {
    .elementor-top-section[data-id="jobs03"] > .elementor-container,
    .elementor-top-section[data-id="jobs04"] > .elementor-container,
    .elementor-top-section[data-id="jobs05"] > .elementor-container {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .elementor-top-section[data-id="jobs04"] > .elementor-container {
        width: min(calc(100vw - 96px), 1200px) !important;
    }
}

@media (max-width: 720px) {
    .elementor-top-section[data-id="jobs01"] {
        height: 600px !important;
        min-height: 600px !important;
        max-height: 600px !important;
        padding: 0 !important;
    }

    .elementor-top-section[data-id="jobs01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding: 28px 22px;
        border-radius: 26px;
    }

    .elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        gap: 12px;
        padding: 24px 20px 22px !important;
        border-radius: 24px;
    }

    .elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap::before {
        height: 126px;
    }

    .elementor-top-section[data-id="jobs03"] .ne-job-card__title {
        margin-bottom: 16px !important;
    }

    .elementor-top-section[data-id="jobs03"] .ne-job-card__title .elementor-heading-title {
        max-width: none;
    }

    .elementor-top-section[data-id="jobs03"] > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget:nth-child(3) {
        margin: 0 -20px 0 !important;
        padding: 20px 20px 0 !important;
    }

    .elementor-top-section[data-id="contacfr01"],
    .elementor-top-section[data-id="contacen01"],
    .elementor-top-section[data-id="faqfr01"],
    .elementor-top-section[data-id="faqen01"],
    .elementor-top-section[data-id="bookfr01"],
    .elementor-top-section[data-id="booken01"] {
        height: 600px;
        min-height: 600px;
        max-height: 600px;
        padding: 0;
    }

    .elementor-top-section[data-id="contacfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="contacen01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="faqfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="faqen01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="bookfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="booken01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding: 28px 22px;
        border-radius: 24px;
    }

    .elementor-top-section[data-id="jobs04"] {
        padding: 72px 0 !important;
    }

    .elementor-top-section[data-id="jobs04"] > .elementor-container {
        width: calc(100vw - 40px) !important;
        padding: 0 !important;
    }

    .elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-title .elementor-heading-title,
    .elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-title .elementor-heading-title {
        max-width: 12ch;
    }

    .elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-eyebrow,
    .elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-title,
    .elementor-top-section[data-id="jobs04"] .ne-jobs-page__apply-copy {
        width: 100%;
    }
}

/* ==========================================================================
   Pricing repair lock - home + pricing page
   ========================================================================== */

.elementor-top-section[data-id="21268341"] > .elementor-container,
.elementor-top-section[data-id="enhpsect07b"] > .elementor-container,
.elementor-top-section[data-id="pricfr01"] > .elementor-container,
.elementor-top-section[data-id="pricen01"] > .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.elementor-top-section[data-id="21268341"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect07b"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricfr01"] > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricen01"] > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.elementor-top-section[data-id="21268341"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect07b"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    gap: clamp(22px, 3vw, 30px) !important;
    justify-items: center !important;
    align-content: start !important;
    text-align: center !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__title),
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__title),
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__title),
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__title) {
    width: 100% !important;
    max-width: 920px !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container,
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container,
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container,
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container {
    display: grid !important;
    gap: 16px !important;
    justify-content: center !important;
    width: 100% !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    gap: 14px !important;
    justify-items: center !important;
    text-align: center !important;
    padding: 0 !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__label),
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__label),
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__label),
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__label) {
    width: 100% !important;
    max-width: 1160px !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
}

.elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column,
.elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note {
    width: 100% !important;
    max-width: 860px !important;
    margin: 10px auto 0 !important;
    justify-self: center !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note > .elementor-widget-container,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note > .elementor-widget-container,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note > .elementor-widget-container,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note > .elementor-widget-container {
    width: auto !important;
    max-width: min(100%, 860px) !important;
    margin: 0 !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note .elementor-text-editor,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note .elementor-text-editor,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note .elementor-text-editor,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note .elementor-text-editor {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px 18px !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 20px 26px !important;
    border-radius: 22px !important;
    background: rgba(255, 252, 248, 0.96) !important;
    border: 1px solid rgba(26, 99, 120, 0.14) !important;
    box-shadow: 0 14px 30px rgba(18, 16, 15, 0.08) !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note .elementor-text-editor p,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note .elementor-text-editor p,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note .elementor-text-editor p,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note .elementor-text-editor p {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px 18px !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note strong,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note strong,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note strong,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note strong {
    flex: 0 1 auto !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note a,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note a,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note a,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note a {
    min-height: 48px !important;
    padding: 12px 22px !important;
}

.elementor-top-section[data-id="21268341"] .ne-home-pricing__note > p,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note > p,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note > p,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note > p {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px 18px !important;
    margin: 0 !important;
    padding: 20px 26px !important;
    border-radius: 22px !important;
    background: rgba(255, 252, 248, 0.98) !important;
    border: 1px solid rgba(26, 99, 120, 0.14) !important;
    box-shadow: 0 14px 30px rgba(18, 16, 15, 0.08) !important;
}

.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__payments,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__payments {
    display: none !important;
}

.elementor-top-section[data-id="pricfr01"] .elementor-inner-section[data-id="34a4c3e9"],
.elementor-top-section[data-id="pricen01"] .elementor-inner-section[data-id="34a4c3e9"] {
    display: none !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__item {
    order: 1 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__icon {
    display: block !important;
    order: 2 !important;
    margin-top: 2px !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__item {
    order: 1 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__image,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__image {
    order: 2 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__icon {
    display: none !important;
}

.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item strong,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item strong,
.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__item .elementor-text-editor p,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__item .elementor-text-editor p {
    text-align: center !important;
}

.elementor-top-section[data-id="pricfr02"] .ne-pricing-payments__icon .elementor-heading-title,
.elementor-top-section[data-id="pricen02"] .ne-pricing-payments__icon .elementor-heading-title {
    font-size: 36px !important;
}

@media (max-width: 900px) {
    .elementor-top-section[data-id="21268341"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
    .elementor-top-section[data-id="enhpsect07b"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
    .elementor-top-section[data-id="pricfr01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container,
    .elementor-top-section[data-id="pricen01"] .elementor-inner-section:has(.ne-home-pricing__label) > .elementor-container {
        grid-template-columns: 1fr !important;
    }

    .elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container,
    .elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container {
        gap: 18px !important;
    }
}

/* ==========================================================================
   Hero panels aligned with event pages
   ========================================================================== */

body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__inner,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 620px);
    max-width: min(100%, 620px);
    margin: 0 auto;
    padding: clamp(22px, 2.8vw, 30px);
    border-radius: 24px;
    background: rgba(15, 24, 31, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    transform: translateY(75px);
}

body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__inner,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__inner {
    display: grid;
    gap: 16px;
    justify-items: center;
}

body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    justify-items: center;
}

body.ne-page-espace-client .ne-page-shell__title .elementor-heading-title,
body.ne-page-client-area .ne-page-shell__title .elementor-heading-title,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__title .elementor-heading-title,
body.ne-page-check-my-voucher .ne-page-shell__title .elementor-heading-title,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__title,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__title {
    margin: 0 !important;
    color: #fff !important;
    text-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
}

body.ne-page-espace-client .ne-page-shell__title .elementor-heading-title,
body.ne-page-client-area .ne-page-shell__title .elementor-heading-title,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__title .elementor-heading-title,
body.ne-page-check-my-voucher .ne-page-shell__title .elementor-heading-title,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title {
    font-size: clamp(30px, 3.6vw, 48px);
    line-height: 1.08;
    text-wrap: balance;
}

body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__title,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__title {
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.08;
}

body.ne-page-espace-client .ne-page-shell__sub,
body.ne-page-espace-client .ne-page-shell__sub *,
body.ne-page-client-area .ne-page-shell__sub,
body.ne-page-client-area .ne-page-shell__sub *,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub *,
body.ne-page-check-my-voucher .ne-page-shell__sub,
body.ne-page-check-my-voucher .ne-page-shell__sub *,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub *,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__sub,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__sub *,
body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__sub,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.55;
}

body.ne-page-espace-client .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-client-area .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-check-my-voucher .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__sub,
body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__sub {
    max-width: 38ch;
    margin-inline: auto;
}

body.ne-page-espace-client .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-client-area .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-check-my-voucher .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-bons-cadeaux .nt-sect--hero .nt-eyebrow,
body.ne-page-gift-vouchers .nt-sect--hero .nt-eyebrow {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
}

body.ne-page-bons-cadeaux .nt-sect--hero .ne-btn,
body.ne-page-gift-vouchers .nt-sect--hero .ne-btn {
    margin-top: 6px !important;
}

@media (max-width: 767px) {
    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__inner,
    body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__inner {
        width: 100%;
        max-width: 100%;
        padding: 20px 18px;
        border-radius: 22px;
    }

    body.ne-page-espace-client .ne-page-shell__title .elementor-heading-title,
    body.ne-page-client-area .ne-page-shell__title .elementor-heading-title,
    body.ne-page-verifier-mon-bon-recu .ne-page-shell__title .elementor-heading-title,
    body.ne-page-check-my-voucher .ne-page-shell__title .elementor-heading-title,
    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title,
    body.ne-page-bons-cadeaux .nt-sect--hero .nt-sect__title,
    body.ne-page-gift-vouchers .nt-sect--hero .nt-sect__title {
        font-size: clamp(28px, 8vw, 38px);
    }
}

/* ==========================================================================
   Homepage title case corrections
   ========================================================================== */

body.home .ng-slide-content h2,
body.page-id-795 .ng-slide-content h2,
body.home #enigmes-showcase .ns-feature__title,
body.home #enigmes-showcase .ns-thumb__title,
body.home #enigmes-showcase .ns-card__title,
body.page-id-795 #enigmes-showcase .ns-feature__title,
body.page-id-795 #enigmes-showcase .ns-thumb__title,
body.page-id-795 #enigmes-showcase .ns-card__title {
    text-transform: none !important;
}

/* ==========================================================================
   Pricing / ANCV cleanup
   ========================================================================== */

.ne-home-pricing__note strong::before,
.elementor-top-section[data-id="21268341"] .ne-home-pricing__note strong::before,
.elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__note strong::before,
.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__note strong::before,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__note strong::before {
    display: none !important;
    content: none !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon .elementor-widget-container,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__icon .elementor-widget-container {
    display: none !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image img,
.elementor-top-section[data-id="pricen02"] .elementor-column:has(.ne-pricing-payments__image) .ne-pricing-payments__image img {
    width: auto !important;
    max-width: min(170px, 100%) !important;
    max-height: 60px !important;
    object-fit: contain !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__icon,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__icon {
    display: block !important;
    order: 1 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:not(:has(.ne-pricing-payments__image)) > .elementor-widget-wrap > .ne-pricing-payments__item {
    order: 2 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__image,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__image {
    order: 1 !important;
}

.elementor-top-section[data-id="pricfr02"] .elementor-inner-section[data-id="31a64d6a"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__item,
.elementor-top-section[data-id="pricen02"] .elementor-inner-section[data-id="1e1fc602"] > .elementor-container > .elementor-column:has(.ne-pricing-payments__image) > .elementor-widget-wrap > .ne-pricing-payments__item {
    order: 2 !important;
}

/* ==========================================================================
   Booking module cleanup
   ========================================================================== */

section.elementor-top-section:has(.ne-book-page__module) .ne-book-page__module > .elementor-widget-container,
section.elementor-top-section:has(.ne-home-booking__embed) .ne-home-booking__embed > .elementor-widget-container {
    border: 0 !important;
}

section.elementor-top-section:has(.ne-book-page__module) .ne-home-booking__alt,
section.elementor-top-section:has(.ne-book-page__module) .ne-home-booking__alt .elementor-widget-container,
section.elementor-top-section:has(.ne-home-booking__embed) .ne-home-booking__alt,
section.elementor-top-section:has(.ne-home-booking__embed) .ne-home-booking__alt .elementor-widget-container {
    display: none !important;
}

/* ==========================================================================
   Pricing page hero cleanup
   ========================================================================== */

.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__title,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__title {
    display: none !important;
}

.elementor-top-section[data-id="pricfr01"] .ne-home-pricing__intro,
.elementor-top-section[data-id="pricen01"] .ne-home-pricing__intro {
    margin-top: 20px !important;
}

/* ==========================================================================
   April 12 targeted visual fixes
   ========================================================================== */

body.home .elementor-top-section[data-id="hpsect03"] .ne-home-usp__title .elementor-heading-title,
body.page-id-795 .elementor-top-section[data-id="hpsect03"] .ne-home-usp__title .elementor-heading-title,
body.home .elementor-top-section[data-id="enhpsect03"] .ne-home-usp__title .elementor-heading-title,
body.page-id-795 .elementor-top-section[data-id="enhpsect03"] .ne-home-usp__title .elementor-heading-title,
body.home .elementor-top-section[data-id="hpsect05"] .ne-home-testimonials__title .elementor-heading-title,
body.page-id-795 .elementor-top-section[data-id="hpsect05"] .ne-home-testimonials__title .elementor-heading-title,
body.home .elementor-top-section[data-id="enhpsect05"] .ne-home-testimonials__title .elementor-heading-title,
body.page-id-795 .elementor-top-section[data-id="enhpsect05"] .ne-home-testimonials__title .elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.15 !important;
}

.ne-arc-contact__title,
.ne-arc-contact__title .elementor-heading-title,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__title,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__title .elementor-heading-title {
    font-size: clamp(26px, 4vw, 36px) !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    color: var(--ne-heading-text) !important;
    line-height: 1.2 !important;
}

.ne-arc-contact__sub,
.ne-arc-contact__sub p,
.ne-arc-contact__info,
.ne-arc-contact__info li,
.ne-arc-contact__info a,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__sub,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__sub p,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__info,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__info li,
.elementor-top-section:has(.ne-arc-contact__cta) .ne-arc-contact__info a {
    color: var(--ne-body-text) !important;
}

body.home .elementor-top-section[data-id="21268341"] .ne-home-pricing__title,
body.page-id-795 .elementor-top-section[data-id="21268341"] .ne-home-pricing__title,
body.home .elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__title,
body.page-id-795 .elementor-top-section[data-id="enhpsect07b"] .ne-home-pricing__title {
    margin-top: 20px !important;
}

.elementor-top-section[data-id="pricfr01"] .elementor-element.elementor-element-be58b3e6 .elementor-heading-title,
.elementor-top-section[data-id="pricen01"] .elementor-element.elementor-element-d1bdf9d3 .elementor-heading-title {
    font-size: 0 !important;
    line-height: 0 !important;
}

.elementor-top-section[data-id="pricfr01"] .elementor-element.elementor-element-be58b3e6 .elementor-widget-container,
.elementor-top-section[data-id="pricen01"] .elementor-element.elementor-element-d1bdf9d3 .elementor-widget-container {
    display: grid;
    place-items: center;
}

.elementor-top-section[data-id="pricfr01"] .elementor-element.elementor-element-be58b3e6 .elementor-widget-container::before,
.elementor-top-section[data-id="pricen01"] .elementor-element.elementor-element-d1bdf9d3 .elementor-widget-container::before {
    content: "";
    display: block;
    width: min(170px, 100%);
    height: 52px;
    background: var(--ne-ancv-cheque-image) center center / contain no-repeat;
}

.elementor-element.elementor-element-8b45c8ae.ne-pricing-payments__icon,
.elementor-element.elementor-element-9564b6ee.ne-pricing-payments__icon {
    display: none !important;
}

body.home .ne-event-story__eyebrow,
body.page-id-795 .ne-event-story__eyebrow,
body.home .ne-event-story__eyebrow .elementor-heading-title,
body.page-id-795 .ne-event-story__eyebrow .elementor-heading-title {
    background: rgba(58, 216, 143, 0.9) !important;
    color: #ffffff !important;
    border-color: rgba(58, 216, 143, 0.96) !important;
}

section.elementor-top-section:has(.ne-home-booking__embed) .ne-home-booking__embed {
    border: 0 !important;
    border-radius: 0 !important;
}

.ne-event-story__eyebrow,
.ne-venue-story__eyebrow {
    background: rgba(58, 216, 143, 0.22);
    border-color: rgba(58, 216, 143, 0.38);
    color: #ffffff;
}

html[data-theme="dark"] .ne-event-story__eyebrow,
html[data-theme="dark"] .ne-venue-story__eyebrow {
    background: rgba(58, 216, 143, 0.24);
    border-color: rgba(58, 216, 143, 0.42);
    color: #ffffff;
}

body.ne-page-nos-enigmes .ne-arc-contact__title,
body.ne-page-escape-rooms .ne-arc-contact__title,
body.ne-page-our-riddles .ne-arc-contact__title {
    color: var(--ne-heading-text) !important;
}

body.ne-page-nos-enigmes .ne-arc-contact__cta,
body.ne-page-nos-enigmes .ne-arc-contact__cta .elementor-button,
body.ne-page-escape-rooms .ne-arc-contact__cta,
body.ne-page-escape-rooms .ne-arc-contact__cta .elementor-button,
body.ne-page-our-riddles .ne-arc-contact__cta,
body.ne-page-our-riddles .ne-arc-contact__cta .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    min-width: 0 !important;
    padding: 15px 35px !important;
    border-radius: 16px !important;
    background: #3ad88f !important;
    color: #1a6378 !important;
    font-size: 14px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.4) !important;
    transition: all 0.3s ease !important;
}

body.ne-page-nos-enigmes .ne-arc-contact__cta:hover,
body.ne-page-nos-enigmes .ne-arc-contact__cta .elementor-button:hover,
body.ne-page-escape-rooms .ne-arc-contact__cta:hover,
body.ne-page-escape-rooms .ne-arc-contact__cta .elementor-button:hover,
body.ne-page-our-riddles .ne-arc-contact__cta:hover,
body.ne-page-our-riddles .ne-arc-contact__cta .elementor-button:hover {
    background: #00bc9b !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 22px rgba(58, 216, 143, 0.5) !important;
}

body.ne-page-nos-enigmes .ne-arc-contact__cta .elementor-button-content-wrapper,
body.ne-page-escape-rooms .ne-arc-contact__cta .elementor-button-content-wrapper,
body.ne-page-our-riddles .ne-arc-contact__cta .elementor-button-content-wrapper,
body.ne-page-nos-enigmes .ne-arc-contact__cta .elementor-button-text,
body.ne-page-escape-rooms .ne-arc-contact__cta .elementor-button-text,
body.ne-page-our-riddles .ne-arc-contact__cta .elementor-button-text {
    background: transparent !important;
    color: inherit !important;
}

html[data-theme="dark"] body.ne-page-nos-enigmes .ne-arc-contact,
html[data-theme="dark"] body.ne-page-escape-rooms .ne-arc-contact,
html[data-theme="dark"] body.ne-page-our-riddles .ne-arc-contact {
    background: #57595B !important;
    background-color: #57595B !important;
}

html[data-theme="light"] body.ne-page-nos-enigmes .ne-arc-contact,
html[data-theme="light"] body.ne-page-escape-rooms .ne-arc-contact,
html[data-theme="light"] body.ne-page-our-riddles .ne-arc-contact {
    background: transparent !important;
    background-color: transparent !important;
}

html[data-theme="light"] body.ne-page-nos-enigmes .elementor-top-section[data-id="nearcfr01"],
html[data-theme="light"] body.ne-page-escape-rooms .elementor-top-section:first-of-type {
    background-color: var(--ne-bg-1) !important;
    background-image: none !important;
}

html[data-theme="light"] body.ne-page-nos-enigmes .elementor-top-section[data-id="nearcfr02"],
html[data-theme="light"] body.ne-page-escape-rooms .elementor-top-section:last-of-type {
    background-color: var(--ne-bg-2) !important;
    background-image: none !important;
}

body.ne-page-nos-enigmes a.ne-btn.ne-btn--primary.ne-arc-contact__cta,
body.ne-page-escape-rooms a.ne-btn.ne-btn--primary.ne-arc-contact__cta,
body.ne-page-our-riddles a.ne-btn.ne-btn--primary.ne-arc-contact__cta,
body.ne-page-nos-enigmes a.ne-btn.ne-btn--primary.ne-arc-contact__cta:visited,
body.ne-page-escape-rooms a.ne-btn.ne-btn--primary.ne-arc-contact__cta:visited,
body.ne-page-our-riddles a.ne-btn.ne-btn--primary.ne-arc-contact__cta:visited {
    background: #3ad88f !important;
    background-color: #3ad88f !important;
    color: #1a6378 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(58, 216, 143, 0.4) !important;
}

body.ne-page-nos-enigmes a.ne-btn.ne-btn--primary.ne-arc-contact__cta:hover,
body.ne-page-escape-rooms a.ne-btn.ne-btn--primary.ne-arc-contact__cta:hover,
body.ne-page-our-riddles a.ne-btn.ne-btn--primary.ne-arc-contact__cta:hover,
body.ne-page-nos-enigmes a.ne-btn.ne-btn--primary.ne-arc-contact__cta:focus,
body.ne-page-escape-rooms a.ne-btn.ne-btn--primary.ne-arc-contact__cta:focus,
body.ne-page-our-riddles a.ne-btn.ne-btn--primary.ne-arc-contact__cta:focus {
    background: #00bc9b !important;
    background-color: #00bc9b !important;
    color: #ffffff !important;
    box-shadow: 0 6px 22px rgba(58, 216, 143, 0.5) !important;
}

@media (max-width: 767px) {
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child {
        order: 1 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child {
        order: 2 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
        display: grid !important;
        gap: 18px !important;
        align-content: start !important;
        padding: 0 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap,
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
        width: 100% !important;
        max-width: 100% !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "quote"
            "lead"
            "detail"
            "room" !important;
        gap: 18px !important;
    }

    .ne-venue-story__quote {
        min-height: 0 !important;
        padding: 22px 20px !important;
        align-content: start !important;
    }

    .ne-venue-story__quote .elementor-text-editor,
    .ne-venue-story__quote .elementor-text-editor p {
        width: 100% !important;
    }

    .ne-venue-story__title {
        font-size: clamp(28px, 8vw, 42px) !important;
        line-height: 1.05 !important;
    }

    .ne-venue-story__lead {
        max-width: none !important;
    }

    .ne-venue-story__shot--lead,
    .ne-venue-story__shot--detail,
    .ne-venue-story__shot--room {
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
    }
}

@media (max-width: 992px) {
    .header-inner {
        position: relative;
        justify-content: center;
        padding: 0 18px;
    }

    .theme-toggle-btn {
        position: absolute;
        top: 50%;
        right: 76px;
        transform: translateY(-50%);
        margin-left: 0;
        z-index: 2;
    }

    .neurones-menu-toggle {
        top: 50%;
        right: 18px;
        transform: translateY(-50%);
        z-index: 3;
    }
}

@media (max-width: 900px) {
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child {
        order: 2 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child {
        order: 1 !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap,
    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ne-venue-story__lead,
    .ne-venue-story__facts,
    .ne-venue-story__stats,
    .ne-venue-story__content {
        width: 100% !important;
        max-width: 100% !important;
    }

    section.elementor-inner-section:has(.ne-venue-story__shot--lead) > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
        padding: 0 14px !important;
    }
}

@media (max-width: 900px) {
    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__body,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__body {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
        padding: 104px 20px 40px !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__copy,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__copy,
    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__aside,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__aside {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__title,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__title {
        font-size: clamp(34px, 9vw, 54px) !important;
        line-height: 0.98 !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__sub,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__sub {
        max-width: none !important;
        font-size: 17px !important;
        line-height: 1.6 !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__stats,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-stat,
    .elementor-top-section[data-id="evpgen01"] .nev2-stat {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-stat strong,
    .elementor-top-section[data-id="evpgen01"] .nev2-stat strong {
        font-size: clamp(28px, 8vw, 40px) !important;
    }
}

@media (max-width: 640px) {
    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__body,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__body {
        padding: 96px 16px 32px !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__title,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__title {
        font-size: clamp(28px, 8.6vw, 42px) !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-hero__stats,
    .elementor-top-section[data-id="evpgen01"] .nev2-hero__stats {
        margin-top: 4px !important;
    }

    .elementor-top-section[data-id="evpgfr01"] .nev2-stat span,
    .elementor-top-section[data-id="evpgen01"] .nev2-stat span {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
}

body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title),
body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title),
body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title),
body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title),
.elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title),
.elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    height: 600px;
    min-height: 600px;
    max-height: 600px;
    padding: 0;
    background: var(--ne-section-a);
}

body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title),
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    height: 600px;
    min-height: 600px;
    max-height: 600px;
    padding: 0;
    background: var(--ne-section-a);
}

body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title)::before,
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-client-hero-image, var(--ne-decor-hero-image)) center center / 100% 100% no-repeat;
    z-index: 0;
}

body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container,
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
}

body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title)::before,
body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-enigmes-hero-image, var(--ne-decor-hero-image)) center center / 100% 100% no-repeat;
    z-index: 0;
}

body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title)::before,
body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title)::before,
.elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ne-gift-hero-image, var(--ne-decor-hero-image)) center center / 100% 100% no-repeat;
    z-index: 0;
}

body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title) > .elementor-container,
body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title) > .elementor-container,
body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title) > .elementor-container,
body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title) > .elementor-container,
.elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) > .elementor-container {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(24px, 6vw, 100px);
}

body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    z-index: 1;
    width: min(100%, 620px);
    max-width: min(100%, 620px);
    margin: 0 auto;
    padding: clamp(22px, 2.8vw, 30px);
    border-radius: 24px;
    background: rgba(15, 24, 31, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    justify-items: center;
}

body.ne-page-nos-enigmes .elementor-top-section .ne-page-shell__title .elementor-heading-title,
body.ne-page-escape-rooms .elementor-top-section .ne-page-shell__title .elementor-heading-title,
body.ne-page-bons-cadeaux .elementor-top-section .ne-page-shell__title .elementor-heading-title,
body.ne-page-gift-vouchers .elementor-top-section .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__title .elementor-heading-title {
    margin: 0 !important;
    color: var(--neurones-accent) !important;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.08;
    text-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
}

body.ne-page-nos-enigmes .elementor-top-section .ne-page-shell__sub,
body.ne-page-nos-enigmes .elementor-top-section .ne-page-shell__sub *,
body.ne-page-escape-rooms .elementor-top-section .ne-page-shell__sub,
body.ne-page-escape-rooms .elementor-top-section .ne-page-shell__sub *,
body.ne-page-bons-cadeaux .elementor-top-section .ne-page-shell__sub,
body.ne-page-bons-cadeaux .elementor-top-section .ne-page-shell__sub *,
body.ne-page-gift-vouchers .elementor-top-section .ne-page-shell__sub,
body.ne-page-gift-vouchers .elementor-top-section .ne-page-shell__sub *,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub *,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub * {
    margin: 0;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.55;
}

body.ne-page-nos-enigmes .elementor-top-section .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-escape-rooms .elementor-top-section .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-bons-cadeaux .elementor-top-section .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-gift-vouchers .elementor-top-section .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub .elementor-text-editor p {
    max-width: 38ch;
    margin-inline: auto;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-title .elementor-heading-title {
    max-width: 12ch;
    font-size: clamp(36px, 4.8vw, 56px);
    line-height: 1.02;
}

@media (max-width: 767px) {
    body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
        width: 100%;
        max-width: 100%;
        padding: 20px 18px;
        border-radius: 22px;
    }

    body.ne-page-nos-enigmes .elementor-top-section .ne-page-shell__title .elementor-heading-title,
    body.ne-page-escape-rooms .elementor-top-section .ne-page-shell__title .elementor-heading-title,
    body.ne-page-bons-cadeaux .elementor-top-section .ne-page-shell__title .elementor-heading-title,
    body.ne-page-gift-vouchers .elementor-top-section .ne-page-shell__title .elementor-heading-title,
    .elementor-top-section[data-id="40e73770"] .ne-page-shell__title .elementor-heading-title,
    .elementor-top-section[data-id="fc173282"] .ne-page-shell__title .elementor-heading-title {
        font-size: clamp(28px, 8vw, 38px);
    }
}

/* ==========================================================================
   Hero panel alignment refresh
   ========================================================================== */

.elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: min(100%, 620px);
    max-width: min(100%, 620px);
    margin: 0 auto;
    padding: clamp(22px, 2.8vw, 30px);
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(15, 24, 31, 0.72);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    display: grid;
    gap: 14px;
    align-content: start;
    justify-items: start;
    text-align: left;
}

.elementor-top-section[data-id="contacfr01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="contacen01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="faqfr01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="faqen01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-espace-client .ne-page-shell__title .elementor-heading-title,
body.ne-page-client-area .ne-page-shell__title .elementor-heading-title,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__title .elementor-heading-title,
body.ne-page-check-my-voucher .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__title .elementor-heading-title,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__title .elementor-heading-title {
    margin: 0 !important;
    color: var(--ne-heading-text) !important;
    text-shadow: none;
}

.elementor-top-section[data-id="contacfr01"] .ne-page-shell__sub,
.elementor-top-section[data-id="contacfr01"] .ne-page-shell__sub *,
.elementor-top-section[data-id="contacen01"] .ne-page-shell__sub,
.elementor-top-section[data-id="contacen01"] .ne-page-shell__sub *,
.elementor-top-section[data-id="faqfr01"] .ne-page-shell__sub,
.elementor-top-section[data-id="faqfr01"] .ne-page-shell__sub *,
.elementor-top-section[data-id="faqen01"] .ne-page-shell__sub,
.elementor-top-section[data-id="faqen01"] .ne-page-shell__sub *,
.elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub,
.elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub *,
.elementor-top-section[data-id="booken01"] .ne-page-shell__sub,
.elementor-top-section[data-id="booken01"] .ne-page-shell__sub *,
body.ne-page-espace-client .ne-page-shell__sub,
body.ne-page-espace-client .ne-page-shell__sub *,
body.ne-page-client-area .ne-page-shell__sub,
body.ne-page-client-area .ne-page-shell__sub *,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub *,
body.ne-page-check-my-voucher .ne-page-shell__sub,
body.ne-page-check-my-voucher .ne-page-shell__sub *,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub *,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub * {
    color: var(--ne-body-text) !important;
    text-align: left !important;
}

.elementor-top-section[data-id="contacfr01"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="contacen01"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="faqfr01"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="faqen01"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="booken01"] .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-espace-client .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-client-area .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__sub .elementor-text-editor p,
body.ne-page-check-my-voucher .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__sub .elementor-text-editor p,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__sub .elementor-text-editor p {
    max-width: 38ch;
    margin: 0;
}

.elementor-top-section[data-id="contacfr01"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="contacen01"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="faqfr01"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="faqen01"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="bookfr01"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="booken01"] .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-espace-client .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-client-area .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-verifier-mon-bon-recu .ne-page-shell__eyebrow .elementor-heading-title,
body.ne-page-check-my-voucher .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="40e73770"] .ne-page-shell__eyebrow .elementor-heading-title,
.elementor-top-section[data-id="fc173282"] .ne-page-shell__eyebrow .elementor-heading-title {
    background: rgba(58, 216, 143, 0.12);
    border: 1px solid rgba(58, 216, 143, 0.22);
    color: #1b8b61;
}

@media (max-width: 767px) {
    .elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
        width: 100%;
        max-width: 100%;
        padding: 20px 18px;
    }
}

/* ==========================================================================
   Event hero title color alignment
   ========================================================================== */

.elementor-top-section[data-id="teambfr01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-anniversaire .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-anniversary .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-team-building .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-team-building-en .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-evjf-evg .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title,
body.ne-page-stag-hen-dos .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
    color: var(--ne-heading-text) !important;
    text-shadow: none !important;
}

/* ==========================================================================
   Final hero panel corrections
   ========================================================================== */

body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title {
    color: var(--ne-heading-text) !important;
    text-shadow: none !important;
}

.elementor-top-section[data-id="jobs01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: min(100%, 620px);
    max-width: min(100%, 620px);
    margin: 0 auto;
    padding: clamp(22px, 2.8vw, 30px);
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(15, 24, 31, 0.72);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    display: grid !important;
    gap: 14px;
    align-content: start;
    justify-items: start;
    text-align: left;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-title .elementor-heading-title {
    color: var(--ne-heading-text) !important;
    text-shadow: none !important;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-sub,
.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-sub *,
.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-sub .elementor-text-editor p {
    color: var(--ne-body-text) !important;
    text-align: left !important;
}

.elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-eyebrow .elementor-heading-title {
    background: rgba(58, 216, 143, 0.12);
    border: 1px solid rgba(58, 216, 143, 0.22);
    color: #1b8b61 !important;
}

@media (max-width: 767px) {
    .elementor-top-section[data-id="jobs01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        width: 100%;
        max-width: 100%;
        padding: 20px 18px;
    }
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs02"],
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs02"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] {
    background: #57595B !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs04"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs04"] {
    background: #454040 !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs05"],
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs05"] {
    background: #57595B !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs02"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs02"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background: transparent !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] > .elementor-container,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] > .elementor-container {
    background: transparent !important;
}

html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__label .elementor-heading-title,
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__list,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__list,
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__list *,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__list *,
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__note,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__note,
html[data-theme="dark"] body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__note *,
html[data-theme="dark"] body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__note * {
    color: #1f2a30 !important;
}

body.ne-page-emplois .elementor-top-section[data-id="jobs03"] .ne-job-card__title + .ne-job-card__label,
body.ne-page-careers .elementor-top-section[data-id="jobs03"] .ne-job-card__title + .ne-job-card__label {
    padding-top: 34px !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect03"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect03"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect05"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect05"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect03"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect03"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect05"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect05"] {
    background: #454040 !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect07"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect07"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect07"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect07"] {
    background: #57595B !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="21268341"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="21268341"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect07b"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect06"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect06"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect06"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect06"] {
    background: #454040 !important;
    background-image: none !important;
}

html[data-theme="dark"] body.home .elementor-top-section[data-id="hpsect06c"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="hpsect06c"],
html[data-theme="dark"] body.home .elementor-top-section[data-id="enhpsect06c"],
html[data-theme="dark"] body.page-id-795 .elementor-top-section[data-id="enhpsect06c"] {
    background: #57595B !important;
    background-image: none !important;
}

@media (max-width: 767px) {
    .ng-hero-wrapper,
    .elementor-top-section[data-id="jobs01"],
    .elementor-top-section[data-id="contacfr01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="contacen01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="faqfr01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="faqen01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="bookfr01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="booken01"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="pricfr00"]:has(.ne-pricing-page-hero__title),
    .elementor-top-section[data-id="pricen00"]:has(.ne-pricing-page-hero__title),
    body.ne-page-nos-enigmes .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-escape-rooms .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-bons-cadeaux .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-gift-vouchers .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-espace-client .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-client-area .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-verifier-mon-bon-recu .elementor-top-section:has(.ne-page-shell__title),
    body.ne-page-check-my-voucher .elementor-top-section:has(.ne-page-shell__title),
    .elementor-top-section[data-id="40e73770"]:has(.ne-page-shell__title),
    .elementor-top-section[data-id="fc173282"]:has(.ne-page-shell__title) {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }
}

@media (max-width: 767px) {
    .elementor-top-section[data-id="bdayfr01"] {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .ng-slide-content {
        display: grid !important;
        gap: 6px !important;
        max-width: min(100%, 340px) !important;
        margin: 0 12px 44px !important;
        padding: 14px 12px 12px !important;
        border-radius: 14px !important;
    }

    .ng-slide-content h2 {
        margin-bottom: 0 !important;
        font-size: clamp(18px, 5.6vw, 24px) !important;
        line-height: 1.08 !important;
    }

    .ng-subtitle {
        margin-bottom: 0 !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .ng-slide-content p:not(.ng-subtitle) {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
    }

    .ng-actions {
        gap: 8px !important;
        margin: 2px 0 0 !important;
    }

    .ng-actions a,
    .ng-actions .btn {
        padding: 8px 12px !important;
        font-size: 10px !important;
        letter-spacing: 0.06em !important;
        line-height: 1.2 !important;
    }

    .ng-actions a:not(:first-child),
    .ng-actions .btn-secondary {
        border-width: 1px !important;
    }

    .ng-dots {
        min-height: 32px !important;
        gap: 8px !important;
        padding: 6px 12px !important;
    }

    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-top-section[data-id="jobs01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        gap: 10px !important;
        padding: 14px !important;
        border-radius: 18px !important;
    }

    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__eyebrow .elementor-heading-title,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__eyebrow .elementor-heading-title,
    .elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-eyebrow .elementor-heading-title,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-eyebrow .elementor-heading-title {
        padding: 5px 10px !important;
        font-size: 10px !important;
        letter-spacing: 0.1em !important;
    }

    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__title .elementor-heading-title,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__title .elementor-heading-title {
        font-size: clamp(22px, 6.6vw, 28px) !important;
        line-height: 1.05 !important;
    }

    body.ne-page-reserver .elementor-top-section[data-id="bookfr01"] .ne-page-shell__sub .elementor-text-editor p,
    body.ne-page-book-now .elementor-top-section[data-id="booken01"] .ne-page-shell__sub .elementor-text-editor p {
        max-width: 30ch !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-title .elementor-heading-title {
        max-width: 11ch !important;
        font-size: clamp(24px, 7vw, 32px) !important;
        line-height: 1.02 !important;
    }

    .elementor-top-section[data-id="jobs01"] .ne-jobs-page__hero-sub .elementor-text-editor p {
        max-width: 30ch !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .elementor-top-section[data-id="bdayfr01"] > .elementor-container {
        padding: 40px 8px 8px !important;
        align-items: flex-start !important;
    }

    .elementor-top-section[data-id="bdayfr01"] > .elementor-container > .elementor-column {
        min-height: 0 !important;
        height: auto !important;
        align-self: flex-start !important;
        flex: 0 0 auto !important;
    }

    .elementor-top-section[data-id="bdayfr01"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        gap: 4px !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-width: none !important;
        padding: 7px 11px !important;
        align-content: start !important;
        justify-items: center !important;
        text-align: center !important;
        border-radius: 16px !important;
        background: rgba(15, 24, 31, 0.72) !important;
        border: 1px solid rgba(255, 255, 255, 0.22) !important;
        box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32) !important;
        backdrop-filter: blur(18px) saturate(150%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-eyebrow {
        display: none !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-title .elementor-heading-title {
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
        font-size: clamp(15px, 4.2vw, 18px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.02em !important;
        text-wrap: balance;
    }

    .elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container,
    .elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column,
    .elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        min-height: 0 !important;
        height: auto !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .elementor-element[data-id="bdayfr01-panel"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
        gap: 4px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        justify-items: stretch !important;
        text-align: center !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy > .elementor-widget-container,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note > .elementor-widget-container,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta > .elementor-widget-container {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy p,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor p {
        margin: 0 !important;
        font-size: 11px !important;
        line-height: 1.18 !important;
        max-width: none !important;
        overflow: visible !important;
        display: block !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy p + p,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-copy .elementor-text-editor p + p {
        margin-top: 4px !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note * {
        display: block !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note .elementor-text-editor p,
    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-note p {
        margin: 0 !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        color: rgba(255, 255, 255, 0.76) !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta .elementor-button-wrapper {
        justify-content: center !important;
    }

    .elementor-top-section[data-id="bdayfr01"] .ne-birthday-page__hero-cta .elementor-button {
        margin-top: 0 !important;
        padding: 8px 12px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }
}

html[data-theme="dark"] .theme-toggle-btn::before {
    content: '\2600';
}

html[data-theme="light"] .theme-toggle-btn::before {
    content: '\263E';
}

@media (max-width: 992px) {
    .neurones-mobile-menu {
        padding: 18px 18px 30px;
        background:
            linear-gradient(180deg, rgba(9, 14, 14, 0.985) 0%, rgba(5, 7, 7, 0.985) 100%);
        border-top: 1px solid rgba(58, 216, 143, 0.42);
        box-shadow: inset 0 1px 0 rgba(58, 216, 143, 0.14);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .neurones-mobile-menu ul.mobile-nav-menu {
        margin: 0 0 16px;
        padding: 10px 12px 4px;
        border-radius: 18px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.028) 0%, rgba(255, 255, 255, 0.01) 100%);
        border: 1px solid rgba(255, 255, 255, 0.04);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    }

    .neurones-mobile-menu li {
        position: relative;
        border-bottom: none;
    }

    .neurones-mobile-menu > .mobile-nav-menu > li {
        margin-bottom: 4px;
    }

    .neurones-mobile-menu a {
        position: relative;
        padding: 16px 16px 18px;
        font-size: 14px;
        letter-spacing: 0.08em;
        transition: color 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
    }

    .neurones-mobile-menu a::after {
        content: "";
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, rgba(58, 216, 143, 0.85) 0%, rgba(58, 216, 143, 0.35) 62%, rgba(58, 216, 143, 0) 100%);
        transform-origin: left center;
        opacity: 0.9;
    }

    .neurones-mobile-menu > .mobile-nav-menu > li > a {
        font-size: 14.5px;
        font-weight: 600;
        letter-spacing: 0.1em;
    }

    .neurones-mobile-menu a:hover,
    .neurones-mobile-menu a:focus-visible {
        color: #ecfff5;
        background: linear-gradient(90deg, rgba(58, 216, 143, 0.08) 0%, rgba(58, 216, 143, 0.015) 100%);
        transform: translateX(3px);
    }

    .neurones-mobile-menu ul ul {
        margin: 4px 0 10px;
        padding: 4px 0 2px;
        border-radius: 14px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.025) 100%);
        border: 1px solid rgba(255, 255, 255, 0.05);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
    }

    .neurones-mobile-menu ul ul li + li {
        margin-top: 2px;
    }

    .neurones-mobile-menu ul ul a {
        padding: 14px 16px 16px 26px;
        font-size: 13px;
        letter-spacing: 0.04em;
        color: rgba(255, 255, 255, 0.84);
    }

    .neurones-mobile-menu ul ul a::before {
        content: "";
        position: absolute;
        left: 14px;
        top: 50%;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(58, 216, 143, 0.8);
        box-shadow: 0 0 10px rgba(58, 216, 143, 0.32);
        transform: translateY(-50%);
    }

    .neurones-mobile-menu ul ul a::after {
        left: 26px;
        right: 16px;
        height: 1px;
        background: linear-gradient(90deg, rgba(58, 216, 143, 0.6) 0%, rgba(58, 216, 143, 0.22) 65%, rgba(58, 216, 143, 0) 100%);
    }
}
