/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/



/* ===== Uncode/WPBakery horizontal slider (robusto) ===== */

.tm-hslider{
  position: relative;
}

/* La viewport deve poter scrollare */
.tm-hslider .tm-hslider__viewport{
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 14px;
}

/* Uncode spesso mette wrapper interni: forziamo la "track" sul primo wrapper utile */
.tm-hslider .tm-hslider__viewport > .row-inner,
.tm-hslider .tm-hslider__viewport > .row-container,
.tm-hslider .tm-hslider__viewport > .row,
.tm-hslider .tm-hslider__viewport .row-inner{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  align-items: stretch;
}

/* Le colonne in Uncode spesso sono float-based: li spegniamo e li rendiamo "slide" */
.tm-hslider .tm-hslider__viewport .tm-hslider__item{
  float: none !important;
  flex: 0 0 calc((100% - (18px * 2)) / 3) !important; /* desktop: 3 */
  max-width: none !important;
  scroll-snap-align: start;
}

/* Tablet: 2 */
@media (max-width: 959px){
  .tm-hslider .tm-hslider__viewport .tm-hslider__item{
    flex-basis: calc((100% - 18px) / 2) !important;
  }
}

/* Mobile: 1 */
@media (max-width: 569px){
  .tm-hslider .tm-hslider__viewport .tm-hslider__item{
    flex-basis: 100% !important;
  }
}

/* Scrollbar decente */
.tm-hslider .tm-hslider__viewport::-webkit-scrollbar{ height: 10px; }
.tm-hslider .tm-hslider__viewport::-webkit-scrollbar-track{
  background: rgba(0,0,0,.08);
  border-radius: 999px;
}
.tm-hslider .tm-hslider__viewport::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.28);
  border-radius: 999px;
}
.tm-hslider .tm-hslider__viewport{ scrollbar-width: thin; scrollbar-color: rgba(0,0,0,.28) rgba(0,0,0,.08); }

/* Sfumature */
.tm-hslider::before,
.tm-hslider::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width: 64px;
  pointer-events:none;
  transition: opacity .2s ease;
  z-index: 2;
}
.tm-hslider::before{
  left:0;
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
}
.tm-hslider::after{
  right:0;
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
}
.tm-hslider.is-start::before{ opacity:0; }
.tm-hslider.is-end::after{ opacity:0; }

/* Frecce */
.tm-hslider__btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(255,255,255,.92);
  cursor: pointer;
  display: inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
.tm-hslider__btn--prev{ left: 10px; }
.tm-hslider__btn--next{ right: 10px; }

.tm-hslider__btn::before{
  content:"";
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  display:block;
}
.tm-hslider__btn--prev::before{ transform: rotate(135deg); margin-left: 2px; }
.tm-hslider__btn--next::before{ transform: rotate(-45deg); margin-right: 2px; }

.tm-hslider__btn[disabled]{ opacity:.35; cursor:default; box-shadow:none; }

/* Frecce: nascoste finché non vai in hover (desktop) */
@media (hover: hover) and (pointer: fine){
  .tm-hslider .tm-hslider__btn{
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) scale(.98);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .tm-hslider:hover .tm-hslider__btn{
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) scale(1);
  }
}

/* Su touch: sempre visibili */
@media (hover: none){
  .tm-hslider .tm-hslider__btn{
    opacity: 1;
    visibility: visible;
  }
}


/* Evita tagli in altezza dovuti a overflow hidden sui wrapper Uncode */
.tm-hslider .tm-hslider__viewport{
  overflow-x: auto !important;
  overflow-y: visible !important;
}
.tm-hslider .tm-hslider__viewport > .row-inner,
.tm-hslider .tm-hslider__viewport > .row-container,
.tm-hslider .tm-hslider__viewport .row-inner{
  overflow: visible !important;
}


/* Assicura che le colonne possano crescere in altezza */
.tm-hslider .tm-hslider__viewport .tm-hslider__item,
.tm-hslider .tm-hslider__viewport .tm-hslider__item > .vc_column-inner,
.tm-hslider .tm-hslider__viewport .tm-hslider__item > .vc_column-inner > .wpb_wrapper{
  height: auto !important;
  min-height: 0 !important;
}

/* Se Uncode applica height:100% o simili */
.tm-hslider .tm-hslider__viewport .tm-hslider__item{
  align-self: stretch;
}

/* Nascondi scrollbar nativa */
.tm-hslider .tm-hslider__viewport{
  scrollbar-width: none;            /* Firefox */
}
.tm-hslider .tm-hslider__viewport::-webkit-scrollbar{
  height: 0;                        /* Webkit */
}

/* Barra custom centrata 100px */
.tm-hslider{
  --tm-track-w: 100px;
  --tm-track-h: 6px;
  --tm-track-bg: rgba(255,255,255,0); /* trasparente (metti rgba(255,255,255,1) se la vuoi bianca piena) */
  --tm-thumb: #015284;

  padding-bottom: 18px; /* spazio per la barra */
}

.tm-hslider__bar{
  position: absolute;
  left: 50%;
  bottom: 4px;
  transform: translateX(-50%);
  width: var(--tm-track-w);
  height: var(--tm-track-h);
  background: var(--tm-track-bg);
  border-radius: 999px;
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
}

/* il "thumb" che si muove */
.tm-hslider__bar > span{
  display: block;
  height: 100%;
  width: 30%;                 /* larghezza indicativa, poi la setta JS */
  background: var(--tm-thumb);
  border-radius: 999px;
  transform: translateX(0);
  transition: transform .08s linear;
}
.tm-hslider .tm-hslider__viewport{
  cursor: grab;
}
.tm-hslider .tm-hslider__viewport.is-dragging{
  cursor: grabbing;
}

/* Evita selezione testo durante il drag */
.tm-hslider .tm-hslider__viewport.is-dragging,
.tm-hslider .tm-hslider__viewport.is-dragging *{
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* Solo estetica */
.tm-hslider .tm-hslider__viewport{
  cursor: grab;
}
.tm-hslider .tm-hslider__viewport.is-dragging{
  cursor: grabbing;
}

/* La barra custom deve poter ricevere interazioni */
.tm-hslider__bar{
  pointer-events: auto !important;
  cursor: pointer;
}
.tm-hslider__bar > span{
  cursor: grab;
}
.tm-hslider__bar.is-dragging > span{
  cursor: grabbing;
}
.tm-hslider .tm-hslider__viewport > .row-inner,
.tm-hslider .tm-hslider__viewport > .row-container,
.tm-hslider .tm-hslider__viewport .row-inner{
  align-items: stretch !important;
}

.tm-hslider .tm-hslider__item,
.tm-hslider .tm-hslider__item > .vc_column-inner,
.tm-hslider .tm-hslider__item > .vc_column-inner > .wpb_wrapper{
  height: 100% !important;
}


/* Le card devono poter essere “stirate” tutte uguali */
.tm-hslider .tm-hslider__item,
.tm-hslider .tm-hslider__item > .vc_column-inner,
.tm-hslider .tm-hslider__item > .vc_column-inner > .wpb_wrapper{
  height: 100%;
}

/* Uncode wrappers: devono poter crescere */
.tm-hslider .tm-hslider__item .uncol,
.tm-hslider .tm-hslider__item .uncoltable,
.tm-hslider .tm-hslider__item .uncont,
.tm-hslider .tm-hslider__item .uncell{
  height: 100%;
  min-height: 0 !important;
}

/* Variante 4-3-2: SOLO quando c'è la classe tm-hslider--432 */

.tm-hslider.tm-hslider--432 .tm-hslider__viewport .tm-hslider__item{
  flex-basis: calc((100% - (18px * 3)) / 4) !important; /* desktop: 4 */
}

@media (max-width: 959px){
  .tm-hslider.tm-hslider--432 .tm-hslider__viewport .tm-hslider__item{
    flex-basis: calc((100% - (18px * 2)) / 3) !important; /* tablet: 3 */
  }
}

@media (max-width: 569px){
  .tm-hslider.tm-hslider--432 .tm-hslider__viewport .tm-hslider__item{
    flex-basis: calc((100% - 18px) / 2) !important; /* mobile: 2 */
  }
}

/* Centra usando l’altezza delle slide */
.tm-hslider{
  --tm-slider-h: 0px;
}

.tm-hslider__btn{
  top: calc(var(--tm-slider-h) / 2);
  transform: translateY(-50%);
}

/* === FIX: featured image a destra non deve crescere con il testo === */
/* Fallback senza :has() — nasconde la seconda colonna (immagine) */
/* SINGLE POST: elimina la colonna immagine nella hero row (tutte le risoluzioni) */
/* === SINGLE POST: rimuovi la colonna "featured image" nel primo blocco (#row-unique-0) === */
body.single-post .vc_row#row-unique-0 .row.unequal > .wpb_row.row-inner > .wpb_column:nth-child(2){
  display: none !important;
}

/* testo a tutta larghezza */
body.single-post .vc_row#row-unique-0 .row.unequal > .wpb_row.row-inner > .wpb_column{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* rimuove il max-width inline del contenuto testo */
body.single-post .vc_row#row-unique-0 .row.unequal .uncont[style*="max-width"]{
  max-width: none !important;
  width: 100% !important;
}



