.offer-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.offer-card,.offer-enhanced,.offer-selector { min-width:0; overflow-wrap:anywhere; }
.offer-card { display:flex; flex-direction:column; gap:1rem; }
.offer-card strong[data-offer-total],.offer-enhanced strong[data-offer-total] { display:block; font-size:1.65rem; }
.offer-card details { font-size:.95rem; }
.offer-card summary,.offer-enhanced summary { cursor:pointer; font-weight:600; }
.offer-card ul,.offer-enhanced ul { padding-left:1.25rem; }
.offer-enhanced { margin-top:1.5rem; padding:1.5rem; border:1px solid #ddd; border-radius:12px; }
.offer-stepper { display:flex; align-items:center; gap:.5rem; max-width:100%; }
.offer-stepper label { display:flex; flex-direction:column; min-width:0; }
.offer-stepper input { width:100%; max-width:7rem; min-width:0; padding:.6rem; }
.offer-stepper button { min-width:44px; min-height:44px; border:1px solid #bbb; border-radius:6px; background:white; color:#242038; cursor:pointer; }
.offer-selector { display:grid; gap:1rem; padding:1rem; border:1px solid #ddd; border-radius:10px; }
.offer-selector label { display:block; min-width:0; }
.offer-selector select { width:100%; min-width:0; max-width:100%; padding:.6rem; }
.offer-selector .offer-enhanced-choice { display:flex; align-items:center; gap:.5rem; }
.offer-selector input[type=checkbox] { width:auto; flex:none; }
.offer-selector [data-offer-summary] { min-width:0; overflow-wrap:anywhere; }
.offer-comparison-wrap { overflow-x:auto; max-width:100%; min-width:0; }
.offer-comparison { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.95rem; }
.offer-comparison th,.offer-comparison td { border:1px solid #ddd; padding:.7rem; overflow-wrap:anywhere; text-align:left; }
.offer-comparison th:first-child { width:37%; }
.offer-comparison caption { text-align:left; font-weight:700; padding:.7rem 0; }
[hidden].offer-selector { display:none; }
@media(max-width:760px) { .offer-cards { grid-template-columns:1fr; } .offer-comparison { font-size:.8rem; } .offer-comparison th,.offer-comparison td { padding:.4rem; } .offer-enhanced { padding:1rem; } }
