:root{--service-ink:#12231a;--service-green:#157347;--service-lime:#dfff6f;--service-paper:#f3f6f4}.services-shell,.account-dashboard{max-width:1240px}.services-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;background:linear-gradient(130deg,#10251a,#1e5034);color:#fff;padding:clamp(1.5rem,5vw,3.5rem);border-radius:24px}.services-head h1,.dashboard-welcome h1{font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:-.045em;max-width:720px}.service-kicker{font-size:.78rem;font-weight:900;letter-spacing:.14em;color:#3b6a50}.services-head .service-kicker,.dashboard-welcome .service-kicker{color:var(--service-lime)}.service-search{background:#fff;padding:1rem;border:1px solid #dde4df;border-radius:16px;box-shadow:0 8px 25px rgba(18,35,26,.08)}.service-search .form-select{max-width:300px}.service-category-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem}.service-category-strip a{white-space:nowrap;text-decoration:none;color:#263a2f;background:#e8eeea;padding:.45rem .8rem;border-radius:999px}.service-category-strip a.active{background:var(--service-ink);color:#fff}.service-card,.service-profile-card,.booking-box,.dashboard-panel,.provider-form,.account-panel,.booking-detail{background:#fff;border:1px solid #dde4df;border-radius:18px;box-shadow:0 8px 28px rgba(18,35,26,.07)}.service-card{padding:1.2rem;display:flex;flex-direction:column}.service-card h2,.service-profile-card h1{font-weight:900;letter-spacing:-.025em}.expertise-pill,.status-pill{background:#e7f7ed;color:#116038;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:800;text-transform:capitalize}.availability-dot{font-size:.85rem;color:#157347}.availability-dot:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#21b66f;margin-right:.35rem}.service-categories{color:#157347;font-weight:700}.service-bio{color:#59675f;min-height:3rem}.service-stats{display:grid;grid-template-columns:1fr 1fr;background:var(--service-paper);border-radius:12px}.service-stats span{padding:.75rem;display:flex;gap:.3rem;align-items:baseline}.service-stats span+span{border-left:1px solid #d9e1dc}.service-stats small{display:block;color:#68766e}.empty-services{text-align:center;padding:4rem;width:100%;background:var(--service-paper);border-radius:18px}.empty-services i{font-size:2rem}.provider-form,.account-panel,.booking-detail{max-width:820px;padding:clamp(1.25rem,4vw,2.5rem)}.account-panel{max-width:560px}.category-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;max-height:230px;overflow:auto;background:var(--service-paper);padding:1rem;border-radius:12px}.service-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}.service-profile-card,.booking-box{padding:1.35rem}.booking-box{position:sticky;top:90px}.price-banner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;background:var(--service-ink);color:#fff;border-radius:12px;padding:1rem}.price-banner small{width:100%;color:#cbd8d0}.review-card{background:#fff;border:1px solid #dde4df;border-radius:14px;padding:1rem;margin-bottom:.75rem}.review-card b{color:#e0a800;margin-right:.75rem}.review-card p{margin:.5rem 0 0}.booking-summary{background:var(--service-paper);padding:1rem;border-radius:14px;margin-top:1rem}.booking-summary p:last-child{margin-bottom:0}.dashboard-welcome{display:flex;justify-content:space-between;align-items:start;gap:1rem;background:linear-gradient(130deg,#10251a,#1e5034);color:#fff;border-radius:24px;padding:clamp(1.5rem,5vw,3rem);margin-bottom:1rem}.dashboard-welcome p{color:#d2e1d7}.dashboard-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.5rem}.dashboard-actions a{display:flex;align-items:center;gap:.8rem;padding:1rem;background:#fff;border:1px solid #dde4df;border-radius:15px;text-decoration:none;color:var(--service-ink)}.dashboard-actions i{font-size:1.5rem;color:var(--service-green)}.dashboard-actions small{display:block;color:#68766e}.dashboard-panel{padding:1.2rem;height:100%}.dashboard-job{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 0;border-bottom:1px solid #e4e9e6;text-decoration:none;color:var(--service-ink)}.dashboard-job small{display:block;color:#68766e}@media(max-width:991px){.service-profile-grid{grid-template-columns:1fr}.booking-box{position:static}.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.services-head,.dashboard-welcome{align-items:start;flex-direction:column;border-radius:17px}.service-search .input-group{display:grid;grid-template-columns:1fr}.service-search .form-select{max-width:none;width:100%}.service-search .btn{width:100%}.category-checks{grid-template-columns:1fr 1fr}.dashboard-actions{grid-template-columns:1fr}.service-stats span{display:block}}
.service-card-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:1rem}.service-image-preview{display:block;width:min(100%,360px);height:240px;object-fit:cover;border-radius:12px;border:1px solid #dce4df}.service-worker{display:flex;align-items:center;gap:.75rem}.service-worker small,.service-worker strong{display:block}.service-worker small{color:#68766e;font-size:.75rem}.worker-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px rgba(18,35,26,.18);background:#dfe8e2;color:#315b43}.worker-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:1.65rem}.worker-avatar-large{width:112px;height:112px;flex-basis:112px;font-size:3.5rem}.provider-page-head{align-items:center;justify-content:flex-start}.provider-page-head h1{margin-bottom:.25rem}@media(max-width:575px){.worker-avatar-large{width:88px;height:88px;flex-basis:88px}}

/* Compact discovery cards with a left-hand photo and full-width contact action. */
.service-card-horizontal{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px;border-radius:20px;border-color:#dce6df;box-shadow:0 5px 22px rgba(18,35,26,.045);transition:border-color .2s,box-shadow .2s}
.service-card-horizontal.service-card-with-image{grid-template-columns:clamp(160px,23%,240px) minmax(0,1fr)}
.service-card-horizontal:hover{border-color:#a8c2b1;box-shadow:0 8px 28px rgba(18,35,26,.08)}
.service-card-horizontal>*{min-width:0}
.service-card-media{position:relative;display:block;min-height:170px;align-self:stretch;border-radius:13px;background:#eaf0ec;overflow:hidden}
.service-card-horizontal .service-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit}
.service-card-summary{display:flex;flex-direction:column;justify-content:center;overflow-wrap:anywhere}
.service-card-badges{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-7px -7px 2px 0}
.service-card-badges .availability-dot{font-size:.78rem;font-weight:600}
.service-card-horizontal .is-busy,.service-details-dialog .is-busy{color:#895b14}
.service-card-horizontal .is-busy:before,.service-details-dialog .is-busy:before{background:#b67c20}
.service-card-share{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;color:#456252;background:transparent;cursor:pointer}
.service-card-share:hover{background:#edf4ef;color:#157347}
.service-card-socials{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:3px;max-width:min(52%,220px);margin-left:auto}
.service-card-socials a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#315b43;text-decoration:none;background:#edf4ef;font-size:1rem}
.service-card-socials a:hover{color:#fff;background:#157347}
.service-card-socials a:focus-visible{outline:3px solid #157347;outline-offset:2px}
.service-card-horizontal .service-card-title{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.25;margin:0 0 10px}
.service-card-title a{color:var(--service-ink);text-decoration:none}
.service-card-title a:hover{color:var(--service-green)}
.service-card-categories{display:flex;align-items:flex-start;gap:6px;width:fit-content;max-width:100%;margin:0 0 9px;padding:5px 9px;border-radius:8px;color:#116038;background:#e7f7ed;font-size:.76rem;font-weight:750;line-height:1.3;overflow-wrap:anywhere}
.service-card-categories i{flex:0 0 auto;margin-top:1px}
.service-card-location{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;color:#607066;font-size:.85rem;margin:0 0 12px}
.service-card-location>i{color:#157347}
.service-card-distance{border-left:1px solid #d6e0d9;padding-left:8px;margin-left:2px}
.service-card-bottomline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;margin-top:auto}
.service-card-price{font-size:1.2rem;line-height:1.4;color:#163f29}
.service-card-details-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#157347;font-size:.85rem;font-weight:650;text-underline-offset:4px}
.service-card-horizontal .service-card-contact,.service-details-contact{grid-column:1/-1;display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 20px;border-radius:11px;font-size:1rem;font-weight:700;background:#157347;border-color:#157347}
.service-card-horizontal .service-card-contact:hover,.service-details-contact:hover{background:#105c38;border-color:#105c38}
.service-card-horizontal :is(a,button):focus-visible,.service-details-dialog :is(a,button):focus-visible{outline:3px solid #157347;outline-offset:3px}
.service-details-dialog{width:min(620px,calc(100% - 24px));max-height:90vh;max-height:90dvh;margin:auto;padding:0;border:1px solid #dce6df;border-radius:22px;color:#12231a;box-shadow:0 24px 80px #10251a40;overflow:auto;overscroll-behavior:contain}
.service-details-dialog::backdrop{background:rgba(10,26,17,.58);backdrop-filter:blur(3px)}
body.service-details-open{overflow:hidden}
.service-details-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid #e4ece6;background:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-details-close{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:0 0 44px;border:0;border-radius:50%;background:radial-gradient(circle at center,#f0f5f1 17px,transparent 17.5px);color:#234b33;font-family:Arial,sans-serif;font-size:28px;line-height:1;letter-spacing:0;cursor:pointer}
.service-details-close:hover{background:radial-gradient(circle at center,#e1ebe4 17px,transparent 17.5px);color:#103e24}
.service-details-content{padding:24px 24px 0;overflow-wrap:anywhere}
.service-details-heading h2{font-size:1.65rem;font-weight:800;line-height:1.2;margin:14px 0 8px}
.service-details-heading .service-categories{font-size:.85rem;margin-bottom:18px}
.service-details-image{display:block;width:100%;max-height:280px;height:auto;object-fit:contain;border-radius:13px;background:#f3f6f4;margin-bottom:20px}
.service-details-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f1f6f2;padding:16px;border-radius:12px;margin-bottom:24px}
.service-details-facts small,.service-details-facts strong{display:block}
.service-details-facts small{font-size:.75rem;color:#607066;margin-bottom:4px}
.service-details-facts strong{font-size:1rem}
.service-details-description{white-space:pre-wrap;line-height:1.7;color:#526258;font-size:.95rem}
.service-details-meta{display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #e2eae4;padding-top:16px;margin:20px 0;font-size:.8rem}
.service-details-provider{font-size:.85rem;margin-bottom:6px}
.service-details-worker-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#157347;font-size:.85rem}
.service-details-footer{position:sticky;bottom:0;background:#fff;padding:16px 0;border-top:1px solid #e4ece6;margin-top:16px}
@media(max-width:575px){
 .service-card-horizontal{padding:14px;gap:14px;border-radius:16px}
 .service-card-horizontal.service-card-with-image{grid-template-columns:29% minmax(0,1fr);gap:12px}
 .service-card-media{min-height:120px;border-radius:10px}
 .service-card-horizontal .service-card-title{font-size:1.05rem;margin-bottom:8px}
 .service-card-location{font-size:.75rem;margin-bottom:8px;gap:3px 5px}
 .service-card-price{font-size:1rem}
 .service-card-badges .availability-dot{font-size:.7rem}
 .service-card-socials{gap:1px}
 .service-card-socials a{width:30px;height:30px;font-size:.9rem}
 .service-card-bottomline{gap:0 10px}
 .service-card-details-link{font-size:.78rem;min-height:44px}
 .service-details-content{padding:18px 18px 0}
 .service-details-heading h2{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){.service-card-horizontal{transition:none}}

/* Card actions stay behind one compact ellipsis until requested. */
.service-card-actions{position:relative;margin-left:auto}
.service-card-actions-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;color:#315b43;background:transparent;font-size:1.35rem;line-height:1;cursor:pointer}
.service-card-actions-toggle:hover,.service-card-actions-toggle[aria-expanded="true"]{color:#fff;background:#157347}
.service-card-actions-menu{position:absolute;z-index:20;top:calc(100% + 5px);right:0;box-sizing:border-box;width:230px;max-width:calc(100vw - 32px);padding:7px;border:1px solid #d9e3dc;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(18,35,26,.2);overflow-wrap:anywhere}
.service-card-actions-menu[hidden]{display:none}
.service-card-actions-menu .service-card-share,.service-card-actions-menu .service-card-socials a{display:flex;width:100%;height:auto;min-height:40px;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:8px 10px;border:0;border-radius:8px;color:#234b33;background:transparent;font-size:.82rem;font-weight:700;text-align:right;text-decoration:none}
.service-card-actions-menu .service-card-share{cursor:pointer}
.service-card-actions-menu .service-card-share:hover,.service-card-actions-menu .service-card-socials a:hover{color:#fff;background:#157347}
.service-card-actions-menu .service-card-share i,.service-card-actions-menu .service-card-socials i{display:grid;width:20px;flex:0 0 20px;place-items:center;font-size:1rem}
.service-card-connect-label{margin:3px 3px 2px;padding:8px 7px 5px;border-top:1px solid #edf1ee;color:#607066;font-size:.7rem;font-weight:800;line-height:1.3;text-align:right}
.service-card-actions-menu .service-card-socials{display:grid;max-width:none;margin:0;padding:0}
.service-card-actions-menu .service-card-socials span{min-width:0;overflow-wrap:anywhere}
.service-card-no-socials{margin:3px 4px 0;padding:8px 7px 4px;border-top:1px solid #edf1ee;color:#718078;font-size:.72rem}
.service-card-actions :is(button,a):focus-visible{outline:3px solid #157347;outline-offset:2px}
.work-gallery-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:14px}.work-gallery-item{position:relative;margin:0;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eaf0ec}.work-gallery-item img{width:100%;height:100%;object-fit:cover}.work-gallery-remove{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:rgba(18,35,26,.82);color:#fff;font-size:1.25rem;line-height:1}.work-gallery-remove:hover{background:#a52834}.service-details-gallery{position:relative;margin-bottom:20px}.service-details-slide{margin:0}.service-details-slide[hidden]{display:none}.service-details-image{display:block;width:100%;max-height:min(58vh,520px);height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:14px;background:#f3f6f4;margin:0}.service-details-gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}.service-details-gallery-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d5e2d8;border-radius:50%;background:#fff;color:#175735;font-size:1.05rem}.service-details-gallery-controls button:hover{background:#eaf4ed}.service-details-gallery-controls span{min-width:54px;text-align:center;color:#50645a;font-weight:650}
.work-gallery-item-actions{position:absolute;top:7px;right:7px;display:flex;gap:5px}.work-gallery-item-actions .work-gallery-remove,.work-gallery-order{position:static;width:32px;height:32px;border:0;border-radius:50%;background:rgba(18,35,26,.84);color:#fff;display:grid;place-items:center;font-size:1.15rem;line-height:1}.work-gallery-order{font-size:1rem}.work-gallery-item-actions button:disabled{opacity:.45}.work-gallery-item-actions button:hover:not(:disabled){background:#157347}
.service-card-price-area{min-width:0}.service-price-packages-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:transparent;color:#17643b;font-size:.82rem;font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:3px}.service-price-packages-toggle:hover{color:#0d4727}.service-price-packages-panel{width:min(100%,520px);margin-top:10px}.service-price-package-list{display:grid;gap:8px}.service-price-package{padding:12px 14px;border:1px solid #d7e4db;border-radius:12px;background:#f7faf8}.service-price-package-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.service-price-package-top strong{color:#173c28}.service-price-package-top>b{color:#155b36;text-align:right;white-space:nowrap}.service-price-package-top>b span{font-weight:500;font-size:.82em}.service-price-package small{display:block;margin-top:4px;color:#617168}.service-price-package p{margin:7px 0 0;color:#526259;font-size:.9rem;overflow-wrap:anywhere}.service-details-packages{margin:18px 0;padding:14px;border:1px solid #dce8df;border-radius:14px;background:#fbfdfb}.service-profile-packages{padding:14px;border:1px solid #dce8df;border-radius:14px;background:#fbfdfb}.service-details-packages .service-price-packages-panel,.service-profile-packages .service-price-packages-panel{width:100%}.service-packages-page{max-width:900px}.service-packages-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;color:#17643b;font-weight:700;text-decoration:none}.service-packages-back:hover{text-decoration:underline}.service-packages-header{margin-bottom:22px;padding:clamp(22px,4vw,36px);border-radius:20px;background:linear-gradient(130deg,#10251a,#1e5034);color:#fff}.service-packages-header .service-kicker{color:#dfff6f}.service-packages-header h1{margin:6px 0;font-weight:900;letter-spacing:-.04em}.service-packages-header p{margin:0;color:#d5e3da}.service-packages-panel{padding:clamp(16px,3vw,26px);border:1px solid #dce5df;border-radius:18px;background:#fff;box-shadow:0 6px 24px rgba(18,35,26,.06)}.service-package-add{padding:14px 16px;border:1px solid #d6e4da;border-radius:14px;background:#f7faf8}.service-package-add>summary{display:flex;align-items:center;gap:9px;cursor:pointer;color:#155b36;font-weight:800;font-size:1.03rem;list-style:none}.service-package-add>summary::-webkit-details-marker{display:none}.service-package-add>summary:before{content:'+';display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#deeee3;font-size:1.1rem}.service-package-form{padding-top:16px}.service-packages-existing{margin-top:24px}.service-packages-existing>h2{display:flex;align-items:center;gap:8px;margin-bottom:14px}.service-package-manage-card{margin-top:12px;padding:16px;border:1px solid #e0e7e2;border-radius:14px}.service-package-delete{display:flex;justify-content:flex-end;margin-top:10px}.service-package-currency{max-width:104px}
.service-packages-page .form-text{font-size:.82rem}.service-package-manage-card>.service-package-form{padding-top:0}
@media(max-width:575px){:is(.services-shell,.home-services) .service-price-package{padding:8px}.service-price-package-top{align-items:flex-start;flex-direction:column;gap:3px}.service-price-package-top>b{text-align:left;white-space:normal}.service-price-packages-toggle{font-size:.74rem}}
.service-packages-dialog{position:fixed;inset:0;width:min(640px,calc(100vw - 28px));max-width:none;max-height:min(82vh,760px);margin:auto;padding:0;overflow:hidden;border:1px solid #dbe5de;border-radius:20px;color:#1c3024;background:#fff;box-shadow:0 24px 80px rgba(11,28,18,.28)}
.service-packages-dialog::backdrop{background:rgba(12,25,18,.62);backdrop-filter:blur(3px)}
.service-packages-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 15px;border-bottom:1px solid #e8eee9}
.service-packages-dialog-kicker{color:#328257;font-size:.7rem;font-weight:850;letter-spacing:.12em}
.service-packages-dialog-header h2{margin:4px 0 0;color:#183a27;font-size:1.35rem;font-weight:850;letter-spacing:-.025em}
.service-packages-dialog-subtitle{margin:4px 0 0;color:#718078;font-size:.9rem}
.service-packages-dialog-close{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;border:1px solid #dce6df;border-radius:50%;color:#345543;background:#f7faf8;font-size:1rem;cursor:pointer}
.service-packages-dialog-close:hover{color:#fff;border-color:#17643b;background:#17643b}
.service-packages-dialog-content{max-height:calc(82vh - 105px);padding:18px 24px 24px;overflow-y:auto;overscroll-behavior:contain}
.service-packages-dialog-content .service-price-package-list{gap:10px}
.service-packages-dialog-content .service-price-package{padding:14px 16px}
.service-packages-dialog-content .service-price-package p{font-size:.95rem;line-height:1.5}
@media(max-width:575px){.service-packages-dialog{width:calc(100vw - 24px);max-height:82vh;max-height:82dvh;border-radius:18px}.service-packages-dialog-header{padding:17px 17px 13px}.service-packages-dialog-header h2{font-size:1.2rem}.service-packages-dialog-content{max-height:calc(82vh - 92px);max-height:calc(82dvh - 92px);padding:14px 16px 18px}.service-packages-dialog-content .service-price-package{padding:12px}.service-packages-dialog-content .service-price-package-top{align-items:flex-start;flex-direction:column;gap:4px}.service-packages-dialog-content .service-price-package-top>b{text-align:left;white-space:normal}}
body.service-packages-open{overflow:hidden}
