/*
 * Scheda tecnica visuale (Step 4). Palette e tipografia dello Step 3; l'ambra solo per "uso professionale" e avvisi.
 * Icone: una famiglia a linea (inc/icons.php). Nessuna informazione affidata solo al colore o solo all'icona.
 */

/* ---------------------------------------------------------------- carta d'identita' (colonna info) */
.ento-id { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
.ento-id__tile {
  display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); grid-template-areas: 'ic lb' 'ic va'; column-gap: 0.75rem; row-gap: 0.1rem; align-content: center; align-items: start;
  min-height: 4.25rem; padding: 0.75rem 0.9rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white);
}
.ento-id__link { display: contents; color: inherit; text-decoration: none; }
.ento-id__tile:has(.ento-id__link) { display: block; padding: 0; }
.ento-id__tile:has(.ento-id__link) .ento-id__link { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); grid-template-areas: 'ic lb' 'ic va'; column-gap: 0.75rem; row-gap: 0.1rem; align-content: center; width: 100%; min-height: 4.25rem; padding: 0.75rem 0.9rem; border-radius: var(--radius); }
.ento-id__tile:has(.ento-id__link):hover { border-color: var(--ento-brand); background: var(--g-25); }
.ento-id__link:focus-visible { outline: 3px solid var(--ento-brand); outline-offset: 2px; }
.ento-id__tile:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ento-id__ic { grid-area: ic; display: grid; place-items: center; align-self: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--g-100); color: var(--ento-brand); }
.ento-id__label { grid-area: lb; align-self: end; font: 700 0.75rem/1.2 var(--font-head); color: var(--muted); }
.ento-id__value { grid-area: va; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.9375rem; line-height: 1.3; font-weight: 700; color: var(--ink); }
/* "Per chi": l'ambra e' solo per l'uso professionale */
.ento-id__tile--pro { background: var(--amber-50); border-color: var(--amber-500); }
.ento-id__tile--pro .ento-id__ic { background: var(--white); color: var(--amber-900); }
.ento-id__tile--pro .ento-id__label, .ento-id__tile--pro .ento-id__value { color: var(--amber-900); }

/* ---------------------------------------------------------------- chip "contro cosa" / "dove" */
.ento-chips { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.ento-chips + .ento-chips { margin-top: 1rem; padding-top: 0; border-top: 0; }
.ento-chips__title { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.55rem; font: 800 0.9375rem/1.2 var(--font-head); color: var(--ink); }
.ento-chips__title .ento-icon { color: var(--g-700); }
.ento-chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ento-chip {
  display: inline-flex; align-items: center; max-width: 100%; padding: 0.3rem 0.8rem;
  border-radius: 999px; background: var(--g-100); color: var(--ento-brand); border: 1px solid transparent;
  font-size: 0.875rem; line-height: 1.3; font-weight: 600; text-decoration: none;
}
.ento-chip .ento-icon { flex: none; width: 16px; height: 16px; margin-right: 0.4rem; margin-left: -0.15rem; }
.ento-chip span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
a.ento-chip:hover { background: var(--white); border-color: var(--ento-brand); }
a.ento-chip--more { background: transparent; border: 1px dashed var(--g-300); color: var(--ink-2); }
.ento-product .bw-single-product__tags { display: none; }

/* ---------------------------------------------------------------- sezioni sotto la scheda */
.ento-ts { margin: 2.5rem 0 0; }
.ento-ts__nav { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--line); margin-bottom: 1.5rem; }
body:has(.bw-product-sticky-bar) .ento-ts__nav { top: 73px; }
.ento-ts__nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 0.25rem; overflow-x: auto; scrollbar-width: none; }
.ento-ts__nav a {
  display: block; padding: 0.95rem 0.9rem; font: 700 0.9375rem/1.2 var(--font-head); color: var(--ink-2); text-decoration: none; white-space: nowrap;
  border-bottom: 3px solid transparent;
}
.ento-ts__nav a:hover { color: var(--ento-brand); }
.ento-ts__nav a.is-active { color: var(--ento-brand); border-bottom-color: var(--ento-brand); }
html { scroll-padding-top: 8.5rem; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

.ento-ts__secs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 1rem + 4vw, 4.5rem); }
.ento-ts__sec { padding: 0 0 2.5rem; scroll-margin-top: 8rem; min-width: 0; }
.ento-ts__sec--wide { grid-column: 1 / -1; }
.ento-ts__sum { display: flex; align-items: center; gap: 0.7rem; list-style: none; cursor: default; margin-bottom: 1.1rem; }
.ento-ts__sum::-webkit-details-marker { display: none; }
.ento-ts__sum .ento-icon { color: var(--g-700); flex: none; }
.ento-ts__sum h2 { margin: 0; font: 800 var(--step-2)/1.15 var(--font-head); letter-spacing: -0.015em; }

.ento-sub { margin: 1.5rem 0 0.6rem; font: 800 1rem/1.25 var(--font-head); }
.ento-lead-s { margin: 0 0 1rem; font-size: 1.0625rem; }
.ento-note-s { margin: 0.5rem 0 0; font-size: 0.875rem; color: var(--muted); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* tabelle (dosi, scheda completa) */
.ento-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.ento-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.4; background: var(--white); }
.ento-table th, .ento-table td { padding: 0.65rem 0.9rem; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.ento-table thead th { background: var(--g-50); border-top: 0; font: 700 0.8125rem/1.3 var(--font-head); color: var(--ink-2); white-space: nowrap; }
.ento-table tbody th { font-weight: 700; color: var(--ink); }
.ento-table--kv th { width: 34%; background: var(--g-25); color: var(--ink-2); font-weight: 700; }
.ento-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.65rem; border-radius: 999px; font: 700 0.8125rem/1.3 var(--font-head); }
.ento-table--doses.is-collapsed:not(.is-searching) .ento-row-extra { display: none; }
.ento-table--doses tr[hidden] { display: none !important; }   /* vince sulle regole di layout delle righe (card su mobile) */
.ento-fsearch--table { max-width: 24rem; margin-bottom: 0.75rem; }
.ento-fsearch--table .ento-fnone { margin: 0.4rem 0 0; font-size: 0.875rem; color: var(--ink-2); }
.ento-more { display: block; margin: 0.9rem auto 0; padding: 0.65rem 1.6rem; border: 1.5px solid var(--ento-brand); border-radius: 999px; background: var(--white); color: var(--ento-brand); font: 800 0.9375rem/1.2 var(--font-head); cursor: pointer; }
.ento-more[hidden], .ento-scroll[hidden] { display: none; }
.ento-more:hover { background: var(--g-50); }
.ento-more:focus-visible { outline: 3px solid var(--ento-brand); outline-offset: 2px; }
@media (min-width: 1024px) { .ento-table--doses .ento-badge { white-space: nowrap; } }
.ento-badge--carenza { background: var(--g-100); color: var(--ento-brand); border: 1px solid var(--g-200); }
.ento-badge--big { margin: 1.25rem 0 0; padding: 0.5rem 1rem; font-size: 0.9375rem; }

/* dose per biocidi e roditori */
.ento-dose { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.ento-dose li { padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--g-25); display: grid; gap: 0.25rem; }
.ento-dose li span { font: 700 0.8125rem/1.3 var(--font-head); color: var(--muted); }
.ento-dose li strong { font-size: 1.25rem; line-height: 1.3; color: var(--ink); }

/* sostanze attive */
.ento-active { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.ento-active li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-s); background: var(--white); }
.ento-active strong { white-space: nowrap; }

/* ---------------------------------------------------------------- calcolatore (in evidenza, colonna info) */
.ento-calc { margin: 1rem 0 1.1rem; padding: 1.15rem; border: 2px solid var(--ento-brand); border-radius: var(--radius-l); background: var(--g-50); box-shadow: var(--shadow-1); scroll-margin-top: 7rem; }
.ento-calc__head { display: flex; gap: 0.8rem; align-items: center; margin-bottom: 1rem; }
.ento-calc__ic { display: grid; place-items: center; flex: none; width: 2.9rem; height: 2.9rem; border-radius: 50%; background: var(--ento-brand); color: var(--white); }
.ento-calc__title { margin: 0; font: 800 1.1875rem/1.2 var(--font-head); letter-spacing: -0.01em; }
.ento-calc__dose { margin: 0.2rem 0 0; font-size: 0.9375rem; color: var(--ink-2); }
.ento-calc__inputs label { display: block; margin-bottom: 0.4rem; font: 700 0.875rem/1.3 var(--font-head); color: var(--ink-2); }
.ento-calc__field { display: flex; align-items: center; gap: 0.6rem; }
.ento-calc__num { flex: 1 1 auto; min-width: 0; min-height: 3.25rem; padding: 0.4rem 0.9rem; font: 800 1.5rem/1 var(--font-head); color: var(--ink); background: var(--white); border: 2px solid var(--line-strong); border-radius: var(--radius); }
.ento-calc__num:focus { border-color: var(--ento-brand); }
.ento-calc__unit { flex: none; min-width: 3rem; font: 800 1.125rem/1 var(--font-head); color: var(--ento-brand); }
.ento-calc__range { width: 100%; margin: 1rem 0 0.2rem; accent-color: var(--ento-brand); min-height: 1.75rem; }
.ento-calc__quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem; margin-top: 0.6rem; }
.ento-calc__q { padding: 0.55rem 0.3rem; border: 1.5px solid var(--g-200); border-radius: var(--radius-s); background: var(--white); color: var(--ink); font: 700 0.875rem/1.2 var(--font-head); cursor: pointer; }
.ento-calc__q:hover { border-color: var(--ento-brand); }
.ento-calc__q.is-on { background: var(--ento-brand); border-color: var(--ento-brand); color: var(--white); }
.ento-calc__out { margin-top: 1rem; padding: 1.1rem 1.15rem; border-radius: var(--radius); background: var(--ento-brand); color: var(--white); }
.ento-calc__big { margin: 0; font: 800 clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem)/1.1 var(--font-head); letter-spacing: -0.02em; color: var(--white); }
.ento-calc__res { margin: 0.4rem 0 0; font-size: 1rem; font-weight: 600; color: var(--on-brand); }
.ento-calc__how { margin: 0.6rem 0 0; padding-top: 0.6rem; border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 0.875rem; line-height: 1.45; color: var(--on-brand-soft); }
.ento-calc__set { margin: 0.9rem 0 0; padding-top: 0.6rem; border-top: 1px solid rgba(255, 255, 255, 0.25); font: 700 0.9375rem/1.4 var(--font-head); color: var(--white); }
.ento-calc input:focus-visible, .ento-calc button:focus-visible { outline: 3px solid var(--amber-500); outline-offset: 2px; }

/* ---------------------------------------------------------------- composizione: NPK, rilascio */
.ento-npk { display: grid; gap: 0.75rem; }
.ento-npk__row { display: grid; grid-template-columns: 2rem minmax(7rem, 11rem) 1fr minmax(3.25rem, auto); gap: 0.75rem; align-items: center; }
.ento-npk__sym { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--ento-brand); color: var(--white); font: 800 0.9375rem/1 var(--font-head); }
.ento-npk__name { font-weight: 600; color: var(--ink-2); }
.ento-npk__bar { height: 0.9rem; border-radius: 999px; background: var(--g-100); overflow: hidden; }
.ento-npk__bar i { display: block; height: 100%; border-radius: 999px; background: var(--g-700); }
.ento-npk__val { text-align: right; font-size: 1.0625rem; }
.ento-npk__bar--none { background: transparent; }
.ento-comp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem clamp(2rem, 1rem + 4vw, 4.5rem); }
.ento-comp > div > .ento-sub:first-child { margin-top: 0; }
@media (max-width: 760px) { .ento-comp { grid-template-columns: 1fr; } }
.ento-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.45rem; }
.ento-tags li { padding: 0.35rem 0.8rem; border-radius: 999px; background: var(--g-100); color: var(--ento-brand); font-weight: 600; font-size: 0.875rem; }
.ento-release { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.5rem; }
.ento-release__dot { width: 0.9rem; height: 0.9rem; border-radius: 50%; background: var(--ento-brand); }
.ento-release__dot--end { background: var(--white); border: 3px solid var(--ento-brand); }
.ento-release__line { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--ento-brand), var(--g-200)); }
.ento-release p { grid-column: 1 / -1; margin: 0.35rem 0 0; }

/* ---------------------------------------------------------------- quando: calendario */
.ento-cal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.4rem; }
.ento-cal__m { position: relative; display: grid; place-items: center; min-height: 3.1rem; border-radius: var(--radius-s); border: 1.5px solid var(--line); color: var(--muted); background: var(--white); }
.ento-cal__n { font: 700 0.8125rem/1 var(--font-head); }
.ento-cal__m.is-on { background: var(--ento-brand); border-color: var(--ento-brand); color: var(--white); }
.ento-cal__m.is-now { outline: 3px solid var(--amber-500); outline-offset: 2px; }
.ento-cal__legend { margin: 0.85rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; font-size: 0.875rem; color: var(--ink-2); }
.ento-cal__key { display: inline-block; width: 1rem; height: 1rem; border-radius: 4px; vertical-align: -2px; margin-right: 0.35rem; }
.ento-cal__key--on { background: var(--ento-brand); }
.ento-cal__key--now { background: var(--white); outline: 3px solid var(--amber-500); outline-offset: -1px; }

/* ---------------------------------------------------------------- come si usa */
.ento-howto { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ento-howto li { position: relative; display: grid; gap: 0.6rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.ento-howto .ento-icon { color: var(--g-700); }
.ento-howto__n { position: absolute; top: 0.9rem; right: 1rem; font: 800 1.5rem/1 var(--font-head); color: var(--g-200); }
.ento-howto strong { font: 800 1.0625rem/1.3 var(--font-head); }
.ento-howto p { margin: 0.2rem 0 0; color: var(--ink-2); }

/* ---------------------------------------------------------------- sicurezza */
.ento-signal { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; margin: 0 0 1.1rem; }
.ento-signal__word { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.95rem; border-radius: var(--radius-s); background: var(--amber-50); color: var(--amber-900); font: 800 1rem/1.2 var(--font-head); border: 1px solid var(--amber-500); }
.ento-signal__hint { color: var(--muted); font-size: 0.875rem; }
.ento-ghs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ento-ghs li { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.9rem 0.6rem 0.6rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.ento-ghs img { width: 4rem; height: 4rem; flex: none; }
.ento-ghs span { display: grid; }
.ento-ghs small { color: var(--muted); }
.ento-ppe { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.ento-ppe li { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.55rem 0.9rem; border: 1px solid var(--line); border-radius: var(--radius-s); background: var(--g-25); font-weight: 600; }
.ento-ppe .ento-icon { color: var(--g-700); flex: none; }
.ento-ts .ento-hazard { margin-top: 1.25rem; }

/* ---------------------------------------------------------------- documenti */
.ento-docs { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.ento-doc { display: flex; align-items: center; gap: 0.8rem; padding: 0.9rem 1.25rem; border: 1.5px solid var(--ento-brand); border-radius: var(--radius); background: var(--white); color: var(--ento-brand); text-decoration: none; min-width: 15rem; }
.ento-doc span { display: grid; }
.ento-doc small { color: var(--ink-2); }
.ento-doc:hover { background: var(--g-50); }

/* ---------------------------------------------------------------- mobile: fisarmoniche */
@media (max-width: 1023px) {
  .ento-ts__secs { display: block; }
  .ento-ts__nav { display: none; }
  .ento-ts__sec { padding: 0; border-bottom: 1px solid var(--line); scroll-margin-top: 5rem; }
  .ento-ts__sum { padding: 1rem 0; margin: 0; cursor: pointer; }
  .ento-ts__sum::after { content: ''; margin-left: auto; width: 0.6rem; height: 0.6rem; border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: rotate(45deg); transition: transform 0.2s; }
  .ento-ts__sec[open] > .ento-ts__sum::after { transform: rotate(-135deg); }
  .ento-ts__sum h2 { font-size: 1.25rem; }
  .ento-ts__body { padding: 0 0 1.5rem; }
  .ento-ts__sum:focus-visible { outline: 3px solid var(--ento-brand); outline-offset: 2px; }
  .ento-id { grid-template-columns: 1fr 1fr; }
  .ento-npk__row { grid-template-columns: 2rem 1fr 3.25rem; }
  .ento-npk__name { grid-column: 2 / -1; grid-row: 1; }
  .ento-npk__bar { grid-column: 2; grid-row: 2; }
  .ento-npk__sym { grid-row: 1 / span 2; }
  .ento-npk__val { grid-row: 2; }
  /* tabella dosi: una scheda per riga */
  .ento-table:not(.ento-table--kv) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ento-table:not(.ento-table--kv) tr { display: block; padding: 0.6rem 0.9rem; border-top: 1px solid var(--line); }
  .ento-table:not(.ento-table--kv) th, .ento-table:not(.ento-table--kv) td { display: block; padding: 0.15rem 0; border: 0; }
  .ento-table:not(.ento-table--kv) td::before { content: attr(data-label) ': '; font-weight: 700; color: var(--muted); font-size: 0.8125rem; }
  .ento-table:not(.ento-table--kv) td:empty { display: none; }
  .ento-table--kv th { width: 40%; }
}
@media (max-width: 760px) { .ento-howto { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .ento-calc__quick { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ento-id { grid-template-columns: 1fr; } .ento-doc { min-width: 0; width: 100%; } }
@media (prefers-reduced-motion: reduce) { .ento-ts__sum::after { transition: none; } }

/* Il grassetto resta a titoli ed etichette: i contenuti (frasi di dose, protezioni, valori della carta d'identita') sono a peso normale */
.ento-dose strong { font-weight: 400; }
.ento-dose li > span { font-weight: 700; }
.ento-ppe li { font-weight: 400; }
.ento-id__value { font-weight: 500; }
.ento-npk__name { font-weight: 500; }

/* colonna info stretta: le tessere della carta d identita vanno una sotto l altra */
.ento .bw-single-product__info { container-type: inline-size; }
@container (max-width: 440px) { .ento-id { grid-template-columns: minmax(0, 1fr); } }
