/* Mobile-first service browsing and compact two-step enquiries. */
.service-grid{scrollbar-width:none}
.service-grid::-webkit-scrollbar{display:none}
.service-carousel-controls{display:none}
.form-step{display:contents}
.form-progress{display:none}
.mobile-form-next,.mobile-form-back{display:none}
.form-step-actions{display:flex;gap:10px;align-items:center}
.optional-details[open]>summary{display:none}
.form-status:empty{display:none}

@media(max-width:850px){
  .service-carousel{position:relative;margin-inline:-18px}
  .service-grid{display:flex;gap:13px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:18px;padding:0 18px 8px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;grid-template-columns:none}
  .service-card{flex:0 0 clamp(270px,72vw,390px);width:clamp(270px,72vw,390px);min-height:215px;scroll-snap-align:start;scroll-snap-stop:always}
  .service-carousel-controls{display:flex;align-items:center;gap:10px;margin:16px 0 0;min-height:38px}
  .carousel-arrow{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid #e1cbd5;border-radius:50%;background:#fffdfc;color:#9d3d68;font-size:16px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
  .carousel-arrow:hover{background:#9d3d68;color:#fff;transform:scale(1.04)}
  .carousel-dots{display:flex;align-items:center;gap:6px}
  .carousel-dot{border:0;padding:0;width:6px;height:6px;border-radius:50%;background:#d8c3ce;cursor:pointer;transition:width .22s ease,background .22s ease}
  .carousel-dot[aria-current="true"]{width:19px;border-radius:5px;background:#b33164}
  .swipe-hint{margin-left:auto;font-size:7px;letter-spacing:.16em;color:#8b7a86}
  .enquiry-form.wizard-ready{padding:25px 24px}
  .enquiry-form.wizard-ready .form-title{padding-bottom:15px;margin-bottom:15px}
  .enquiry-form.wizard-ready .form-title p{font-size:18px}
  .form-progress{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:#9b3c67;font-size:8px;letter-spacing:.11em}
  .form-progress-track{height:3px;flex:1;background:#ecdce4;border-radius:3px;overflow:hidden}
  .form-progress-track i{display:block;width:50%;height:100%;background:linear-gradient(90deg,#e5747d,#b33164);transition:width .3s ease}
  #form-step-label{font-size:8px;font-weight:600;white-space:nowrap}
  .enquiry-form.wizard-ready .form-step{display:none}
  .enquiry-form.wizard-ready .form-step.is-active{display:block;animation:step-enter .24s ease both}
  @keyframes step-enter{from{opacity:.45;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
  .enquiry-form.wizard-ready .form-step>label{margin-bottom:13px}
  .enquiry-form.wizard-ready .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  .enquiry-form.wizard-ready input,.enquiry-form.wizard-ready select{min-height:44px;padding:10px 12px}
  .mobile-form-next{display:flex;width:100%;margin-top:3px}
  .form-step-actions{display:grid;grid-template-columns:auto minmax(0,1fr);margin-top:4px}
  .form-step-actions .form-submit{width:100%;margin:0}
  .mobile-form-back{display:inline-flex;justify-content:center;padding-inline:14px}
  .optional-details{margin:5px 0 16px}
  .optional-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:43px;padding:0 12px;border:1px solid #e5d3de;background:rgba(255,255,255,.58);font-size:10px;color:#685467;cursor:pointer}
  .optional-details>summary::-webkit-details-marker{display:none}
  .optional-details>summary span{font-size:16px;color:#b33164;transition:transform .2s ease}
  .optional-details[open]>summary span{transform:rotate(45deg)}
  .optional-details>label{margin:12px 0}
  .enquiry-form.wizard-ready>.form-note{font-size:8px;line-height:1.6;margin-top:12px}
  .enquiry-form.wizard-ready[data-active-step="1"]>.form-note{display:none}
  .enquiry-form.wizard-ready .form-status{font-size:10px}
}

@media(max-width:480px){
  .service-carousel{margin-inline:-18px}
  .service-grid{gap:11px;padding-inline:18px;scroll-padding-inline:18px}
  .service-card{flex-basis:clamp(270px,78vw,330px);width:clamp(270px,78vw,330px);min-height:196px;padding:15px}
  .service-card .service-icon{margin-bottom:2px}
  .service-card h3{font-size:17px}
  .service-card p{font-size:10px}
  .service-carousel-controls{margin-top:11px}
  .enquiry-form.wizard-ready{padding:21px 17px}
  .form-progress{margin-bottom:16px}
}

@media(prefers-reduced-motion:reduce){
  .service-grid{scroll-behavior:auto}
  .carousel-arrow,.carousel-dot,.form-progress-track i{transition:none}
  .enquiry-form.wizard-ready .form-step.is-active{animation:none}
}
