.detail-page .program-hero__visual::before { background: #fff0e5; }
.detail-page .program-hero__visual img { object-position: center; }
.detail-page .program-hero h1 { font-size: clamp(3rem,4.7vw,5.25rem); overflow-wrap: anywhere; }
.detail-page .program-hero__grid { gap: clamp(2rem,5vw,6rem); }
.detail-page--offer .program-hero__badge { background: var(--orange); }
.detail-page--price .site-header { background: #fff; }
.detail-price-small { font-size: clamp(2rem,4vw,3.7rem) !important; }
.detail-facts { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); margin-top: -2rem; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow); }
.detail-facts > div { min-height: 120px; padding: 1.4rem; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.detail-facts > div:last-child { border-right: 0; }
.detail-facts small { color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.detail-facts strong { margin-top: .45rem; font: 900 1rem/1.25 "Nunito",sans-serif; }
.detail-choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.detail-choice { min-height: 360px; padding: clamp(2rem,4vw,3.5rem); display: flex; flex-direction: column; border-radius: 34px; background: var(--orange-soft); color: var(--ink); transition: transform .25s ease,box-shadow .25s ease; }
.detail-choice:nth-child(2) { background: #fff1cb; }
.detail-choice:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.detail-choice > span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; background: rgba(255,255,255,.75); color: var(--orange-dark); font-weight: 900; }
.detail-choice h3 { margin-top: auto; padding-top: 4rem; font-size: clamp(1.8rem,3vw,3rem); }
.detail-choice p { max-width: 520px; margin: .7rem 0 1.5rem; color: var(--muted); }
.detail-choice b { font-size: .82rem; }
@media (max-width:900px) { .detail-facts { grid-template-columns: repeat(2,1fr); margin-top: 0; } .detail-facts > div:nth-child(2) { border-right: 0; } .detail-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width:700px) { .detail-choice-grid { grid-template-columns: 1fr; } .detail-facts { grid-template-columns: 1fr; } .detail-facts > div { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--line); } .detail-facts > div:last-child { border-bottom: 0; } .detail-page .price-row strong { overflow-wrap: anywhere; text-align: right; } }
