/* Services index/detail + editorial primitives (presentation only; markup from astro-member-portal). Theme tokens only. */
.amp-services,
.amp-service-detail {
	margin-inline: auto;
	max-width: 72rem;
}

.amp-services-list {
	border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	list-style: none;
	margin: 2.5rem 0 0;
	max-width: 52rem;
	padding: 0;
}

.amp-service-row {
	align-items: start;
	border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	column-gap: 1.25rem;
	display: grid;
	grid-template-areas: "text media" "cta media2";
	grid-template-columns: minmax(0, 1fr) auto;
	padding-block: 2rem;
}

.amp-service-row__text { grid-area: text; min-width: 0; }
.amp-service-row__media { grid-area: media; grid-row: 1; justify-self: end; }
.amp-service-row__cta { grid-area: cta; margin-top: 1rem; }

.amp-service-row__title {
	font-family: var(--astro-font-editorial);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	overflow-wrap: anywhere;
}

.amp-service-row__excerpt {
	color: var(--wp--preset--color--muted, #6e6a64);
	font-family: var(--astro-font-editorial);
	font-size: 1.0625rem;
	font-style: italic;
	line-height: 1.5;
	margin: 0.5rem 0 0;
	overflow-wrap: anywhere;
}

.amp-service-row__img {
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	display: block;
	height: 5.5rem;
	object-fit: cover;
	width: 5.5rem;
}

.amp-service-row__cta,
.amp-service-breadcrumb a {
	color: var(--wp--preset--color--primary, #c86928);
	font-family: var(--astro-font-functional);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.amp-service-row__cta:focus-visible,
.amp-service-breadcrumb a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #c86928);
	outline-offset: 3px;
}

@media (min-width: 48em) {
	.amp-service-row { grid-template-areas: "text media" ". cta"; }
	.amp-service-row__cta { justify-self: end; }
	.amp-service-row__img { height: 8.5rem; width: 11rem; }
}

/* Detail */
.amp-service-breadcrumb {
	border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	color: var(--wp--preset--color--muted, #6e6a64);
	font-family: var(--astro-font-functional);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	text-transform: uppercase;
}

.amp-service-detail__intro {
	border-inline-start: 2px solid var(--wp--preset--color--primary, #c86928);
	color: var(--wp--preset--color--muted, #6e6a64);
	font-family: var(--astro-font-editorial);
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.6;
	margin: 1.25rem 0 0;
	max-width: 40rem;
	overflow-wrap: anywhere;
	padding-inline-start: 0.75rem;
}

/* Detail layout: mobile single column (image, steps, fee, note); desktop = aside (image + note) | main (steps + fee). */
.amp-service-detail__layout { display: flex; flex-direction: column; margin-top: 2rem; }
.amp-service-detail__aside { display: contents; }
.amp-service-detail__media { margin: 0; order: 1; }
.amp-service-detail__body { order: 2; }
.amp-service-detail__note { margin-top: 2rem; order: 3; }
.amp-service-detail__img { border-radius: 12px; display: block; height: auto; max-width: 100%; }

.amp-service-detail__body {
	font-family: var(--astro-font-functional);
	line-height: 1.7;
	margin-top: 2rem;
	min-width: 0;
	overflow-wrap: anywhere;
}

.amp-service-detail__body :where(img, video, iframe) { max-width: 100%; }

.amp-service-detail__body > h2 {
	border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	font-family: var(--astro-font-functional);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	margin: 0;
	padding-bottom: 1rem;
	text-transform: uppercase;
}

.amp-service-detail__body > .is-style-amp-fee-callout { margin-top: 2rem; }

@media (min-width: 64em) {
	.amp-service-detail__layout {
		align-items: start;
		column-gap: 4rem;
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
	.amp-service-detail__aside { display: block; }
	.amp-service-detail__body { margin-top: 0; }
	.amp-service-detail__media { margin: 0; }
}

/* Steps: core ordered list, automatic 01, 02, 03 numbering. */
ol.is-style-amp-steps {
	counter-reset: amp-step;
	list-style: none;
	margin-inline: 0;
	padding: 0;
}

ol.is-style-amp-steps > li {
	border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	counter-increment: amp-step;
	padding: 1.25rem 0 1.25rem 3.75rem;
	position: relative;
}

ol.is-style-amp-steps > li::before {
	color: var(--wp--preset--color--primary, #c86928);
	content: counter(amp-step, decimal-leading-zero);
	font-family: var(--astro-font-editorial);
	font-size: 2rem;
	font-weight: 300;
	left: 0;
	line-height: 1.1;
	position: absolute;
	top: 1.1rem;
}

ol.is-style-amp-steps > li > strong:first-child { display: block; font-weight: 500; }
ol.is-style-amp-steps > li > br { display: none; }
ol.is-style-amp-steps > li { color: var(--wp--preset--color--muted, #6e6a64); }
ol.is-style-amp-steps > li > strong:first-child { color: var(--wp--preset--color--contrast, #1f1c18); }

/* Fee callout: first paragraph = label, second = value, third (optional) = italic note. */
.wp-block-group.is-style-amp-fee-callout {
	background: #f7efe8;
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 12px;
	box-sizing: border-box;
	padding: 1.5rem;
}

.is-style-amp-fee-callout > p:first-child {
	color: var(--wp--preset--color--primary, #c86928);
	font-family: var(--astro-font-functional);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.is-style-amp-fee-callout > p:nth-child(2) {
	font-family: var(--astro-font-editorial);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem);
	line-height: 1.25;
	margin: 0;
}

.is-style-amp-fee-callout > p:nth-child(n+3) {
	color: var(--wp--preset--color--muted, #6e6a64);
	font-family: var(--astro-font-editorial);
	font-style: italic;
	margin: 0.5rem 0 0;
}

/* House note: editorial rich text, no logic. */
.wp-block-group.is-style-amp-house-note {
	background: rgb(255 255 255 / 70%);
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 12px;
	box-sizing: border-box;
	font-family: var(--astro-font-editorial);
	font-style: italic;
	padding: 1.25rem 1.5rem;
}

/* ---------------------------------------------------------------------------------------------------------------
   Motorbike request form (astro/motorbike-request). A request, not a booking. Markup + behaviour: astro-member-portal.
   Theme tokens only; form controls are 16px so mobile browsers never zoom (CJK sizes are never reduced).
   --------------------------------------------------------------------------------------------------------------- */
.amp-service-detail--request .amp-service-detail__layout { display: flex; flex-direction: column; }
.amp-service-detail--request .amp-service-detail__body { margin-top: 2rem; width: 100%; }

.amp-mr { align-items: start; display: grid; font-family: var(--astro-font-functional); gap: 2rem; grid-template-columns: minmax(0, 1fr); }
.amp-mr__main { min-width: 0; }
.amp-mr__aside { display: grid; gap: 1.25rem; min-width: 0; }

.amp-mr__form,
.amp-mr__done {
	background: #fff;
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 12px;
	padding: 1.25rem;
}
.amp-mr__form { display: grid; gap: 1.25rem; }
.amp-mr__form[hidden],
.amp-mr__done[hidden] { display: none; }

.amp-mr__fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.amp-mr__fieldset--inner { margin-top: 0.75rem; }
.amp-mr__legend,
.amp-mr__label {
	color: var(--wp--preset--color--muted, #6e6a64);
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 0.5rem;
	padding: 0;
	text-transform: uppercase;
}
.amp-mr__legend--plain { color: var(--wp--preset--color--charcoal, #272624); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.amp-mr__sublabel {
	color: var(--wp--preset--color--muted, #6e6a64);
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 0.375rem;
}
.amp-mr__req { color: var(--wp--preset--color--primary, #c86928); }
.amp-mr__optional { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.875rem; }
.amp-mr__sr { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }

.amp-mr__input {
	appearance: none;
	background: #fff;
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	box-sizing: border-box;
	color: var(--wp--preset--color--charcoal, #272624);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.4;
	min-height: 2.75rem;
	padding: 0.5rem 0.75rem;
	width: 100%;
}
.amp-mr__select {
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 1.1rem) 50%, calc(100% - 0.8rem) 50%;
	background-repeat: no-repeat;
	background-size: 0.3rem 0.3rem;
	padding-inline-end: 2rem;
}
.amp-mr__textarea { resize: vertical; }
.amp-mr__input:focus-visible { border-color: var(--wp--preset--color--primary, #c86928); outline: 2px solid var(--wp--preset--color--primary, #c86928); outline-offset: 1px; }
.amp-mr__input[aria-invalid="true"] { border-color: var(--wp--preset--color--primary, #c86928); border-width: 2px; }
.amp-mr__hint { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.875rem; margin: 0.375rem 0 0; }
.amp-mr__exact { margin-top: 0.75rem; }

/* Segmented radio choices: the checked state has a dot + bold text + border, never colour alone. */
.amp-mr__segment { display: grid; gap: 0.5rem; grid-template-columns: minmax(0, 1fr); }
.amp-mr__segment--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.amp-mr__segment--3.amp-mr__segment--small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.amp-mr__segment--small .amp-mr__choice-text { font-size: 1rem; padding-inline: 0.375rem; }
.amp-mr__yesno { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.amp-mr__choice { display: block; position: relative; }
.amp-mr__radio { height: 1px; margin: 0; opacity: 0; position: absolute; width: 1px; }
.amp-mr__choice-text {
	align-items: center;
	background: #fff;
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	box-sizing: border-box;
	color: var(--wp--preset--color--muted, #6e6a64);
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	gap: 0.4rem;
	justify-content: center;
	line-height: 1.3;
	min-height: 2.75rem;
	overflow-wrap: anywhere;
	padding: 0.5rem 0.75rem;
	text-align: center;
}
.amp-mr__choice-text:hover { border-color: var(--wp--preset--color--primary, #c86928); }
.amp-mr__radio:checked + .amp-mr__choice-text {
	background: var(--wp--preset--color--primary-tint, #f6eae1);
	border-color: var(--wp--preset--color--primary, #c86928);
	color: var(--wp--preset--color--primary, #c86928);
	font-weight: 400;
}
.amp-mr__radio:checked + .amp-mr__choice-text::before { background: currentColor; border-radius: 50%; content: ""; flex: none; height: 0.4rem; width: 0.4rem; }
.amp-mr__radio:focus-visible + .amp-mr__choice-text { outline: 2px solid var(--wp--preset--color--primary, #c86928); outline-offset: 2px; }
.amp-mr__fieldset[data-invalid] .amp-mr__choice-text { border-color: var(--wp--preset--color--primary, #c86928); border-style: dashed; }

.amp-mr__phone {
	background: var(--wp--preset--color--linen, #faf8f5);
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	margin-top: 0.75rem;
	padding: 0.75rem;
}
.amp-mr__phone[hidden],
.amp-mr__licence[hidden],
.amp-mr__loc-alt[hidden],
.amp-mr__exact[hidden] { display: none; }

.amp-mr__licence {
	background: var(--wp--preset--color--linen-tint, #f4efea);
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	padding: 0.75rem;
}
.amp-mr__warning {
	border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	color: var(--wp--preset--color--primary, #c86928);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 0.75rem 0 0;
	padding-top: 0.625rem;
}
.amp-mr__warning[hidden],
.amp-mr__error[hidden],
.amp-mr__summary[hidden] { display: none; }

.amp-mr__grid3,
.amp-mr__grid2 { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
.amp-mr__field { min-width: 0; }

.amp-mr__loc {
	background: var(--wp--preset--color--linen, #faf8f5);
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 8px;
	min-width: 0;
	padding: 0.75rem;
}
.amp-mr__loc-head { align-items: baseline; display: flex; gap: 0.5rem; justify-content: space-between; }
.amp-mr__loc-head .amp-mr__label { margin-bottom: 0.25rem; }
.amp-mr__link {
	background: none;
	border: 0;
	color: var(--wp--preset--color--primary, #c86928);
	cursor: pointer;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 400;
	min-height: 2.75rem;
	padding: 0 0.25rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.amp-mr__link:focus-visible { outline: 2px solid var(--wp--preset--color--primary, #c86928); outline-offset: 2px; }
.amp-mr__loc-default { display: grid; gap: 0.125rem; }
.amp-mr__loc-default[hidden] { display: none; }
.amp-mr__loc-name { color: var(--wp--preset--color--charcoal, #272624); font-size: 1rem; font-weight: 600; }
.amp-mr__loc-address { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.875rem; overflow-wrap: anywhere; }

.amp-mr__error { color: var(--wp--preset--color--primary, #c86928); font-size: 0.9375rem; font-weight: 600; line-height: 1.4; margin: 0.375rem 0 0; }
.amp-mr__error::before { content: "! "; }
.amp-mr__summary {
	border-inline-start: 3px solid var(--wp--preset--color--primary, #c86928);
	color: var(--wp--preset--color--charcoal, #272624);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 1rem;
	padding: 0.25rem 0 0.25rem 0.75rem;
}

.amp-mr__submit { display: grid; }
.amp-mr__button {
	background: var(--wp--preset--color--primary, #c86928);
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.3;
	min-height: 3rem;
	padding: 0.75rem 1.5rem;
	text-transform: uppercase;
	width: 100%;
}
.amp-mr__button:hover { filter: brightness(0.94); }
.amp-mr__button:focus-visible { outline: 3px solid var(--wp--preset--color--charcoal, #272624); outline-offset: 2px; }
.amp-mr__button:disabled { cursor: progress; filter: none; opacity: 0.75; }
.amp-mr__fineprint { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.9375rem; line-height: 1.6; margin: 0.5rem 0 0; text-align: center; }

.amp-mr__done { outline: none; text-align: center; }
.amp-mr__done-title { font-family: var(--astro-font-editorial); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 400; margin: 0 0 0.5rem; }
.amp-mr__done-body { color: var(--wp--preset--color--muted, #6e6a64); line-height: 1.6; margin: 0; }

.amp-mr__card { background: #fff; border: 1px solid var(--wp--preset--color--hairline, #e8e3da); border-radius: 12px; padding: 1.25rem; }
.amp-mr__card-eyebrow { color: var(--wp--preset--color--primary, #c86928); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.14em; margin: 0 0 0.5rem; text-transform: uppercase; }
.amp-mr__card-eyebrow--muted { color: var(--wp--preset--color--muted, #6e6a64); }
.amp-mr__card-text { color: var(--wp--preset--color--muted, #6e6a64); line-height: 1.6; margin: 0; }
.amp-mr__disclaimer { color: var(--wp--preset--color--muted, #6e6a64); font-family: var(--astro-font-editorial); font-style: italic; line-height: 1.6; overflow-wrap: anywhere; }
.amp-mr__disclaimer > :first-child { margin-top: 0; }
.amp-mr__disclaimer > :last-child { margin-bottom: 0; }

/* VR-G4 simplification: lighter choices, quantity next to the vehicle, Pickup/Return as one compact date + slot row each,
   location rows instead of cards, and a compact estimate strip. Sentence-case group labels; controls stay >= 16px. */
.amp-mr__label--plain { color: var(--wp--preset--color--charcoal, #272624); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.amp-mr__segment--compact { gap: 0.375rem; }
.amp-mr__segment--compact .amp-mr__choice-text { min-height: 2.5rem; padding: 0.375rem 0.625rem; }
.amp-mr__group { display: grid; gap: 0.875rem; }
.amp-mr__vq { display: grid; gap: 0.625rem; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr); } /* Vehicle type ~71% + Quantity ~29% on ONE row at every width (incl. 390px) */
.amp-mr__when-row { display: grid; gap: 0.625rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.amp-mr__when .amp-mr__legend { margin-bottom: 0.375rem; }
/* Single-line location: "Pickup & Return location - At Astro House - Change"; Change reveals two address inputs, "Use Astro House" resets both. */
.amp-mr__place { border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da); border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da); padding: 0.375rem 0; }
.amp-mr__place-row { align-items: center; column-gap: 0.75rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.amp-mr__place-label { color: var(--wp--preset--color--charcoal, #272624); font-size: 1rem; font-weight: 400; grid-column: 1; line-height: 1.3; }
.amp-mr__place-value { color: var(--wp--preset--color--muted, #6e6a64); font-size: 1rem; grid-column: 1; grid-row: 2; }
.amp-mr__place-row .amp-mr__link { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
.amp-mr__place-value[hidden],
.amp-mr__place-panel[hidden] { display: none; }
.amp-mr__place-panel { display: grid; gap: 0.625rem; padding: 0.25rem 0 0.5rem; }
.amp-mr__link { min-height: 2.25rem; }
.amp-mr__note-toggle { justify-self: start; padding-inline: 0; }
.amp-mr__note-toggle[hidden],
.amp-mr__note-panel[hidden] { display: none; }
.amp-mr__estimate { border-radius: 8px; padding: 0.625rem 0.875rem; }
.amp-mr__estimate .amp-mr__card-eyebrow { font-size: 0.8125rem; letter-spacing: 0.06em; margin: 0; text-transform: none; }
.amp-mr__estimate-value { color: var(--wp--preset--color--charcoal, #272624); font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.amp-mr__estimate .amp-mr__hint { margin: 0.125rem 0 0; }
.amp-mr__hint[hidden] { display: none; }
.amp-mr__select option:disabled { color: #9a958d; }

@media (min-width: 40em) {
	.amp-mr__segment--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.amp-mr__place-row { grid-template-columns: auto minmax(0, 1fr) auto; }
	.amp-mr__place-value { grid-column: 2; grid-row: 1; }
	.amp-mr__place-row .amp-mr__link { grid-column: 3; grid-row: 1; }
	.amp-mr__grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.amp-mr__grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64em) {
	.amp-mr { column-gap: 3rem; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.amp-mr__form,
	.amp-mr__done { padding: 2rem; }
}

@media (prefers-reduced-motion: no-preference) {
	.amp-mr__choice-text,
	.amp-mr__input,
	.amp-mr__button { transition: border-color 0.15s ease, background-color 0.15s ease, filter 0.15s ease; }
}

/* ---------------------------------------------------------------------------------------------------------------
   SERVICES-R1-E: generic request status on the Services index (secondary to the title) and "Your requests" history on a
   Service detail. Markup: astro-member-portal (AMP_Stay_Requests_View). Theme tokens only; no new font family.
   --------------------------------------------------------------------------------------------------------------- */
.amp-service-row__status { margin: 0.5rem 0 0; }

.amp-svc-status {
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 999px;
	color: var(--wp--preset--color--muted, #6e6a64);
	display: inline-block;
	font-family: var(--astro-font-functional);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	padding: 0.125rem 0.625rem;
}

.amp-svc-requests {
	background: #fff;
	border: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	border-radius: 12px;
	box-sizing: border-box;
	font-family: var(--astro-font-functional);
	margin-top: 2rem;
	max-width: 36rem;
	padding: 1rem 1.25rem;
}

.amp-svc-requests__title {
	color: var(--wp--preset--color--muted, #6e6a64);
	font-family: var(--astro-font-functional);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.amp-svc-requests__list { list-style: none; margin: 0; padding: 0; }

.amp-svc-requests__row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
	padding-block: 0.625rem;
}

.amp-svc-requests__row + .amp-svc-requests__row { border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da); }
.amp-svc-requests__date { font-size: 0.9375rem; min-width: 0; }
.amp-svc-requests__row .amp-svc-status { flex-shrink: 0; }

.amp-svc-requests__pager {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da);
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr auto 1fr;
	padding-top: 0.75rem;
}

.amp-svc-requests__pager a {
	color: var(--wp--preset--color--primary, #c86928);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.amp-svc-requests__pager a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #c86928);
	outline-offset: 3px;
}

.amp-svc-requests__pager .amp-requests-page { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.75rem; }
.amp-svc-requests__pager .amp-requests-next { justify-self: end; }

/* SERVICES-R2: Motorbike request ticket. Main card = request summary + compact price; lower card = progress only. Terracotta marks the price amount and the CURRENT step. */
.amp-service-detail--request .amp-svc-requests { max-width: none; }
.amp-service-detail--request .amp-svc-requests__date { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.75rem; font-weight: 400; opacity: 0.85; }
.amp-service-detail--request .amp-svc-requests__row { align-items: center; row-gap: 0.5rem; }
.amp-service-detail--request .amp-svc-requests__head { align-items: center; display: flex; gap: 0.75rem; justify-content: space-between; margin-bottom: 0.5rem; }
.amp-service-detail--request .amp-svc-requests__head .amp-svc-requests__title { margin: 0; }
.amp-service-detail--request .amp-svc-requests__row--rich { align-items: stretch; display: block; }
.amp-svc-requests__rowhead { display: flex; justify-content: flex-end; margin-bottom: 0.375rem; }

/* request grid: left = summary, right = price; the details button sits under both */
.amp-mr-req { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 1.25rem; }
.amp-mr-req[hidden],
.amp-mr-req [hidden] { display: none; }
.amp-mr-req__top { align-items: start; column-gap: 2rem; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 0.875rem; }
.amp-mr-req__main { display: grid; gap: 0.25rem; min-width: 0; }
.amp-mr-req__sent { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.75rem; font-weight: 400; margin: 0.25rem 0 0; opacity: 0.85; }
.amp-mr-req__side { min-width: 0; }
.amp-mr-req__side .amp-mr-ticket__price { align-items: flex-start; flex-direction: column; row-gap: 0.0625rem; }
.amp-mr-req__side .amp-mr-ticket__price-value { font-size: 1.75rem; }
.amp-mr-req__actions { grid-column: 1 / -1; }

/* details modal (native <dialog>): bottom sheet on mobile, centered panel on desktop */
.amp-mr-modal { background: #fff; border: 0; border-radius: 16px 16px 0 0; box-sizing: border-box; color: var(--wp--preset--color--charcoal, #272624); font-family: var(--astro-font-functional); margin: auto 0 0; max-height: 90vh; max-width: none; padding: 0; width: 100%; }
.amp-mr-modal::backdrop { background: rgba(39, 38, 36, 0.5); }
.amp-mr-modal__sheet { box-sizing: border-box; display: grid; gap: 0.875rem; max-height: 90vh; overflow-y: auto; overscroll-behavior: contain; padding: 1rem 1.25rem 1.25rem; }
.amp-mr-modal__head { align-items: center; display: flex; gap: 0.75rem; justify-content: space-between; }
.amp-mr-modal__title { font-family: var(--astro-font-editorial); font-size: 1.25rem; font-weight: 400; margin: 0; }
.amp-mr-modal__x { background: transparent; border: 0; border-radius: 8px; color: var(--wp--preset--color--muted, #6e6a64); cursor: pointer; font-size: 1.5rem; line-height: 1; min-height: 2.75rem; min-width: 2.75rem; }
.amp-mr-modal__x:focus-visible { outline: 2px solid var(--wp--preset--color--primary, #c86928); outline-offset: 2px; }
.amp-mr-modal__list { display: grid; gap: 0.5rem; margin: 0; }
.amp-mr-modal__foot .amp-mr__button { width: 100%; }
html.amp-mr-modal-open { overflow: hidden; }
@media (min-width: 720px) {
	.amp-mr-req__top { grid-template-columns: minmax(0, 1fr) auto; }
	.amp-mr-req__side { grid-column: 2; grid-row: 1 / span 2; justify-self: end; text-align: right; }
	.amp-mr-req__side .amp-mr-ticket__price { align-items: flex-end; }
	.amp-mr-modal { border-radius: 16px; margin: auto; max-height: 85vh; max-width: 34rem; width: calc(100% - 3rem); }
	.amp-mr-modal__sheet { max-height: 85vh; padding: 1.25rem 1.5rem 1.5rem; }
	.amp-mr-modal__foot .amp-mr__button { width: auto; }
}

.amp-mr-ticket { background: #fff; border: 1px solid var(--wp--preset--color--hairline, #e8e3da); border-radius: 12px; display: grid; gap: 0.625rem; margin: 0 0 1.25rem; padding: 0.875rem 1rem; }
.amp-mr-ticket[hidden],
.amp-mr-ticket [hidden] { display: none; }
.amp-mr-ticket__title { color: var(--wp--preset--color--muted, #6e6a64); font-family: var(--astro-font-functional); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.08em; margin: 0; text-transform: uppercase; }
.amp-mr-ticket--cancelled .amp-mr-ticket__title { color: var(--wp--preset--color--muted, #6e6a64); }

.amp-mr-ticket__summary { display: grid; gap: 0.125rem; }
.amp-mr-ticket__vehicle { font-size: 1.0625rem; font-weight: 500; margin: 0; }
.amp-mr-ticket__when { font-weight: 400; margin: 0; overflow-wrap: anywhere; }
.amp-mr-ticket__more { font-weight: 400; justify-self: start; min-height: 2.5rem; }
.amp-mr-ticket__details { display: grid; gap: 0.375rem; margin: 0.125rem 0 0; }
.amp-mr-ticket__row { display: grid; gap: 0.0625rem; }
.amp-mr-ticket__row dt { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.8125rem; font-weight: 400; }
.amp-mr-ticket__row dd { font-weight: 400; margin: 0; overflow-wrap: anywhere; }

/* compact price: quiet label, accent amount, small basis; no card, no sentence */
.amp-mr-ticket__price { align-items: baseline; column-gap: 0.5rem; display: flex; flex-wrap: wrap; margin: 0.125rem 0; }
.amp-mr-ticket__price-label { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.9375rem; font-weight: 400; }
.amp-mr-ticket__price-label::after { content: ":"; }
.amp-mr-ticket__price-value { color: var(--wp--preset--color--primary, #c86928); font-family: var(--astro-font-editorial); font-size: 1.375rem; font-weight: 500; line-height: 1.2; }
.amp-mr-ticket__price-basis { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.8125rem; font-weight: 400; }
.amp-mr-ticket__price.is-unavailable .amp-mr-ticket__price-label::after { content: ""; }

.amp-mr-steps { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.amp-mr-step { align-items: flex-start; color: var(--wp--preset--color--muted, #6e6a64); display: flex; gap: 0.625rem; min-height: 1.75rem; padding-bottom: 0.375rem; position: relative; }
.amp-mr-step:last-child { min-height: 0; padding-bottom: 0; }
.amp-mr-step::before { background: var(--wp--preset--color--hairline, #e8e3da); bottom: 0; content: ""; left: 0.6875rem; position: absolute; top: 1.5rem; width: 2px; }
.amp-mr-step:last-child::before { display: none; }
.amp-mr-step--done::before { background: var(--wp--preset--color--muted, #6e6a64); }
.amp-mr-step__icon { align-items: center; background: #fff; border: 1.5px solid var(--wp--preset--color--hairline, #e8e3da); border-radius: 50%; color: var(--wp--preset--color--muted, #6e6a64); display: inline-flex; flex: 0 0 1.5rem; height: 1.5rem; justify-content: center; width: 1.5rem; }
.amp-mr-step--done .amp-mr-step__icon { background: var(--wp--preset--color--muted, #6e6a64); border-color: var(--wp--preset--color--muted, #6e6a64); color: #fff; }
.amp-mr-step--current .amp-mr-step__icon { border-color: var(--wp--preset--color--primary, #c86928); color: var(--wp--preset--color--primary, #c86928); }
.amp-mr-step__text { font-size: 0.9375rem; font-weight: 400; line-height: 1.35; padding-top: 0.125rem; }
.amp-mr-step--done .amp-mr-step__text { color: var(--wp--preset--color--charcoal, #272624); }
.amp-mr-step--current .amp-mr-step__text { color: var(--wp--preset--color--charcoal, #272624); font-weight: 500; }
.amp-mr-step__svg { display: block; }

.amp-mr-ticket__actions { display: grid; gap: 0.5rem; }
.amp-mr-ticket__contact { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.9375rem; font-weight: 400; line-height: 1.5; margin: 0; }
.amp-mr-ticket__confirm { border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da); display: grid; gap: 0.5rem; padding-top: 0.75rem; }
.amp-mr-ticket__confirm-title { font-weight: 500; margin: 0; }
.amp-mr__button--secondary { background: transparent; border: 1.5px solid var(--wp--preset--color--charcoal, #272624); color: var(--wp--preset--color--charcoal, #272624); }
.amp-mr__button--quiet { background: transparent; color: var(--wp--preset--color--muted, #6e6a64); letter-spacing: 0.06em; text-decoration: underline; text-underline-offset: 3px; }
.amp-mr__button--quiet:hover,
.amp-mr__button--secondary:hover { filter: none; opacity: 0.8; }
.amp-mr__partner-note { font-size: 0.875rem; font-weight: 400; line-height: 1.6; margin-top: 0.75rem; }
.amp-mr__aside .amp-mr-steps { margin-top: 0.5rem; }
.amp-mr__form[data-edit] .amp-mr__button--secondary { margin-top: 0.75rem; }

@media (min-width: 720px) {
	.amp-mr-ticket__actions { grid-auto-flow: column; justify-content: start; }
	.amp-mr-ticket__actions .amp-mr__button { width: auto; }
	.amp-mr-ticket__row { align-items: baseline; grid-template-columns: 11rem minmax(0, 1fr); }
	.amp-service-detail--request .amp-svc-requests { padding: 1.25rem 1.5rem; }
}

/* SERVICES-R2 unified ticket (Stitch parity): ONE card = summary | price, four-step progress (horizontal from 720px), actions / Airbnb note, partner note.
   Scale follows the approved Stitch hierarchy (price > vehicle > dates > labels) in Astro House fonts: editorial = Cormorant (lining figures),
   functional = Plus Jakarta Sans at Stitch's own sizes. Theme tokens only; weights <= 500; terracotta = price amount + the current step. */
.amp-service-detail--request .amp-svc-status { background: var(--wp--preset--color--primary-tint, #f6eae1); border-color: var(--wp--preset--color--primary, #c86928); color: var(--wp--preset--color--primary, #c86928); font-size: 0.75rem; font-weight: 400; }
.amp-service-detail--request .amp-svc-requests__title { font-size: 0.75rem; font-weight: 500; letter-spacing: 0.14em; }
.amp-service-detail--request .amp-svc-requests { padding: 1.5rem; }
.amp-service-detail--request .amp-svc-requests__head { margin-bottom: 1.25rem; }

.amp-mr-req { row-gap: 1.5rem; }
.amp-mr-req__top { row-gap: 1rem; }
.amp-mr-req__main { gap: 0.375rem; }
.amp-mr-req--ticket .amp-mr-ticket__vehicle { font-family: var(--astro-font-editorial); font-size: 1.5rem; font-variant-numeric: lining-nums; font-weight: 400; line-height: 1.2; }
.amp-mr-req--ticket .amp-mr-ticket__when { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.9375rem; font-weight: 400; line-height: 1.45; }
.amp-mr-req__top .amp-mr-req__actions { grid-column: 1; }
.amp-mr-req__top .amp-mr-ticket__more { font-size: 0.8125rem; margin: 0; min-height: 2.5rem; padding-left: 0; }

.amp-mr-req__side .amp-mr-ticket__price { align-items: flex-start; column-gap: 0; display: flex; flex-direction: column; margin: 0; row-gap: 0.25rem; }
.amp-mr-req__side .amp-mr-ticket__price-label { font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; }
.amp-mr-req__side .amp-mr-ticket__price-label::after { content: ""; }
.amp-mr-req__side .amp-mr-ticket__price-value { font-size: 2.5rem; font-variant-numeric: lining-nums; line-height: 1; }
.amp-mr-req__side .amp-mr-ticket__price-basis { font-size: 0.8125rem; }
.amp-mr-req__side .amp-mr-ticket__price.is-unavailable .amp-mr-ticket__price-basis { font-size: 0.875rem; max-width: 20rem; }

/* progress: vertical + compact on mobile */
.amp-mr-req__progress,
.amp-mr-req__foot { border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da); padding-top: 1.25rem; }
.amp-mr-req__progress .amp-mr-step { gap: 0.625rem; min-height: 1.375rem; padding-bottom: 0.5rem; }
.amp-mr-req__progress .amp-mr-step:last-child { padding-bottom: 0; }
.amp-mr-req__progress .amp-mr-step::before { left: 0.6875rem; top: 1.4375rem; width: 2px; }
.amp-mr-req__progress .amp-mr-step--done::before { background: rgba(110, 106, 100, 0.45); }
.amp-mr-req__progress .amp-mr-step__icon { flex: 0 0 1.375rem; height: 1.375rem; width: 1.375rem; }
.amp-mr-req__progress .amp-mr-step__svg { height: 0.8125rem; width: 0.8125rem; }
.amp-mr-req__progress .amp-mr-step__text { font-size: 0.9375rem; line-height: 1.3; padding-top: 0.0625rem; }
.amp-mr-req__progress .amp-mr-step--current .amp-mr-step__icon { background: var(--wp--preset--color--primary, #c86928); border-color: var(--wp--preset--color--primary, #c86928); color: #fff; }

/* footer copy: quiet, small, muted (Airbnb note, then the partner note) */
.amp-mr-req__foot { display: grid; gap: 0.5rem; }
.amp-mr-req__foot .amp-mr-ticket__contact { font-size: 0.8125rem; line-height: 1.5; }
.amp-mr-req__partner { color: var(--wp--preset--color--muted, #6e6a64); font-size: 0.75rem; font-weight: 400; line-height: 1.5; margin: 0; opacity: 0.85; }
.amp-mr-ticket .amp-mr-req__partner { margin-top: 0.25rem; }
.amp-mr-req__foot .amp-mr-ticket__actions .amp-mr__button { min-height: 2.75rem; }

/* details dialog: bottom sheet on mobile (compact two-column rows), calm centered panel from 720px */
.amp-mr-modal { border-radius: 1.25rem 1.25rem 0 0; }
.amp-mr-modal__sheet { gap: 0.875rem; padding: 0.75rem 1.5rem 1.5rem; }
.amp-mr-modal__sheet::before { background: var(--wp--preset--color--hairline, #e8e3da); border-radius: 2px; content: ""; height: 4px; justify-self: center; width: 2.5rem; }
.amp-mr-modal__title { font-size: 1.5rem; font-variant-numeric: lining-nums; line-height: 1.2; }
.amp-mr-modal__list { gap: 0; }
.amp-mr-modal__list .amp-mr-ticket__row { align-items: baseline; border-bottom: 1px solid var(--wp--preset--color--hairline, #e8e3da); column-gap: 1rem; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); padding-block: 0.625rem; }
.amp-mr-modal__list .amp-mr-ticket__row:last-child { border-bottom: 0; }
.amp-mr-modal__list .amp-mr-ticket__row dt { font-size: 0.8125rem; }
.amp-mr-modal__list .amp-mr-ticket__row dd { color: var(--wp--preset--color--charcoal, #272624); font-size: 0.9375rem; line-height: 1.4; text-align: right; }
.amp-mr-modal__sheet > .amp-mr-ticket__price { align-items: baseline; border-top: 1px solid var(--wp--preset--color--hairline, #e8e3da); column-gap: 1rem; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0; padding-top: 0.875rem; }
.amp-mr-modal__sheet > .amp-mr-ticket__price .amp-mr-ticket__price-label { font-size: 0.8125rem; }
.amp-mr-modal__sheet > .amp-mr-ticket__price .amp-mr-ticket__price-label::after { content: ""; }
.amp-mr-modal__sheet > .amp-mr-ticket__price .amp-mr-ticket__price-value { font-size: 1.75rem; font-variant-numeric: lining-nums; }
.amp-mr-modal__sheet > .amp-mr-ticket__price .amp-mr-ticket__price-basis { flex-basis: 100%; text-align: right; }
.amp-mr-modal__foot .amp-mr__button { min-height: 2.75rem; }

.amp-mr--solo { gap: 0; }
.amp-mr--solo .amp-mr__main:empty { display: none; }

@media (min-width: 720px) {
	.amp-service-detail--request .amp-svc-requests { padding: 2rem 2.5rem; }
	.amp-service-detail--request .amp-svc-requests__head { margin-bottom: 1.5rem; }
	.amp-mr-req { row-gap: 2rem; }
	.amp-mr-req--ticket .amp-mr-ticket__vehicle { font-size: 1.75rem; }
	.amp-mr-req--ticket .amp-mr-ticket__when { font-size: 0.875rem; }
	.amp-mr-req__side .amp-mr-ticket__price-value { font-size: 3rem; }
	.amp-mr-req__progress,
	.amp-mr-req__foot { padding-top: 1.5rem; }
	.amp-mr-req__progress .amp-mr-steps { column-gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.amp-mr-req__progress .amp-mr-step { flex-direction: column; gap: 0.625rem; min-height: 0; padding-bottom: 0; }
	.amp-mr-req__progress .amp-mr-step::before { bottom: auto; height: 2px; left: 2.75rem; top: 0.9375rem; width: calc(100% - 2.5rem); }
	.amp-mr-req__progress .amp-mr-step:last-child::before { display: none; }
	.amp-mr-req__progress .amp-mr-step__icon { flex-basis: 2rem; height: 2rem; width: 2rem; }
	.amp-mr-req__progress .amp-mr-step__svg { height: 1rem; width: 1rem; }
	.amp-mr-req__progress .amp-mr-step__text { font-size: 1rem; padding-top: 0; }
	.amp-mr-req__foot { align-items: center; grid-template-columns: minmax(0, 1fr); }
	.amp-mr-modal { border-radius: 1rem; max-width: 32rem; }
	.amp-mr-modal__sheet { gap: 1rem; padding: 1.75rem 2rem 2rem; }
	.amp-mr-modal__sheet::before { display: none; }
	.amp-mr-modal__list .amp-mr-ticket__row { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}

/* Edit / Cancel row of the ticket: compact, one row at every width (the cancel confirmation buttons keep their own layout) */
.amp-mr-ticket__actions[data-ticket-actions] { align-items: center; display: flex; flex-wrap: nowrap; gap: 0.5rem; justify-content: flex-start; }
.amp-mr-ticket__actions[data-ticket-actions] .amp-mr__button { flex: 0 1 auto; font-size: 0.8125rem; font-weight: 400; letter-spacing: 0.04em; min-height: 2.75rem; padding: 0.375rem 0.75rem; white-space: nowrap; width: auto; }
.amp-mr-ticket__actions[data-ticket-actions] .amp-mr__button--quiet { padding-inline: 0.25rem; }
