/* Vehicle detail owns the prototype's warm surface without changing shared chrome. */
.ag-detail-page { background: var(--color-warm-white); }
.azergid-car-detail {
  width: min(calc(100% - 48px), 1360px);
  max-width: none;
  margin-inline: auto;
  padding-block: var(--space-2xl) var(--space-6xl);
  color: var(--color-charcoal);
}

.ag-detail-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-2xl); color: var(--color-neutral); font-size: var(--text-small-size); }
.ag-detail-breadcrumbs a { color: inherit; text-decoration: none; }
.ag-detail-breadcrumbs a:hover, .ag-detail-breadcrumbs a:focus-visible { color: var(--color-caspian-blue); }

.ag-detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); gap: var(--space-3xl); align-items: start; }
.ag-detail-main-column, .ag-detail-sidebar, .ag-detail-booking-card, .ag-detail-booking-card__body { min-width: 0; }
.ag-detail-intro { margin-bottom: var(--space-2xl); }
.ag-detail-intro h1 { margin: 0; color: var(--color-deep-navy); font-size: clamp(28px, 2.4vw, 38px); line-height: 1.2; overflow-wrap: break-word; }
.ag-detail-availability-note { display: flex; align-items: center; gap: var(--space-sm); margin-block: var(--space-md) var(--space-xl); color: var(--color-neutral); font-size: var(--text-small-size); }
.ag-detail-availability-note::before { content: ""; flex: 0 0 auto; width: var(--space-sm); height: var(--space-sm); border-radius: var(--radius-circle); background: var(--color-brand-gold); }
.ag-detail-features { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.ag-detail-features li { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-sm); min-height: var(--control-touch-target); padding: var(--space-sm) var(--space-md); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--color-warm-white); }
.ag-detail-features li::before { content: ""; flex: 0 0 auto; width: 6px; height: 11px; border-right: 2px solid var(--color-sage-green); border-bottom: 2px solid var(--color-sage-green); transform: rotate(45deg) translateY(-1px); }

.ag-detail-gallery__main { position: relative; width: 100%; max-height: 430px; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--radius-xl); background: var(--color-light-gray); box-shadow: var(--shadow-sm); }
.ag-detail-gallery__main > img, .azergid-car-detail__image { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.azergid-car-detail__placeholder { display: grid; width: 100%; height: 100%; place-items: center; padding: var(--space-xl); background: linear-gradient(135deg, var(--color-light-gray), var(--color-sand)); color: var(--color-caspian-blue); font-size: var(--text-h3-size); font-weight: var(--font-weight-bold); text-align: center; }

.ag-detail-tabs { display: flex; justify-content: space-between; gap: var(--space-lg); margin-top: var(--space-4xl); border-bottom: var(--border-subtle); }
.ag-detail-tabs a { display: inline-flex; align-items: center; min-height: var(--control-touch-target); padding: var(--space-md) var(--space-sm); border-bottom: 3px solid transparent; color: var(--color-neutral); text-decoration: none; white-space: nowrap; }
.ag-detail-tabs a:hover, .ag-detail-tabs a:focus-visible { color: var(--color-deep-navy); border-bottom-color: var(--color-sand); }
.ag-detail-tabs a:focus-visible { outline: 0; box-shadow: var(--control-focus-ring); }
.ag-detail-tabs .ag-detail-is-active { border-color: var(--color-brand-gold); color: var(--color-deep-navy); font-weight: var(--font-weight-bold); }
.ag-detail-content { padding-top: var(--space-3xl); scroll-margin-top: var(--space-xl); }
.ag-detail-content + .ag-detail-content { margin-top: var(--space-xl); border-top: var(--border-subtle); }
.ag-detail-content h2 { margin: 0 0 var(--space-lg); color: var(--color-deep-navy); font-size: 26px; }
.azergid-car-detail__description, .ag-detail-content > p { margin-top: 0; color: var(--color-neutral); font-size: var(--text-body-lg-size); line-height: 1.65; }
.azergid-car-detail__description > :first-child { margin-top: 0; }
.azergid-car-detail__description > :last-child { margin-bottom: 0; }
.ag-detail-specifications dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-warm-white); }
.ag-detail-specifications dl div { display: flex; justify-content: space-between; gap: var(--space-md); min-width: 0; padding: var(--space-md) var(--space-lg); border-bottom: var(--border-subtle); }
.ag-detail-specifications dl div:nth-last-child(-n + 2) { border-bottom: 0; }
.ag-detail-specifications dt { color: var(--color-neutral); }
.ag-detail-specifications dd { margin: 0; color: var(--color-deep-navy); font-weight: var(--font-weight-semibold); text-align: right; overflow-wrap: anywhere; }
.ag-detail-terms__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.ag-detail-terms__grid > div { padding: var(--space-lg); border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-warm-white); box-shadow: var(--shadow-xs); }
.ag-detail-terms h3 { margin: 0 0 var(--space-sm); color: var(--color-deep-navy); font-size: var(--text-body-size); }
.ag-detail-terms p { margin: 0; color: var(--color-neutral); }

.ag-detail-sidebar { position: sticky; top: var(--space-xl); display: grid; gap: var(--space-xl); }
.ag-detail-booking-card { overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-xl); background: var(--color-warm-white); box-shadow: var(--shadow-sm); }
.ag-detail-booking-card__header, .ag-detail-booking-card__body, .ag-detail-cancellation { padding: var(--space-xl) var(--space-2xl); }
.ag-detail-booking-card__header { border-bottom: var(--border-subtle); }
.ag-detail-booking-card__header > p:first-child { margin: 0 0 var(--space-sm); color: var(--color-neutral); font-size: var(--text-small-size); }
.ag-detail-rate { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-sm); margin: 0; }
.ag-detail-rate strong { color: var(--color-brand-gold); font-size: 28px; }
.ag-detail-rate span { color: var(--color-neutral); font-size: var(--text-small-size); }
.ag-detail-deposit, .ag-detail-prepayment { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-xs) var(--space-sm); min-width: 0; margin: var(--space-md) 0 0; color: var(--color-neutral); font-size: var(--text-small-size); overflow-wrap: anywhere; }
.ag-detail-deposit strong, .ag-detail-prepayment strong { min-width: 0; color: var(--color-deep-navy); overflow-wrap: anywhere; }
.ag-detail-prepayment { padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); background: var(--component-status-info-surface); }
.ag-detail-booking-card__body { display: grid; align-content: start; }
.ag-detail-booking-card__body > :last-child { margin-bottom: 0; }
.ag-detail-booking-card__body h2 { margin: 0; color: var(--color-deep-navy); font-size: var(--text-h3-size); }
.azergid-car-detail__rental-form { display: grid; gap: var(--space-md); margin-top: var(--space-lg); }
.azergid-car-detail__field { display: grid; gap: var(--space-xs); min-width: 0; margin: 0; }
.azergid-car-detail__field label { color: var(--color-deep-navy); font-size: var(--text-small-size); font-weight: var(--font-weight-semibold); }
.azergid-car-detail__field input { width: 100%; min-width: 0; min-height: var(--control-height); padding: var(--space-sm) var(--space-md); border: var(--control-border); border-radius: var(--control-radius); background: var(--control-background); color: var(--color-charcoal); font: inherit; }
.azergid-car-detail__field input:focus-visible { outline: 0; box-shadow: var(--control-focus-ring); }
/* The rental range must read as an interactive picker rather than passive text. */
.azergid-car-detail__range-field { position: relative; }
.azergid-car-detail__range-field input {
  min-height: 52px;
  padding: 11px 42px 11px 14px;
  border: var(--border-width-sm) solid color-mix(in srgb, var(--color-deep-navy) 34%, var(--color-stone));
  border-radius: var(--radius-md);
  background: var(--color-warm-white);
  color: var(--color-deep-navy);
  font-weight: var(--font-weight-semibold);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: border-color var(--ag-transition-fast), background-color var(--ag-transition-fast), box-shadow var(--ag-transition-fast);
}
.azergid-car-detail__range-field input::placeholder { color: var(--color-neutral); opacity: .9; }
.azergid-car-detail__range-field::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 20px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--color-caspian-blue);
  border-bottom: 2px solid var(--color-caspian-blue);
  transform: rotate(45deg);
  pointer-events: none;
}
.azergid-car-detail__range-field:hover input {
  border-color: color-mix(in srgb, var(--color-brand-gold) 72%, var(--color-stone));
  background: color-mix(in srgb, var(--color-sand) 42%, var(--color-warm-white));
  box-shadow: var(--shadow-sm);
}
.azergid-car-detail__range-field:focus-within input,
.azergid-car-detail__range-field input.active {
  border-color: var(--color-caspian-blue);
  background: var(--color-warm-white);
  box-shadow: var(--control-focus-ring);
}
.azergid-car-detail__range-field:hover::after,
.azergid-car-detail__range-field:focus-within::after { border-color: var(--color-brand-gold); }
.azergid-car-detail__calendar-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); margin-top: var(--space-xs); }
.azergid-car-detail__calendar-note, .azergid-car-detail__booking-note { margin: var(--space-xs) 0 0; color: var(--color-neutral); font-size: var(--text-small-size); }
.azergid-car-detail__calendar-meta .azergid-car-detail__calendar-note { min-width: 0; margin: 0; }
.azergid-car-detail__fallback-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.azergid-car-detail__fallback-dates[hidden], .azergid-car-detail__rental-message[hidden], .azergid-car-detail__rental-result[hidden] { display: none; }
.azergid-car-detail__rental-actions { display: grid; gap: var(--space-sm); }
.azergid-car-detail__rental-actions .ag-button, .azergid-car-detail__checkout-form .ag-button, .azergid-car-detail__rental-result > .ag-button { width: 100%; }
.azergid-car-detail__clear-dates { flex: 0 0 auto; min-height: auto; padding: 2px 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-caspian-blue); font: inherit; font-size: var(--text-small-size); line-height: 1.4; white-space: nowrap; cursor: pointer; }
.azergid-car-detail__clear-dates:hover { color: var(--color-deep-navy); }
.azergid-car-detail__clear-dates:focus-visible { outline: 0; box-shadow: var(--control-focus-ring); }
.azergid-car-detail__own-cart-hold, .azergid-car-detail__rental-message { margin-top: var(--space-md); padding: var(--space-md); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--color-light-gray); color: var(--color-neutral); font-size: var(--text-small-size); overflow-wrap: anywhere; }
.azergid-car-detail__rental-message[role="alert"], .azergid-rental-message--error { border-color: var(--color-error); color: var(--color-error); }
.azergid-car-detail__rental-message p { margin: 0; }
.azergid-car-detail__rental-result { margin-top: var(--space-xl); }
.azergid-car-detail__rental-result h3 { margin: 0 0 var(--space-sm); color: var(--color-deep-navy); font-size: var(--text-body-size); }
.ag-detail-finance { margin: 0; }
.ag-detail-finance > div { display: flex; justify-content: space-between; gap: var(--space-md); min-width: 0; padding-block: var(--space-sm); color: var(--color-neutral); font-size: var(--text-small-size); }
.ag-detail-finance dt { min-width: 0; overflow-wrap: anywhere; }
.ag-detail-finance dd { flex: 0 0 auto; margin: 0; color: var(--color-deep-navy); font-weight: var(--font-weight-bold); text-align: right; }
.ag-detail-finance .ag-detail-finance__total { margin-top: var(--space-sm); padding-top: var(--space-lg); border-top: var(--border-subtle); color: var(--color-deep-navy); font-size: var(--text-body-size); }
.ag-detail-finance__total dd { font-size: var(--text-h3-size); }
.azergid-car-detail__checkout-form { margin-top: var(--space-lg); }
.ag-detail-cancellation { display: flex; gap: var(--space-md); border-top: var(--border-subtle); background: var(--color-light-gray); }
.ag-detail-cancellation .ag-icon { flex: 0 0 20px; color: var(--color-sage-green); }
.ag-detail-cancellation h3 { margin: 0 0 var(--space-xs); color: var(--color-deep-navy); font-size: var(--text-body-size); }
.ag-detail-cancellation p { margin: 0; color: var(--color-neutral); font-size: var(--text-small-size); }

.ag-detail-sidebar .azergid-customer-support { padding: var(--space-xl) var(--space-2xl); border: var(--border-subtle); border-radius: var(--radius-xl); background: var(--color-warm-white); box-shadow: var(--shadow-xs); }
.ag-detail-sidebar .azergid-customer-support__title { margin: 0 0 var(--space-sm); color: var(--color-deep-navy); font-size: var(--text-h3-size); }
.ag-detail-sidebar .azergid-customer-support__text { margin: 0; color: var(--color-neutral); line-height: 1.55; }
.ag-detail-sidebar .azergid-customer-support__contacts { display: grid; gap: var(--space-sm); margin-top: var(--space-lg); }
.ag-detail-sidebar .azergid-customer-support__contact { width: fit-content; max-width: 100%; color: var(--color-caspian-blue); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.ag-detail-sidebar .azergid-customer-support__contact:focus-visible { border-radius: var(--radius-sm); outline: 0; box-shadow: var(--control-focus-ring); }

.ag-detail-not-found { max-width: 720px; margin: var(--space-3xl) auto; padding: var(--space-3xl); border: var(--border-subtle); border-radius: var(--radius-xl); background: var(--color-warm-white); text-align: center; box-shadow: var(--shadow-sm); }
.ag-detail-not-found__eyebrow { margin: 0 0 var(--space-sm); color: var(--color-caspian-blue); font-size: var(--text-small-size); font-weight: var(--font-weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.ag-detail-not-found h1 { color: var(--color-deep-navy); }

/* The existing inline Flatpickr remains the only enhanced date state. */
.azergid-car-detail .flatpickr-calendar { width: min(100%, 616px); max-width: 100%; margin-top: var(--space-sm); overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-warm-white); box-shadow: var(--shadow-md); }
.azergid-car-detail__calendar-container .flatpickr-calendar.open { position: relative; top: auto !important; left: auto !important; display: block; }
.azergid-car-detail .flatpickr-months, .azergid-car-detail .flatpickr-weekdays { background: var(--color-light-gray); }
.azergid-car-detail .flatpickr-current-month, .azergid-car-detail .flatpickr-monthDropdown-months, .azergid-car-detail .flatpickr-weekday, .azergid-car-detail .flatpickr-day { color: var(--color-deep-navy); }
.azergid-car-detail .flatpickr-prev-month, .azergid-car-detail .flatpickr-next-month { display: grid; min-width: var(--control-touch-target); min-height: var(--control-touch-target); place-items: center; color: var(--color-deep-navy); }
.azergid-car-detail .flatpickr-prev-month:hover svg, .azergid-car-detail .flatpickr-next-month:hover svg, .azergid-car-detail .flatpickr-prev-month:focus-visible svg, .azergid-car-detail .flatpickr-next-month:focus-visible svg { fill: var(--color-brand-gold); }
.azergid-car-detail .flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) { border-color: var(--color-brand-gold); }
.azergid-car-detail .flatpickr-calendar.multiMonth .flatpickr-months .flatpickr-month, .azergid-car-detail .flatpickr-calendar.multiMonth .flatpickr-innerContainer, .azergid-car-detail .flatpickr-calendar.multiMonth .flatpickr-rContainer { max-width: 100%; }
.azergid-car-detail .flatpickr-calendar.multiMonth .flatpickr-days { border-left-color: var(--color-light-gray); }
.azergid-car-detail .flatpickr-day.selected, .azergid-car-detail .flatpickr-day.startRange, .azergid-car-detail .flatpickr-day.endRange, .azergid-car-detail .flatpickr-day.selected:hover, .azergid-car-detail .flatpickr-day.startRange:hover, .azergid-car-detail .flatpickr-day.endRange:hover { border-color: var(--color-brand-gold); background: var(--color-brand-gold); color: var(--color-deep-navy); }
.azergid-car-detail .flatpickr-day.inRange, .azergid-car-detail .flatpickr-day.prevMonthDay.inRange, .azergid-car-detail .flatpickr-day.nextMonthDay.inRange { border-color: var(--color-sand); background: var(--color-sand); box-shadow: -5px 0 0 var(--color-sand), 5px 0 0 var(--color-sand); color: var(--color-deep-navy); }
.azergid-car-detail .flatpickr-day.flatpickr-disabled, .azergid-car-detail .flatpickr-day.flatpickr-disabled:hover { border-color: transparent; background: var(--color-light-gray); color: var(--color-neutral); text-decoration: line-through; opacity: .55; }
.azergid-car-detail .flatpickr-day.azergid-own-cart-range:not(.selected):not(.startRange):not(.endRange) { border-color: var(--color-brand-gold); background: var(--color-sand); }

@media (max-width: 1100px) {
  .ag-detail-layout { grid-template-columns: 1fr; }
  .ag-detail-sidebar { position: static; max-width: 720px; }
}

@media (max-width: 767px) {
  .azergid-car-detail { width: 100%; padding: 0 0 calc(96px + env(safe-area-inset-bottom)); overflow-x: clip; }
  .ag-detail-breadcrumbs { flex-wrap: nowrap; gap: var(--space-xs); margin: 0; padding: var(--space-md) var(--space-lg) var(--space-sm); overflow: hidden; white-space: nowrap; }
  .ag-detail-breadcrumbs > :last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .ag-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ag-detail-main-column { display: contents; }
  .ag-detail-intro { order: 1; }
  .ag-detail-gallery { order: 2; }
  .ag-detail-sidebar { order: 3; }
  .ag-detail-tabs { order: 4; }
  .ag-detail-content { order: 5; }
  .ag-detail-intro, .ag-detail-gallery, .ag-detail-content { padding-inline: var(--space-lg); }
  .ag-detail-intro { margin-bottom: var(--space-xl); }
  .ag-detail-intro h1 { font-size: 25px; }
  .ag-detail-availability-note { margin-bottom: var(--space-md); }
  .ag-detail-features { flex-wrap: wrap; }
  .ag-detail-features li { flex: 0 1 auto; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .ag-detail-gallery__main { border-radius: var(--radius-lg); }
  .ag-detail-tabs { flex-wrap: wrap; justify-content: flex-start; gap: 0 var(--space-md); margin: var(--space-2xl) var(--space-lg) 0; }
  .ag-detail-tabs a { flex: 1 1 120px; min-width: 0; justify-content: center; text-align: center; white-space: normal; }
  .ag-detail-content { padding-top: var(--space-2xl); }
  .ag-detail-specifications dl, .ag-detail-terms__grid { grid-template-columns: 1fr; }
  .ag-detail-specifications dl div, .ag-detail-specifications dl div:nth-last-child(2) { border-bottom: var(--border-subtle); }
  .ag-detail-specifications dl div:last-child { border-bottom: 0; }
  .ag-detail-sidebar { max-width: none; padding: var(--space-xl) var(--space-lg) 0; }
  .ag-detail-sidebar .azergid-customer-support { padding: var(--space-lg); }
  .ag-detail-booking-card__header, .ag-detail-booking-card__body, .ag-detail-cancellation { padding: var(--space-lg); }
  .azergid-car-detail__fallback-dates { grid-template-columns: 1fr; }
  .azergid-car-detail__calendar-container, .azergid-car-detail .flatpickr-calendar, .azergid-car-detail .flatpickr-rContainer, .azergid-car-detail .flatpickr-days { max-width: 100%; }
  .ag-detail-finance > div { align-items: flex-start; }
}

@media (max-width: 374px) {
  .ag-detail-booking-card__header, .ag-detail-booking-card__body, .ag-detail-cancellation { padding-inline: var(--space-md); }
  .ag-detail-finance > div { gap: var(--space-sm); }
  .ag-detail-finance dd { max-width: 42%; overflow-wrap: anywhere; }
}

/* PR #236: final mobile composition polish after runtime QA. */
@media (max-width: 767px) {
  .ag-detail-sidebar { gap: var(--space-md); padding-top: var(--space-lg); }
  .ag-detail-booking-card__header { padding: var(--space-md) var(--space-lg); }
  .ag-detail-booking-card__body { padding: var(--space-md) var(--space-lg) var(--space-lg); }
  .ag-detail-booking-card__body h2 { font-size: var(--text-body-lg-size); }
  .azergid-car-detail__rental-form { gap: var(--space-sm); margin-top: var(--space-md); }
  .azergid-car-detail__own-cart-hold, .azergid-car-detail__rental-message { margin-top: var(--space-sm); padding: var(--space-sm) var(--space-md); }
  .azergid-car-detail__rental-result { margin-top: var(--space-md); }
  .ag-detail-finance > div { padding-block: var(--space-xs); }
  .ag-detail-finance .ag-detail-finance__total { margin-top: var(--space-xs); padding-top: var(--space-md); }
  .ag-detail-finance__total dd { font-size: var(--text-body-lg-size); line-height: 1.2; }
  .azergid-car-detail__checkout-form { margin-top: var(--space-md); }
  .ag-detail-cancellation { gap: var(--space-sm); padding: var(--space-md) var(--space-lg); }
  .ag-detail-cancellation p { line-height: 1.45; }
  .ag-detail-sidebar .azergid-customer-support { padding: var(--space-md) var(--space-lg); }
  .ag-detail-sidebar .azergid-customer-support__title { margin-bottom: var(--space-xs); font-size: var(--text-body-lg-size); line-height: 1.2; }
  .ag-detail-sidebar .azergid-customer-support__text { font-size: var(--text-small-size); line-height: 1.45; }
  .ag-detail-sidebar .azergid-customer-support__contacts { gap: var(--space-xs); margin-top: var(--space-md); }
  .ag-detail-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .ag-detail-tabs a { min-height: var(--control-touch-target); padding: var(--space-sm) var(--space-xs); font-size: var(--text-small-size); line-height: 1.25; }
  .ag-detail-page + .ag-footer { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
}

@media (max-width: 374px) {
  .ag-detail-booking-card__header, .ag-detail-booking-card__body, .ag-detail-cancellation { padding-inline: var(--space-md); }
  .ag-detail-tabs a { padding-inline: 2px; font-size: 12px; }
}

/* Vehicle detail gallery and booking polish. */
.ag-detail-features li::before { content: none; }
.ag-detail-features li { min-height: 36px; border-radius: var(--radius-round); background: var(--color-light-gray); color: var(--color-deep-navy); font-size: var(--text-small-size); font-weight: var(--font-weight-semibold); }
.ag-detail-availability-note[data-state="available"] { color: var(--color-sage-green); }
.ag-detail-availability-note[data-state="available"]::before { background: var(--color-sage-green); }
.ag-detail-availability-note[data-state="unavailable"], .ag-detail-availability-note[data-state="error"] { color: var(--color-error); }
.ag-detail-availability-note[data-state="unavailable"]::before, .ag-detail-availability-note[data-state="error"]::before { background: var(--color-error); }
.ag-detail-availability-note[data-state="loading"]::before { animation: ag-detail-pulse 1.2s ease-in-out infinite; }
@keyframes ag-detail-pulse { 50% { opacity: .35; } }
.ag-detail-gallery__thumbs { display: flex; width: 100%; max-width: 100%; gap: var(--space-md); margin-top: var(--space-md); padding: 2px 2px var(--space-xs); overflow: auto hidden; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.ag-detail-gallery__thumb { flex: 0 0 96px; height: 68px; padding: 3px; overflow: hidden; border: 2px solid transparent; border-radius: var(--radius-md); background: var(--color-warm-white); box-shadow: var(--shadow-xs); cursor: pointer; scroll-snap-align: start; }
.ag-detail-gallery__thumb img { display: block; width: 100%; height: 100%; border-radius: calc(var(--radius-md) - 4px); object-fit: cover; }
.ag-detail-gallery__thumb.is-active, .ag-detail-gallery__thumb[aria-current="true"] { border-color: var(--color-brand-gold); }
.ag-detail-gallery__thumb:focus-visible { outline: 0; box-shadow: var(--control-focus-ring); }
.ag-detail-content { scroll-margin-top: 96px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.azergid-car-detail .flatpickr-calendar { width: 100%; }
.azergid-car-detail .flatpickr-rContainer, .azergid-car-detail .flatpickr-days, .azergid-car-detail .dayContainer { width: 100%; min-width: 0; max-width: none; }
.azergid-car-detail .flatpickr-day { flex-basis: 14.2857%; max-width: 14.2857%; }
.ag-detail-finance > div:nth-child(3), .ag-detail-finance > div:nth-child(4) { margin-top: var(--space-xs); padding: var(--space-md); border-radius: var(--radius-md); background: var(--color-light-gray); color: var(--color-deep-navy); }
.ag-detail-finance > div:nth-child(4) { background: var(--component-status-info-surface); }
.ag-detail-finance > div:nth-child(3) dd, .ag-detail-finance > div:nth-child(4) dd { font-size: var(--text-body-lg-size); }

@media (max-width: 767px) {
  .ag-detail-features { flex-wrap: nowrap; padding-bottom: 2px; overflow: auto hidden; scrollbar-width: none; }
  .ag-detail-features::-webkit-scrollbar { display: none; }
  .ag-detail-features li { white-space: nowrap; }
  .ag-detail-gallery__main { max-height: none; aspect-ratio: 16 / 10; }
  .ag-detail-gallery__thumbs { gap: var(--space-sm); scrollbar-width: none; }
  .ag-detail-gallery__thumbs::-webkit-scrollbar { display: none; }
  .ag-detail-gallery__thumb { flex-basis: 82px; height: 60px; }
  .ag-detail-sidebar { display: contents; }
  .ag-detail-booking-card { order: 3; margin: var(--space-xl) var(--space-lg) 0; }
  .ag-detail-sidebar .azergid-customer-support { order: 8; margin: var(--space-2xl) var(--space-lg) 0; }
  #description { order: 5; }
  #specifications { order: 6; }
  #terms { order: 7; }
  .azergid-car-detail .flatpickr-day { min-height: 40px; line-height: 40px; }
}

/* Factual SEO context, booking steps and shared related vehicle cards. */
.ag-detail-booking-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin: 0; padding: 0; list-style: none; }
.ag-detail-booking-steps li { display: flex; align-items: flex-start; gap: var(--space-sm); min-width: 0; padding: var(--space-md); border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-warm-white); }
.ag-detail-booking-steps li > span { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: var(--radius-circle); background: var(--color-sand); color: var(--color-deep-navy); font-weight: var(--font-weight-bold); }
.ag-detail-booking-steps li p { min-width: 0; margin: 3px 0 0; color: var(--color-deep-navy); font-size: var(--text-small-size); line-height: 1.45; overflow-wrap: anywhere; }
.ag-detail-related { margin-top: var(--space-5xl); padding-top: var(--space-3xl); border-top: var(--border-subtle); }
.ag-detail-related .screen-reader-text { left: 0; right: auto; top: 0; }
.ag-detail-related > h2 { margin: 0 0 var(--space-xl); color: var(--color-deep-navy); font-size: 26px; }
.ag-detail-related__grid { display: grid; grid-template-columns: repeat(var(--ag-related-count), minmax(260px, 320px)); justify-content: start; gap: var(--space-lg); }
.ag-detail-related__grid > * { min-width: 0; }

@media (max-width: 1023px) {
  .ag-detail-related__grid { grid-template-columns: repeat(2, minmax(260px, 320px)); }
}
@media (max-width: 767px) {
  .ag-detail-booking-steps { order: 8; }
  .ag-detail-booking-steps ol { grid-template-columns: 1fr; gap: var(--space-sm); }
  .ag-detail-sidebar .azergid-customer-support { order: 9; }
  .ag-detail-related { margin-top: var(--space-3xl); padding: var(--space-2xl) var(--space-lg) 0; overflow: clip; }
  .ag-detail-related__grid { display: flex; gap: var(--space-md); padding: 1px 1px var(--space-sm); overflow: auto hidden; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .ag-detail-related__grid > .ag-vehicle-card { flex: 0 0 min(86%, 320px); scroll-snap-align: start; }
}

/* Keep intrinsic desktop widths (notably Flatpickr's 307.875px day grid) from
   becoming the mobile grid track size. The scrollable rows own their overflow. */
@media (max-width: 767px) {
  .azergid-car-detail,
  .ag-detail-layout,
  .ag-detail-layout > *,
  .ag-detail-main-column,
  .ag-detail-sidebar,
  .ag-detail-intro,
  .ag-detail-gallery,
  .ag-detail-gallery__main,
  .ag-detail-tabs,
  .ag-detail-content,
  .ag-detail-booking-card,
  .ag-detail-booking-card__header,
  .ag-detail-booking-card__body,
  .azergid-car-detail__rental-form,
  .azergid-car-detail__calendar-wrap,
  .azergid-car-detail__calendar-container,
  .azergid-car-detail__rental-result,
  .ag-detail-finance,
  .ag-detail-booking-steps,
  .ag-detail-booking-steps ol,
  .ag-detail-booking-steps li,
  .ag-detail-sidebar .azergid-customer-support,
  .ag-detail-related,
  .ag-detail-related__grid,
  .ag-detail-related__grid > * { min-width: 0; max-width: 100%; }

  .ag-detail-gallery__main { width: 100%; }
  .ag-detail-gallery__thumbs { min-width: 0; }

  .azergid-car-detail .flatpickr-calendar,
  .azergid-car-detail .flatpickr-innerContainer,
  .azergid-car-detail .flatpickr-rContainer,
  .azergid-car-detail .flatpickr-days,
  .azergid-car-detail .dayContainer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .azergid-car-detail__calendar-container { overflow-x: clip; }
  .azergid-car-detail .flatpickr-weekdays,
  .azergid-car-detail .flatpickr-weekdaycontainer { width: 100%; }

  .ag-detail-finance dt,
  .ag-detail-finance dd,
  .ag-detail-booking-steps li p { min-width: 0; overflow-wrap: anywhere; }
  .ag-detail-booking-steps li { width: 100%; }

  .ag-detail-cancellation > div,
  .ag-detail-terms__grid > div,
  .ag-detail-sidebar .azergid-customer-support > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .ag-detail-finance > div { flex-wrap: wrap; }
  .ag-detail-finance dd { max-width: 100%; }

  .ag-detail-related { width: 100%; overflow-x: clip; }
  .ag-detail-related__grid { width: 100%; max-width: none; }
  .ag-detail-related__grid > .ag-vehicle-card { width: min(86vw, 320px); max-width: calc(100vw - (2 * var(--space-lg))); }
  .ag-detail-related .ag-vehicle-card__body,
  .ag-detail-related .ag-vehicle-card__heading,
  .ag-detail-related .ag-vehicle-card__financial,
  .ag-detail-related .ag-catalog-period-total,
  .ag-detail-related .ag-catalog-deposit,
  .ag-detail-related .ag-vehicle-card__prepayment { min-width: 0; max-width: 100%; }
}
