CSS avançat i classes estables
Quan els tokens no hi arriben — amagar un element, moure'n un altre, un detall molt teu —
pots escriure CSS directament sobre les classes del widget. Només les d'aquesta llista
tenen suport garantit: la resta del markup és intern i pot canviar sense avís.
On va aquest CSS
Al Custom CSS del panell (Aparença → Avançat).
El widget viu en un shadow DOM, així que el CSS de la teva botiga no arriba a aquestes classes —
l'editor del panell hi injecta el teu a dins. Els tokens --fdl-*
són l'excepció: aquests sí que pots declarar-los des de fora.
Classes amb suport estable
Estructura
| Selector | Què és |
| .findalo-search-host | Host del widget a la teva pàgina (fora del shadow). El lloc on declarar els tokens --fdl-* des del teu propi full d'estils. |
| .kos-search | Arrel del widget dins del shadow. Àmbit dels tokens al Custom CSS del panell. |
| .topbar | Capçalera del cercador: logo, cistella i tancar. |
| .logo | Enllaç del logo del comerç a la capçalera. |
Cercador
| Selector | Què és |
| .search-box | Caixa de l'input de cerca. Porta la classe .searching mentre hi ha una cerca en curs. |
| .search-box input | L'input de cerca. |
Filtres
| Selector | Què és |
| .filter-bar | Barra sota la capçalera: chips de filtres actius, comptador i ordre. |
| .active-chip | Chip d'un filtre actiu. |
| .sort-select | Selector d'ordenació. |
| .facets | Sidebar de filtres (marca, categoria, característiques…). |
| .facet-section | Bloc d'una faceta dins del sidebar. |
| .facet-label | Una opció de filtre (checkbox + text). |
Resultats
| Selector | Què és |
| .results | Contenidor principal de resultats. |
| .grid | Graella de resultats (usa les columnes configurades al panell). Amb vista de llista porta a més .grid--list. |
| .result-banner | Bàner promocional sobre els resultats. |
Card de producte
| Selector | Què és |
| .card | Card de producte. |
| .card .img | Caixa d'imatge de la card. |
| .card .name | Nom del producte. |
| .card .price-row | Fila de preus (actual + ratllat si hi ha oferta). |
| .card .badge | Etiqueta de la card (oferta, esgotat, novetat…). |
| .card .add-to-cart | Botó «Afegeix a la cistella» de la card. |
Pantalla inicial
| Selector | Què és |
| .empty-state | Pantalla inicial (abans d'escriure): recents, populars, destacats. |
| .section-title | Títol de cada secció de la pantalla inicial. |
| .popular-card | Card del carrusel de populars/destacats. |
| .recent-item | Ítem de cerques recents. |
| .pre-search-banner | Bàner de la pantalla inicial. |
| .discovery-rail | Rail de descobriment (accessos a rànquings) de la pantalla inicial. |
Overlays
| Selector | Què és |
| .qv-panel | Panell del modal de vista ràpida. |
| .quiz-panel | Panell del quiz / cercador guiat. |
Receptes
Amagar «Afegeix a la cistella» en una categoria
/* Els productes enllacen a la seva fitxa: filtra per l'URL de la categoria */
.card[href*="/tarjetas-regalo/"] .add-to-cart { display: none; } Graella més densa en pantalles grans
@media (min-width: 1280px) {
.grid { grid-template-columns: repeat(6, 1fr) !important; }
} Capçalera enganxosa en fer scroll
.kos-search .topbar { position: sticky; top: 0; z-index: 5; } Límits: el CSS custom admet fins a 100.000 caràcters si el pegues al panell; si entra per l'Automatització IA el límit és 20.000, perquè un humà el pugui revisar.
Les regles el selector de les quals apunti a les classes o a l'atribut del badge (.f_brand_*, [data-findalo-brand]) s'ESBORREN al guardar —la regla sencera, substituïda per un comentari— i el panell et diu quantes cauran abans de guardar. És un filtre per patró, no una detecció d'intencions: una regla que amagui el badge per una altra via passa el filtre, i llavors la talla l'integrity check del widget en temps d'execució.