/* WashLB API booking — native tablet/desktop presentation layer.
   Mobile remains app-like; wider breakpoints use conventional web controls and density. */
.api-desktop-only,.api-vehicle-desktop{display:none}

@media (min-width:768px){
  .api-booking-shell{background:#f4f6f9!important}
  .api-header{height:68px!important;padding:0 34px!important;background:#fff!important;box-shadow:0 1px 0 rgba(30,42,62,.06)}
  .api-progress{top:68px!important}
  .api-card{display:block!important;grid-template-columns:none!important;width:min(920px,calc(100% - 56px))!important;min-height:0!important;margin:34px auto 64px!important;padding:36px 40px 42px!important;background:#fff!important;border:1px solid #e3e8ef!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(25,38,63,.07)!important}
  .api-card h1{font-size:36px!important;line-height:1.12!important;letter-spacing:-1.1px!important;max-width:none!important;margin:0!important}
  .api-kicker{font-size:11px!important;letter-spacing:1.7px!important;margin-bottom:8px!important}
  .api-subtitle{font-size:16px!important;margin:10px 0 24px!important;max-width:680px!important}
  .api-setting-grid{grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin:22px 0 20px!important}
  .api-choice{min-height:58px!important;border-radius:10px!important;font-size:15px!important;padding:12px!important}
  .api-location-section{margin-top:18px!important}
  .api-zip{max-width:220px!important}
  .api-location-list{max-width:none!important;border-radius:12px!important}
  .api-location-row{padding:13px 15px!important}
  .api-location-row strong{font-size:15px!important}
  .api-location-row small{font-size:12px!important}
  .api-frequency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:620px!important;gap:12px!important;margin:22px 0!important}
  .api-frequency{min-height:72px!important;border-radius:11px!important;padding:14px 16px!important}
  .api-intervals{gap:8px!important;margin-bottom:22px!important}
  .api-intervals button{padding:10px 13px!important;border-radius:9px!important;font-size:13px!important}
  .api-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .api-date-grid button{padding:11px 8px!important;border-radius:9px!important;font-size:13px!important}
  .api-time-grid button{padding:11px 16px!important;border-radius:9px!important;font-size:14px!important}
  .api-window-note{margin:18px 0!important;padding:12px 14px!important;border-radius:10px!important;font-size:13px!important}
  .api-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:20px!important}
  .api-input{height:46px!important;border-radius:9px!important;font-size:14px!important}
  .api-primary{width:auto!important;min-width:180px!important;max-width:320px!important;min-height:46px!important;border-radius:9px!important;font-size:15px!important;margin-top:24px!important;padding:0 24px!important}
  .api-desktop-only{display:block!important}
  .api-vehicle-mobile{display:none!important}
  .api-vehicle-desktop{display:grid!important}
  .api-desktop-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-top:22px;max-width:760px}
  .api-desktop-form label{display:flex;flex-direction:column;gap:7px;color:#606c7c;font-size:12px;font-weight:800;letter-spacing:.35px}
  .api-desktop-form select{width:100%;height:46px;border:1px solid #d9e0e9;border-radius:9px;background:#fff;color:#202938;padding:0 38px 0 12px;font:500 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;appearance:auto}
  .api-desktop-form select:focus{outline:none;border-color:#4b7bf5;box-shadow:0 0 0 3px rgba(75,123,245,.11)}
  .api-desktop-form select:disabled{background:#f5f6f8;color:#9aa3af}
  .api-addon-list{max-width:none!important;border-radius:12px!important}
  .api-addon{padding:13px 15px!important}
  .api-summary{margin-top:22px!important;border-radius:12px!important;background:#f8fafc!important}
  .api-summary div{padding:13px 0!important}
  .api-section-title{margin-top:24px!important}
  .api-payment-box{border-radius:10px!important}
  .api-checkout{max-width:680px!important}
}

@media (min-width:900px){
  .api-service-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
  .api-service-list>.api-service:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 9px)}
  .api-service{border-radius:16px!important;min-height:330px!important}
  .api-service-main{padding:24px!important}
  .api-service-top{min-height:108px!important;align-items:flex-start!important}
  .api-service-identity{gap:22px!important;align-items:center!important}
  .api-service-identity>img{width:175px!important;height:105px!important;max-width:42%!important;object-fit:contain!important;flex:0 0 auto!important}
  .api-service-identity h3{font-size:25px!important;letter-spacing:-.4px!important}
  .api-service-main>p{font-size:16px!important;line-height:1.45!important;margin:5px 0 0 197px!important;min-height:48px!important;color:#68758a!important}
  .api-chevron{font-size:30px!important}
  .api-prices{gap:42px!important;margin-top:17px!important;padding-top:16px!important}
  .api-prices span{font-size:10px!important}
  .api-prices strong{font-size:26px!important}
  .api-prices em{position:relative!important;background:transparent!important;color:#25a54a!important;font-size:9px!important;padding:22px 0 0!important}
  .api-prices em:before{content:'BEST VALUE';position:absolute;top:0;left:0;background:#269a49;color:#fff;border-radius:4px;padding:5px 8px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.45px;white-space:nowrap}
  .api-details-link{width:calc(100% - 48px)!important;margin:0 24px 20px!important;padding:11px!important;border-radius:9px!important;font-size:14px!important}
  .api-service ul{font-size:12px!important;padding:0 30px 18px 38px!important}
  .api-pill{left:24px!important;top:13px!important;font-size:8px!important;padding:5px 7px!important}
  .api-pill+.api-service-main{padding-top:48px!important}
  .api-rotating-images{width:175px!important;min-height:105px!important;justify-content:center!important}
  .api-rotating-images img{width:72px!important;height:58px!important}
}

@media (min-width:1100px){
  .api-header{padding:0 max(42px,calc((100vw - 1440px)/2))!important}
  .api-card{width:min(1120px,calc(100% - 80px))!important;padding:40px 46px 46px!important;margin-top:38px!important}
  .api-card h1{font-size:38px!important}
  .api-step-location .api-card,.api-step-frequency .api-card,.api-step-vehicle .api-card,.api-step-addons .api-card{max-width:980px!important}
  .api-step-review .api-card{max-width:1080px!important}
  .api-date-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .api-addon-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;border:0!important;overflow:visible!important}
  .api-addon{border:1px solid #e1e7ef!important;border-radius:9px!important}
  .api-addon:last-child{border-bottom:1px solid #e1e7ef!important}
  .api-step-review .api-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important;padding:4px 20px!important}
  .api-step-review .api-summary div:nth-child(odd){border-right:1px solid #edf0f4;padding-right:20px!important}
  .api-step-review .api-summary div:last-child{border-bottom:0!important}

  /* Service selection gets a purpose-built desktop canvas rather than the compact form card. */
  .api-step-service .api-card{width:min(1440px,calc(100% - 88px))!important;max-width:none!important;padding:0!important;margin:26px auto 72px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .api-step-service .api-kicker{display:none!important}
  .api-step-service .api-card>h1{font-size:50px!important;letter-spacing:-2px!important;margin-bottom:8px!important}
  .api-step-service .api-location-name{font-size:19px!important;margin:0 0 28px!important}
  .api-step-service .api-service-list{gap:20px!important}
  .api-step-service .api-service{min-height:350px!important;border-radius:18px!important;box-shadow:0 7px 28px rgba(24,39,75,.035)!important}
  .api-step-service .api-service-main{padding:28px!important}
  .api-step-service .api-service-top{min-height:128px!important}
  .api-step-service .api-service-identity{gap:28px!important}
  .api-step-service .api-service-identity>img{width:225px!important;height:128px!important;max-width:43%!important}
  .api-step-service .api-service-identity h3{font-size:29px!important}
  .api-step-service .api-service-main>p{font-size:17px!important;margin:-3px 0 0 253px!important;min-height:55px!important}
  .api-step-service .api-prices{gap:56px!important;margin-top:18px!important;padding-top:18px!important}
  .api-step-service .api-prices strong{font-size:30px!important}
  .api-step-service .api-details-link{width:calc(100% - 56px)!important;margin:0 28px 22px!important;padding:12px!important;font-size:15px!important}
  .api-step-service .api-rotating-images{width:225px!important;min-height:128px!important}
  .api-step-service .api-rotating-images img{width:92px!important;height:70px!important}

  /* Rotating has two images, so explicitly anchor its text block instead of inheriting
     the single-image vertical centering that caused the title/description collision. */
  .api-step-service .api-service:has(.api-pill) .api-service-identity{align-items:flex-start!important}
  .api-step-service .api-service:has(.api-pill) .api-service-identity h3{align-self:flex-start!important;margin-top:22px!important;line-height:1.08!important}
  .api-step-service .api-service:has(.api-pill) .api-service-main>p{margin:-58px 40px 34px 253px!important;min-height:66px!important;line-height:1.5!important}
}

@media (max-width:767px){
  .api-vehicle-desktop,.api-desktop-only{display:none!important}
  .api-vehicle-mobile{display:grid!important}
}
