.catalog-tools { grid-template-columns: minmax(200px,1fr) minmax(160px,.7fr) minmax(240px,1fr); gap: 20px; }
.catalog-tools .field { min-width: 0; margin-bottom: 12px; }
.catalog-status { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 20px; }
.catalog-status p { margin: 0; color: var(--muted); font-size: 13px; }
.trade-product > div { min-width: 0; }
.quantity-tiers { font-size: 12px; margin-top: 12px; }
.quantity-tiers summary { cursor: pointer; color: var(--deep); }
.quantity-tiers table { font-size: 12px; margin: 10px 0; }
.quantity-tiers caption { text-align: left; font-size: 12px; color: var(--muted); }
.quantity-tiers th, .quantity-tiers td { padding: 5px 8px; min-width: 0; }
.quantity-tiers .is-active { background: #e5e9d9; font-weight: 700; }
.family-progress { margin-top: 8px; }
.line-subtotal { display: block; margin-top: 10px; min-height: 36px; font-size: 12px; color: var(--deep); }
.cart-lines { margin-top: 20px; }
@media(max-width:900px) { .catalog-tools { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }.catalog-tools .field:first-child { grid-column: 1 / -1; } }
@media(max-width:500px) { .catalog-tools { grid-template-columns: minmax(0,1fr); } }
.catalog-sections{display:flex;flex-wrap:wrap;gap:8px;border:0;border-bottom:1px solid #d6ddd8;padding:0 0 16px;margin:0 0 20px}.catalog-sections legend{font-size:14px;margin-bottom:10px}.catalog-sections label{position:relative;cursor:pointer}.catalog-sections input{position:absolute;opacity:0;width:1px;height:1px}.catalog-sections span{display:block;padding:10px 14px;border:1px solid #a6b2a9;border-radius:4px;font-size:14px}.catalog-sections input:checked+span{background:#214b3b;color:#fff;border-color:#214b3b}.catalog-sections input:focus-visible+span{outline:3px solid #168fbb;outline-offset:2px}.product-photo-pending{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;background:#f1f3f2;font-size:12px;color:#4d6156}.header-row{flex-wrap:wrap}.trade-product h2,.trade-product p{overflow-wrap:anywhere}.catalog-sections+ .catalog-tools{margin-top:12px}@media(max-width:600px){.catalog-sections{display:grid;grid-template-columns:1fr}.catalog-sections label{width:100%}.product-photo-pending{min-height:75px}.portal-header nav{flex-wrap:wrap}}

.product-photo-pending{font-size:12px;line-height:1.4;aspect-ratio:auto;min-height:100px;}
.trade-product .trade-price{overflow-wrap:normal;word-break:normal;}
@media(max-width:700px){
  .trade-product{grid-template-columns:70px minmax(0,1fr) 100px;gap:12px;}
  .trade-product>div:not(.trade-price):not(.product-photo-pending){grid-column:2 / -1;}
  .trade-product .trade-price{grid-column:1 / 3;}
  .trade-product .qty{grid-column:3;max-width:100px;}
  .trade-price b{font-size:20px;line-height:1.35;}
  .cart-lines{overflow:visible;}
  .cart-lines table,.cart-lines tbody{display:block;}
  .cart-lines thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  .cart-lines tr{display:block;border-bottom:1px solid var(--line);padding:16px 0;}
  .cart-lines td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:7px 0;border:0;min-width:0!important;}
  .cart-lines td:first-child{display:block;padding-bottom:12px;}
  .cart-lines td[data-label]::before{content:attr(data-label);font-size:12px;color:var(--muted);}
}
@media print{.language-switch{display:none!important;}}

/* Riepilogo ordine: palette catalogo Herborea 2026 */
.order-summary{--hb-green:#57643c;--hb-green-deep:#333c22;--hb-green-soft:#e5e9d9;--hb-paper:#f8f6ef;--hb-line:#dedacb;--hb-line-soft:#eae7da;--hb-ink:#23241d;--hb-ink-soft:#57584a;--hb-ink-faint:#8f8e7c;--hb-tan-soft:#ede6d4;margin:32px 0 0;background:#fff;border:1px solid var(--hb-line);border-radius:10px;overflow:hidden;color:var(--hb-ink)}
.order-summary .order-summary__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px;padding:16px 24px;background:var(--hb-green-deep);color:var(--hb-paper)}
.order-summary .order-summary__head h2{margin:0;font-size:1.2rem;line-height:1.3;font-weight:750;letter-spacing:-.01em;color:var(--hb-paper)}
.order-summary .order-summary__head span{font-size:.7rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#d4deba}
.order-summary .order-summary__body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.order-summary .order-summary__rows{margin:0;padding:6px 24px}
.order-summary .order-summary__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--hb-line-soft)}
.order-summary .order-summary__row:last-child{border-bottom:0}
.order-summary .order-summary__row dt{margin:0;font-size:.9rem;line-height:1.4;font-weight:550;color:var(--hb-ink-soft)}
.order-summary .order-summary__row dd{margin:0;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--hb-ink)}
.order-summary .order-summary__row.is-discount dd{color:var(--hb-green)}
.order-summary .order-summary__row.is-zero dd{color:var(--hb-ink-faint);font-weight:500}
.order-summary .order-summary__rate{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;background:var(--hb-green-soft);color:var(--hb-green-deep);font-size:.72rem;font-weight:750;vertical-align:1px}
.order-summary .order-summary__total{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:22px 24px;background:var(--hb-green-soft);border-left:1px solid var(--hb-line)}
.order-summary .order-summary__total-label{font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--hb-green)}
.order-summary .order-summary__total strong{font-size:2rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--hb-green-deep);overflow-wrap:anywhere}
.order-summary .order-summary__shipping{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:10px 0 0;padding:6px 12px;border-radius:999px;background:var(--hb-paper);color:var(--hb-ink-soft);font-size:.8rem;line-height:1.35;font-weight:600}
.order-summary .order-summary__shipping.is-free{background:var(--hb-green-deep);color:var(--hb-paper)}
.order-summary .order-summary__shipping svg{width:18px;height:18px;flex:none}
.order-summary .order-summary__note{margin:0;padding:14px 24px;background:var(--hb-tan-soft);border-top:1px solid var(--hb-line);font-size:.84rem;line-height:1.5;color:var(--hb-ink)}
.cart-lines + .order-summary{margin-top:28px}
.order-summary + a{display:inline-block;margin:14px 0 0}
@media(max-width:700px){.order-summary .order-summary__body{grid-template-columns:minmax(0,1fr)}.order-summary .order-summary__total{border-left:0;border-top:1px solid var(--hb-line)}.order-summary .order-summary__head,.order-summary .order-summary__rows,.order-summary .order-summary__total,.order-summary .order-summary__note{padding-left:18px;padding-right:18px}.order-summary .order-summary__total strong{font-size:1.75rem}}
@media print{.order-summary,.order-summary *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Interruttore lingua IT | EN: palette catalogo Herborea 2026 */
.language-switch{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:3px;border:1px solid #dedacb;border-radius:999px;background:#fff}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:34px;padding:0 11px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.08em;color:#57584a;text-decoration:none;transition:background-color .15s,color .15s}
.language-switch a:hover{background:#f0ede2;color:#333c22}
.language-switch a[aria-current]{background:#333c22;color:#f8f6ef;cursor:default}
.language-switch a:focus-visible{outline:2px solid #57643c;outline-offset:2px}
@media(max-width:700px){.portal-header .language-switch{order:1;margin-left:auto}.portal-header .header-row nav{order:2;flex-basis:100%}}

/* Schede prodotto: contenuto confezione e badge come nel catalogo Herborea 2026 */
.trade-product .pack-line{display:flex;align-items:flex-start;gap:7px;margin:9px 0 0;font-size:.8rem;line-height:1.45;color:#333c22}
.trade-product .pack-line::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:#57643c;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 7.5 12 3l8.5 4.5v9L12 21l-8.5-4.5zM3.5 7.5 12 12l8.5-4.5M12 12v9' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 7.5 12 3l8.5 4.5v9L12 21l-8.5-4.5zM3.5 7.5 12 12l8.5-4.5M12 12v9' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.trade-product .pack-line strong{font-weight:700}
.trade-product .spec-chips{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0;padding:0;list-style:none}
.trade-product .spec-chips li{font-size:.7rem;font-weight:700;line-height:1.3;color:#333c22;background:#e5e9d9;padding:4px 10px;border-radius:999px;overflow-wrap:anywhere}
.trade-product .spec-chips li i{font-style:normal;font-weight:600;opacity:.72}
.trade-product .spec-chips li.is-stock{color:#8a5a1f;background:#f3e2c8}
.trade-product .trade-price .retail-price{display:block;margin-top:8px;font-size:.68rem;line-height:1.35;color:#57584a}
.trade-product .trade-price .retail-price b{display:block;margin-top:1px;font-size:.84rem;line-height:1.3;font-weight:700;color:#333c22}
.cart-lines td small.cart-pack{margin-top:3px;color:#333c22}
