/*!
Theme Name: Outgrid Child
Theme URI: https://uicore.co
Description: Multi-Purpose Elementor WordPress Theme
Author: UiCore
Author URI: https://uicore.co
Template: outgrid
Version: 1.0.0
Text Domain: outgrid
*/

 /* Add your custom style here */


/* ===========================
   HK MGEST – Modern UI
=========================== */
.hk-mgest-wrap{
  --hk-yellow:#ffe5a0;
  --hk-card:#f9f9f9;
  --hk-text:#1b1b1b;
  --hk-muted:#64748b;
  --hk-border:rgba(15,23,42,.10);
  --hk-border-strong:rgba(15,23,42,.14);
  --hk-radius:18px;
  --hk-shadow:0 12px 30px rgba(2,6,23,.08);
  --hk-shadow-soft:0 8px 22px rgba(2,6,23,.06);
  --hk-gap:18px;

  font-family: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--hk-text);
}
.hk-mgest-wrap *{ box-sizing: border-box; }

/* ===========================
   FILTRI (barra superiore)
=========================== */
div#wp_mgest_risultati{ display:grid; }

.hk-mgest-wrap > div > div:first-child{
  gap:10px 12px;
  align-items:center;
  padding:14px;
  background:#fff;
  margin-bottom:18px;
}

.hk-mgest-wrap b{ font-size:20px; color:var(--hk-muted); font-weight:700; }

.hk-mgest-wrap select{
  height:42px;
  border-radius:3px;
  border:1px solid var(--hk-border);
  padding:0 12px;
  background:#fff;
  font-size:14px;
  outline:none;
}
.hk-mgest-wrap select:focus{
  border-color: var(--hk-border-strong);
  box-shadow: 0 0 0 4px rgba(255,229,160,.45);
  margin: 0 16px 0 8px;
}
.hk-mgest-wrap #wp_mgest_inverti{ transform: translateY(1px); }

/* pagination */
.hk-mgest-wrap .wp_mgest_annunci_paginazione{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  align-items:center;
  margin:12px 0;
}
.hk-mgest-wrap .wp_mgest_annunci_paginazione a{
  text-decoration:none;
  color:var(--hk-text);
  font-weight:800;
}

/* ===========================
   TABELLA VECCHIA – reset
=========================== */
.hk-mgest-wrap table.wp_mgest_annunci{ width:100%; border-collapse:collapse; }
.hk-mgest-wrap table.wp_mgest_annunci td{ border:0; padding:0; }
.hk-mgest-is-enhanced table.wp_mgest_annunci{ display:none; }

/* ===========================
   LISTA – GRID 4/2/1
=========================== */
.hk-mgest-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--hk-gap);
}
@media (max-width:1024px){
  .hk-mgest-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width:767px){
  .hk-mgest-grid{ grid-template-columns: 1fr; }
}

.hk-mgest-card{
  background: var(--hk-card);
  border:1px solid var(--hk-border);
  border-radius: 3px;
  box-shadow: var(--hk-shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hk-mgest-card:hover{
  transform: translateY(-2px);
  border-color: var(--hk-border-strong);
  box-shadow: var(--hk-shadow);
}

.hk-mgest-card__media{
  position:relative;
  aspect-ratio: 16 / 10;
  background:#eaeaea;
  overflow:hidden;
  border-bottom:1px solid var(--hk-border);
}
.hk-mgest-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hk-mgest-badge{
  position:absolute;
  top:12px;
  left:12px;
  background: var(--hk-yellow);
  color:#111;
  font-weight:900;
  font-size:12px;
  padding:2px 12px;
  border-radius:3px;
  box-shadow: 0 10px 20px rgba(2,6,23,.10);
}

.hk-mgest-card__body{
  padding: 14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.hk-mgest-price{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.2px;
}

.hk-mgest-card__title{
  font-size:15px;
  line-height:1.25;
  font-weight:900;
  color:var(--hk-text);
  text-decoration:none;
}

.hk-mgest-meta{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  padding-top:10px;
  border-top:1px solid rgba(15,23,42,.08);
}
.hk-mgest-meta__item{
  display:grid;
  justify-content:space-between;
  font-size:13px;
}
.hk-mgest-meta__label{ color:var(--hk-muted); font-weight:700; }

.hk-mgest-actions{ margin-top:6px; }

.hk-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 14px;
  border-radius:3px;
  border:1px solid #0f172a;
  font-weight:900;
  font-size:14px;
  text-decoration:none;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.hk-btn--primary{
  width:100%;
  background:#1b1b1b;
  color:#fff;
}
.hk-btn--primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(2,6,23,.12);
  background-color: #ffffff;
}

.wp_mgest_annunci_trovati{ margin-top:30px; }

/* ===========================
   MGEST – SINGOLA: layout PRO (TITLE FULL WIDTH + SLIDER SX)
=========================== */

/* contenitore singola */
.hk-mgest-wrap .wp_mgest_mainad{
  width:100%;
  margin:0 auto;
  padding: 12px 0 40px;
}

/* griglia: titolo full width, poi slider a sx e info a dx */
.hk-mgest-wrap .wp_mgest_main_sub_ad{
  display:grid !important;
  grid-template-columns: 1.25fr .75fr !important;
  grid-template-areas:
    "title title"
    "slider info" !important;
  gap:24px !important;
  align-items:start !important;
}

/* titolo full width */
.hk-mgest-wrap .wp_mgest_main_sub_ad > .title{
  grid-area: title !important;
  display:block;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.4px;
  margin: 6px 0 10px;
}

/* slider a sinistra */
.hk-mgest-wrap .wp_mgest_slider_ad{
  grid-area: slider !important;
  background:#fff;
  border:1px solid var(--hk-border);
  border-radius:3px;
  box-shadow: var(--hk-shadow-soft);
  padding:0 !important;
  overflow:hidden !important;
	width: 100%;
    height: 560px;	
}

/* info a destra */
.hk-mgest-wrap .wp_mgest_list_ad{
  grid-area: info !important;
  background:#fff;
  border:1px solid var(--hk-border);
  border-radius:3px;
  box-shadow: var(--hk-shadow-soft);
  padding:18px;
  position: sticky;
  top:110px;
  width:100%;
}

/* prezzo pill */
.hk-mgest-wrap .wp_mgest_list_ad .price{
  display:inline-flex;
  align-items:center;
  background: var(--hk-yellow);
  padding:12px 16px;
  border-radius:3px;
  font-weight:400;
  font-size:40px;
  margin:0 0 14px;
}

/* griglia info nella card */
.hk-mgest-wrap .wp_mgest_list_ad_items{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  padding:0;
  margin: 6px 0 0;
  list-style:none;
}
.hk-mgest-wrap .wp_mgest_list_ad_items li{
  border-radius:3px;
  padding:12px;
  background:#fff;
  border:1px solid var(--hk-border);
  box-shadow: 0 10px 24px rgba(2,6,23,.06);
  line-height:1.25;
}
.hk-mgest-wrap .wp_mgest_list_ad_items li b{
  display:block;
  font-size:12px;
  margin-bottom:6px;
  color:var(--hk-muted);
  font-weight:800;
}
.hk-mgest-wrap .wp_mgest_list_ad_items li span{
  display:block;
  font-weight:900;
  color:var(--hk-text);
}
.hk-mgest-wrap .wp_mgest_list_ad_items .wp_mgest_nolist{ display:none !important; }

.wp_mgest_main_info{ float:none; margin-top:25px; margin-bottom: -23px;}

/* Tabs */
.hk-mgest-wrap #wp_mgest_tab-container{ margin-top:26px; }
.hk-mgest-wrap .wp_mgest_ul_tabs{
  display:flex;
  gap:12px;
  padding:0;
  margin:0 0 14px;
  list-style:none;
  flex-wrap:wrap;
}
.hk-mgest-wrap .wp_mgest_ul_tabs a{
  display:inline-flex;
  align-items:center;
  height:44px;
  padding:0 16px;
  border-radius:2px 2px 0 0;
  text-decoration:none;
  background:#fff;
  border:1px solid var(--hk-border);
  color:var(--hk-text);
  font-weight:900;
  font-size:14px;
}
.hk-mgest-wrap .wp_mgest_tab.active a{
  background: var(--hk-yellow);
  border-color: transparent;
}

.wp_mgest_tab.active {
 	background: #fff;
    padding-top: 0px;
    position: relative;
    top: 0px;
    border-color: #1b1b1b;
}

.wp_mgest_tab {
    border: none;
}

.hk-mgest-wrap .wp_mgest_panel-container{
  background:#fff;
  border:1px solid var(--hk-border);
  border-radius:0 3px 3px;
  padding:18px;
  box-shadow: var(--hk-shadow-soft);
  line-height:1.65;
  color:#1b1b1b;
}
.hk-mgest-wrap .wp_mgest_panel-container br{
  content:"";
  display:block;
  margin:6px 0;
}
.hk-mgest-wrap .wp_mgest_panel-container ul{
  margin:12px 0 0;
  padding-left:18px;
}
.hk-mgest-wrap .wp_mgest_panel-container li{ margin:6px 0; }

/* Form contatto */
.hk-mgest-wrap h3{
  margin-top:70px;
  font-size:22px;
  font-weight:900;
}
.hk-mgest-wrap #contactform{
  background:#fff;
  border:1px solid var(--hk-border);
  border-radius:3px;
  box-shadow: var(--hk-shadow-soft);
  padding:18px;
  margin-top:18px;
}
.hk-mgest-wrap #contactform p{ margin-bottom:14px; }
.hk-mgest-wrap #contactform label{
  font-weight:900;
  font-size:13px;
  color: var(--hk-muted);
}
.hk-mgest-wrap .wp_mgest_text_contact,
.hk-mgest-wrap .wp_mgest_textarea_contact{
  width:100%;
  border-radius:3px;
  border:1px solid var(--hk-border);
  padding:12px;
  background:#fff;
  font-size:14px;
  outline:none;
}
.hk-mgest-wrap .wp_mgest_text_contact:focus,
.hk-mgest-wrap .wp_mgest_textarea_contact:focus{
  border-color: var(--hk-border-strong);
  box-shadow: 0 0 0 4px rgba(255,229,160,.45);
}
.hk-mgest-wrap .wp_mgest_submit{
  width:100%;
  height:46px;
  border-radius:3px;
  background:#1b1b1b;
  color:#fff;
  font-weight:900;
  border:1px solid #1b1b1b;
  padding:0 18px;
  cursor:pointer;
}

/* ===========================
   FIX JSSOR: slider visibile + full area (NO height:auto)
=========================== */

/* container jssor: deve avere height reale */
.hk-mgest-wrap #slider1_container,
.hk-mgest-wrap .wp_mgest_slider1_container{
  width:100% !important;
  max-width:100% !important;
  height:560px !important;      /* desktop */
  min-height:560px !important;
}

/* wrapper interni devono riempire tutta l'area */
.hk-mgest-wrap #slider1_container > div,
.hk-mgest-wrap .wp_mgest_slider1_container > div,
.hk-mgest-wrap .wp_mgest_slider1_container div[u="slides"]{
  width:100% !important;
  height:100% !important;
}

/* area slides */
.hk-mgest-wrap .wp_mgest_slides_ad{
  width:100% !important;
  height:100% !important;
}

/* immagini: cover */
.hk-mgest-wrap .wp_mgest_slider_ad img[u="image"]{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
}

/* responsive slider */
@media (max-width:1024px){
  .hk-mgest-wrap .wp_mgest_main_sub_ad{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "slider"
      "info" !important;
  }
  .hk-mgest-wrap .wp_mgest_list_ad{
    position: static;
    top:auto;
  }
  .hk-mgest-wrap #slider1_container,
  .hk-mgest-wrap .wp_mgest_slider1_container{
    height:380px !important;
    min-height:380px !important;
  }
}
@media (max-width:767px){
  .hk-mgest-wrap #slider1_container,
  .hk-mgest-wrap .wp_mgest_slider1_container{
    height:320px !important;
    min-height:320px !important;
  }
	.hk-mgest-wrap .wp_mgest_slider_ad {
		height: 380px;
	}	
}
/* ===========================
   MGEST – JSSOR FIX (SAFE)  ✅
   (mettere IN FONDO al CSS)
=========================== */

.hk-mgest-wrap .wp_mgest_slider_ad{
  min-width: 0;
  overflow: hidden;
}

/* Il container ha width inline: lo portiamo a 100% */
.hk-mgest-wrap #slider1_container,
.hk-mgest-wrap .wp_mgest_slider1_container{
  width: 100% !important;
  max-width: 100% !important;
  height: 560px !important;      /* desktop */
  position: relative !important;
  overflow: hidden !important;
}

@media (max-width: 1024px){
  .hk-mgest-wrap #slider1_container,
  .hk-mgest-wrap .wp_mgest_slider1_container{
    height: 380px !important;
  }
}

/* Il "u=slides" deve occupare tutta l’area */
.hk-mgest-wrap .wp_mgest_slider_ad [u="slides"],
.hk-mgest-wrap .wp_mgest_slider_ad .wp_mgest_slides_ad{
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* Immagini: cover senza stravolgere le posizioni Jssor */
.hk-mgest-wrap .wp_mgest_slider_ad img[u="image"]{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Frecce: centratura verticale */
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03l,
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03r{
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: block !important;
  opacity: .9;
}

.hk-mgest-wrap .wp_mgest_slider_ad .jssora03l:hover,
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03r:hover{
  opacity: 1;
}
.jssora03l, .jssora03r, .jssora03ldn, .jssora03rdn {
    width: 52px;
    height: 52px;
}

/* ===========================
   FIX FRECCE JSSOR (no sprite / no doppia freccia)
   (mettere IN FONDO al CSS)
=========================== */

.hk-mgest-wrap .wp_mgest_slider_ad{
  position: relative !important;
}

/* Il container slider deve essere “clickable” */
.hk-mgest-wrap #slider1_container,
.hk-mgest-wrap .wp_mgest_slider1_container{
  position: relative !important;
}

/* Reset totale skin jssora03 (evita freccia extra su hover) */
.hk-mgest-wrap #slider1_container .jssora03l,
.hk-mgest-wrap #slider1_container .jssora03r{
  display: flex !important;
  align-items: center;
  justify-content: center;

  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 46px !important;
  height: 46px !important;
  border-radius: 3px !important;

  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  box-shadow: 0 12px 26px rgba(2,6,23,.18) !important;

  z-index: 9999 !important;
  cursor: pointer !important;

  /* IMPORTANTISSIMO: disattiva qualsiasi sprite/immagine della skin */
  background-image: none !important;
  background-position: initial !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
}

/* posizionamento sx/dx */
.hk-mgest-wrap #slider1_container .jssora03l{ left: 14px !important; }
.hk-mgest-wrap #slider1_container .jssora03r{ right: 14px !important; }

/* icone custom (niente doppie frecce) */
.hk-mgest-wrap #slider1_container .jssora03l::before,
.hk-mgest-wrap #slider1_container .jssora03r::before{
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 3px solid #1b1b1b !important;
  border-bottom: 3px solid #1b1b1b !important;
  display: block !important;
}

.hk-mgest-wrap #slider1_container .jssora03l::before{
  transform: rotate(135deg) !important; /* < */
  margin-left: 2px !important;
}
.hk-mgest-wrap #slider1_container .jssora03r::before{
  transform: rotate(-45deg) !important; /* > */
  margin-right: 2px !important;
}

/* stati hover/active */
.hk-mgest-wrap #slider1_container .jssora03l:hover,
.hk-mgest-wrap #slider1_container .jssora03r:hover{
  background: rgba(255,255,255,.92) !important;
}

.hk-mgest-wrap #slider1_container .jssora03l:active,
.hk-mgest-wrap #slider1_container .jssora03r:active{
  transform: translateY(-50%) scale(.98) !important;
}

/* evita che altri layer “coprano” le frecce */
.hk-mgest-wrap #slider1_container [u="slides"],
.hk-mgest-wrap #slider1_container .wp_mgest_slides_ad{
  z-index: 1 !important;
}

.hk-mgest-wrap #slider1_container .jssora03l,
.hk-mgest-wrap #slider1_container .jssora03r{
  pointer-events: auto !important;
}
/* MGEST Slider – Fix frecce cliccabili */
.hk-mgest-wrap .wp_mgest_slider_ad{
  position: relative;
}

.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowleft"],
.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowright"]{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 9999 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  display: block !important;
  opacity: 1 !important;
}

/* se Jssor mette display:none a volte, lo contrastiamo */
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03l,
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03r{
  display: block !important;
  pointer-events: auto !important;
  z-index: 9999 !important;
}

/* (opzionale) aumenta area cliccabile */
.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowleft"],
.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowright"]{
  width: 56px !important;
  height: 56px !important;
  border-radius: 3px !important;
}
.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowleft"],
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03l{
  left: 14px !important;
}

.hk-mgest-wrap .wp_mgest_slider_ad [u="arrowright"],
.hk-mgest-wrap .wp_mgest_slider_ad .jssora03r{
  right: 14px !important;
}
/* ===========================
   MGEST – FIX TAB (100% + toggle)
=========================== */

.hk-mgest-wrap #wp_mgest_tab-container{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.hk-mgest-wrap .wp_mgest_ul_tabs{
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
}

.hk-mgest-wrap .wp_mgest_panel-container{
  width: 100% !important;
  max-width: 100% !important;
  display: none;             /* default: nascosto */
}

.hk-mgest-wrap .wp_mgest_panel-container.active{
  display: block !important; /* mostra solo l’attivo */
}

/* evita "shrink" quando dentro ci sono grid/list */
.hk-mgest-wrap .wp_mgest_panel-container *,
.hk-mgest-wrap .wp_mgest_panel-container ul,
.hk-mgest-wrap .wp_mgest_panel-container li{
  max-width: 100%;
}

/* Wrapper privacy */
#privacycheck {
  margin: 0;
}

#privacycheck + .wp_mgest_textarea_privacy {
  margin-left: 10px;
}

/* ===========================
   MGEST – Contact form: privacy allineata a sinistra
=========================== */

.wp_mgest_textarea_ad_input {
    left: 0px;
}
.wp_mgest_textarea_privacy {
    left: 10px;
    top: 3px;
}

/* ===========================
   HK MGEST – FIX shadow loop (hover stabile con pseudo-layer)
=========================== */

/* niente transizioni “pericolose” */
.hk-mgest-card{
  position: relative;
  border: 1px solid var(--hk-border) !important;
  box-shadow: var(--hk-shadow-soft) !important;
  transform: none !important;
  transition: none !important; /* elimina loop da transition */
  isolation: isolate;          /* evita mix di layer strani */
}

/* layer ombra “hover” (non cambia layout) */
.hk-mgest-card::before{
  content:"";
  position:absolute;
  inset:-10px;                 /* spazio per ombra */
  border-radius: calc(var(--hk-radius) + 10px);
  pointer-events:none;
  opacity: 0;
  transition: opacity .18s ease; /* solo opacity */
  box-shadow: var(--hk-shadow);
  z-index: 0;
}

/* contenuto sopra al layer */
.hk-mgest-card > *{
  position: relative;
  z-index: 1;
}

/* hover: attiva SOLO l’opacità del layer */
.hk-mgest-card:hover::before{
  opacity: 1;
}

/* opzionale: se vuoi anche un “ring” senza cambiare border */
.hk-mgest-card:hover{
  outline: 1px solid var(--hk-border-strong);
  outline-offset: 0;
}

/* ===========================
   MGEST – FILTRI MOBILE (stack pulito)
=========================== */
@media (max-width: 767px){

  /* container filtri (aggiunto via JS) */
  .hk-mgest-wrap .hk-mgest-filters{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  /* label */
  .hk-mgest-wrap .hk-mgest-filters b{
    display: block !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: var(--hk-muted) !important;
  }

  /* select full width sotto al label */
  .hk-mgest-wrap .hk-mgest-filters select{
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }

  /* eventuali &nbsp; */
  .hk-mgest-wrap .hk-mgest-filters br,
  .hk-mgest-wrap .hk-mgest-filters .spacer{
    display:none !important;
  }

  /* inverti su riga propria e allineato a sinistra */
  .hk-mgest-wrap .hk-mgest-filters .hk-inverti{
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin-top: 4px !important;
  }

  .hk-mgest-wrap .hk-mgest-filters .hk-inverti #wp_mgest_inverti{
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .hk-mgest-wrap .hk-mgest-filters .hk-inverti span{
    font-weight: 700;
    color: var(--hk-text);
  }
}

/* ===========================
   HK MGEST – FILTRI DESKTOP (usa .hk-mgest-filters)
=========================== */

.hk-mgest-wrap .hk-mgest-filters{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 14px !important;

  background: #fff;
  border: 1px solid var(--hk-border);
  border-radius: 18px;
  padding: 14px 16px;
}

/* Label (b) più coerenti */
.hk-mgest-wrap .hk-mgest-filters > b{
  font-size: 13px;
  color: var(--hk-muted);
  font-weight: 800;
  margin: 0 2px 0 0;
  white-space: nowrap;
}

/* Select uniformi */
.hk-mgest-wrap .hk-mgest-filters > select{
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--hk-border);
  background: #fff;
  padding: 0 12px;
  font-size: 14px;
  outline: none;
  min-width: 160px;
}

/* focus */
.hk-mgest-wrap .hk-mgest-filters > select:focus{
  border-color: var(--hk-border-strong);
  box-shadow: 0 0 0 4px rgba(255,229,160,.45);
}

/* larghezze “sensate” */
.hk-mgest-wrap .hk-mgest-filters #wp_mgest_id_marca{ min-width: 210px; }
.hk-mgest-wrap .hk-mgest-filters #wp_mgest_id_categoria{ min-width: 170px; }
.hk-mgest-wrap .hk-mgest-filters #wp_mgest_visualizza{ min-width: 90px; }
.hk-mgest-wrap .hk-mgest-filters #wp_mgest_ordina{ min-width: 170px; }

/* elimina effetto degli &nbsp; (non li togli dal DOM, ma neutralizzi l'impatto) */
.hk-mgest-wrap .hk-mgest-filters{
  word-spacing: 0;
}

/* Toggle inverti (ora è in <label class="hk-inverti">…</label>) */
.hk-mgest-wrap .hk-mgest-filters .hk-inverti{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: 6px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--hk-border);
  background: #fff;
  user-select: none;
}

.hk-mgest-wrap .hk-mgest-filters .hk-inverti input{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #0f172a;
}

.hk-mgest-wrap .hk-mgest-filters .hk-inverti span{
  font-size: 13px;
  font-weight: 900;
  color: var(--hk-text);
}

/* Desktop: tieni la pill "inverti" più a destra quando c'è spazio */
@media (min-width: 1025px){
  .hk-mgest-wrap .hk-mgest-filters .hk-inverti{
    margin-left: auto;
  }
}

/* ===========================
   UIcore Mobile Menu – Fix testo invisibile
=========================== */

/* Pannello menu mobile: assicurati che lo sfondo sia chiaro */
.uicore-mobile-menu-wrapper .uicore-navigation-content{
  background: #fff !important;
}

/* Link del menu: colore + visibilità */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a:visited{
  color: #1b1b1b !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Testo reale (span wrapper): spesso è qui che viene “azzerato” */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a .ui-menu-item-wrapper{
  color: #1b1b1b !important;
  opacity: 1 !important;
  visibility: visible !important;

  /* in alcuni temi il testo diventa trasparente con text-fill */
  -webkit-text-fill-color: #1b1b1b !important;

  /* evita che qualche transform/scale lo renda “sparito” */
  transform: none !important;
}

/* Stato corrente / hover */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li.current-menu-item > a,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li > a:hover{
  color: #1b1b1b !important;
}

.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li.current-menu-item > a .ui-menu-item-wrapper,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li > a:hover .ui-menu-item-wrapper{
  color: #1b1b1b !important;
  -webkit-text-fill-color: #1b1b1b !important;
}

/* Se per caso UIcore usa un overlay sopra che “sbianca” il testo */
.uicore-mobile-menu-wrapper .uicore-navigation-content *{
  mix-blend-mode: normal !important;
}

.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a{
  color: #1b1b1b !important;
  font-size: 16px !important;
}

.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a .ui-menu-item-wrapper{
  color: #1b1b1b !important;
  font-size: 16px !important;
}

/* =========================================
   OUTGRID / UICORE – FIX MENU MOBILE TESTO INVISIBILE
========================================= */

/* Pannello mobile: sfondo bianco */
.uicore-mobile-menu-wrapper .uicore-navigation-content{
  background: #fff !important;
}

/* Link del menu (a) */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a:visited{
  color: #1b1b1b !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
}

/* Il testo reale sta qui (span wrapper) */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu a .ui-menu-item-wrapper{
  color: #1b1b1b !important;
  opacity: 1 !important;
  visibility: visible !important;

  /* casi in cui il tema usa text-fill per rendere "trasparente" */
  -webkit-text-fill-color: #1b1b1b !important;

  /* evita effetti strani */
  text-shadow: none !important;
}

/* Stato attivo / hover */
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li.current-menu-item > a,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li > a:hover{
  color: #1b1b1b !important;
}
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li.current-menu-item > a .ui-menu-item-wrapper,
.uicore-mobile-menu-wrapper .uicore-navigation-content .uicore-menu li > a:hover .ui-menu-item-wrapper{
  color: #1b1b1b !important;
  -webkit-text-fill-color: #1b1b1b !important;
}

/* se qualche stile mette "blend" e lo fa sparire su fondo bianco */
.uicore-mobile-menu-wrapper .uicore-navigation-content *{
  mix-blend-mode: normal !important;
}
