.elementor-1005 .elementor-element.elementor-element-15a5094{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1005 .elementor-element.elementor-element-17d65b6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--margin-top:0px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-1005 .elementor-element.elementor-element-17d65b6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1005 .elementor-element.elementor-element-b5205cf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:15px 15px 15px 15px;}.elementor-1005 .elementor-element.elementor-element-b5205cf:not(.elementor-motion-effects-element-type-background), .elementor-1005 .elementor-element.elementor-element-b5205cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ae79d28 );}.elementor-1005 .elementor-element.elementor-element-b061cce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1005 .elementor-element.elementor-element-33baba6{--grid-columns:3;--auto-scroll-offset:100px;}.elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-1005 .elementor-element.elementor-element-33baba6 .e-loop-item > .elementor-section, .elementor-1005 .elementor-element.elementor-element-33baba6 .e-loop-item > .elementor-section > .elementor-container, .elementor-1005 .elementor-element.elementor-element-33baba6 .e-loop-item > .e-con, .elementor-1005 .elementor-element.elementor-element-33baba6 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-pagination{text-align:center;}body:not(.rtl) .elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-1005 .elementor-element.elementor-element-33baba6 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1005 .elementor-element.elementor-element-b5205cf{--width:25%;}.elementor-1005 .elementor-element.elementor-element-b061cce{--width:80%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1005 .elementor-element.elementor-element-b061cce{--width:100%;}}@media(max-width:1024px){.elementor-1005 .elementor-element.elementor-element-17d65b6{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1005 .elementor-element.elementor-element-b061cce{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1005 .elementor-element.elementor-element-33baba6{--grid-columns:2;--grid-row-gap:25px;--grid-column-gap:20px;}}@media(max-width:767px){.elementor-1005 .elementor-element.elementor-element-b061cce{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1005 .elementor-element.elementor-element-92bb07b{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;}.elementor-1005 .elementor-element.elementor-element-33baba6{--grid-columns:1;}}/* Start custom CSS for shortcode, class: .elementor-element-af39cd7 *//* --- 1. CONTENITORE PRINCIPALE --- */
.main-search-wrapper {
    background: #fff;
    padding: 10px 10px;
    border-radius: 60px; /* Effetto pillola */
    box-shadow: 0 10px 10px rgba(0,0,0,0.05); /* Ombra morbida */
    font-family: 'Poppins', sans-serif !important;
    width: 100%;
    margin: 30px auto;
    border: 1px solid #f0f0f0;
}

/* --- 2. FORM LAYOUT --- */
.geo-search-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* --- 3. BLOCCHI DI INPUT --- */
.input-box {
    flex: 1;
    padding: 5px 25px;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* NUOVE PROPORZIONI: 30% + 50% + 8% + 12% bottoni = 100% */
.flex-cosa-cerchi {
    flex: 0 0 30% !important;
    padding: 5px 20px !important;
}

.flex-dove {
    flex: 0 0 50% !important;
    padding: 5px 20px !important;
}

.flex-raggio {
    flex: 0 0 8% !important;
    padding: 5px 10px !important;
}

.flex-raggio select {
    font-size: 12px !important;
    padding: 5px 2px 5px 0 !important;
    text-align: center;
}

/* Linea di separazione tra i blocchi */
.border-right {
    border-right: 1px solid #eee;
}

.input-box label {
    font-size: 11px;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 2px;
    letter-spacing: 0.5px;
}

.input-box input, 
.input-box select {
    border: none !important;
    outline: none !important;
    font-size: 14px;
    color: #555;
    padding: 5px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100%;
}

.input-box input::placeholder {
    color: #aaa;
}

/* --- 4. AUTOCOMPLETE & LOCALIZZAZIONE --- */
.autocomplete-container {
    display: flex;
    align-items: center;
    width: 100%;
}

.locate-me{
  width:44px;
  height:44px;
  border:none !important;
  border-radius:999px;
  background:#ffffff !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  transition:all .18s ease;
  appearance:none;
  -webkit-appearance:none;
}

.locate-me:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.locate-me:focus,
.locate-me:active{
  outline:none !important;
}

.locate-me-icon{
  width:22px;
  height:22px;
  display:block;
}

.locate-me-icon path{
  fill:#1a73e8;
  transition:fill .18s ease;
}

.locate-me-dot{
  fill:#ffffff;
  transition:fill .18s ease;
}

/* stato attivo vero */
.locate-me.is-active,
.locate-me[aria-pressed="true"]{
  background:#1a73e8 !important;
  box-shadow:0 8px 20px rgba(26,115,232,.28);
}

.locate-me.is-active .locate-me-icon path,
.locate-me[aria-pressed="true"] .locate-me-icon path{
  fill:#ffffff;
}

.locate-me.is-active .locate-me-dot,
.locate-me[aria-pressed="true"] .locate-me-dot{
  fill:#dbeafe;
}

/* --- 5. PULSANTI CERCA E RESET --- */
.search-actions {
    flex: 0 0 12% !important; /* Spazio dedicato ai bottoni */
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    padding: 5px 8px;
}

.btn-reset {
    background: transparent;
    border: 1px solid #ddd;
    color: #999;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.btn-reset span:last-child {
    display: none; /* Nascondi la scritta "Resetta", mostra solo la X */
}

.btn-reset:hover {
    background: #ff4444;
    border-color: #ff4444;
    color: white;
    transform: rotate(90deg);
}

.submit-search {
    background: #0b235b;
    color: #fff !important;
    border: none;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
    flex-shrink: 0;
    white-space: nowrap;
}

.submit-search:hover {
    background: #000;
    box-shadow: 0 5px 15px rgba(11, 35, 91, 0.3);
    transform: translateY(-1px);
}

/* --- 6. ADATTAMENTO MOBILE --- */
@media (max-width: 991px) {
    .main-search-wrapper {
        border-radius: 25px;
        padding: 20px;
    }
    
    .geo-search-form {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .input-box,
    .flex-cosa-cerchi,
    .flex-dove,
    .flex-raggio {
        width: 100% !important;
        flex: 0 0 100% !important;
        border-right: none;
        border-bottom: 1px solid #eee;
        padding: 15px 0 !important;
    }
    
    .search-actions {
        width: 100%;
        flex: 0 0 100% !important;
        justify-content: space-between;
        margin-top: 20px;
    }
    
    .btn-reset {
        flex: 0 0 auto;
    }
    
    .submit-search {
        flex: 1;
        margin-left: 10px;
        padding: 15px;
    }
}

/* --- 7. GOOGLE AUTOCOMPLETE STYLING --- */
/* Forza il colore del testo e la visibilità dei suggerimenti di Google */
.pac-container {
    background-color: #fff !important;
    z-index: 99999 !important; /* Più alto di tutto */
    border-radius: 8px;
    border-top: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.pac-item {
    padding: 10px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif !important;
    color: #333 !important; /* Testo visibile */
    line-height: 20px;
}

.pac-item:hover {
    background-color: #f8f9fa;
}

.pac-item-query {
    font-size: 14px !important;
    color: #000 !important; /* Nome via visibile */
}

/* Nasconde la scritta "Powered by Google" se vuoi pulizia estrema (opzionale) */
.pac-logo:after {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e3c5209 *//* =========================
   FILTRI STRUTTURE / ASSISTENTI
   ========================= */

/* --- 1. WRAPPER --- */
.wrapper-filtri-strutture{
  font-family: 'Poppins', sans-serif !important;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 20px 0;
}

.wrapper-filtri-strutture *,
.wrapper-filtri-strutture *::before,
.wrapper-filtri-strutture *::after{
  box-sizing: border-box;
}

/* --- 2. AZIONI --- */
.filtri-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.apply-filtri{
  background: #0b235b !important;
  color: #fff !important;
  border: none;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  font-family: 'Poppins', sans-serif !important;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.apply-filtri:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.reset-totale{
  background: #fff !important;
  border: 1px solid rgba(11,35,91,.18);
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif !important;
}

.reset-totale a,
.reset-totale a:visited{
  color: #0b235b !important;
  text-decoration: none !important;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
}

/* --- 3. GRUPPO --- */
.gruppo-filtro{
  padding: 12px 10px;
  border-radius: 16px;
  border: 1px solid rgba(11,35,91,.14);
}

.gruppo-filtro h5{
  margin: 0 0 12px 0 !important;
  font-size: 18px;
  font-weight: 500;
  color: #000;
  text-transform: none;
}

/* --- 4. LISTA: VERTICALE --- */
.lista-link{
  width: 100%;
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* --- 5. ITEM FILTRO --- */
.filtro-item,
.filtro-item:visited{
  position: relative;
  width: 100% !important;
  min-width: 0;
  padding: 10px 12px;

  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: stretch !important;
  column-gap: 10px !important;

  background: #fff;
  border: 1px solid rgba(11,35,91,.18);
  border-radius: 14px;

  text-decoration: none !important;
  font-size: 14px;
  font-weight: 400;
  color: #0b2a4a !important;
  text-align: left !important;
  line-height: 1.25;

  white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
  word-break: break-word;

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

/* Quadratino */
.filtro-item::before{
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 2px solid rgba(11,35,91,.35);
  background: #fff;
  margin-top: 1px;
}

/* Spunta */
.filtro-item::after{
  content: "";
  position: absolute;
  left: 17px;
  top: 17px;
  width: 8px;
  height: 4px;
  border-left: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: rotate(-45deg);
  transform-origin: center;
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}

/* Hover / focus */
.filtro-item:hover,
.filtro-item:focus{
  background: #f5f7ff !important;
  border-color: rgba(11,35,91,.32);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
  transform: translateY(-1px);
  outline: none;
}

/* Attivo */
.filtro-item.is-active,
.filtro-item.is-active:visited{
  background: rgba(11,35,91,.06) !important;
  border-color: rgba(11,35,91,.55);
  color: #0b235b !important;
  font-weight: 600;
}

.filtro-item.is-active::before{
  background: #0b235b;
  border-color: #0b235b;
}

.filtro-item.is-active::after{
  opacity: 1;
  border-left-color: #fff;
  border-bottom-color: #fff;
}

/* --- 6. MOSTRA ALTRI --- */
.toggle-mostra{
  width: 100% !important;
  background: transparent !important;
  border: 1px dashed rgba(11,35,91,.35) !important;
  color: #0b235b !important;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight:500;
  cursor: pointer;
  text-transform: none;
  box-shadow: none !important;
  transform: none !important;
}

.toggle-mostra::before,
.toggle-mostra::after{
  display: none !important;
}

/* --- 7. VISIBILITÀ --- */
.filtro-item.is-hidden{
  display: none !important;
}

.lista-link.is-expanded .filtro-item.is-hidden{
  display: grid !important;
  animation: fadeIn .25s ease forwards;
}

@keyframes fadeIn{
  from{
    opacity: 0;
    transform: translateY(4px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-92bb07b *//* =========================
   TICUROIO - MOBILE FILTER MODAL PREMIUM
   ========================= */

.ticuroio-mobile-filter-bar,
.ticuroio-mobile-filter-modal {
  display: none;
}

/* Pulsante apertura */
.ticuroio-filter-open {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid #d8e4f3;
  border-radius: 18px;
  background: #ffffff;
  color: #123e91;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(18, 62, 145, 0.08);
  transition: all 0.25s ease;
}

.ticuroio-filter-open:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(18, 62, 145, 0.12);
}

.ticuroio-filter-open-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ticuroio-filter-open-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d4fb8, #2b6fdc);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ticuroio-filter-open-icon svg {
  width: 18px;
  height: 18px;
}

.ticuroio-filter-open-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0d4fb8;
  font-size: 13px;
  font-weight: 700;
}

/* Modal */
.ticuroio-mobile-filter-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.ticuroio-mobile-filter-overlay {
  position: absolute;
  inset: 0;
  background: rgba(9, 25, 61, 0.45);
  backdrop-filter: blur(2px);
}

.ticuroio-mobile-filter-dialog {
  position: absolute;
  inset: 0;
  background: #f7fbff;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.ticuroio-mobile-filter-modal.is-open .ticuroio-mobile-filter-dialog {
  transform: translateY(0);
}

/* Header fisso */
.ticuroio-mobile-filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 16px;
  background: #ffffff;
  border-bottom: 1px solid #dfe8f3;
  box-shadow: 0 4px 12px rgba(18, 62, 145, 0.05);
  flex-shrink: 0;
}

.ticuroio-mobile-filter-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ticuroio-mobile-filter-title-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d4fb8, #2b6fdc);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ticuroio-mobile-filter-title-icon svg {
  width: 18px;
  height: 18px;
}

.ticuroio-mobile-filter-title {
  color: #123e91;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
}

.ticuroio-mobile-filter-subtitle {
  margin-top: 4px;
  color: #6b7a90;
  font-size: 13px;
  line-height: 1.3;
}

/* .ticuroio-mobile-filter-close {
  width: 42px;
  height: 42px;
  border: 1px solid #d8e4f3;
  border-radius: 14px;
  background: #ffffff;
  color: #123e91;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
} */

.ticuroio-mobile-filter-close {
  width: 42px;
  height: 42px;
  border: 1px solid #d8e4f3;
  border-radius: 14px;
  background: #ffffff;
  color: #123e91;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
}

.ticuroio-mobile-filter-close > * {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ticuroio-mobile-filter-close:hover {
  background: #f3f8ff;
  border-color: #c9dbf3;
}

.ticuroio-mobile-filter-close:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(13, 79, 184, 0.12);
}

/* Corpo scrollabile */
.ticuroio-mobile-filter-body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 14px 14px 110px 14px;
}

.ticuroio-mobile-filter-content {
  min-height: 100%;
}

/* =========================
   TICUROIO - MOBILE FILTER MODAL PREMIUM (FOOTER FIX)
   ========================= */

/* Footer fisso migliorato */
.ticuroio-mobile-filter-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding: 14px;
  background: rgba(255,255,255,0.96);
  border-top: 1px solid #dfe8f3;
  box-shadow: 0 -8px 20px rgba(18, 62, 145, 0.08);
  backdrop-filter: blur(8px);
  z-index: 10;
}

/* Bottoni footer */
.ticuroio-mobile-filter-footer-close,
.ticuroio-mobile-filter-footer-reset,
.ticuroio-mobile-filter-footer-apply {
  height: 48px;
  border-radius: 16px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}

/* Chiudi */
.ticuroio-mobile-filter-footer-close {
  background: #ffffff;
  color: #123e91;
  border: 1px solid #d8e4f3;
}

/* Reset */
.ticuroio-mobile-filter-footer-reset {
  background: #f1f6ff;
  color: #0d4fb8;
  border: 1px solid #d8e4f3;
}

/* Applica */
.ticuroio-mobile-filter-footer-apply {
  background: #0d4fb8;
  color: #ffffff;
  border: 1px solid #0d4fb8;
  box-shadow: 0 8px 18px rgba(13, 79, 184, 0.22);
}

/* Hover */
.ticuroio-mobile-filter-footer-apply:hover {
  transform: translateY(-1px);
}

.ticuroio-mobile-filter-footer-reset:hover,
.ticuroio-mobile-filter-footer-close:hover {
  background: #eef4ff;
}

/* Padding bottom per evitare overlap */
.ticuroio-mobile-filter-body {
  padding-bottom: 130px !important;
}

/* =========================
   NASCONDI AZIONI ORIGINALI SHORTCODE (SOLO MOBILE)
   ========================= */

@media (max-width: 1024px) {

  .ticuroio-mobile-filter-content .filtri-actions {
    display: none !important;
  }

  .ticuroio-mobile-filter-content .apply-filtri,
  .ticuroio-mobile-filter-content .reset-totale {
    display: none !important;
  }

}

/* =========================
   FIX LARGHEZZE CONTENUTO
   ========================= */

@media (max-width: 1024px) {
  .ticuroio-mobile-filter-content .ticuroio-filter-panel,
  .ticuroio-mobile-filter-content .ticuroio-filter-panel * {
    max-width: 100% !important;
    box-sizing: border-box;
  }
}

/* =========================
   MOBILE SMALL TWEAK
   ========================= */

@media (max-width: 767px) {

  .ticuroio-mobile-filter-footer {
    padding: 12px;
    gap: 8px;
  }

  .ticuroio-mobile-filter-footer-close,
  .ticuroio-mobile-filter-footer-reset,
  .ticuroio-mobile-filter-footer-apply {
    height: 46px;
    font-size: 13px;
    border-radius: 14px;
  }

}
/* contenuto filtri dentro modal */
.ticuroio-mobile-filter-content .ticuroio-filter-panel {
  display: block !important;
  margin: 0 !important;
}

/* blocca scroll body */
body.ticuroio-filter-lock {
  overflow: hidden;
}

/* mobile/tablet */
@media (max-width: 1024px) {
  .ticuroio-mobile-filter-bar {
    display: block;
    margin: 0 0 18px 0;
  }

  .ticuroio-mobile-filter-modal {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }

  .ticuroio-mobile-filter-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .ticuroio-filter-panel {
    display: none !important;
  }
}

/* desktop */
@media (min-width: 1025px) {
  .ticuroio-filter-panel {
    display: block !important;
  }
}

/* extra safety per larghezze interne */
@media (max-width: 1024px) {
  .ticuroio-mobile-filter-content .ticuroio-filter-panel,
  .ticuroio-mobile-filter-content .ticuroio-filter-panel * {
    max-width: 100% !important;
    box-sizing: border-box;
  }
}

/* piccoli schermi */
@media (max-width: 767px) {
  .ticuroio-filter-open {
    padding: 13px 16px;
    border-radius: 16px;
  }

  .ticuroio-mobile-filter-header {
    padding: 16px 14px;
  }

  .ticuroio-mobile-filter-body {
    padding: 12px 12px 108px 12px;
  }

  .ticuroio-mobile-filter-footer {
    padding: 12px;
  }

  .ticuroio-mobile-filter-footer-close,
  .ticuroio-mobile-filter-footer-apply {
    height: 46px;
    font-size: 14px;
  }
}
/* =========================
   TICUROIO FILTER BADGE PRO
   ========================= */

.ticuroio-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* badge blu */
.ticuroio-filter-count-badge {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #0d4fb8;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 4px 10px rgba(13, 79, 184, 0.25);
  transition: all 0.25s ease;
}

/* quando visibile */
.ticuroio-filter-count-badge.is-visible {
  display: inline-flex;
}

/* animazione */
.ticuroio-filter-count-badge.is-animating {
  transform: scale(1.25);
  box-shadow: 0 6px 14px rgba(13, 79, 184, 0.35);
}
/* =========================
   FILTRO CHIUSO - VERSIONE LIGHT
   ========================= */

.ticuroio-filter-open {
  background: #f3f8ff !important;
  border: 1px solid #d6e6ff !important;
  color: #2b4f8a !important;
  box-shadow: 0 4px 12px rgba(13, 79, 184, 0.05) !important;
}

/* icona leggermente più soft */
.ticuroio-filter-open-icon {
  background: linear-gradient(135deg, #6fa9ff, #9fc5ff) !important;
}

/* badge "Apri" più delicato */
.ticuroio-filter-open-badge {
  background: #eaf2ff !important;
  color: #3d6fb6 !important;
}

/* hover leggerissimo */
.ticuroio-filter-open:hover {
  background: #eaf2ff !important;
  box-shadow: 0 6px 14px rgba(13, 79, 184, 0.08) !important;
}

@media (max-width: 768px) {
  body.ticuroio-filters-open .iubenda-cs-floating-button,
  body.ticuroio-filters-open .iubenda-tp-btn,
  body.ticuroio-filters-open #iubenda-cs-banner-btn,
  body.ticuroio-filters-open .iubenda-uspr-btn,
  body.ticuroio-filters-open [id*="iubenda"],
  body.ticuroio-filters-open [class*="iubenda"] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8456cc3 *//* ===== TICUROIO MOBILE FILTER TOGGLE ===== */

.ticuroio-mobile-filter-bar {
  display: none;
}

.ticuroio-filter-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid #d7e4f4;
  border-radius: 18px;
  background: #ffffff;
  color: #123e91;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(18, 62, 145, 0.08);
  transition: all 0.25s ease;
}

.ticuroio-filter-toggle:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(18, 62, 145, 0.12);
}

.ticuroio-filter-toggle-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ticuroio-filter-toggle-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d4fb8, #2b6fdc);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ticuroio-filter-toggle-icon svg {
  width: 18px;
  height: 18px;
}

.ticuroio-filter-toggle-text {
  display: inline-block;
}

.ticuroio-filter-toggle-plus {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0d4fb8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

/* stato aperto */
.ticuroio-filter-toggle.is-active {
  background: #0d4fb8;
  border-color: #0d4fb8;
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(13, 79, 184, 0.22);
}

.ticuroio-filter-toggle.is-active .ticuroio-filter-toggle-icon {
  background: rgba(255,255,255,0.15);
}

.ticuroio-filter-toggle.is-active .ticuroio-filter-toggle-plus {
  background: rgba(255,255,255,0.18);
  color: #ffffff;
}

/* mobile/tablet */
@media (max-width: 1024px) {
  .ticuroio-mobile-filter-bar {
    display: block;
    margin: 0 0 18px 0;
  }

  .ticuroio-filter-panel {
    display: none;
    margin-bottom: 22px;
    animation: ticuroioFilterSlideDown 0.28s ease;
  }

  .ticuroio-filter-panel.is-open {
    display: block;
  }
}

/* desktop invariato */
@media (min-width: 1025px) {
  .ticuroio-filter-panel {
    display: block !important;
  }
}

@keyframes ticuroioFilterSlideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-33baba6 */@media (max-width: 1024px) and (min-width: 600px) {

  .elementor-loop-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .elementor-loop-container > * {
    width: 100% !important;
  }

}

/* PAGINAZIONE ELEMENTOR - BLUE GRADIENT */

.elementor-pagination,
.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
    flex-wrap: wrap;
}

/* Bottoni */
.elementor-pagination .page-numbers,
.page-numbers a,
.page-numbers span {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: #ffffff;
    color: #0047a9;

    border: 1px solid rgba(0, 71, 169, 0.12);

    font-size: 15px;
    font-weight: 700;
    text-decoration: none;

    transition: all 0.28s ease;

    box-shadow:
        0 4px 12px rgba(0, 71, 169, 0.08);
}

/* Hover */
.elementor-pagination .page-numbers:hover,
.page-numbers a:hover {
    transform: translateY(-3px) scale(1.04);

/*    background: linear-gradient(
        135deg,
        #0047a9 0%,
        #0066f5 100%
   ); */
   
   background: linear-gradient(
        135deg,
        #0047a9 0%,
        #0066f5 100%
   );

    color: #ffffff;

    box-shadow:
        0 12px 30px rgba(0, 71, 169, 0.28);
}

/* Pagina attiva */
.elementor-pagination .page-numbers.current,
.page-numbers .current {
  /*  background: linear-gradient(
        135deg,
        #0047a9 0%,
        #0066f5 100%);*/
        background-color: #0047a9;
    ;

    color: white;
    border: none;

    box-shadow:
        0 10px 28px rgba(0, 71, 169, 0.35);
}

/* Prev / Next */
.page-numbers.prev,
.page-numbers.next {
    width: auto;
    padding: 0 20px;
    border-radius: 999px;
}

/* Mobile */
@media (max-width: 767px) {

    .elementor-pagination,
    .page-numbers {
        gap: 8px;
    }

    .elementor-pagination .page-numbers,
    .page-numbers a,
    .page-numbers span {
        width: 42px;
        height: 42px;
        font-size: 14px;
    }
}

/* Hover */
.elementor-pagination .page-numbers:hover,
.page-numbers a:hover {
    transform: translateY(-3px);
    
  /*  background: #111827; */
  
   background: linear-gradient(
        135deg,
        #0047a9 0%,
        #0066f5 100%);
    color: #ffffff;
    
    box-shadow:
        0 10px 25px rgba(17,24,39,0.18);
}

/* Pagina attiva */
.elementor-pagination .page-numbers.current,
.page-numbers .current {
  /*  background: linear-gradient(135deg, #6366f1, #8b5cf6);*/
    background-color: #0047a9;
    color: white;
    border: none;

    box-shadow:
        0 10px 25px rgba(99,102,241,0.35);
}

/* Frecce */
.page-numbers.prev,
.page-numbers.next {
    width: auto;
    padding: 0 18px;
    border-radius: 999px;
}

/* Mobile */
@media (max-width: 767px) {

    .elementor-pagination,
    .page-numbers {
        gap: 8px;
    }

    .elementor-pagination .page-numbers,
    .page-numbers a,
    .page-numbers span {
        width: 42px;
        height: 42px;
        font-size: 14px;
    }
}/* End custom CSS */