/* WashLB booking UX polish */

.info-toggle { width:auto!important; min-width:0!important; height:auto!important; border:0!important; background:transparent!important; color:#4B7BF5!important; font-size:0!important; font-weight:600!important; padding:6px 0!important; line-height:1.2!important; text-align:left!important; cursor:pointer; }
.info-toggle::after { content:"What's included?  ▾"; font-size:14px; }
.service-card.expanded .info-toggle::after { content:"Hide details  ▴"; }

/* Service choice is neutral here; single vs recurring is chosen in the next step. */
.service-card .service-full-name { display:none!important; }
.service-card .price-container { display:flex!important; align-items:baseline!important; justify-content:flex-end!important; gap:14px!important; flex-wrap:wrap!important; }
.service-card .price,
.service-card .recurring-price { font-size:18px!important; line-height:1.2!important; font-weight:700!important; }
.service-card .recurring-price { color:#2fa844!important; }

@media (min-width:769px) {
  .service-card .info-toggle { position:static!important; display:block!important; margin:10px 16px 0 auto!important; padding:0!important; text-align:right!important; }
  .service-card.expanded .info-toggle { margin-bottom:4px!important; }
}

@media (max-width:768px) {
  .vehicle-model-container > div { max-height:176px!important; overflow-y:auto!important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .vehicle-model-container > div > button { min-height:44px!important; padding:10px 14px!important; }
  .service-card { padding:16px!important; padding-top:16px!important; overflow:visible!important; }
  .service-card:hover { transform:none!important; }
  .service-card .service-image { width:calc(100% + 32px)!important; height:92px!important; margin:-16px -16px 14px!important; }
  .service-card .service-image img { height:76px!important; }
  .service-card.expanded .service-image { display:none!important; }
  .service-card .service-footer { align-items:center!important; }
  .service-card .price-container { gap:12px!important; }
  .service-card .price,
  .service-card .recurring-price { font-size:17px!important; font-weight:700!important; }
  .service-card .info-toggle { position:static!important; width:100%!important; min-height:44px!important; margin-top:14px!important; padding:11px 12px!important; border:1px solid #dbe5ff!important; border-radius:9px!important; background:#f5f8ff!important; color:#3f6fe5!important; display:flex!important; align-items:center!important; justify-content:center!important; text-align:center!important; }
  .service-card .info-toggle::after { font-size:15px!important; }
  .service-card.expanded .info-toggle { background:#eef4ff!important; border-color:#cbd9ff!important; color:#3f6fe5!important; }
  .service-card .service-inclusions { margin-top:10px!important; padding-top:14px!important; }
  .service-card .service-inclusions h4 { font-size:15px!important; margin-bottom:8px!important; }
  .service-card .service-inclusions li { font-size:14px!important; line-height:1.35!important; padding:5px 0!important; }
  .time-section { scroll-margin-top:110px; }
  .booking-page,.booking-container { background:#fff!important; }
  .booking-container { padding-top:0!important; }
  .mobile-logo { display:none!important; }
  .form-container { padding:14px 20px 0!important; }
  .step-indicator { gap:10px!important; margin:4px 0 20px!important; }
  .step-wrapper { margin:0 2px!important; }
  .step { width:28px!important; height:28px!important; border-width:1.5px!important; box-shadow:none!important; }
  .step.current { box-shadow:0 0 0 4px rgba(75,123,245,.09)!important; }
  .step-number { font-size:11px!important; }
  .step-label { margin-top:6px!important; font-size:10px!important; font-weight:500!important; color:#8a93a3!important; opacity:1!important; }
  .step.current + .step-label,.step.complete + .step-label { color:#3f6fe5!important; font-weight:700!important; }
  .step-line { width:30px!important; top:14px!important; height:1.5px!important; background:#e5e9f0!important; }
  .step-line.active { background:#8eabf9!important; }
  .step-title { margin:0 0 16px!important; font-size:23px!important; line-height:1.18!important; letter-spacing:-.02em!important; color:#202938!important; }
  .location-types-grid { gap:10px!important; margin-bottom:16px!important; }
  .location-type-card { min-width:0!important; min-height:96px!important; padding:14px 12px!important; border:1px solid #e2e7ef!important; border-radius:14px!important; background:#fff!important; box-shadow:0 3px 12px rgba(17,24,39,.04)!important; display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:center!important; gap:7px!important; }
  .location-type-card:hover { transform:none!important; box-shadow:0 3px 12px rgba(17,24,39,.04)!important; }
  .location-type-card.selected { border-color:#4B7BF5!important; background:#f7f9ff!important; box-shadow:0 0 0 2px rgba(75,123,245,.10)!important; }
  .location-icon { width:36px!important; height:36px!important; margin:0!important; border-radius:11px!important; background-color:#f2f6ff!important; background-position:center!important; background-repeat:no-repeat!important; background-size:19px 19px!important; font-size:0!important; display:block!important; }
  .location-type-card:nth-child(1) .location-icon,.location-type-card:nth-child(3) .location-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B7BF5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4h10v17M9 8h2m-2 4h2m-2 4h2M15 10h4v11M3 21h18'/%3E%3C/svg%3E")!important; }
  .location-type-card:nth-child(2) .location-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B7BF5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5M5.5 10v10h13V10M9.5 20v-6h5v6'/%3E%3C/svg%3E")!important; }
  .location-type-card:nth-child(4) .location-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B7BF5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-5 9 5-9 5-9-5Zm4 2.2V16c2.8 2 7.2 2 10 0v-4.8M20 10v6'/%3E%3C/svg%3E")!important; }
  .location-type-card h3 { margin:0!important; font-size:15px!important; font-weight:650!important; letter-spacing:-.01em!important; color:#283142!important; }
  .action-buttons { padding:10px 20px calc(10px + env(safe-area-inset-bottom))!important; border-top:1px solid #eef1f5!important; box-shadow:0 -6px 22px rgba(17,24,39,.045)!important; }
  .navigation-buttons { min-height:48px!important; align-items:center!important; }
  .back-button,.next-button { min-width:108px!important; min-height:48px!important; padding:11px 20px!important; border-radius:13px!important; font-weight:700!important; letter-spacing:.01em!important; }
  .next-button:disabled { background:#eef0f4!important; color:#b9c0cb!important; opacity:1!important; }
  .step-content { padding-right:0!important; padding-bottom:78px!important; }
}
