Findalo

CSS avanzato e classi stabili

Quando i token non bastano — nascondere un elemento, spostarne un altro, un dettaglio tutto tuo — puoi scrivere CSS direttamente sulle classi del widget. Solo quelle di questa lista hanno supporto garantito: il resto del markup è interno e può cambiare senza preavviso.

Dove va questo CSS

Nel Custom CSS del pannello (Aspetto → Avanzato). Il widget vive in uno shadow DOM, quindi il CSS del tuo negozio non raggiunge queste classi — l'editor del pannello inietta il tuo all'interno. I token --fdl-* sono l'eccezione: quelli sì, puoi dichiararli dall'esterno.

Classi con supporto stabile

Struttura

Selettore Cos'è
.findalo-search-host Host del widget nella tua pagina (fuori dallo shadow). Il punto dove dichiarare i token --fdl-* dal tuo foglio di stile.
.kos-search Radice del widget dentro lo shadow. Ambito dei token nel Custom CSS del pannello.
.topbar Intestazione del widget: logo, carrello e chiusura.
.logo Link del logo del negozio nell'intestazione.

Campo di ricerca

Selettore Cos'è
.search-box Box dell'input di ricerca. Porta la classe .searching mentre c'è una ricerca in corso.
.search-box input L'input di ricerca.

Filtri

Selettore Cos'è
.filter-bar Barra sotto l'intestazione: chip dei filtri attivi, contatore e ordinamento.
.active-chip Chip di un filtro attivo.
.sort-select Selettore di ordinamento.
.facets Sidebar dei filtri (marca, categoria, caratteristiche…).
.facet-section Blocco di una faccetta dentro la sidebar.
.facet-label Un'opzione di filtro (checkbox + testo).

Risultati

Selettore Cos'è
.results Contenitore principale dei risultati.
.grid Griglia dei risultati (usa le colonne configurate nel pannello). In vista lista porta anche .grid--list.
.result-banner Banner promozionale sopra i risultati.

Card prodotto

Selettore Cos'è
.card Card prodotto.
.card .img Riquadro immagine della card.
.card .name Nome del prodotto.
.card .price-row Riga dei prezzi (attuale + barrato se c'è un'offerta).
.card .badge Etichetta della card (offerta, esaurito, novità…).
.card .add-to-cart Pulsante «Aggiungi al carrello» della card.

Schermata iniziale

Selettore Cos'è
.empty-state Schermata iniziale (prima di digitare): ricerche recenti, popolari, in evidenza.
.section-title Titolo di ogni sezione della schermata iniziale.
.popular-card Card del carosello dei popolari/in evidenza.
.recent-item Voce delle ricerche recenti.
.pre-search-banner Banner della schermata iniziale.
.discovery-rail Rail di scoperta (accessi alle classifiche) della schermata iniziale.

Overlay

Selettore Cos'è
.qv-panel Pannello del modal di vista rapida.
.quiz-panel Pannello del quiz / ricerca guidata.

Ricette

Nascondere «Aggiungi al carrello» in una categoria

/* I prodotti puntano alla loro scheda: filtra per l'URL della categoria */
.card[href*="/tarjetas-regalo/"] .add-to-cart { display: none; }

Griglia più densa sugli schermi grandi

@media (min-width: 1280px) {
  .grid { grid-template-columns: repeat(6, 1fr) !important; }
}

Intestazione sticky allo scroll

.kos-search .topbar { position: sticky; top: 0; z-index: 5; }

Limiti: il CSS custom ammette fino a 100.000 caratteri se lo incolli nel pannello; se entra dall'Automazione IA il limite è 20.000, così un umano può rivederlo. Le regole il cui selettore punta alle classi o all'attributo del badge (.f_brand_*, [data-findalo-brand]) vengono CANCELLATE al salvataggio —la regola intera, sostituita da un commento— e il pannello ti dice quante cadranno prima che salvi. È un filtro per pattern, non un rilevamento di intenzioni: una regola che nasconde il badge per un'altra via passa il filtro, e allora la taglia l'integrity check del widget a runtime.