/* Container width governs reflow; display pixel density is not a zoom signal. */
.bam-site { container: bam-page / inline-size; }
.bam-v1 { container: bam-builder / inline-size; }
.bam-site, .bam-v1,
.bam-site main, .bam-site section, .bam-site header > *,
.bam-v1 .layout > *, .bam-v1 .fields > *,
.bam-site .bam-band > *, .bam-site .bam-offers > * {
    min-width: 0;
    max-width: 100%;
}
.bam-site main { width: 100%; max-width: 1168px; }
.bam-site h1, .bam-site h2, .bam-v1 h2, .bam-v1 h3,
.bam-site p, .bam-site li, .bam-site a,
.bam-v1 label, .bam-v1 legend, .bam-v1 small {
    overflow-wrap: anywhere;
}
.bam-v1 .summary { position: static; }
.bam-v1 .choices label { flex: 1 1 180px; min-width: 0; max-width: 100%; }
.bam-site button, .bam-v1 button, .bam-site .bam-action {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}
.bam-site .bam-actions, .bam-v1 .actions {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
}
.bam-site .bam-band { flex-wrap: wrap; }

@container bam-builder (max-width: 760px) {
    .bam-v1 .layout, .bam-v1 .fields { grid-template-columns: minmax(0, 1fr); }
    .bam-v1 .choices { flex-direction: column; }
    .bam-v1 .choices label { flex: none; }
    .bam-v1 .summary {
        border-left: 0;
        border-top: 1px solid #cbd9d4;
        padding: 24px 0 0;
    }
}
@container bam-page (max-width: 1100px) {
    .bam-site h1 { font-size: 42px; }
}
@container bam-page (max-width: 760px) {
    .bam-site > header { padding: 16px; flex-direction: column; align-items: flex-start; gap: 12px; }
    .bam-site nav { gap: 16px; }
    .bam-site main { padding: 24px 16px; }
    .bam-site h1 { font-size: 34px; }
    .bam-site .bam-offers { grid-template-columns: minmax(0, 1fr); }
    .bam-site .bam-band { flex-direction: column; align-items: flex-start; }
}
