/************************************************************
 * VARIABILI DI TEMA (Custom Properties)
 ************************************************************/
:root {
    /* PALETTE DUPESCAN */
    --ds-color-primary-lilac: #a28cfc;
    --ds-color-dark-lilac: #7769bb;
    --ds-color-primary-coral: #f58d8d;
    --ds-color-primary-pink: #fdc4fb;
    --ds-color-light-pink: #fbe0e7;

    /* TESTO E SFONDI NEUTRI */
    --ds-color-text: #3e6787;
    --ds-color-soft-lilac: #faf8ff;
    --ds-color-soft-lilac-border: #eee9ff;

    /* OMBRE */
    --ds-shadow-light: 1px 2px 6px rgba(0, 0, 0, 0.05);
    --ds-shadow-hover: 1px 4px 10px rgba(0, 0, 0, 0.08);
}

/************************************************************
 * CARD “CLASSICHE” (scheda-home / correlata)
 * Usate in alfabetico, chicche, vecchi blocchi home
 ************************************************************/

/* Card generica scheda-home */
.scheda-home {
    text-align: center;                    /* centra contenuto card */
    background: #ffffff;                   /* sfondo bianco */
    border: 1px solid var(--ds-color-primary-pink); /* bordo rosa tenue */
    border-radius: 10px;                   /* angoli arrotondati */
    padding: 15px;                         /* padding interno uniforme */
    box-shadow: var(--ds-shadow-light); /* ombra leggera */
    transition: transform 0.2s ease;       /* animazione su hover */
}

.scheda-home img {
    display: block;                        /* immagine come blocco */
    margin: 0 auto 10px auto;              /* centrata con margine sotto */
}

.scheda-home:hover {
    transform: scale(1.02);                /* leggera zoom card su hover */
    box-shadow: var(--ds-shadow-hover); /* ombra più marcata */
}

.scheda-home h3 {
    margin-top: 0;                         /* rimuove margine sopra */
    margin-bottom: 0.5em;                  /* spazio sotto titolo */
}

/* Card per contenuti correlati particolari */
.scheda-correlata {
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--ds-color-primary-coral); /* bordo corallo */
    border-radius: 10px;
    padding: 15px;
    box-shadow: var(--ds-shadow-light);
    transition: transform 0.2s ease;
}

.scheda-correlata img {
    max-width: 100%;                       /* immagine responsive */
    height: auto;
    border-radius: 10px;                   /* angoli tondi immagine */
    margin-bottom: 10px;
}

.scheda-correlata h4 {
    font-size: 1rem;                       /* titolo compatto */
    margin: 0;
}

/* Mobile: card correlata a piena larghezza */
@media (max-width: 600px) {
    .scheda-correlata {
        width: 100%;
    }
}

/* Paragrafi interni alle schede equivalenti (scheda singolo profumo) */
.scheda-equivalente p {
    margin: 0.2em 0;                        /* paragrafi molto compatti */
}

/************************************************************
 * CORRI BUTTON
 ************************************************************/
 
 /* Bottone submit */
.dupescan-corri-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: var(--ds-color-dark-lilac);
    color: #fff;
    text-transform: uppercase;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 16px;
    transition: background-color 0.2s ease;
}

/* Hover bottone */
.dupescan-corri-button:hover {
    color: #fff;
    background: var(--ds-color-primary-lilac);
}

/************************************************************
 * SEARCH FORM (home + single)
 ************************************************************/

/* Wrapper form di ricerca */
.dupescan-search-form {
    display: flex;                          /* input + bottone affiancati */
    justify-content: center;               /* centrati orizzontalmente */
    align-items: center;                   /* allineati verticalmente */
    gap: 0.5rem;                           /* spazio tra input e bottone */
    margin: 2rem 0;                     /* spazio verticale + centrato */
    max-width: 800px;                      /* larghezza massima */
}

/* Campo testo ricerca */
.dupescan-search-input {
    flex: 1;                               /* occupa tutto lo spazio possibile */
    padding: 0.75rem 1rem;
    border-radius: 10px;
    border: 2px solid var(--ds-color-primary-lilac);
    font-size: 1rem;
    outline: none !important;              /* disattiva outline browser */
    box-shadow: none !important;           /* previene ombre/spessori extra su focus */
    background-color: var(--ds-color-light-pink) !important;  /* sfondo rosa tenue */
    transition: border-color 0.3s ease;    /* transizione colore bordo */
}

/* Placeholder input */
.dupescan-search-input::placeholder {
    color: var(--ds-color-dark-lilac);      /* lilla scuro #7769bb */
    opacity: 1;                             /* assicura piena visibilità su tutti i browser */
}

/* Stato focus input */
.dupescan-search-input:focus {
    border: 2px solid var(--ds-color-dark-lilac);
    outline: none !important;
    box-shadow: none !important;
}

/* Bottone submit */
.dupescan-search-button {
    padding: 0.75rem 1.5rem;
    background: var(--ds-color-dark-lilac);
    color: #fff;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;

}

/* Hover bottone */
.dupescan-search-button:hover {
    background-color: var(--ds-color-primary-lilac);
}

@media (max-width: 600px) {
    .dupescan-search-form {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        width: 100%;
    }

    .dupescan-search-input,
    .dupescan-search-button {
        width: 100%;
        box-sizing: border-box;
    }
}

/************************************************************
 * DISCLAIMER BOX
 ************************************************************/

/* Box disclaimer nella scheda */
.dupescan-disclaimer-box {
    max-width: 700px;
    margin: 2rem auto;
    padding: 1rem 1.25rem;
    background: var(--ds-color-light-pink) !important;  /* sfondo rosa tenue */
    border-left: 4px solid var(--ds-color-primary-coral); /* barra corallo a sinistra */
    border-radius: 10px;
    box-shadow: var(--ds-shadow-light);
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    line-height: 1.5;
}

/* Icona in pseudo-elemento */
.dupescan-disclaimer-box::before {
    content: "✨";
    font-size: 1.4rem;
    margin-top: 0.1rem;
}

/* Mobile: padding e font leggermente ridotti */
@media (max-width: 600px) {
    .dupescan-disclaimer-box {
        padding: 0.9rem 1rem;
        font-size: 0.9rem;
    }
}


/************************************************************
 * BOX INDICE (link all’indice brand + contatti)
 ************************************************************/

.dupescan-indice-profumi-box {
    margin-top: 2rem;
    padding: 1rem;
    background: #fff;
    border: 1px solid var(--ds-color-primary-lilac);
    border-radius: 10px;
}

.dupescan-indice-profumi-riga {
    margin-bottom: 0.5rem;                  /* spazio tra le due righe */
}

.dupescan-indice-profumi-riga:last-child {
    margin-bottom: 0;                        /* niente spazio dopo l’ultima */
}


/************************************************************
 * BLOCCHI CARD PROFUMI (piace anche, stesso brand, ecc.)
 ************************************************************/

/* Wrapper generico blocco profumi */
.dupescan-blocco-profumi {
    margin: 3rem auto;
    max-width: 1200px;
}

/* Titolo H2 del blocco */
.dupescan-blocco-profumi > h2 {
    margin-bottom: 1.5rem;
}

/* Griglia responsive di card */
.dupescan-profumi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

/* Card singola profumo */
.dupescan-profumo-card {
    background: #ffffff;
    border: 1px solid var(--ds-color-primary-pink);
    border-radius: 10px;
    padding: 15px;
    box-shadow: var(--ds-shadow-light);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Thumbnail nella card */
.dupescan-profumo-thumb img {
    display: block;
    margin: 0 auto 10px auto;
    border-radius: 8px;
}

/* Corpo testo card */
.dupescan-profumo-body {
    text-align: center;
}

/* Titolo profumo in card */
.dupescan-profumo-title {
    margin: 0 0 0.25rem;
    font-size: 1.3rem;
}

/* Link titolo (nome profumo) */
.dupescan-profumo-card h3.dupescan-profumo-title a {
    text-decoration: none;                  /* niente sottolineatura */
    color: var(--ds-color-dark-lilac);     /* lilla titoli */
    font-weight: 500 !important;            /* forza bold contro tema */
}

/* Brand sotto il titolo nelle card */
.dupescan-profumo-brand {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 500;
}

/* Estratto nella card (se presente) */
.dupescan-profumo-excerpt {
    margin: 0;
    font-size: 0.9rem;
}

/* Hover card */
.dupescan-profumo-card:hover {
    transform: scale(1.02);
    box-shadow: var(--ds-shadow-hover);
}


/************************************************************
 * EQUIVALENTI (scheda singolo profumo)
 ************************************************************/

/* Nome equivalente (es. Mythic Essence A 19) */
.equivalente-nome {
    margin: 0 0 0.25rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--ds-color-dark-lilac);
}

/* Brand equivalente sotto al nome */
.equivalente-brand {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 500;
}


/************************************************************
 * ALFABETICO + LINK “TORNA SU”
 ************************************************************/

.dupescan-lettera-titolo {
    margin-top: 2rem;                        /* spazio sopra lettera */
}

.dupescan-griglia-alfabetico {
    margin-bottom: 2rem;                     /* spazio sotto blocco */
}

.dupescan-torna-su {
    text-align: right;
    margin-top: 1rem;
    margin-bottom: 3rem;
}

.dupescan-torna-su a {
    font-size: 0.9em;
    color: var(--ds-color-dark-lilac);
}

.dupescan-torna-su a:hover {
    color: var(--ds-color-primary-coral);
    text-decoration: none;
}


/************************************************************
 * CONTATORE E SEARCH BOX SINGLE
 ************************************************************/

/*
.dupescan-contatore-titolo {
    margin-bottom: 1rem;
}
*/

.dupescan-search-single-title {
    margin-bottom: 0.5rem;
}

/************************************************************
 * CONTATORI RISULTATI DUPESCAN
 ************************************************************/

.dupescan-result-count {
    margin-bottom: 18px;
    color: var(--ds-color-dark-lilac);
    font-weight: 600;
}


/************************************************************
 * HEADER SCHEDA PROFUMO (singolo CPT)
 ************************************************************/

/* Wrapper immagine + testo in scheda */
.dupescan-scheda-header {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 30px;
}

/* Colonna testo (titolo + info) */
.dupescan-scheda-testo {
    flex: 1 1 260px;
}

/* Colonna immagine */
.dupescan-scheda-thumb {
    flex: 0 0 180px;
    text-align: right;
}

.dupescan-scheda-thumb img {
    max-width: 180px;
    height: auto;
    border-radius: 8px;
}

/* Mobile: colonna singola, contenuti centrati */
@media (max-width: 768px) {

  /* centra anche eventuali wrapper del tema */
  .dupescan-scheda-thumb,
  .dupescan-scheda-thumb a,
  .dupescan-scheda-thumb figure,
  .dupescan-scheda-thumb .post-thumbnail {
    float: none !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* evita che l’immagine si allarghi a 100% */
  .dupescan-scheda-thumb img,
  .dupescan-scheda-thumb .wp-post-image {
    width: auto !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 auto !important;
    float: none !important;
    position: static !important;
  }
}

/************************************************************
 * TESTI SCHEDA PROFUMO
 ************************************************************/

.introduzione-profumo {
    margin-top: 10px;
    margin-bottom: 24px;
}

.dupescan-confronto-aggiornamento {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
}

/************************************************************
 * CARD INTERAMENTE CLICCABILE + NUMERO EQUIVALENTI
 ************************************************************/

a.dupescan-profumo-card {
    color: inherit;
    text-decoration: none;
}

a.dupescan-profumo-card:visited {
    color: inherit;
}

a.dupescan-profumo-card .dupescan-profumo-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

a.dupescan-profumo-card .dupescan-profumo-title {
    color: var(--ds-color-dark-lilac);
    font-weight: 500;
}

a.dupescan-profumo-card .dupescan-profumo-cta {
    display: block;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--ds-color-dark-lilac);
    font-size: 0.95rem;
    font-weight: 600;
    transition: transform 0.2s ease;
}

a.dupescan-profumo-card:hover .dupescan-profumo-cta {
    transform: translateX(3px);
}

a.dupescan-profumo-card:focus-visible {
    outline: 3px solid var(--ds-color-primary-lilac);
    outline-offset: 4px;
}

/************************************************************
 * STELLINE VALUTAZIONE
 ************************************************************/
.dupescan-stars {
    color: var(--ds-color-primary-coral); /* #f58d8d Corallo Dupescan */
    font-size: 1.05rem;
    letter-spacing: 1px;
    vertical-align: middle;
}

/************************************************************
 * TOP DUPESCAN CARD & BADGE IN ALTO CENTRATO
 ************************************************************/
/* Spazio per far sporgere il badge in cima alla griglia */
.griglia-equivalenti, .griglia-dup {
    margin-top: 1.25rem !important;
}

div.scheda-equivalente.is-top-dupescan {
    position: relative !important;
    background-color: var(--ds-color-light-pink) !important; /* Sfondo rosa tenue */
    border: 2px solid var(--ds-color-primary-lilac) !important; /* Bordo lilla #a28cfc */
    border-radius: 12px !important;
    margin-top: 0 !important;                       /* Allineamento perfetto con le altre card! */
}

div.scheda-equivalente.has-rating-badge {
    position: relative !important;
    margin-top: 0 !important;
}

/* Badge "🏆 Top Dupescan" e/o Valutazione a cavallo del bordo superiore centrato */
div.scheda-equivalente p.top-dupescan-badge-border {
    position: absolute !important;
    top: -16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: #ffffff !important;
    border: 1px solid var(--ds-color-primary-lilac) !important;
    border-radius: 10px !important;
    padding: 3px 16px !important;
    margin: 0 !important;
    z-index: 99 !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

/* Badge Fuori catalogo e/o Non disponibile del bordo superiore centrato */
.badge-stato {
    font-weight: 600;
}

div.scheda-equivalente p.stato-prodotto-badge-border {
    position: absolute !important;
    top: -16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: #ffffff !important;
    border: 1px solid var(--ds-color-primary-coral) !important;
    border-radius: 10px !important;
    padding: 3px 16px !important;
    margin: 0 !important;
    z-index: 99 !important;
    white-space: nowrap !important;
}
/* Sovrascrivi il layout flex del tema per le schede con immagine */
.scheda-equivalente.layout-con-immagine {
    display: block !important;               /* Disattiva flexbox del tema per evitare colonne affiancate */
    position: relative !important;
}

.scheda-equivalente.layout-con-immagine .colonna-testo {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
    padding-right: 85px !important;           /* Spazio in alto a destra per l'immagine */
}

.scheda-equivalente.layout-con-immagine .colonna-immagine {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 70px !important;
    max-width: 70px !important;
    margin: 0 !important;
    float: none !important;
    z-index: 5 !important;
}

.scheda-equivalente.layout-con-immagine .colonna-immagine img {
    width: 70px !important;
    height: auto !important;
    max-height: 90px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    display: block !important;
}

/************************************************************
 * PULSANTE CTA "VEDI PRODOTTO" A CAVALLO DEL BORDO INFERIORE
 ************************************************************/
div.scheda-equivalente .dupescan-btn-vedi-prodotto-wrapper {
    position: absolute !important;
    bottom: -16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 99 !important;
    white-space: nowrap !important;
    width: auto !important;
    text-align: center !important;
}

div.scheda-equivalente .dupescan-btn-vedi-prodotto {
    display: inline-block !important;
    background-color: #ffffff !important;           /* Sfondo bianco iniziale */
    border: 1.5px solid var(--ds-color-primary-lilac) !important; /* Bordo lilla */
    color: var(--ds-color-primary-lilac) !important; /* Testo lilla */
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 4px 18px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

div.scheda-equivalente .dupescan-btn-vedi-prodotto:hover {
    border-color: var(--ds-color-dark-lilac) !important;
    color: var(--ds-color-dark-lilac) !important;
    background-color: var(--ds-color-light-pink) !important; /* Sfondo rosa chiaro in hover */
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(119, 105, 187, 0.15) !important;
}

/************************************************************
 * GRIGLIA TOP BRAND EQUIVALENTI (HOME)
 ************************************************************/

.dupescan-top-brands-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
    gap: 20px !important;
    margin-top: 1.5rem !important;
}

/************************************************************
 * CARD BRAND EQUIVALENTE
 * Componente condiviso: home + directory
 ************************************************************/

.dupescan-brand-card {
    background: #ffffff !important;
    border: 1px solid var(--ds-color-primary-pink) !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
    text-align: center !important;
    box-shadow: var(--ds-shadow-light) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.dupescan-brand-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--ds-shadow-hover) !important;
    border-color: var(--ds-color-primary-lilac) !important;
}

.dupescan-brand-nome {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--ds-color-dark-lilac) !important;
    margin: 0 0 0.35rem !important;
}

.dupescan-brand-paese {
    font-size: 0.95rem !important;
    color: var(--ds-color-text) !important;
    margin: 0 0 0.5rem !important;
}

.dupescan-brand-conteggio {
    font-size: 0.95rem !important;
    color: var(--ds-color-text) !important;
    margin: 0.5rem 0 1.2rem !important;
}

.dupescan-brand-card-action {
    margin-top: auto !important;
}

.dupescan-brand-btn-sfoglia {
    display: inline-block !important;
    background-color: #ffffff !important;
    border: 1.5px solid var(--ds-color-primary-lilac) !important;
    color: var(--ds-color-primary-lilac) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 6px 18px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
}

.dupescan-brand-btn-sfoglia:hover {
    background-color: var(--ds-color-light-pink) !important;
    border-color: var(--ds-color-dark-lilac) !important;
    color: var(--ds-color-dark-lilac) !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(119, 105, 187, 0.15) !important;
}

/************************************************************
 * ULTIMI EQUIVALENTI INSERITI (HOME)
 ************************************************************/
.dupescan-ultimi-eq-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
    gap: 20px !important;
    margin-top: 1.5rem !important;
}

.dupescan-eq-card {
    background: #ffffff !important;
    border: 1px solid var(--ds-color-primary-pink) !important;
    border-radius: 12px !important;
    padding: 18px 16px !important;
    text-align: center !important;
    box-shadow: var(--ds-shadow-light) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.dupescan-eq-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--ds-shadow-hover) !important;
    border-color: var(--ds-color-primary-lilac) !important;
}

.dupescan-eq-nome {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: var(--ds-color-dark-lilac) !important;
    margin: 0 0 0.3rem !important;
}

.dupescan-eq-brand {
    font-size: 0.95rem !important;
    color: var(--ds-color-text) !important;
    margin: 0 0 0.6rem !important;
    font-weight: 500 !important;
}

.dupescan-eq-ispirato {
    font-size: 0.9rem !important;
    color: var(--ds-color-text) !important;
    margin: 0.4rem 0 0 !important;
    padding-top: 0.5rem !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.dupescan-eq-ispirato a {
    color: var(--ds-color-primary-coral) !important;
    text-decoration: none !important;
}

.dupescan-eq-ispirato a:hover {
    text-decoration: underline !important;
}

/* =========================================================
   FILTRI DUPESCAN
   Componente condiviso
   ========================================================= */

.dupescan-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px;

    margin-bottom: 20px;
    padding: 16px;

    background: var(--ds-color-soft-lilac);
    border: 1px solid var(--ds-color-soft-lilac-border);
    border-radius: 10px;
}

.dupescan-filter-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dupescan-filter-field label {
    font-size: 0.9rem;
    font-weight: 600;
}

.dupescan-filter-field select,
.dupescan-filter-field input {
    min-height: 42px;
    padding: 8px 10px;

    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.dupescan-filter-field--grow {
    flex: 1;
    min-width: 230px;
}

.dupescan-filter-field--grow input {
    width: 100%;
}

.dupescan-filter-reset-wrap {
    padding-bottom: 1px;
}

.dupescan-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 8px 14px;

    box-sizing: border-box;

    background: #fff;
    border: 1px solid var(--ds-color-primary-coral);
    border-radius: 6px;

    color: var(--ds-color-primary-coral);
    font-family: inherit;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;

    cursor: pointer;
}

.dupescan-filter-reset:hover,
.dupescan-filter-reset:focus {
    background: #fff5f5;
    border-color: var(--ds-color-primary-coral);
    color: var(--ds-color-primary-coral);
    text-decoration: none;
}

@media (max-width: 700px) {

    .dupescan-filter-bar {
        display: block;
    }

    .dupescan-filter-field {
        margin-bottom: 12px;
    }

    .dupescan-filter-field select,
    .dupescan-filter-field input {
        width: 100%;
        max-width: none;
    }

    .dupescan-filter-reset-wrap {
        margin-top: 5px;
        padding-bottom: 0;
    }

    .dupescan-filter-reset {
        width: 100%;
    }
}

/************************************************************
 * DIRECTORY BRAND EQUIVALENTI
 ************************************************************/

/*
.dupescan-brand-directory {
    width: 100%;
}
*/

/* RICERCA */

.dupescan-brand-directory-search {
    margin-bottom: 24px;
}

.dupescan-brand-directory-search .dupescan-filter-field--grow {
    max-width: 520px;
}


/************************************************************
 * NAVIGAZIONE ALFABETICA CONDIVISA
 * Brand equivalenti + brand originali
 ************************************************************/

.dupescan-brand-directory-alphabet {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    width: 100%;
    margin: 0 0 32px;

    box-sizing: border-box;
}

.dupescan-brand-directory-alphabet a,
.dupescan-brand-directory-alphabet span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    min-height: 34px;
    padding: 4px 8px;

    box-sizing: border-box;

    background: #fff;
    border: 1px solid var(--ds-color-primary-lilac);
    border-radius: 6px;

    color: var(--ds-color-dark-lilac);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.dupescan-brand-directory-alphabet a:hover,
.dupescan-brand-directory-alphabet a:focus {
    background: var(--ds-color-light-pink);
    border-color: var(--ds-color-dark-lilac);
    color: var(--ds-color-dark-lilac);
    text-decoration: none;
}

.dupescan-brand-directory-alphabet .is-disabled {
    opacity: 0.35;
    cursor: default;
}

/* SEZIONI A-Z */

.dupescan-brand-directory-group {
    margin-bottom: 38px;
    scroll-margin-top: 25px;
}

.dupescan-brand-directory-letter {
    margin: 0 0 18px;
    padding-bottom: 7px;

    border-bottom: 2px solid var(--ds-color-primary-pink);

    font-size: 1.6rem;
}


/* GRIGLIA DIRECTORY */

.dupescan-brand-directory-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fill,
        minmax(210px, 1fr)
    );
    gap: 20px;
}

.dupescan-brand-directory-item {
    display: flex;
    min-width: 0;
}

/*
.dupescan-brand-directory-item[hidden] {
    display: none;
}
*/

.dupescan-brand-directory-item .dupescan-brand-card {
    width: 100%;
}


/* NESSUN RISULTATO */

.dupescan-brand-directory-empty {
    margin: 25px 0;
    font-weight: 600;
}


/* TORNA SU */

.dupescan-brand-directory > .dupescan-torna-su {
    margin-top: 20px;
}


/* MOBILE */

@media (max-width: 600px) {

    .dupescan-brand-directory-alphabet {
        gap: 5px;
    }

    .dupescan-brand-directory-alphabet a,
    .dupescan-brand-directory-alphabet span {
        min-width: 31px;
        min-height: 31px;
        padding: 4px 6px;
        font-size: 0.9rem;
    }

    .dupescan-brand-directory-grid {
        grid-template-columns: 1fr;
    }

    .dupescan-brand-directory-group {
        margin-bottom: 32px;
    }
}

/************************************************************
 * PROFUMI ORIGINALI PER BRAND
 ************************************************************/

/* BLOCCO DELLA SINGOLA LETTERA */

.dupescan-original-brand-letter-group {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    scroll-margin-top: 25px;
}

.dupescan-original-brand-letter {
    margin: 0 0 1rem;
    padding-bottom: 0.4rem;

    border-bottom: 2px solid var(--ds-color-primary-pink);

    color: var(--ds-color-dark-lilac);
    font-size: 1.8rem;
}


/* SINGOLO BRAND ORIGINALE */

.dupescan-original-brand-section {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

.dupescan-original-brand-title {
    margin: 0 0 0.3rem;

    color: var(--ds-color-dark-lilac);
    font-size: 1.4rem;
}


/* CONTEGGIO PROFUMI DEL BRAND */

.dupescan-original-brand-count {
    margin-bottom: 1.2rem;

    color: var(--ds-color-dark-lilac);
    font-size: 1rem;
}


/* TORNA SU DOPO OGNI LETTERA */

.dupescan-original-brand-letter-group > .dupescan-torna-su {
    margin-top: 15px;
    text-align: right;
}

.scheda-equivalente.dupescan-hidden {
    display: none !important;
}






/************************************************************
 * CATALOGO BRAND EQUIVALENTE
 ************************************************************/

/* CONTENITORE */

.dupescan-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}


/* HEADER BRAND */

.brand-descrizione {
    margin: 20px 0;
    padding: 15px;

    background: #fff;
    border: 1px solid var(--ds-color-primary-pink);
    border-radius: 10px;

    line-height: 1.6;
}

.brand-country-flag {
    margin-left: 10px;
    font-size: 0.6em;
    font-weight: normal;
    vertical-align: middle;
}


/* INFORMAZIONI BRAND */

.brand-meta-box {
    margin-bottom: 30px;
    padding: 20px;

    background: #fdfdfd;
    border: 1px solid #e0e0e0;
    border-radius: 10px;

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.meta-title {
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 10px;

    border-bottom: 2px solid var(--ds-color-primary-lilac);

    font-size: 1.2rem;
}

.meta-list {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(200px, 1fr)
    );
    gap: 15px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.meta-list li {
    padding: 8px 12px;

    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 6px;

    font-size: 0.95rem;
}

.codice-sconto {
    padding: 2px 6px;

    background: #fce4ec;
    border-radius: 4px;

    color: #d81b60;
    font-weight: bold;
}

.untested-warning {
    color: #d32f2f !important;
    background: #ffebee !important;
    border-color: #ffcdd2 !important;
}

.official-link a {
    font-weight: bold;
}

.official-link a:hover {
    text-decoration: underline;
}


/* CATALOGO */

.dupescan-brand-catalogo {
    margin-top: 30px;
}

.catalogo-intro {
    margin-bottom: 10px;
    line-height: 1.6;
}

.catalogo-count {
    margin-bottom: 18px;
    color: var(--ds-color-dark-lilac);
}

.catalogo-last-update {
    margin-top: -10px;
    margin-bottom: 18px;
    font-size: 0.9rem;
}


/* TABELLA */

.catalogo-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.catalogo-brand-table {
    width: 100%;
    min-width: 620px;

    background: #fff;
    border-collapse: collapse;
}

.catalogo-brand-table th,
.catalogo-brand-table td {
    padding: 12px 14px;

    border-bottom: 1px solid #eee;

    text-align: left;
    vertical-align: middle;
}

.catalogo-brand-table th {
    background: var(--ds-color-soft-lilac);
    color: var(--ds-color-dark-lilac);
    font-weight: 700;
}

.catalogo-brand-table tbody tr:hover {
    background: #fdfbff;
}

.catalogo-brand-table a {
    font-weight: 600;
}

.catalogo-brand-table a:hover {
    text-decoration: underline;
}


/* ORDINAMENTO */

.catalogo-sort {
    padding: 0;

    background: transparent;
    border: 0;

    color: inherit;
    font: inherit;
    font-weight: 700;

    text-align: left;
    text-transform: none;

    cursor: pointer;
}

.catalogo-sort-icon {
    display: inline-block;
    margin-left: 4px;
    min-width: 1em;

    font-size: 0.8em;
    text-align: center;
}


/* NESSUN RISULTATO */

.catalogo-nessun-risultato {
    padding: 20px 0;
    font-weight: 600;
}


/*
 * PAGINAZIONE:
 * stile generale gestito globalmente.
 */
.catalogo-paginazione {
    margin-top: 24px;
text-align: center;
}


/* MOBILE */

@media (max-width: 700px) {

    .dupescan-container {
        padding: 15px;
    }

    .catalogo-brand-table th,
    .catalogo-brand-table td {
        padding: 10px;
    }
}

