/* Blocchi aggiuntivi della home */
.hb { position: relative; padding: 80px 0; color: var(--hb-text, #3d3d3a); background-color: var(--hb-bg, #fff); background-size: cover; background-position: center; }
.hb--tint { background-color: var(--sand); }
.hb--plain { background-color: #fff; }
.hb--image::before { content: ""; position: absolute; inset: 0; background: var(--hb-overlay, rgba(21,63,59,.45)); }
.hb-texture { position: absolute; inset: 0; background: url('../img/pattern-brand.svg') center / cover no-repeat; opacity: .35; pointer-events: none; }
.hb-inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 36px; }

.hb h2 { color: var(--hb-title, var(--teal-deep)); }
.hb .eyebrow { color: var(--hb-title, var(--teal-deep)); }
.hb-text p { font-size: 16px; line-height: 1.75; color: var(--hb-text, #3d3d3a); margin: 0 0 16px; }
.hb-text { max-width: 640px; min-width: 0; }

.hb-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
.hb-row--left { grid-template-columns: minmax(0, var(--hb-left-w, 340px)) minmax(0, 1fr); }
.hb-row--right { grid-template-columns: minmax(0, 1fr) minmax(0, var(--hb-right-w, 340px)); }
.hb-row--left.hb-row--right { grid-template-columns: minmax(0, var(--hb-left-w, 340px)) minmax(0, 1fr) minmax(0, var(--hb-right-w, 340px)); }
.hb-row:not(.hb-row--left):not(.hb-row--right) .hb-text { max-width: 640px; }

.hb-gallery { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.hb-gallery--top, .hb-gallery--bottom { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
.hb-img { margin: 0; border-radius: 18px; overflow: hidden; background: var(--sand); max-width: 100%; }
.hb-img img { display: block; width: 100%; height: auto; }

.hb-gallery--left .hb-img, .hb-gallery--right .hb-img { width: 100%; }
.hb-gallery--left .hb-img--small, .hb-gallery--right .hb-img--small { max-width: 220px; }
.hb-gallery--left .hb-img--medium, .hb-gallery--right .hb-img--medium { max-width: 340px; }
.hb-gallery--left .hb-img--large, .hb-gallery--right .hb-img--large { max-width: 480px; }

.hb-gallery--top .hb-img--small, .hb-gallery--bottom .hb-img--small { width: 220px; }
.hb-gallery--top .hb-img--medium, .hb-gallery--bottom .hb-img--medium { width: 340px; }
.hb-gallery--top .hb-img--large, .hb-gallery--bottom .hb-img--large { width: 480px; }
.hb-gallery--top .hb-img--full, .hb-gallery--bottom .hb-img--full { width: 100%; }
.hb-gallery--left .hb-img--full, .hb-gallery--right .hb-img--full { max-width: none; }

@media (max-width: 860px) {
    .hb { padding: 56px 0; }
    .hb-row, .hb-row--left, .hb-row--right, .hb-row--left.hb-row--right { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .hb-gallery--left, .hb-gallery--right { align-items: center; }
    .hb-gallery--left .hb-img, .hb-gallery--right .hb-img { margin: 0 auto; }
    .hb-gallery--top .hb-img, .hb-gallery--bottom .hb-img { max-width: 100%; }
}
