.cp-crm-public-filters{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(120px,.8fr) auto;
  gap:12px;
  margin:0 0 28px;
  align-items:stretch;
}
.cp-crm-public-filters.is-stacked{
  grid-template-columns:1fr;
}
.cp-archive-public-filters{
  grid-template-columns:minmax(240px,2fr) repeat(auto-fit,minmax(150px,1fr));
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.cp-crm-public-filters .cp-filter-field,
.cp-crm-public-filters .cp-filter-actions{
  min-width:0;
}
.cp-crm-public-filters input,
.cp-crm-public-filters select{
  width:100%;
  max-width:100%;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid rgba(11,31,51,.18);
  background:#fff;
  color:#0B1F33;
  padding:0 14px;
  box-shadow:none;
  outline:none;
  /* Molti temi e Elementor impostano "font: inherit" sui campi dei form:
     senza questa riga le tendine ereditavano il grassetto del contenitore.
     Resta comunque sovrascrivibile da Stile -> Campi ricerca -> Tipografia. */
  font-weight:400;
}

/* Safari/iOS assegna ai campi data una larghezza minima nativa che può
   allargare la colonna del form oltre il viewport. Il controllo resta nativo,
   ma viene vincolato alla larghezza realmente disponibile nel widget. */
.cp-archive-public-filters .cp-filter-date,
.cp-archive-public-filters .cp-filter-date input[type="date"]{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.cp-archive-public-filters .cp-filter-date-range{
  display:contents;
}
.cp-archive-public-filters .cp-filter-date-label{
  display:none;
}
.cp-crm-public-filters input:focus,
.cp-crm-public-filters select:focus{
  border-color:#B3122A;
  box-shadow:0 0 0 1px rgba(179,18,42,.15);
}
.cp-filter-actions{
  display:flex;
  gap:10px;
  align-items:stretch;
}
.cp-filter-submit{
  min-height:48px;
  border:0;
  background:#B3122A;
  color:#fff;
  font-weight:700;
  padding:0 22px;
  cursor:pointer;
  transition:background-color .22s ease,color .22s ease,transform .22s ease;
}
.cp-filter-submit:hover{
  background:#7A0F22;
  color:#fff;
}
.cp-filter-reset{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  color:#0B1F33;
  text-decoration:none;
  font-weight:600;
}
.cp-filter-reset:hover{
  color:#B3122A;
}
.cp-crm-grid-public{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.cp-crm-member-card{
  background:#F8F4EA;
  border-left:4px solid #B3122A;
  padding:24px;
  box-shadow:0 10px 26px rgba(11,31,51,.08);
}
.cp-crm-member-card h3{margin:0 0 10px;color:#0B1F33;font-size:22px}
.cp-crm-member-card p{margin:0 0 8px;color:#242424}
.cp-crm-member-card .cp-studio{font-weight:700}
.cp-crm-card-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.cp-crm-card-links a{color:#B3122A;font-weight:700;text-decoration:none}
@media(max-width:1024px){
  .cp-crm-public-filters{grid-template-columns:1fr 1fr}
  .cp-filter-actions{grid-column:1/-1}
  .cp-crm-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .cp-crm-public-filters,.cp-crm-grid-public{grid-template-columns:minmax(0,1fr)}
  .cp-filter-actions{flex-direction:column}
  .cp-archive-public-filters .cp-filter-date{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-inline-size:0 !important;
    max-inline-size:100% !important;
    overflow:hidden;
    contain:inline-size;
    box-sizing:border-box;
  }
  .cp-archive-public-filters .cp-filter-date-range{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden;
    box-sizing:border-box;
  }
  .cp-archive-public-filters .cp-filter-date-range.is-single{
    grid-template-columns:minmax(0,1fr);
  }
  .cp-archive-public-filters .cp-filter-date-label{
    display:block;
    margin:0 0 6px;
    color:#0B1F33;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
  }
  .cp-archive-public-filters .cp-filter-date input[type="date"]{
    display:block;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    inline-size:100% !important;
    min-inline-size:0 !important;
    max-inline-size:100% !important;
    -webkit-min-logical-width:0 !important;
    -webkit-appearance:none;
    appearance:none;
    overflow:hidden;
    box-sizing:border-box !important;
    font-size:16px;
  }
  .cp-archive-public-filters .cp-filter-date input[type="date"]::-webkit-date-and-time-value{
    min-width:0;
    text-align:left;
  }
}

/* v8 reset button Elementor controls */
.cp-filter-reset{
  border:1px solid transparent;
  background:transparent;
  box-sizing:border-box;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease;
}

/* Stato di caricamento durante il filtro AJAX */
.cp-crm-public-filters.is-loading{opacity:.65}
.cp-crm-public-filters.is-loading input,.cp-crm-public-filters.is-loading select{pointer-events:none}
.is-loading[aria-busy="true"]{position:relative;opacity:.45;transition:opacity .15s ease}
.is-loading[aria-busy="true"]:after{content:"";position:absolute;inset:0;z-index:5}
