/* ==========================================================================
   SwissKH, composants posés sur le markup Elementor
   (classes ajoutées dans Elementor > Avancé > Classes CSS)
   ========================================================================== */

/* ---------- Canvas plein cadre (décors, hero, Maria, topo) ---------- */
[data-decor]:not(.skh-step), .skh-hero-field, .skh-maria-field, .skh-topo { position: relative; overflow: hidden; isolation: isolate; }
.skh-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 0; pointer-events: none; }
[data-decor]:not(.skh-step) > :not(.skh-canvas), .skh-hero-field > :not(.skh-canvas), .skh-maria-field > :not(.skh-canvas) { position: relative; z-index: 1; }

/* ---------- En-tête ---------- */
.skh-topbar { font-size: .8125rem; }
.skh-topbar a { transition: color .2s; }
.skh-open-status .elementor-heading-title::before {
	content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%;
	background: var(--skh-ok, #2E8B57); box-shadow: 0 0 0 3px rgba(46, 139, 87, .18); vertical-align: 1px;
}
.skh-open-status.is-closed .elementor-heading-title::before { background: var(--skh-fg-3); box-shadow: none; }

.skh-header { transition: transform .45s var(--skh-ease), background-color .3s, box-shadow .3s; will-change: transform; }
.skh-header.is-hidden { transform: translateY(-100%); }
.skh-header.is-scrolled { box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 10px 30px -12px rgba(0, 0, 0, .5); }

/* Sélecteur de langue [skh_lang] */
.skh-lang { display: flex; gap: 2px; font-family: var(--skh-font-mono); font-size: .6875rem; font-weight: 600; letter-spacing: .08em; line-height: 1; }
.skh-lang a, .skh-lang span { padding: 5px 6px 4px; color: #7C8692; }
.skh-lang a:hover { color: #fff; }
.skh-lang [aria-current] { color: #fff; background: rgba(255, 255, 255, .08); }
/* Sélecteur WPML automatique du pied de page : remplacé par [skh_lang] dans l'en-tête. */
.wpml-ls-statics-footer { display: none; }

/* Menu principal (widget Menu d'Elementor Pro) */
.skh-header .e-n-menu-title { position: relative; }
.skh-header .e-n-menu-title::after {
	content: ""; position: absolute; left: 10px; right: 10px; bottom: 18px; height: 2px; background: var(--skh-red);
	transform: scaleX(0); transform-origin: left; transition: transform .35s var(--skh-ease);
}
.skh-header .e-n-menu-title:hover::after,
.skh-header .e-n-menu-title.e-current::after { transform: scaleX(1); }
.skh-mega-label .elementor-heading-title { color: var(--skh-inv-3, #7C8692); }
.skh-mega-ops .elementor-icon-list-items { columns: 2; column-gap: 28px; }
.skh-mega-ops .elementor-icon-list-item { break-inside: avoid; }
.skh-mega-feature { transition: background-color .3s; }
.skh-mega-feature:hover { background-color: #1A1F26 !important; }
.skh-mega-feature img { transition: transform .6s var(--skh-ease); }
.skh-mega-feature:hover img { transform: scale(1.04); }
.skh-badge .elementor-heading-title {
	display: inline-block; padding: 5px 9px 4px; background: var(--skh-red); color: #fff;
	font-family: var(--skh-font-mono); font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 1;
}

/* ---------- Pied de page ---------- */
.skh-footer a { transition: color .2s; }
.skh-footer .elementor-icon-list-text { transition: color .2s; }
.skh-group-item { transition: background-color .25s; }
.skh-group-item:hover { background-color: rgba(255, 255, 255, .04); }
.skh-group-item img { filter: grayscale(1) brightness(1.6); opacity: .8; transition: filter .3s, opacity .3s; }
.skh-group-item:hover img { filter: none; opacity: 1; }

/* ---------- Parallaxe (attribut data-py) ---------- */
[data-py] img { transform: translate3d(0, var(--py, 0), 0) scale(1.12); will-change: transform; }

/* Défilement horizontal épinglé : voir skh-sections.css (.skh-htrack). */
