/* Service-page enhancements only. No fixed mobile controls or external assets. */
.price-picker[hidden], .price-picker [hidden] { display: none; }
.price-picker { padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 28px; }
.price-picker-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.price-picker-fields > div { min-width: 0; }
.price-picker label { display: block; font-weight: 700; margin-bottom: 8px; }
.price-picker select { width: 100%; max-width: 100%; min-height: 50px; padding: 12px 34px 12px 12px; border: 1px solid var(--muted); border-radius: 4px; background-color: #fff; color: var(--ink); font-size: 1rem; }
.price-picker select:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.price-picker select:disabled { background: var(--soft); color: var(--muted); opacity: 1; }
.price-picker .field-help, .price-picker-note { margin-top: 10px; font-size: .8125rem; }
.price-result { margin-top: 24px; padding: 20px; border-left: 4px solid var(--yellow); background: var(--soft); }
.price-result > p:first-child { color: var(--ink); font-weight: 600; }
.price-result strong { display: block; font: 800 clamp(2rem, 4vw, 3rem)/1.25 Manrope, Arial, sans-serif; margin-block: 8px; }
.price-result > p:last-child { font-size: .875rem; }
.price-comparison { border-block: 1px solid var(--line); }
.price-comparison > summary { cursor: pointer; padding: 20px 8px; font-weight: 700; min-height: 54px; }
.price-comparison > .pricing-grid { margin-block: 16px 28px; }
.price-comparison > .subsection-heading { margin-top: 36px; }
.fixed-price { padding: 20px; border: 1px solid var(--line); align-self: start; background: #fff; }
.fixed-price h3 { font-size: 1.375rem; letter-spacing: -.03em; }
.fixed-price strong { display: block; font: 800 2rem/1.25 Manrope, Arial, sans-serif; margin-block: 20px 10px; }
.fixed-price p { font-size: .875rem; }
.contextual-action { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.contextual-action p { flex: 1 1 240px; max-width: 680px; font-size: .9375rem; }
.contextual-action .button { flex-shrink: 0; max-width: 100%; }
.requirements-action { margin-top: -36px; padding-bottom: 24px; }
.arrival-guide { margin-top: 36px; }
.arrival-guide section { padding-block: 24px; border-top: 1px solid var(--line); }
.arrival-guide h3 { margin-bottom: 14px; font-size: 1.375rem; line-height: 1.3; letter-spacing: -.025em; }
.arrival-guide ol { padding-left: 24px; margin: 0; color: var(--muted); font-size: .9375rem; }
.arrival-guide li + li, .arrival-guide p + p { margin-top: 12px; }
.arrival-guide li::marker { font-weight: 700; color: var(--ink); }
@media (max-width: 900px) {
  .price-picker-fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .price-picker { padding: 20px 16px; }
  .price-result { padding: 18px 14px; }
  .contextual-action { align-items: stretch; gap: 16px; }
  .contextual-action p { flex-basis: 100%; }
  .contextual-action .button { width: 100%; }
  .requirements-action { margin-top: -26px; padding-bottom: 12px; }
}
