.service-heading h1{font-size:clamp(2.3rem,5vw,4rem)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{display:flex;flex-direction:column;gap:16px;margin:0}.service-person{display:flex;gap:18px;align-items:center;color:#15365f;text-decoration:none}.service-person h2{font-size:1.35rem;margin:8px 0}.service-person p{margin:0}.worker-avatar{width:88px;height:88px;border-radius:24px;object-fit:cover;flex-shrink:0;border:3px solid white;box-shadow:0 4px 14px #24476a1a}.avatar-initial{display:grid;place-items:center;background:#e2edfa;color:#173d70;font-size:2rem;font-weight:800}.service-availability{font-size:14px;font-weight:700;color:#53657e}.service-availability.is-ready{color:#116a45}.service-availability.is-ready:before{content:'● ';color:#169963}.service-card p{margin:0;overflow-wrap:anywhere}.service-bio{line-height:1.7}.service-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto}.service-price strong{font-size:1.5rem;color:#184780}.service-price span{font-size:16px}.service-card .button{text-align:center}.service-empty{grid-column:1/-1}.service-empty .button{margin:10px}.booking-layout{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.3fr);gap:28px}.booking-layout>.panel{min-width:0}.booking-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.booking-actions .field{flex:1;min-width:180px}.booking-total{padding:22px;border:1px solid #c4d6ed;border-radius:18px;background:#eef5ff;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0}.booking-total strong{font-size:1.8rem;color:#173c72}.booking-list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.booking-list-row h2{font-size:1.3rem}.booking-timeline{padding-left:26px}.booking-timeline li{padding:10px 0}.booking-timeline p{margin:5px 0}.booking-message{padding:18px;border-radius:16px;border:1px solid #d4dfed;margin:14px 0;overflow-wrap:anywhere}.booking-message p{margin:8px 0}.booking-form textarea{min-height:110px}#worker-map{height:380px;border-radius:24px;border:1px solid #b8c9df;z-index:0}.leaflet-container{font-size:16px}.leaflet-popup-content a{color:#16447c}.map-worker-link{display:block;padding:8px;font-size:17px;font-weight:700}.booking-layout p,.booking-layout h2{overflow-wrap:anywhere}.service-card .worker-avatar{margin:0}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-layout{grid-template-columns:1fr}.booking-layout>.service-card{max-width:640px}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-person{gap:12px}.worker-avatar{width:74px;height:74px;border-radius:20px}.service-person h2{font-size:1.25rem}.booking-list-row{display:block}.booking-list-row .button{display:block;margin-top:18px;text-align:center}.booking-total{padding:18px;flex-wrap:wrap}.booking-actions>.button{width:100%;text-align:center}.booking-actions form{width:100%}.service-heading h1{font-size:2.3rem}#worker-map{height:320px}}

.nearby-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.nearby-counters a{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #c3d3e5;border-radius:22px;background:#fff;color:#173d69;text-decoration:none}.nearby-counters strong{font-size:2.1rem}.nearby-counters span{font-size:17px;line-height:1.6}@media(max-width:600px){.nearby-counters{grid-template-columns:1fr}.nearby-counters a{flex-direction:row;align-items:center;gap:22px}.nearby-counters strong{min-width:50px}}

#service-point-map{height:340px;border-radius:20px;margin:18px 0;z-index:0}.service-person>div{min-width:0}.service-person h2{overflow-wrap:anywhere}.service-grid>article{min-width:0}.service-card .worker-avatar{width:104px;height:104px}@media(max-width:600px){.service-card .worker-avatar{width:88px;height:88px}}

.service-filter-details{margin-top:18px}.service-filter-details summary{padding:12px 0;cursor:pointer;font-weight:700}.service-heading{padding-top:36px;padding-bottom:24px}.service-heading h1{font-size:clamp(2.1rem,4vw,3.3rem)}@media(max-width:600px){.service-heading{padding-top:24px;padding-bottom:16px}.service-heading h1{font-size:2.1rem}.nearby-counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nearby-counters a{flex-direction:column;align-items:start;gap:6px;padding:16px 10px}.nearby-counters strong{font-size:1.8rem;min-width:0}.nearby-counters span{font-size:16px;line-height:1.4}.service-search .booking-actions>.button{width:auto;flex:1;min-width:130px}.service-search .booking-actions>a{width:100%}}

@media(max-width:600px){.service-heading .booking-actions .button{width:auto;flex:1;padding:12px;font-size:16px;min-width:120px}}

/* Availability and verified reputation stay readable on small screens. */
.service-availability.is-busy{color:#97331d;font-size:18px}.service-availability.is-scheduled{color:#805100}.service-busy-window,.booking-conflict{padding:12px 14px;background:#fff0e7;color:#873117;border-radius:14px;font-weight:700;font-size:18px}.service-trust{padding:12px 14px;background:#f1f6ff;border-radius:14px;font-size:18px;line-height:1.6}.busy-schedule{padding:16px;border:1px solid #dfba98;border-radius:18px;background:#fff7ee;margin:18px 0}.busy-schedule h3{margin:0 0 12px}.busy-schedule li{margin:10px 0;overflow-wrap:anywhere}.reputation-counts{display:flex;gap:12px;flex-wrap:wrap}.reputation-counts p{padding:12px;border-radius:14px;background:#eef4fc}.reputation-counts strong{font-size:1.5rem}.reputation-comment{border-top:1px solid #d8e3ef;padding:18px 0}.reputation-rating{font-size:20px;color:#684600}.reputation-panel{overflow-wrap:anywhere}.booking-conflict[hidden]{display:none}
