/*
Theme Name: unITed Microsite
Theme URI: https://united.swiss/
Author: bytheway.studio
Author URI: https://bytheway.studio
Description: Thème custom léger pour le microsite one-page de l'alliance unITed (Nexan · Thésis · Apposite). Contenus pilotés par ACF avec fallback prototype — pixel-proche du prototype HTML, performant et SEO-friendly. Navigation par ancres, accordéons de services, cartes sociétés cliquables.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: united
*/

/*
  Note : le style visuel provient de Tailwind (voir header.php / README).
  Ce fichier ne contient que le Theme-Header (obligatoire) + quelques règles
  non couvertes par les classes utilitaires Tailwind.
*/

/* Reveal au scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
.no-js .reveal{opacity:1!important;transform:none!important;}

/* Accordéons de services (hauteur animée) */
.svc{align-self:start;}
.svc-body{max-height:0;overflow:hidden;transition:max-height .32s ease;}
.svc-chevron{transition:transform .25s ease;}
.svc.open .svc-chevron{transform:rotate(180deg);}

/* Menu mobile */
@media (max-width: 1023px){
  .nav-mobile{
    transform:translateY(calc(-100% - 68px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:rgba(10,10,16,.98);
    box-shadow:0 18px 40px rgba(0,0,0,.32);
    transition:transform .28s ease, opacity .2s ease, visibility .2s linear;
  }
  .nav-mobile.show{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    row-gap: .5rem;
    pointer-events: auto;
    display: flex;
  }
}

/* Nawigacja WordPress */
.united-menu{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
}
.united-menu-item > a{
  display:block;
  padding:.625rem 1rem;
  border-radius:9999px;
  color:#b6b3c4;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.united-menu-item > a:hover,
.united-menu-item.current-menu-item > a,
.united-menu-item.current-menu-ancestor > a{
  color:#fff;
  background:rgba(116,0,255,.15);
}
.united-menu-item-button > a,
.united-menu-item-button > a:hover{
  color:#fff;
  background:#7400ff;
}
.united-menu-item-button > a:hover{background:#6d00eb;}
.united-menu-item-has-children,
.united-menu .menu-item-has-children{position:relative;}
.united-menu .menu-item-has-children > a{
  display:flex;
  align-items:center;
  gap:.375rem;
}
.united-menu .menu-item-has-children > a::after{
  content:'';
  width:.4rem;
  height:.4rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-.125rem) rotate(45deg);
  transition:transform .2s ease;
  margin-top:2px;
}
.united-menu .sub-menu{
  display:none;
  margin:0;
  padding:0;
  list-style:none;
}
.united-menu .menu-item-has-children.is-open > .sub-menu{display:block;}
.united-menu .sub-menu a{
  display:block;
  padding:.625rem 1rem;
  color:#b6b3c4;
  text-decoration:none;
}
.united-menu .sub-menu a:hover{color:#fff;background:rgba(116,0,255,.15);}
@media (min-width:1024px){
  .united-menu{flex-direction:row;align-items:center;gap:.25rem;}
  .united-menu .menu-item-has-children:hover > .sub-menu{display:block;}
  .united-menu .menu-item-has-children:hover > a::after,
  .united-menu .menu-item-has-children.is-open > a::after{transform:translateY(.125rem) rotate(225deg);margin-top:0px;}
  .united-menu .sub-menu{
    position:absolute;
    top:100%;
    right:0;
    min-width:3.5rem;
    padding:.25rem;
    background:rgba(10,10,16,.98);
    border:1px solid rgba(255,255,255,.1);
    border-radius:.5rem;
    box-shadow:0 18px 40px rgba(0,0,0,.32);
  }
  .united-menu .sub-menu a{border-radius:.375rem;}
}

/* Karuzela spółek */
.company-carousel-btn{
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border:1px solid rgba(91,59,166,.9);
  border-radius:9999px;
  background:rgba(109,40,240,.12);
  color:#a78bfa;
  transition:background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.company-carousel-btn:hover{
  background:#7400ff;
  border-color:#7400ff;
  color:#fff;
}
.company-carousel-btn[disabled]{
  opacity:.45;
  cursor:default;
}

@media (min-width: 1024px){
  /* .company-carousel-viewport{overflow:hidden;} */
  .company-carousel-track{
    display:flex;
    gap:1.25rem;
    transition:transform .35s ease;
    will-change:transform;
  }
  .company-carousel-slide{
    flex:0 0 calc((100% - 2.5rem) / 3);
  }
}

@media (max-width: 1023px){
  .company-carousel-track{
    display:grid;
    gap:1.25rem;
  }
}

@media (min-width: 640px) and (max-width: 1023px){
  .company-carousel-track{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Sélection */
::selection{background:#7400ff;color:#fff;}

/* Scroll-offset sous le header fixe pour les ancres */
section[id],div[id]{scroll-margin-top:88px;}


.admin-bar header{top:32px;}
@media (max-width: 782px){.admin-bar header{top:46px;}}
@media (max-width: 600px){#wpadminbar{position:fixed!important;}}

.hero-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .9;
}

.site-logo .custom-logo {
  width: 100px;
  height: auto;
}

.final-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .85;
}

.btn-ghost {
  border: 1.5px solid rgba(124, 58, 237, .35);
}

.svc.open .svc-chevron {
    transform: rotate(180deg) translateY(3px);
}

.svc-chevron {
    transition: .25s;
    color: #7400ff;
    font-size: 15px;
}

.highlighted {
	display: inline-block;
	padding: 1px 0;
	color: #fff;
	background-color: #7400ff;
}

@media (min-width: 1024px){
.wpml-ls-item{
    display: flex;
    align-items: center;
}

.wpml-ls-item:after {
  content: "|";
  display: inline;
}
.wpml-ls-item:last-child:after {
  display: none;
}

.wpml-ls-first-item {
  margin-left: 15px;
}

.wpml-ls-item a {
  padding-left: 0.2rem;
  padding-right: 0.4rem;
}
}