/* 26 set 2026 — LE PAGINE DI RICERCA (cerca-artigiani, cerca-imprese,
   cerca-professionisti) nello stile della nuova ricerca della home.
   Solo aspetto: nessuna funzione della pagina cambia. Va caricato DOPO
   gli stili della pagina (in fondo al <head>). Le icone al posto delle
   faccine le mette js/cerca-volume.js. */

body{ background:#f3f6fa !important; }

/* ---------- la fascia in cima ---------- */
.top-bar{
  background:linear-gradient(135deg,#0066ff 0%,#0047b3 100%) !important;
  padding:30px 32px !important; gap:28px !important;
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center;
}
.top-bar h1{ display:flex; align-items:center; gap:16px; font-size:30px !important; line-height:1.2; white-space:normal !important; letter-spacing:-.3px; }
.top-bar h1 .ti-ic{ width:56px !important; height:56px !important; padding:13px; border-radius:16px; background:rgba(255,255,255,.18); flex:0 0 56px; vertical-align:0 !important; }
.cv-sotto{ color:#dbe8ff; font-size:17px; font-weight:500; margin:8px 0 0 72px; line-height:1.4; }
.top-search{ background:#fff; border-radius:18px; padding:8px; box-shadow:0 14px 34px rgba(0,20,60,.25); gap:8px !important; align-items:stretch; }
.top-search input{ border-radius:12px !important; padding:14px 16px !important; font-size:17px !important; background:#fff; min-width:0; }
.top-search input:focus{ box-shadow:none !important; background:#f5f9ff; }
.btn-cerca{ background:#0a2a4d !important; border-radius:12px !important; padding:14px 26px !important; font-size:17px !important; display:inline-flex; align-items:center; gap:8px; }
.btn-cerca:hover{ background:#06203c !important; }
.btn-loc{ background:#eef4ff !important; color:#0066ff !important; border:0 !important; border-radius:12px !important; padding:14px 16px !important; display:inline-flex; align-items:center; }
.btn-loc:hover{ background:#dce9ff !important; }
/* la riga azzurra sotto la fascia: il testo e' salito nella fascia */
.cv-h2-vecchio{ display:none !important; }

/* ---------- la colonna dei filtri ---------- */
.page-body{ gap:0; }
.sidebar{ background:#f3f6fa !important; box-shadow:none !important; padding:24px 10px 24px 24px !important; width:330px !important; }
.sidebar-title{ font-size:22px !important; color:#0a2a4d !important; }
.sidebar-title .ti-ic{ width:40px; height:40px; padding:9px; border-radius:12px; background:#e3eeff; color:#0066ff; }
.filter-group{ border:1px solid #e3ebf6 !important; border-left:1px solid #e3ebf6 !important; border-radius:18px !important; box-shadow:0 4px 14px rgba(10,42,77,.05) !important; padding:18px !important; }
.filter-label{ text-transform:none !important; letter-spacing:0 !important; font-size:16px !important; color:#0a2a4d !important; font-weight:800 !important; }
.filter-group select, #cv-spec-sel{ width:100%; background:#fff; font-family:inherit; color:#111; }
.filter-group select{ font-size:16px !important; padding:12px !important; border-radius:12px !important; border:1.5px solid #d6e4ff !important; min-height:48px; }
.tipo-btn, .chip, .star-option{ border-radius:12px !important; }
.tipo-btn{ border:1.5px solid #e3ebf6 !important; }
.tipo-btn .ti-ic{ color:#0066ff; }
/* scelto = verde pastello, come le carte della home */
.tipo-btn.active, .chip.active, .chip.all-chip:not(.inactive), .star-option.active{
  background:#eefaf2 !important; border-color:#a9dcb9 !important; color:#146c31 !important; }
.tipo-btn.active .ti-ic{ color:#1b8a3f; }
.tipo-btn:hover, .chip:hover, .star-option:hover, .check-option:hover{ background:#f5f9ff !important; }
.check-option input[type=checkbox]{ width:20px !important; height:20px !important; }
.slider-value{ color:#0066ff !important; }

/* ---------- i risultati ---------- */
.results-col{ padding:24px 32px 24px 20px !important; }
.results-header{ margin-bottom:18px !important; }
.results-count{ font-size:18px !important; color:#334155 !important; }
.results-count strong{ color:#0a2a4d !important; font-size:20px; }
.results-grid{ grid-template-columns:repeat(auto-fill,minmax(320px,1fr)) !important; gap:16px !important; }

.card{ border-top:0 !important; border:1px solid #e3ebf6 !important; border-radius:20px !important;
  padding:20px !important; box-shadow:0 6px 18px rgba(10,42,77,.06) !important; display:flex !important; flex-direction:column; gap:12px; }
.card:hover{ box-shadow:0 14px 32px rgba(10,42,77,.12) !important; border-color:#bcd3f7 !important; }
.card.premium{ border-color:#dccbfb !important; box-shadow:0 6px 18px rgba(124,58,237,.08) !important; }
.card{ margin-bottom:0 !important; align-items:stretch !important; }
.card-header{ display:flex !important; flex:none !important; align-items:flex-start !important; gap:14px !important; margin:0 !important; }
.card-logo{ width:60px !important; height:60px !important; flex:0 0 60px !important; border-radius:16px !important;
  background:#eaf2ff !important; border:0 !important; color:#0066ff; }
.card-logo img{ border-radius:16px !important; }
.card-logo svg{ width:30px; height:30px; }
.card-name{ font-size:19px !important; color:#0a2a4d !important; line-height:1.25; }
.badge-premium{ display:inline-flex !important; align-items:center; gap:4px; vertical-align:3px;
  background:#f3ecff !important; color:#6d28d9 !important; font-size:12px !important; padding:3px 9px !important; border-radius:999px !important; margin-left:8px !important; }
.badge-premium svg{ width:12px; height:12px; }
.card-desc{ font-style:normal !important; color:#5f6b7a !important; font-size:15px !important; margin-top:4px !important; }
.card-mestiere, .card-tipo{ display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-size:15px !important; font-weight:700 !important; color:#0066ff !important; }
.card-mestiere svg, .card-tipo svg{ width:16px; height:16px; flex:none; }
.albo-tag{ font-size:14px; color:#475569; display:flex; align-items:center; gap:6px; }
.albo-tag svg{ width:15px; height:15px; }
.card-citta{ margin:0 !important; padding-top:12px; border-top:1px solid #eef2f7; gap:6px; font-size:15px !important; color:#334155 !important; font-weight:600; }
.card-citta svg{ width:15px; height:15px; flex:none; }
.card-citta > span{ display:inline-flex !important; align-items:center; gap:4px; margin-left:0 !important;
  font-size:13px !important; padding:4px 10px !important; border-radius:999px !important; }
.cv-pin{ display:inline-flex; align-items:center; gap:5px; margin-right:4px; }

.loading, .no-results{ border-radius:20px !important; border:1px solid #e3ebf6; box-shadow:0 6px 18px rgba(10,42,77,.06); }
.no-results h3{ color:#0a2a4d !important; }
#mappa-risultati{ border-radius:20px !important; border:1px solid #e3ebf6; }
/* stessi colori della mappa del pannello: piu' vivi */
#mappa-risultati .leaflet-tile-pane{ filter:saturate(1.9) contrast(1.12) brightness(.97); }
.page-btn{ border-radius:12px !important; min-width:46px; min-height:46px; font-size:16px !important; }
.page-btn.active{ background:#0066ff !important; color:#fff !important; border-color:#0066ff !important; }

/* le faccine tolte dai filtri e dalle scritte diventano icone */
.cv-ic{ display:inline-flex; width:1.1em; height:1.1em; vertical-align:-.18em; flex:none; }
.cv-ic svg{ width:100%; height:100%; }
.sidebar .cv-ic{ color:#0066ff; }
.filter-chip{ border-radius:999px !important; display:inline-flex !important; align-items:center; gap:6px; }

/* ---------- telefono ---------- */
@media (max-width:900px){
  .top-bar{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px){
  .top-bar{ padding:20px 16px !important; gap:16px !important; }
  .top-bar h1{ font-size:22px !important; text-align:left !important; gap:12px; }
  .top-bar h1 .ti-ic{ width:46px !important; height:46px !important; flex-basis:46px; padding:11px; }
  .cv-sotto{ margin-left:0; font-size:15px; }
  .top-search{ padding:6px; }
  .btn-cerca{ padding:12px 16px !important; }
  .sidebar{ background:#f3f6fa !important; padding:16px 16px 96px !important; width:auto !important; }
  .results-col{ padding:16px !important; }
  .results-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .filtri-btn{ border-radius:14px !important; min-height:52px; }
  .results-header{ flex-direction:column; align-items:stretch !important; gap:6px; }
}
