/* ═══════════════════════════════════════════════════════════════════════════
   Topbar — Réseaux sociaux, Newsletter, Search modal
   Astrolabe JupiterX Child Theme
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Réseaux sociaux ──────────────────────────────────────────────────────── */

.jxc-sn-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 18px;
}

.jxc-sn-item { display: flex; align-items: center; }

.jxc-sn-link {
display: flex;
align-items: center;
color: inherit;
text-decoration: none;
transition: opacity 0.15s ease;
line-height: 1;
}

.jxc-sn-link:hover { opacity: 0.65; }

.jxc-sn-icon { font-size: 15px; }

/* ── Boutons icône topbar (newsletter + search) ──────────────────────────── */

.jxc-nl-btn,
.jxc-search-btn {
display: flex;
align-items: center;
justify-content: center;
background: none;
border: none;
cursor: pointer;
padding: 4px;
color: inherit;
line-height: 1;
transition: opacity 0.15s ease;
}

.jxc-nl-btn:hover,
.jxc-search-btn:hover { opacity: 0.65; }

.jxc-nl-btn .jxc-nl-icon,
.jxc-search-btn .jxc-icon {
font-family: eicons;
font-size: 16px;
speak: never;
font-style: normal;
font-weight: 400;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
}

.jxc-nl-btn .jxc-nl-icon {
font-family: inherit;
width: 16px;
height: 16px;
fill: currentColor;
display: block;
}

/* ── Modale — base ───────────────────────────────────────────────────────── */

.jxc-modal {
position: fixed;
inset: 0;
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
}

.jxc-modal[hidden] { display: none; }

.jxc-modal.jxc-modal--opening { animation: jxcModalIn 0.22s ease forwards; }
.jxc-modal.jxc-modal--closing { animation: jxcModalOut 0.18s ease forwards; }

@keyframes jxcModalIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes jxcModalOut { from { opacity: 1; } to { opacity: 0; } }

.jxc-modal__backdrop {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.55);
cursor: pointer;
}

.jxc-modal__box {
position: relative;
z-index: 1;
background: #fff;
border-radius: 6px;
padding: 40px;
width: 90%;
max-width: 520px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
animation: jxcBoxIn 0.22s ease;
}

@keyframes jxcBoxIn { from { transform: translateY(-12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.jxc-modal__close {
position: absolute;
top: 14px;
right: 14px;
background: none;
border: none;
cursor: pointer;
color: #666;
font-size: 18px;
line-height: 1;
padding: 4px;
transition: color 0.15s ease;
}

.jxc-modal__close:hover { color: #111; }

/* ── Navigation principale — styles décoratifs uniquement ───────────────────
 * Le layout (grid/flex) est injecté via output_nav_css() dans functions.php
 * à wp_head priority 999, après le CSS Elementor.
 * ────────────────────────────────────────────────────────────────────────── */

/* Logo texte gauche — fallback si output_nav_css non disponible */
.jxc-logo-full img {
	width: 175px !important;
	max-width: 175px !important;
	height: auto !important;
}

/* ── Réseaux sociaux ──────────────────────────────────────────────────────── */

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 767px) {
.jxc-modal__box { padding: 28px 20px; }
}
