/* The detail view shares the established CTMES shell; artwork stays legible rather than cropped into a card. */
.promotion-detail {max-width: 980px; margin: 0 auto; padding: clamp(20px,4vw,48px); background: var(--white,#fff); border: 1px solid #d7dce0; border-radius: 12px; color:#253746;}
.promotion-detail > a:first-child {display:inline-block; margin-bottom:24px; color:#253746; font-weight:600; text-decoration:underline; min-height:44px; padding:10px 0;}
.promotion-detail h3 {font-size:clamp(24px,4vw,38px); line-height:1.2; margin-bottom:16px; overflow-wrap:anywhere;}
.promotion-detail p {white-space:pre-line; overflow-wrap:anywhere;}
.promotion-detail-artwork {display:block; width:100%; height:auto; max-width:760px; margin:28px auto; object-fit:contain;}
.promotion-detail .btn {display:inline-flex; margin:8px 12px 8px 0; max-width:100%; white-space:normal;}
.promotion-detail a:focus-visible {outline:3px solid #b57a00; outline-offset:4px;}
@media (max-width:600px) {.promotion-detail {padding:20px 16px;} .promotion-detail .btn {display:flex; width:100%; justify-content:center; margin-right:0;}}

/* Server-rendered offers get a quiet, focused layout instead of repeating the listing hero. */
.promotion-detail-page {padding:48px 24px 72px; background:#f4f6f7;}
.promotion-detail-page .promotion-detail {max-width:1160px;}
.promotion-detail-hero {padding-bottom:28px; border-bottom:1px solid #d7dce0; margin-bottom:32px;}
.promotion-detail-hero nav {font-size:14px; margin-bottom:24px;}
.promotion-detail-hero nav a {text-decoration:underline;}
.promotion-detail-hero h1 {font-size:clamp(30px,4vw,48px); line-height:1.15; max-width:920px; overflow-wrap:anywhere; margin:12px 0 20px;}
.promotion-detail-layout {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; align-items:start;}
.promotion-detail-summary {font-size:20px; font-weight:600; margin-bottom:24px;}
.promotion-detail-copy {min-width:0; overflow-wrap:anywhere; line-height:1.7;}
.promotion-detail-terms {font-size:18px;}
.promotion-detail-actions {display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
.promotion-detail .promotion-detail-actions .btn {margin:0; min-height:48px;}
.promotion-detail-media {margin:0; min-width:0;}
.promotion-detail-media img {display:block; width:100%; height:auto; object-fit:contain; border-radius:6px;}
.promotion-detail-media figcaption {text-align:center; font-size:14px; margin-top:12px;}
.promotion-detail-media figcaption a {text-decoration:underline; display:inline-block; padding:10px; min-height:44px;}
.promotion-detail-note {font-size:14px; color:#465563; margin-top:20px;}
.promotion-expired {padding:16px; background:#fff2cc; border-left:4px solid #b57a00;}
@media (max-width:700px) {.promotion-detail-page {padding:24px 16px 40px;} .promotion-detail-layout {grid-template-columns:1fr; gap:28px;} .promotion-detail-hero h1 {font-size:30px;} .promotion-detail-page .promotion-detail {padding:24px 20px;} .promotion-detail-actions {display:block;} .promotion-detail .promotion-detail-actions .btn {margin-bottom:12px; width:100%;} .promotion-detail-terms {font-size:17px;}}

