/* ==========================================================================
   Samsung-Elite — Inner page hero, Request Service page, 404
   (.page-hero is reused by every inner page in later phases)
   ========================================================================== */

/* ---------- Request layout ---------- */
.req__layout { display: grid; gap: 24px; align-items: start; }
.req-form { display: grid; gap: 22px; padding: clamp(20px, 3vw, 36px); }
.req-form:hover { transform: none; }
.req-form__head h2 { font-size: 1.5rem; }
.req-form__head p { font-size: var(--fs-sm); margin-top: 4px; }
.req-form__grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
.req-form__devices { border: 0; padding: 0; min-width: 0; }
.req-form__devices legend { margin-bottom: 10px; padding: 0; }
.req-form__devices.has-error .choice span { border-color: var(--c-danger); }
.textarea--sm { min-height: 80px; }
.req-form__privacy { display: flex; gap: 8px; font-size: var(--fs-xs) !important; color: var(--c-muted); line-height: 1.7; }
.req-form__privacy .icon { width: 17px; height: 17px; color: var(--c-ok); margin-top: 2px; }
.req-form__sent { padding: 14px 16px; border-radius: var(--r-sm); background: #ecfdf3; color: #075e33 !important; font-size: var(--fs-sm); }
.req-form__sent a { font-weight: 700; text-decoration: underline; }

.req__side { display: grid; gap: 16px; }
.side-card { padding: 22px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--c-line); }
.side-card h2 { font-size: 1.1rem; margin-bottom: 12px; }
.side-card--dark { background: var(--g-dark); color: #fff; border: 0; }
.side-card--dark p { color: var(--d-muted); font-size: var(--fs-sm); }
.side-card__phone { display: flex; align-items: center; gap: 10px; margin-block: 16px; font-size: 1.7rem; font-weight: 700; }
.side-card__phone .icon { color: var(--c-accent); }
.side-card__list { display: grid; gap: 10px; list-style: none; padding: 0; font-size: var(--fs-sm); color: var(--c-ink-2); }
.side-card__list li { display: flex; gap: 8px; }
.side-card__list .icon { width: 18px; height: 18px; color: var(--c-ok); margin-top: 3px; }
.side-card__models { display: grid; gap: 12px; }
.side-card__models dt { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: var(--fs-sm); }
.side-card__models dt .icon { color: var(--c-primary); }
.side-card__models dd { margin: 4px 0 0; padding-inline-start: 30px; font-size: var(--fs-xs); color: var(--c-muted); line-height: 1.7; }
.side-card__areas { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.side-card__areas li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--r-pill); background: var(--c-surface); font-size: var(--fs-sm); }
.side-card__areas .icon { width: 15px; height: 15px; color: var(--c-primary); }

@media (min-width: 640px) {
  .req-form__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .req__layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
  .req__side { position: sticky; top: calc(var(--header-h) + 20px); }
}

/* ---------- 404 ---------- */
.nf { padding-block: clamp(64px, 10vw, 140px); }
.nf__code { font-size: clamp(5rem, 3rem + 10vw, 10rem); font-weight: 700; line-height: 1; background: var(--g-primary); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nf__actions { justify-content: center; margin-top: 28px; }
