/* Header and action remain outside the scrolling task. */
.gr-request-dialog { width: min(880px, calc(100% - 48px)); max-width: none; max-height: calc(var(--request-viewport, 100dvh) - 48px); margin: auto; padding: 0; border: 0; background: #fbfbfa; color: #171719; overflow: hidden; box-shadow: 0 20px 64px rgb(0 0 0 / 18%); }
.gr-request-dialog .gr-request-scroll { flex: 1 1 auto; }
.gr-request-dialog::backdrop { background: rgb(23 23 25 / 58%); }
.gr-request-open { overflow: hidden; }
.gr-request-page { width: min(880px, calc(100% - 40px)); margin: 40px auto 64px; }
.gr-request-form { --request-ink: #171719; --request-muted: #62625e; --request-gold: #7a5700; --request-line: #deded8; --request-space: 32px; display: flex; flex-direction: column; max-height: inherit; min-height: 0; font-family: Onest, sans-serif; color: var(--request-ink); background: #fbfbfa; font-size: 14px; line-height: 1.5; text-align: left; }
.gr-request-form *, .gr-request-form *::before, .gr-request-form *::after { box-sizing: border-box; }
.gr-request-form [hidden] { display: none !important; }
.gr-request-form :is(h1,h2,h3,p,fieldset,ol) { margin: 0; }
.gr-request-form :is(button,input,select,textarea) { font: inherit; letter-spacing: normal; border-radius: 0; }
.gr-request-form button { cursor: pointer; }
.gr-request-form button:disabled { cursor: default; }
.gr-request-header { flex: 0 0 auto; padding: 12px var(--request-space) 0; background: #fbfbfa; border-bottom: 1px solid var(--request-line); }
.gr-request-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 44px; }
.gr-request-form .gr-request-header :is(h1,h2) { font-family: var(--type-family, Onest, sans-serif); font-size: var(--type-title, 1.375rem); font-weight: 450; line-height: 1.25; letter-spacing: -.025em; }
.gr-request-close { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; flex: 0 0 auto; padding: 10px; border: 0; background: transparent; color: inherit; font-size: 13px; text-decoration: none; }
.gr-request-heading-row > :is(h1,h2) { min-width: 0; }
.gr-request-form .ui-icon { width: 20px; height: 20px; flex: 0 0 20px; }
.gr-request-close:hover { background: #efefeb; }
.gr-request-steps { display: flex; gap: 28px; list-style: none; padding: 0; color: var(--request-muted); font-size: 12px; }
.gr-request-steps li { display: flex; align-items: center; gap: 8px; padding: 9px 0 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.gr-request-steps li[aria-current] { color: var(--request-ink); border-bottom-color: var(--request-gold); }
.gr-request-steps button { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: -9px 0 -12px; padding: 9px 0 12px; border: 0; color: inherit; background: transparent; }
.gr-request-steps button:not(:disabled):hover { color: var(--request-gold); }
.gr-request-steps span { font-variant-numeric: tabular-nums; color: var(--request-gold); }
.gr-request-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 24px var(--request-space) 28px; scrollbar-width: thin; scrollbar-color: #a2a29b #f7f7f7; scroll-padding-block: 16px; }
.gr-request-choice { padding-bottom: 20px; border-bottom: 1px solid var(--request-line); }
.gr-request-service-heading { display: flex; gap: 12px 24px; align-items: start; justify-content: space-between; }
.gr-request-form .gr-request-service-heading :is(h2,h3) { font-family: var(--type-family, Onest, sans-serif); font-size: var(--type-title, 1.375rem); font-weight: 450; line-height: 1.35; letter-spacing: -.02em; overflow-wrap: anywhere; }
.gr-request-link { display: inline-flex; align-items: center; text-align: left; flex: 0 0 auto; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--request-gold); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.gr-request-link:hover { color: var(--request-ink); }
.gr-request-link:disabled { color: var(--request-muted); }
.gr-request-service-heading .gr-request-link { margin-top: -8px; }
.gr-request-form label { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 450; }
.gr-request-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-top: 10px !important; color: var(--request-muted); }
.gr-request-price strong { font-size: 18px; font-weight: 450; color: var(--request-ink); font-variant-numeric: tabular-nums; }
.gr-request-price span + strong::before, .gr-request-price strong + span::before { content: ''; display: inline-block; height: 12px; margin-right: 14px; border-left: 1px solid #c6c6c0; }
.gr-request-form :is(select,input:not([type=checkbox]):not([type=radio]),textarea) { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #94948f; background: #fff; color: var(--request-ink); font-size: 16px; caret-color: var(--request-gold); }
.gr-request-form select { appearance: none; padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%23171719' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; text-overflow: ellipsis; }
.gr-request-form textarea { resize: vertical; }
.gr-request-availability { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; padding-top: 22px; }
.gr-request-date-rail, .gr-request-calendar-toggle { display: none; }
.gr-request-calendar { min-width: 0; }
.gr-request-calendar-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; min-height: 44px; }
.gr-request-form .gr-request-calendar-heading :is(h2,h3), .gr-request-form legend { padding: 0; font-family: var(--type-family, Onest, sans-serif); font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: -.015em; }
.gr-request-month-nav { display: flex; }
.gr-request-month-nav button { display: grid; place-items: center; width: 44px; height: 44px; padding: 12px; border: 0; background: transparent; color: var(--request-ink); }
.gr-request-month-nav button:disabled { color: #b7b7b1; }
.gr-request-month-nav button:hover:not(:disabled) { background: #efefeb; }
.gr-request-month-nav button:first-child svg { transform: rotate(180deg); }
.gr-request-weekdays, .gr-request-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; text-align: center; font-variant-numeric: tabular-nums; }
.gr-request-weekdays { margin-bottom: 7px; font-size: 11px; color: var(--request-muted); }
.gr-request-days button { position: relative; min-width: 0; min-height: 44px; padding: 5px 0; border: 1px solid #d7d7d1; background: #fff; color: var(--request-ink); }
.gr-request-days button:disabled { background: transparent; color: #969690; border-color: transparent; }
.gr-request-days button:hover:not(:disabled) { border-color: var(--request-gold); background: #f3f0e8; }
.gr-request-days button[aria-pressed=true] { background: var(--request-ink); border-color: var(--request-ink); color: #fff; }
.gr-request-days button[aria-pressed=true]:hover { background: #2b2b2e; color: #fff; }
.gr-request-days button[aria-current=date]::after { content: ''; position: absolute; width: 4px; height: 4px; bottom: 4px; left: calc(50% - 2px); background: currentColor; }
.gr-request-time { min-width: 0; border: 0; padding: 0; }
.gr-request-form legend { float: left; width: 100%; min-height: 34px; padding-top: 10px; }
.gr-request-time-date { clear: both; font-size: 12px; color: var(--request-muted); padding: 2px 0 16px; min-height: 36px; }
.gr-request-times { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.gr-request-form .gr-request-slot { position: relative; margin: 0; }
.gr-request-slot input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.gr-request-slot span { display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 8px 4px; border: 1px solid #a4a49e; background: #fff; font-size: 14px; font-variant-numeric: tabular-nums; }
.gr-request-slot input:checked + span { background: var(--request-ink); color: #fff; border-color: var(--request-ink); }
.gr-request-slot input:hover + span, .gr-request-option input:hover + span { border-color: var(--request-gold); }
.gr-request-slot input:focus-visible + span, .gr-request-option input:focus-visible + span { outline: 2px solid var(--request-gold); outline-offset: 3px; }
.gr-request-slot-status { color: var(--request-muted); font-size: 14px; }
.gr-request-slot-status:not(:empty) { padding: 16px 0 8px; }
.gr-request-skeleton { min-height: 44px; background: #eaeae5; }
.gr-request-timezone { font-size: 11px; color: var(--request-muted); padding-top: 14px; }
.gr-request-footer { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 16px 24px; min-height: 94px; padding: 18px var(--request-space); border-top: 1px solid var(--request-line); background: #f3f3ef; }
.gr-request-footer-copy { min-width: 0; font-size: 13px; }
.gr-request-hint { margin-top: 4px !important; color: var(--request-muted); font-size: 12px; }
.gr-request-form .gr-request-primary { min-width: 220px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 24px; width: auto; min-height: 50px; padding: 12px 18px; border: 1px solid var(--request-ink); background: var(--request-ink); color: #fff; font: inherit; font-size: 14px; text-align: left; text-decoration: none; }
.gr-request-form .gr-request-primary::before, .gr-request-form .gr-request-primary::after { display: none; }
.gr-request-form .gr-request-primary:disabled { background: #e0e0d9; border-color: #e0e0d9; color: #62625e; }
.gr-request-form .gr-request-primary:hover:not(:disabled) { background: #353535; color: #fff; }
.gr-request-form :is(button,select,input,textarea,a,summary,[tabindex]):focus-visible { outline: 2px solid var(--request-gold); outline-offset: 3px; }
.gr-request-form ::selection { background: #d0a85a; color: #171719; }
.gr-request-error { padding: 14px 16px; margin: 0 0 20px; border: 1px solid #a64839; color: #8b3025; background: #fff9f7; font-size: 14px; }
.gr-request-error .gr-request-link { color: inherit; }
.gr-request-form input { scroll-margin-block: 24px; }
.gr-request-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gr-request-comment { border-block: 1px solid var(--request-line); }
.gr-request-comment summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; gap: 16px; padding: 10px 0; color: var(--request-gold); cursor: pointer; font-size: 13px; list-style: none; }
.gr-request-comment summary::-webkit-details-marker { display: none; }
.gr-request-comment summary .ui-icon { width: 16px; height: 16px; transform: rotate(90deg); }
.gr-request-comment[open] summary .ui-icon { transform: rotate(-90deg); }
.gr-request-comment textarea { margin-bottom: 12px; }
.gr-request-contacts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 32px; }
.gr-request-review { min-width: 0; padding-right: 24px; border-right: 1px solid var(--request-line); }
.gr-request-contact-body { min-width: 0; }
.gr-request-summary strong { display: block; font-size: 18px; font-weight: 450; line-height: 1.4; overflow-wrap: anywhere; }
.gr-request-summary p { margin-top: 6px; font-size: 13px; color: var(--request-muted); }
.gr-request-summary .gr-request-summary-time { margin-top: 14px; font-size: 16px; color: var(--request-ink); font-variant-numeric: tabular-nums; }
.gr-request-review .gr-request-link { margin-top: 10px; }
.gr-request-contact-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; margin-bottom: 18px; }
.gr-request-phone { display: grid; grid-template-columns: 114px minmax(0,1fr); }
.gr-request-phone-country { position: relative; }
.gr-request-form .gr-request-phone-country select { position: absolute; inset: 0; z-index: 2; height: 100%; opacity: 0; cursor: pointer; }
.gr-request-country-display { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 100%; min-height: 48px; padding: 12px 10px; border: 1px solid #94948f; background: #f3f3ef; font-size: 14px; white-space: nowrap; }
.gr-request-country-display .ui-icon { width: 14px; height: 14px; flex-basis: 14px; transform: rotate(90deg); }
.gr-request-phone-country select:focus-visible + .gr-request-country-display { position: relative; z-index: 1; outline: 2px solid var(--request-gold); outline-offset: 3px; }
.gr-request-phone-country select:hover + .gr-request-country-display { background: #eeeee8; }
.gr-request-form .gr-request-phone > input { border-left: 0; }
.gr-request-field-help, .gr-request-field-error { margin-top: 6px !important; font-size: 12px; }
.gr-request-field-help { color: var(--request-muted); }
.gr-request-field-error { color: #8b3025; }
.gr-request-form [aria-invalid=true] { border-color: #a64839 !important; background-color: #fff9f7 !important; }
.gr-request-form .gr-request-privacy { display: flex; align-items: start; gap: 12px; min-height: 44px; padding: 8px 0; margin: 14px 0 0; font-weight: 400; }
.gr-request-privacy input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--request-ink); flex: 0 0 20px; }
.gr-request-privacy a { color: var(--request-gold); text-underline-offset: 3px; }
.gr-request-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.gr-request-success { padding: 16px 0 12px; max-width: 58ch; margin-inline: auto; }
.gr-request-saved-note { font-size: 13px; color: var(--request-gold); margin-top: 10px !important; }
.gr-request-form .gr-request-success :is(h2,h3) { font-size: var(--type-sub, 2rem); font-weight: 300; letter-spacing: -.03em; line-height: 1.15; }
.gr-request-success .gr-request-summary { margin: 26px 0 20px; padding: 20px 0; border-top: 1px solid var(--request-line); border-bottom: 1px solid var(--request-line); }
.gr-request-success > p:not([class]) { font-size: 14px; line-height: 1.65; color: var(--request-muted); }
.gr-request-form[data-stage=success] .gr-request-steps { display: none; }
.gr-request-form[data-stage=success] .gr-request-header { padding-bottom: 12px; }
.gr-request-form[data-stage=success] .gr-request-footer { justify-content: flex-end; }
.gr-request-page .gr-request-footer { position: sticky; bottom: 0; }
.gr-request-page .gr-request-scroll { overflow: visible; }
@media (min-width: 701px) and (max-width: 900px) {
 .gr-request-availability { gap: 24px; }
 .gr-request-days, .gr-request-weekdays { gap: 1px; }
}
@media (max-width: 700px) {
 .gr-request-dialog { width: 100%; height: var(--request-viewport, 100dvh); max-height: var(--request-viewport, 100dvh); margin: 0; top: var(--request-top, 0px); bottom: auto; }
 .gr-request-dialog .gr-request-form { height: 100%; }
 .gr-request-form { --request-space: 20px; }
 .gr-request-header { padding-top: max(8px, env(safe-area-inset-top)); }
 .gr-request-heading-row { gap: 8px; }
 .gr-request-steps { gap: 24px; }
 .gr-request-scroll { padding-top: 16px; padding-bottom: 24px; }
 .gr-request-service-heading { gap: 8px 16px; }
 .gr-request-service-heading :is(h2,h3) { font-size: 20px; }
 .gr-request-service-heading .gr-request-link { flex-shrink: 0; min-width: 0; max-width: none; font-size: 12px; line-height: 1.4; }
 .gr-request-choice { padding-bottom: 18px; }
 .gr-request-variant-wrap { margin-top: 10px; }
 .gr-request-options { gap: 6px; }
 .gr-request-option span { padding-inline: 12px; }
 .gr-request-availability { grid-template-columns: minmax(0,1fr); gap: 18px; padding-top: 14px; }
 .gr-request-calendar-toggle { display: inline-flex; font-size: 12px; }
 .gr-request-month-grid { display: none; }
 .gr-request-form[data-calendar=expanded] .gr-request-month-grid { display: block; }
 .gr-request-form[data-calendar=expanded] .gr-request-date-rail { display: none; }
 .gr-request-date-rail { position: relative; display: flex; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; padding: 3px 3px 9px; margin: 0 -3px; }
 .gr-request-date-rail button { position: relative; display: flex; flex: 0 0 52px; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 66px; padding: 8px 4px; border: 1px solid #d7d7d1; background: #fff; color: var(--request-ink); scroll-snap-align: start; font-variant-numeric: tabular-nums; }
 .gr-request-date-rail button span { font-size: 11px; color: var(--request-muted); }
 .gr-request-date-rail button strong { font-size: 18px; font-weight: 450; }
 .gr-request-date-rail button:disabled { border-color: transparent; background: transparent; color: #969690; }
 .gr-request-date-rail button:disabled span { color: inherit; }
 .gr-request-date-rail button[aria-pressed=true] { background: var(--request-ink); border-color: var(--request-ink); color: #fff; }
 .gr-request-date-rail button[aria-pressed=true] span { color: inherit; }
 .gr-request-date-rail button[aria-current=date]::after { content: ''; position: absolute; bottom: 3px; width: 3px; height: 3px; background: currentColor; }
 .gr-request-time { padding-top: 6px; border-top: 1px solid var(--request-line); }
 .gr-request-times { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
 .gr-request-footer { display: block; min-height: 0; padding: 12px var(--request-space) max(12px, env(safe-area-inset-bottom)); }
 .gr-request-footer-copy { margin-bottom: 10px; font-size: 12px; }
 .gr-request-hint { font-size: 11px; }
 .gr-request-form .gr-request-primary { width: 100%; min-width: 0; }
 .gr-request-contacts { grid-template-columns: minmax(0,1fr); gap: 20px; }
 .gr-request-review { padding: 0 0 14px; border-right: 0; border-bottom: 1px solid var(--request-line); }
 .gr-request-review .gr-request-link { margin: 4px 0 -8px; }
 .gr-request-summary .gr-request-summary-time { margin-top: 8px; }
 .gr-request-page { width: 100%; margin: 20px 0 40px; }
 .gr-request-success { padding-top: 12px; }
}
@media (max-width: 359px) {
 .gr-request-form { --request-space: 12px; }
 .gr-request-heading-row { flex-wrap: wrap; }
 .gr-request-heading-row > :is(h1,h2) { flex: 1 1 calc(100% - 120px); }
 .gr-request-human { order: 1; margin-left: 0; }
 .gr-request-days, .gr-request-weekdays { gap: 0; margin-inline: -6px; }
 .gr-request-times { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .gr-request-steps { gap: 18px; }
}
@media (max-height: 500px) and (max-width: 700px) {
 .gr-request-steps { display: none; }
 .gr-request-footer-copy { display: none; }
 .gr-request-footer { padding-block: 8px; }
}
@media (prefers-reduced-motion: no-preference) {
 .gr-request-dialog[open] { animation: gr-request-enter 180ms cubic-bezier(.16,1,.3,1); }
 .gr-request-option span, .gr-request-slot span, .gr-request-days button { transition: background-color 130ms ease-out, border-color 130ms ease-out, color 130ms ease-out; }
 @keyframes gr-request-enter { from { opacity: .7; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
@media (forced-colors: active) {
 .gr-request-slot input:checked + span, .gr-request-option input:checked + span, .gr-request-days button[aria-pressed=true], .gr-request-date-rail button[aria-pressed=true] { outline: 3px solid Highlight; outline-offset: -3px; }
}

/* Keep the current form step visible below the fixed mobile header. */
.gr-request-form{scroll-margin-top:6rem}
[data-request-callback]{margin-block:1rem}

/* A service menu with visible categories, then explicit service/variant selection. */
.gr-request-form [data-request-picker] > :is(h2,h3) { font-size: 24px; font-weight: 450; line-height: 1.3; letter-spacing: -.02em; }
.gr-request-picker-intro { padding-top: 6px; color: var(--request-muted); font-size: 14px; }
.gr-request-search { position: relative; margin-block: 20px 24px; }
.gr-request-form .gr-request-search input[type=search] { padding-inline: 44px 52px; }
.gr-request-search-icon { position: absolute; top: 14px; left: 14px; color: var(--request-muted); pointer-events: none; }
.gr-request-search input::-webkit-search-cancel-button { appearance: none; }
.gr-request-search input::placeholder { color: var(--request-muted); opacity: 1; }
.gr-request-search button { position: absolute; inset-block: 2px; right: 2px; width: 44px; border: 0; background: transparent; display: grid; place-items: center; color: var(--request-muted); }
.gr-request-form .gr-request-search-hint { margin-block: -12px 20px; color: var(--request-muted); font-size: 12px; line-height: 1.5; }
.gr-request-service-match { display: block; padding-top: 6px; font-size: 13px; line-height: 1.45; color: var(--request-gold); }
.gr-request-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
.gr-request-category { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; justify-content: space-between; gap: 12px; min-height: 70px; padding: 14px 0; border: 0; border-bottom: 1px solid var(--request-line); background: transparent; color: var(--request-ink); text-align: left; line-height: 1.4; }
.gr-request-category-label { min-width: 0; font-size: 16px; overflow-wrap: anywhere; hyphens: auto; }
.gr-request-category-count { color: var(--request-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.gr-request-category:hover, .gr-request-category[aria-pressed=true] { color: var(--request-gold); }
.gr-request-category[aria-pressed=true] .gr-request-category-label { text-decoration: underline; text-underline-offset: 5px; }
.gr-request-browser[data-list=true] { display: grid; grid-template-columns: 184px minmax(0,1fr); gap: 28px; align-items: start; }
.gr-request-browser[data-list=true] .gr-request-categories { display: flex; flex-direction: column; }
.gr-request-browser[data-list=true] .gr-request-category { min-height: 52px; padding-block: 12px; }
.gr-request-browser[data-list=true] .gr-request-category-label { font-size: 14px; }
.gr-request-results { min-width: 0; }
.gr-request-form .gr-request-results :is(h3,h4) { margin: 0; padding-block: 0 12px; font-size: 18px; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; }
.gr-request-results > .gr-request-link { gap: 8px; margin-top: -8px; font-size: 12px; }
.gr-request-results > .gr-request-link svg { width: 14px; transform: rotate(180deg); }
.gr-request-service-row { border-top: 1px solid var(--request-line); }
.gr-request-service-row:last-child { border-bottom: 1px solid var(--request-line); }
.gr-request-service-button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 78px; padding: 16px 8px; border: 0; background: transparent; color: var(--request-ink); text-align: left; }
.gr-request-service-button:hover { background: #f3f3ef; }
.gr-request-service-copy { display: block; min-width: 0; }
.gr-request-service-name { display: block; font-size: 15px; font-weight: 450; line-height: 1.45; overflow-wrap: anywhere; }
.gr-request-service-facts { display: block; padding-top: 5px; font-size: 13px; color: var(--request-muted); font-variant-numeric: tabular-nums; }
.gr-request-service-mark { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; color: var(--request-ink); }
.gr-request-service-mark .ui-icon { width: 20px; height: 20px; }
.gr-request-service-row[data-selected=true], .gr-request-service-row[data-expanded=true] { background: #f3f3ef; }
.gr-request-service-row[data-selected=true] .gr-request-service-mark { color: var(--request-gold); }
.gr-request-service-button[aria-expanded=true] .gr-request-service-mark .ui-icon { transform: rotate(180deg); }
.gr-request-category-icon { width: 24px; height: 24px; color: var(--request-gold); }
.gr-request-service-variants { position: relative; min-width: 0; border: 0; padding: 0 12px 12px; }
.gr-request-form .gr-request-service-variant { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px 8px; margin: 0; border-top: 1px solid var(--request-line); cursor: pointer; }
.gr-request-service-variant input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--request-ink); margin: 0; }
.gr-request-service-variant:has(input:checked) .gr-request-service-name { color: var(--request-gold); }
.gr-request-empty { padding-block: 20px; color: var(--request-muted); }
.gr-request-form[data-stage=services] .gr-request-footer-copy { max-width: 50ch; }
@media (max-width: 700px) {
 .gr-request-steps { gap: 20px; font-size: 12px; }
 .gr-request-steps li { gap: 6px; }
 .gr-request-steps button { gap: 6px; }
 .gr-request-form [data-request-picker] > :is(h2,h3) { font-size: 22px; }
 .gr-request-picker-intro { font-size: 13px; }
 .gr-request-search { margin-block: 16px 20px; }
 .gr-request-categories { gap: 0 16px; }
 .gr-request-category { min-height: 100px; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-content: start; }
 .gr-request-category-icon { grid-column: 1 / -1; }
 .gr-request-category-label { font-size: 14px; }
 .gr-request-browser[data-list=true] { display: block; }
 .gr-request-browser[data-list=true] .gr-request-categories { display: none; }
 .gr-request-service-button { padding-inline: 2px; }
 .gr-request-service-name { font-size: 15px; }
 .gr-request-service-variants { padding-inline: 4px; }
}
@media (forced-colors: active) {
 .gr-request-category[aria-pressed=true], .gr-request-service-row[data-selected=true] { outline: 2px solid Highlight; outline-offset: -2px; }
}

.gr-request-form .gr-request-service-variants legend { float: none; width: 1px; min-height: 0; padding: 0; }
[data-request-catalog-status] { padding-block: 12px; color: var(--request-muted); }

/* Keep all three steps readable without restoring the short-landscape stepper. */
@media (max-width: 359px) and (min-height: 501px) {
 .gr-request-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
 .gr-request-steps li, .gr-request-steps button { min-width: 0; overflow-wrap: anywhere; }
 .gr-request-steps button { text-align: left; }
 .gr-request-steps span { flex-shrink: 0; }
}
