/* =========================================================
   omaxi.net - CSS aggiuntivo (file templates/shaper_helixultimate/css/custom.css)
   Helix lo carica da solo. Il Custom CSS di Template Options è pieno
   (limite di 64 KB dei parametri del template): le aggiunte nuove vanno qui.
   ========================================================= */

/* ===== MENU E COLORE UNICO (novembre 2026) ===== */
/* Le voci di menu non cambiano colore: al passaggio del mouse una sottolineatura
   arancione si allunga da sinistra e resta sotto la voce della sezione in cui ti trovi.
   Unico arancione del sito: #f9721d */
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span,
.sp-megamenu-parent > li:hover > a, .sp-megamenu-parent > li:hover > span,
.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active > span,
.sp-megamenu-parent > li.active:hover > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
.offcanvas-menu .offcanvas-inner ul.menu li > a,
.offcanvas-menu .offcanvas-inner ul.menu li > .nav-header,
.offcanvas-menu .offcanvas-inner a:hover,
.offcanvas-menu .offcanvas-inner ul.menu > li a:hover,
.offcanvas-menu .offcanvas-inner ul.menu li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu li.active > .nav-header,
.offcanvas-menu .offcanvas-inner ul.menu li.active ul li.active > a,
#modal-menu .sp-megamenu-parent > li:hover > a,
#modal-menu .sp-megamenu-parent > li.active > a { color: #252525 !important; }

/* barra orizzontale in alto */
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span { position: relative; }
.sp-megamenu-parent > li > a::before, .sp-megamenu-parent > li > span::before {
  content: ""; position: absolute; left: 15px; right: 15px; top: calc(50% + .95em);
  height: 2px; border-radius: 2px; background: #f9721d;
  transform: scaleX(0); transform-origin: left center;
  transition: transform .35s cubic-bezier(.65,.05,.25,1);
  pointer-events: none;
}
.sp-megamenu-parent > li:hover > a::before, .sp-megamenu-parent > li:hover > span::before,
.sp-megamenu-parent > li > a:focus-visible::before,
.sp-megamenu-parent > li.active > a::before, .sp-megamenu-parent > li.active > span::before { transform: scaleX(1); }

/* menu a tendina (CORSI) */
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a { position: relative; }
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 3px; height: 2px; border-radius: 2px;
  background: #f9721d; transform: scaleX(0); transform-origin: left center;
  transition: transform .3s cubic-bezier(.65,.05,.25,1); pointer-events: none;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover::before,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a::before { transform: scaleX(1); }

/* menu laterale (telefono e pulsante con le tre righe) */
.offcanvas-menu .offcanvas-inner ul.menu li > a,
.offcanvas-menu .offcanvas-inner ul.menu li > .nav-header { width: fit-content; max-width: 100%; }
.offcanvas-menu .offcanvas-inner ul.menu li > a::before,
.offcanvas-menu .offcanvas-inner ul.menu li > .nav-header::before {
  content: ""; position: absolute; left: 10px; right: 30px; bottom: 10px; height: 2px; border-radius: 2px;
  background: #f9721d; transform: scaleX(0); transform-origin: left center;
  transition: transform .3s cubic-bezier(.65,.05,.25,1); pointer-events: none;
}
.offcanvas-menu .offcanvas-inner ul.menu li > a:hover::before,
.offcanvas-menu .offcanvas-inner ul.menu li.active > a::before,
.offcanvas-menu .offcanvas-inner ul.menu li.active > .nav-header::before { transform: scaleX(1); }

@media (prefers-reduced-motion: reduce) {
  .sp-megamenu-parent > li > a::before, .sp-megamenu-parent > li > span::before,
  .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a::before,
  .offcanvas-menu .offcanvas-inner ul.menu li > a::before,
  .offcanvas-menu .offcanvas-inner ul.menu li > .nav-header::before { transition: none; }
}

/* altri elementi che usavano il blu del preset Helix (#0345bf) */
#offcanvas-toggler > .fa:hover, #offcanvas-toggler > .fas:hover, #offcanvas-toggler > .far:hover,
#sp-menu ul.social-icons a:hover, ul.social-icons > li a:hover,
.sp-module ul > li > a:hover, .sp-module .latestnews > div > a:hover,
#sp-header.header-with-modal-menu a:hover, #sp-header-topbar a:hover,
#modal-menu .modules-wrapper a:hover { color: #f9721d !important; }
.sp-reading-progress-bar, .sp-preloader > div,
.pagination > .active > a, .pagination > .active > span { background-color: #18434a !important; border-color: #18434a !important; }
.btn-primary, .sppb-btn-primary { background-color: #18434a; border-color: #18434a; }
a { color: #f9721d; }
.tags > li a, .tags > li a:focus { background-color: rgba(249,114,29,.1) !important; color: #f9721d !important; }
.tags > li a:hover { background-color: #18434a !important; color: #fff !important; }

/* menu laterale: le voci dentro CORSI non hanno margini, la riga segue il testo */
.offcanvas-menu .offcanvas-inner ul.menu li ul li > a::before { left: 0; right: 0; bottom: 1px; }

/* ===== FOOTER: link arancioni al passaggio del mouse (novembre 2026) ===== */
#sp-footer a:hover, #sp-footer a:focus-visible,
#sp-bottom a:hover, #sp-bottom a:focus-visible { color: #f9721d !important; }

/* ===== PAGINA MAPPA DEL SITO (OSMap, novembre 2026) ===== */
/* la pagina occupava tutta la larghezza, attaccata al bordo: la allineo al resto del sito */
#osmap.osmap-sitemap {
  box-sizing: border-box;
  max-width: 1320px;
  margin: clamp(32px, 5vw, 72px) auto;
  padding: 0 15px;
}
#osmap.osmap-sitemap ul { padding-left: 1.2em; }
#osmap.osmap-sitemap li { margin: .25em 0; }

/* ===== PAGINA COACHING (novembre 2026) ===== */
/* Due schede affiancate: coaching / psicoterapia */
.ox-confronto {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.5vw, 32px);
  margin: clamp(24px, 3vw, 40px) 0 clamp(32px, 4vw, 56px);
}
.ox-card {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: clamp(22px, 3vw, 38px);
  box-shadow: 0 14px 36px rgba(12, 35, 40, .09), 0 2px 6px rgba(12, 35, 40, .05);
  border-top: 5px solid #f9721d;
}
.ox-card--psico { border-top-color: #18434a; background: #f6f9f9; }
.ox-card__etichetta {
  display: inline-block;
  font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #fff; background: #f9721d;
  padding: .35em .9em; border-radius: 999px; margin-bottom: 1rem;
}
.ox-card--psico .ox-card__etichetta { background: #18434a; }
.ox-card h4, .ox-card h4 span, .ox-card h4 strong { color: #252525 !important; }
.ox-card h4 { margin-top: 0; font-size: clamp(1.2rem, 1.7vw, 1.45rem); line-height: 1.3; margin-bottom: .8em; }
.ox-card p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .ox-confronto { grid-template-columns: 1fr; } }

/* Riquadro del test */
.ox-test {
  background: rgba(249, 114, 29, .07);
  border-radius: 18px;
  padding: clamp(24px, 3.5vw, 44px);
  margin: clamp(28px, 4vw, 52px) 0;
}
.ox-test h3 { margin-top: 0; }
.ox-test .ox-libri-cta { margin-bottom: 0; }

/* Elenco con la barretta arancione al posto dei pallini (Cosa accadrà dopo il test) */
ul.ox-elenco-voci, ul.ox-elenco-voci li { list-style: none !important; }
ul.ox-elenco-voci { padding-left: 0; }
ul.ox-elenco-voci li { position: relative; padding-left: 18px; margin: .7em 0; }
ul.ox-elenco-voci li::before {
  content: ""; position: absolute; left: 0; top: .3em; bottom: .3em; width: 4px;
  border-radius: 2px; background: #f9721d;
}

/* ===== TAG DEGLI ARTICOLI (Consapevolezza ecc.) ===== */
/* erano attaccati al bordo sinistro dello schermo: li allineo al testo dell'articolo */
.article-details ul.tags { box-sizing: border-box; max-width: 1600px; margin-left: auto !important; margin-right: auto !important; padding: 0 15px; }

/* ===== PAGINA I MANUALI (novembre 2026) ===== */
/* Ogni libro: copertina grande con effetto volume + testo; i libri si alternano a destra e a sinistra */
.ox-libro {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
  margin: clamp(40px, 6vw, 88px) 0;
}
.ox-libro--dx { grid-template-columns: 1fr minmax(180px, 280px); }
.ox-libro--dx .ox-libro__copertina { order: 2; }
.ox-libro--novita {
  background: rgba(249, 114, 29, .07);
  border-radius: 20px;
  padding: clamp(24px, 4vw, 56px);
}
.ox-libro__copertina { perspective: 1200px; position: sticky; top: 110px; }
.ox-libro__copertina img {
  display: block; width: 100%; height: auto;
  border-radius: 3px 8px 8px 3px;
  transform: rotateY(-14deg) rotateX(2deg);
  transform-origin: left center;
  box-shadow: 18px 22px 40px rgba(12, 35, 40, .28), 4px 4px 10px rgba(12, 35, 40, .18);
  transition: transform .6s cubic-bezier(.2, .7, .2, 1), box-shadow .6s ease;
}
.ox-libro--dx .ox-libro__copertina img { transform: rotateY(14deg) rotateX(2deg); transform-origin: right center; }
.ox-libro:hover .ox-libro__copertina img { transform: rotateY(0) rotateX(0) translateY(-6px); box-shadow: 0 26px 50px rgba(12, 35, 40, .3), 0 6px 14px rgba(12, 35, 40, .16); }
.ox-libro__data {
  font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #18434a; margin-bottom: .6rem;
}
.ox-libro__novita {
  display: inline-block; margin-left: .8em;
  color: #fff; background: #f9721d; border-radius: 999px; padding: .3em .9em; letter-spacing: .1em;
}
.ox-libro__testo h2 { margin-top: 0; }
.ox-libro__testo h4 { margin-top: 0; }
.ox-libro__testo .ox-libri-cta { margin-top: 1.4rem; margin-bottom: 0; }

/* entrata: la copertina arriva dal suo lato e si gira, poi il testo */
.ox-reveal-ready .ox-libro.ox-sale { opacity: 1; transform: none; }
.ox-reveal-ready .ox-libro.ox-sale .ox-libro__copertina img { opacity: 0; transform: translateX(-60px) rotateY(-35deg); }
.ox-reveal-ready .ox-libro--dx.ox-sale .ox-libro__copertina img { transform: translateX(60px) rotateY(35deg); }
.ox-reveal-ready .ox-libro.ox-sale .ox-libro__testo { opacity: 0; transform: translateY(24px); transition: opacity .8s ease .35s, transform .8s cubic-bezier(.2, .7, .2, 1) .35s; }
.ox-reveal-ready .ox-libro.ox-sale.is-in .ox-libro__copertina img { opacity: 1; transform: rotateY(-14deg) rotateX(2deg); transition: opacity .7s ease, transform 1s cubic-bezier(.2, .7, .2, 1), box-shadow .6s ease; }
.ox-reveal-ready .ox-libro--dx.ox-sale.is-in .ox-libro__copertina img { transform: rotateY(14deg) rotateX(2deg); }
.ox-reveal-ready .ox-libro.ox-sale.is-in:hover .ox-libro__copertina img { transform: rotateY(0) rotateX(0) translateY(-6px); }
.ox-reveal-ready .ox-libro.ox-sale.is-in .ox-libro__testo { opacity: 1; transform: none; }

@media (max-width: 767px) {
  .ox-libro, .ox-libro--dx { grid-template-columns: 1fr; }
  .ox-libro--dx .ox-libro__copertina { order: 0; }
  .ox-libro__copertina { position: static; width: 62%; max-width: 240px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .ox-libro__copertina img, .ox-reveal-ready .ox-libro.ox-sale .ox-libro__copertina img,
  .ox-reveal-ready .ox-libro.ox-sale .ox-libro__testo { transition: none !important; opacity: 1 !important; }
}

/* ===== PAGINA EVENTI (novembre 2026) ===== */
/* Ogni evento è una scheda: immagine in alto (o la locandina ANCL), stato automatico, data e luogo in etichette */
.ox-eventi { display: grid; gap: clamp(28px, 4vw, 56px); margin: clamp(28px, 4vw, 56px) 0; }
.ox-evento {
  background: #fff; border-radius: 18px; overflow: hidden;
  box-shadow: 0 16px 40px rgba(12, 35, 40, .10), 0 2px 6px rgba(12, 35, 40, .05);
}
.ox-evento__testa { position: relative; overflow: hidden; }
.ox-evento__testa > img:not(.ox-evento__timbro) {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.ox-evento:hover .ox-evento__testa > img:not(.ox-evento__timbro) { transform: scale(1.03); }
.ox-evento__testa--ancl { padding: clamp(12px, 2vw, 24px) clamp(12px, 2vw, 24px) 0; }
.ox-evento__testa--ancl .ox-ancl { margin: 0; }
.ox-evento__timbro {
  position: absolute; right: clamp(12px, 3vw, 36px); bottom: clamp(10px, 2vw, 24px);
  width: clamp(110px, 14vw, 180px); height: auto; transform: rotate(-8deg);
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .25));
}
.ox-evento__corpo { padding: clamp(22px, 3.5vw, 44px); }
.ox-evento__corpo h3 { margin-top: .2em; }
.ox-evento__meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .4rem; }
.ox-evento__pill, .ox-evento__stato {
  display: inline-flex; align-items: center; gap: .45em;
  font-size: .85rem; font-weight: 600; line-height: 1;
  padding: .55em 1em; border-radius: 999px;
  background: rgba(24, 67, 74, .08); color: #18434a;
}
.ox-evento__pill svg { width: 1.1em; height: 1.1em; flex: none; }
.ox-evento__stato { background: #f9721d; color: #fff; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 700; }
.ox-evento__stato:empty { display: none; }
.ox-evento--incorso .ox-evento__stato { background: #18434a; }
.ox-evento--passato .ox-evento__stato { background: #e6e6e6; color: #4a4a4a; }
.ox-evento--passato .ox-evento__testa > img:not(.ox-evento__timbro) { filter: grayscale(.55); }
.ox-evento .ox-libri-cta { margin: 1.6rem 0 0; }
.ox-eventi__passati { margin: clamp(16px, 3vw, 32px) 0 0; }
@media (max-width: 767px) {
  .ox-evento__testa > img:not(.ox-evento__timbro) { aspect-ratio: 16 / 7; }
}

/* ===== PAGINA CONTATTI (novembre 2026) ===== */
.ox-contatti .ox-card { display: flex; flex-direction: column; }
.ox-contatti .ox-card__etichetta { align-self: flex-start; }
.ox-contatti .ox-card h4 { flex: 1; overflow-wrap: anywhere; }
.ox-contatti .ox-libri-cta { margin: 1rem 0 0; }
.ox-studio {
  display: grid; grid-template-columns: minmax(240px, 1fr) 2fr;
  gap: clamp(20px, 3vw, 40px); align-items: stretch;
  background: #fff; border-radius: 18px; overflow: hidden;
  box-shadow: 0 16px 40px rgba(12, 35, 40, .10), 0 2px 6px rgba(12, 35, 40, .05);
  margin: 0 0 clamp(32px, 5vw, 64px);
}
.ox-studio__info { padding: clamp(24px, 3.5vw, 44px); }
.ox-studio__info p { font-size: 1.15rem; line-height: 1.6; }
.ox-studio__info .ox-libri-cta { font-size: 1rem; }
.ox-studio__mappa { position: relative; min-height: 360px; background: #eef2f2; }
.ox-studio__mappa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; z-index: 1; }
/* l'avviso sui cookie sta sotto la mappa: si vede solo se la mappa non si carica */
.ox-studio__nota {
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 0; text-align: center; padding: 0 24px; margin: 0; font-size: .9rem; color: #4a4a4a;
}
@media (max-width: 767px) {
  .ox-studio { grid-template-columns: 1fr; }
  .ox-studio__mappa { min-height: 300px; }
}
