.review-only { display: none; }
.review-mode .review-only { display: block; }
.review-mode { padding-bottom: 105px; }
.review-mode .mobile-book { display: none; }
.review-start { margin-top: 74px; padding: 2rem 0; background: #e1f3f3; color: #17383b; border-bottom: 1px solid #abcfd0; }
.review-start h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); margin-bottom: .7rem; }
.review-start p { max-width: 75ch; margin: .5rem 0; }
.review-start a { font-weight: 700; text-underline-offset: 4px; }
.review-mode .hero { min-height: 700px; padding-top: 5rem; }
.review-mode .hero-media, .review-mode .hero::before { top: 0; }
.review-note { grid-column: 1 / -1; width: 100%; margin-top: 2rem; padding: 0 1.1rem; border: 1px solid #68a8ac; border-radius: .6rem; color: #183b3e; background: #eaf6f6; }
.review-note summary { padding: .85rem 0; }
.review-note summary strong { font: 700 1rem/1.4 'DM Sans', sans-serif; }
.review-note label { display: block; margin-bottom: .5rem; font-size: .95rem; }
.review-note textarea { display: block; color: #16282a; background: #fff; border-color: #83a4a6; min-height: 125px; margin-bottom: 1rem; }
.review-note summary span { border-color: #68a8ac !important; color: #17575d !important; }
.review-mode .hero .review-note { max-width: 560px; }
.review-toolbar { position: fixed; z-index: 60; bottom: 0; left: 0; right: 0; padding: .8rem 0; background: #17383b; color: #fff; border-top: 1px solid #6aa9ad; box-shadow: 0 -3px 20px #0002; }
.review-toolbar > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.review-toolbar strong { display: block; font-size: 1rem; }
.review-toolbar small { display: block; font-size: .875rem; color: #d5ebec; }
.review-toolbar .button { flex-shrink: 0; }
.review-return { background: var(--white); }
.review-return h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; }
.review-return > .shell > p { max-width: 75ch; color: var(--muted); }
.review-return form { max-width: 850px; display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; margin-top: 2rem; }
.review-return .full { grid-column: 1 / -1; }
.review-return label { display: block; font-size: .95rem; margin-bottom: .4rem; }
.review-return textarea[readonly] { min-height: 260px; font-size: .95rem; background: #f0f5f5; }
.review-return .review-status { min-height: 1.5em; color: #17575d; margin: 0; }
.review-return .review-help { font-size: .95rem; margin: 0; }
@media(max-width:900px) { .review-mode .hero { min-height: auto; padding: 0 0 3.6rem; } .review-mode .hero .review-note { max-width: none; } }
@media(max-width:620px) { .review-start { margin-top: 66px; } .review-toolbar .button { padding: .65rem .9rem; font-size: .9rem; } .review-toolbar small { max-width: 25ch; } .review-return form { grid-template-columns: 1fr; } }
