/* Recherche produit alimentaire — v3.0.0 — desktop */

.ia-off__section-panel {
    padding: 18px;
}

.ia-off__section-toggle {
    min-height: 50px;
    padding: 8px 0;
    background: transparent;
}

.ia-off__section-number {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.ia-off__desktop-entries-toggle-title,
.ia-off__desktop-search-toggle-title,
.ia-off__desktop-product-toggle-title {
    font-size: 18px;
}

.ia-off__desktop-entries-chevron,
.ia-off__desktop-search-chevron,
.ia-off__desktop-product-chevron {
    font-size: 24px;
}

.ia-off__section-panel--search {
    background: linear-gradient(180deg, rgba(239, 246, 255, .78), #fff);
}

.ia-off__section-panel--history {
    background: linear-gradient(180deg, rgba(238, 249, 241, .78), #fff);
}

.ia-off__section-panel--product {
    background: linear-gradient(180deg, rgba(248, 244, 255, .80), #fff);
}

.ia-off__entries-collapsible {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.ia-off__entries-collapsible > .ia-off__storage-info-link,
.ia-off__entries-collapsible > .ia-off__sources-button {
    justify-self: start;
}

.ia-off__entries-collapsible > .ia-off__storage-info-link {
    grid-column: 1 / -1;
}

.ia-off__entries-collapsible > .ia-off__sources-button {
    grid-column: 1 / -1;
}

.ia-off__manual {
    grid-column: 1;
    grid-row: 3;
}

.ia-off__desktop-channel {
    display: contents;
}

.ia-off__desktop-channel > h2 {
    display: none;
}

.ia-off__desktop-grid {
    display: contents;
}

.ia-off__desktop-option:first-child {
    grid-column: 3;
    grid-row: 3;
}

.ia-off__desktop-option:last-child {
    grid-column: 2;
    grid-row: 3;
}

.ia-off__mobile-channel {
    display: none;
}

.ia-off__upc-search {
    grid-column: 1 / -1;
    grid-row: 4;
}

.ia-off__upc-result-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ia-off__search input[type="text"],
.ia-off__search input[type="search"] {
    flex: 0 1 420px;
    width: 420px;
}

/* History */
.ia-off__search-collapsible {
    margin-top: 14px;
}

.ia-off__search-collapsible > h2 {
    margin: 0 0 10px;
}

.ia-off__lookup-form .ia-off__search {
    align-items: stretch;
}

.ia-off__lookup-form .ia-off__search button[type="submit"] {
    min-width: 84px;
    min-height: 38px;
}

.ia-off__show-all-form,
.ia-off__storage-transfer {
    display: inline-flex;
    margin-top: 10px;
    vertical-align: top;
}

.ia-off__show-all-form {
    margin-right: 8px;
}

.ia-off__storage-transfer-status {
    align-self: center;
    color: var(--rpa-muted);
    font-size: 12px;
}

.ia-off__search-collapsible > .ia-off__help {
    clear: both;
    padding-top: 8px;
}

.ia-off__saved-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px 14px;
    align-items: start;
    padding: 12px;
}

.ia-off__saved-thumb-wrap {
    grid-column: 1;
    width: 56px;
    height: 72px;
}

.ia-off__saved-item-content {
    grid-column: 2;
}

.ia-off__saved-item-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 7px;
}

.ia-off__saved-display-button {
    min-width: 150px;
    white-space: nowrap;
}

.ia-off__delete-saved-form {
    margin: 0;
}

.ia-off__delete-saved {
    min-width: 82px;
}

/* Product */
.ia-off__product-collapsible {
    margin-top: 14px;
}

.ia-off__card {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, .85fr);
    grid-template-areas:
        "nova nova"
        "recall recall"
        "summary actions";
    gap: 14px 18px;
}

.ia-off__nova-bar { grid-area: nova; }
.ia-off__recall-summary { grid-area: recall; }
.ia-off__header { grid-area: summary; }
.ia-off__card-actions { grid-area: actions; }

.ia-off__card > .ia-off__table-wrap,
.ia-off__card > .ia-off__nutrition-heading,
.ia-off__card > h3,
.ia-off__card > p,
.ia-off__card > .ia-off__recall-details,
.ia-off__card > .ia-off__product-sources {
    grid-column: 1 / -1;
}

.ia-off__modal-heading {
    justify-content: center;
    padding-left: 92px;
}

.ia-off__modal-heading h3 {
    text-align: center;
}

@media (max-width: 980px) {
    .ia-off__upc-result-list {
        grid-template-columns: 1fr;
    }
}

.ia-off__nova-help-desktop {
    display: inline-flex;
}

.ia-off__nova-info-icon {
    display: none;
}


/* ==========================================================
   v3.0.1 — DESKTOP : corrections de mise en page
   ========================================================== */

/* Recherche manuelle : le champ et le bouton restent dans leur colonne. */
.ia-off__manual .ia-off__search {
    width: 100%;
    min-width: 0;
}

.ia-off__manual .ia-off__search input[type="text"] {
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
}

.ia-off__manual .ia-off__search button[type="submit"] {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Historique : les résultats font réellement partie du bloc 2. */
.ia-off__section-panel--history .ia-off__panel--saved {
    margin-top: 14px;
}

/* Fiche produit : tableau nutritionnel compact, aligné à gauche. */
.ia-off__card > .ia-off__table-wrap {
    width: min(620px, 100%);
    justify-self: start;
}

/* Fiche produit : boutons d'action de largeur identique. */
.ia-off__card-actions {
    display: grid;
    justify-items: start;
    align-content: start;
    gap: 8px;
}

.ia-off__card-actions form {
    margin: 0;
}

.ia-off__save-form {
    width: 100%;
    justify-items: start;
}

.ia-off__category-label {
    width: 100%;
}

.ia-off__category-label input[type="text"] {
    width: 100%;
}

.ia-off__card-actions .ia-off__save-product,
.ia-off__card-actions .ia-off__delete-current,
.ia-off__card-actions .ia-off__clear-product {
    width: 240px;
    max-width: 100%;
    justify-content: center;
}


/* ==========================================================
   v3.0.2 — DESKTOP : nutrition et indicateurs additifs
   ========================================================== */

/* Le bouton Détails reste juste au-dessus du tableau nutritionnel. */
.ia-off__card > .ia-off__nutrition-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 7px;
    margin-bottom: 0;
}

.ia-off__nutrition-info-trigger {
    align-self: flex-start;
}

/* Les indicateurs d'additifs doivent être lisibles sur ordinateur. */
.ia-off__nova-markers-trigger .ia-off__risk-summary {
    margin-left: 9px;
    gap: 5px;
}

.ia-off__nova-markers-trigger .ia-off__risk-dot {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.ia-off__nova-markers-trigger .ia-off__risk-dot--moderate {
    color: #222;
}

.ia-off__nova-markers-trigger .ia-off__risk-dot--unknown {
    color: #222;
}


/* ==========================================================
   v3.0.7 — DESKTOP : icône d'aide NOVA
   ========================================================== */
.ia-off__nova-help-desktop {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-left: 4px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
