/* Horse Tools — mobile Services slide-up panel. Loaded only when the panel is
   in use. --svc-accent is set inline per the chosen colour theme. */

.ht-svc-wrap{position:fixed;inset:0;z-index:100200;display:flex;align-items:flex-end;justify-content:center}
.ht-svc-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s}
.ht-svc-wrap.ht-open .ht-svc-backdrop{opacity:1}
.ht-svc-sheet{position:relative;width:100%;max-width:560px;max-height:84vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:18px 18px 0 0;padding:6px 16px 22px;transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.85,.25,1);box-shadow:0 -8px 30px rgba(0,0,0,.16)}
.ht-svc-wrap.ht-open .ht-svc-sheet{transform:translateY(0)}
.ht-svc-handle{display:block;width:44px;height:5px;border-radius:5px;background:#ddd;border:none;margin:8px auto 12px;padding:0;cursor:grab}
.ht-svc-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.ht-svc-htxt{display:flex;flex-direction:column;gap:2px}
.ht-svc-title{font-size:17px;font-weight:700;color:#1f1f1f}
.ht-svc-status{font-size:12px;font-weight:600;line-height:1.2}
.ht-svc-open{color:#1a9c5b}
.ht-svc-closed{color:#c0392b}
.ht-svc-x{background:none;border:none;font-size:22px;line-height:1;color:#9a9a9a;cursor:pointer;padding:2px}
.ht-svc-x:hover{color:#555}

/* item primitives */
.ht-svc-item{position:relative;display:block;text-decoration:none;color:#222}
.ht-svc-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background-size:cover;background-position:center;flex-shrink:0}
.ht-svc-ic .ti{font-size:24px;line-height:1}
.ht-svc-img{background-color:#eee}
.ht-svc-txt{display:block}
.ht-svc-tt{display:block;font-size:14px;font-weight:600;line-height:1.3;color:#1f1f1f}
.ht-svc-sub{display:block;font-size:12px;color:#8a8a8a;margin-top:2px}
.ht-svc-badge{position:absolute;top:8px;right:8px;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;z-index:1}

/* grid + bento */
.ht-svc-grid,.ht-svc-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ht-svc-grid .ht-svc-item,.ht-svc-bento .ht-svc-item{background:#fafafa;border:1px solid #eee;border-radius:14px;padding:14px}
.ht-svc-grid .ht-svc-ic,.ht-svc-bento .ht-svc-cell .ht-svc-ic,.ht-svc-tile .ht-svc-ic{margin-bottom:8px}
.ht-svc-big{grid-column:1 / -1;display:flex;align-items:center;gap:14px;background:var(--svc-accent)!important;border:none!important}
.ht-svc-big .ht-svc-tt,.ht-svc-big .ht-svc-sub{color:#fff}
.ht-svc-big .ht-svc-txt{flex:1;min-width:0}
.ht-svc-big .ht-svc-ic{background:rgba(255,255,255,.22)!important}
.ht-svc-big .ht-svc-ic .ti{color:#fff!important}

/* list / price rows */
.ht-svc-row{display:flex;align-items:center;gap:12px;padding:11px;background:#fafafa;border:1px solid #eee;border-radius:14px;margin-bottom:9px}
.ht-svc-row .ht-svc-txt{flex:1;min-width:0}
.ht-svc-row .ht-svc-badge{position:static;margin-left:auto}

/* tiles (compact icon grid) */
.ht-svc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 6px}
.ht-svc-tile{text-align:center}
.ht-svc-tile .ht-svc-ic{margin:0 auto 5px;width:44px;height:44px}
.ht-svc-tile .ht-svc-tt{font-size:11px;font-weight:500;color:#666}
.ht-svc-tile .ht-svc-sub{display:none}

/* chips */
.ht-svc-chips{display:flex;flex-wrap:wrap;gap:8px}
.ht-svc-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:9px 14px;border-radius:22px;text-decoration:none;background:color-mix(in srgb,var(--svc-accent) 12%,#fff);color:var(--svc-accent);border:1px solid color-mix(in srgb,var(--svc-accent) 30%,#fff)}

/* story circles */
.ht-svc-story{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}
.ht-svc-story-i{flex:0 0 auto;text-align:center;width:66px}
.ht-svc-story-i .ht-svc-ic{width:58px;height:58px;border-radius:50%;border:2px solid var(--svc-accent);margin:0 auto 5px;background:#fff!important}
.ht-svc-story-i .ht-svc-tt{font-size:11px;font-weight:500;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht-svc-story-i .ht-svc-badge{display:none}

/* coupon */
.ht-svc-coupon{display:flex;align-items:center;gap:12px;padding:11px;border:1px dashed var(--svc-accent);border-radius:14px;background:color-mix(in srgb,var(--svc-accent) 6%,#fff);margin-bottom:9px}
.ht-svc-cp-mid{flex:1;min-width:0}
.ht-svc-code{display:inline-block;font-family:monospace;font-weight:700;color:var(--svc-accent);margin-top:2px}
.ht-svc-copy{background:var(--svc-accent);border:none;color:#fff;width:38px;height:38px;border-radius:10px;cursor:pointer;flex-shrink:0}
.ht-svc-copy.ht-done{background:#2e9e5b}

@media (prefers-reduced-motion: reduce){
	.ht-svc-sheet{transition:none}
	.ht-svc-backdrop{transition:none}
}

/* stacked banners */
.ht-svc-stacked{display:flex;flex-direction:column;gap:9px}
.ht-svc-stk{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--svc-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--svc-accent) 22%,#fff)}
.ht-svc-stk .ht-svc-txt{flex:1;min-width:0}
.ht-svc-stk .ht-svc-badge{position:static;margin-left:auto}

/* banner (featured first cell) */
.ht-svc-bnr{grid-column:1 / -1;display:flex;align-items:center;gap:14px;background:var(--svc-accent)!important;border:none!important;color:#fff}
.ht-svc-bnr .ht-svc-tt,.ht-svc-bnr .ht-svc-sub{color:#fff}
.ht-svc-bnr .ht-svc-txt{flex:1;min-width:0}
.ht-svc-bnr .ht-svc-ic{background:rgba(255,255,255,.22)!important}
.ht-svc-bnr .ht-svc-ic .ti{color:#fff!important}

/* price + order button */
.ht-svc-priced{display:flex;align-items:center;gap:12px;padding:11px;background:#fafafa;border:1px solid #eee;border-radius:14px;margin-bottom:9px}
.ht-svc-priced .ht-svc-txt{flex:1;min-width:0}
.ht-svc-priced .ht-svc-sub{color:var(--svc-accent);font-weight:600}
.ht-svc-go{flex-shrink:0;background:var(--svc-accent);color:#fff;font-size:12px;font-weight:600;padding:8px 15px;border-radius:20px}

/* reviews */
.ht-svc-review{border:1px solid #eee;border-radius:14px;padding:13px;background:#fafafa;margin-bottom:9px}
.ht-svc-rv-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ht-svc-avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.ht-svc-stars{display:block;color:#f5a623;font-size:12px;letter-spacing:1px}
.ht-svc-quote{margin:0;font-size:13px;color:#666;line-height:1.5}

/* video */
.ht-svc-videos{display:flex;flex-direction:column;gap:11px}
.ht-svc-video{text-decoration:none}
.ht-svc-thumb{position:relative;display:block;height:150px;border-radius:14px;background-size:cover;background-position:center;overflow:hidden}
.ht-svc-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:#222;font-size:24px}
.ht-svc-dur{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;padding:2px 7px;border-radius:6px}
.ht-svc-video .ht-svc-tt{margin-top:8px}

/* masonry */
.ht-svc-masonry{column-count:2;column-gap:10px}
.ht-svc-mas{position:relative;display:block;break-inside:avoid;margin-bottom:10px;height:90px;border-radius:14px;background-size:cover;background-position:center;overflow:hidden;text-decoration:none}
.ht-svc-mas.ht-svc-tall{height:140px}
.ht-svc-mas-tt{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}

/* ---- Presentation modes (desktop + mobile) ---- */
.ht-svc-m-sheet{align-items:flex-end;justify-content:center}

.ht-svc-m-modal{align-items:center;justify-content:center;padding:20px}
.ht-svc-m-modal .ht-svc-sheet{max-width:480px;max-height:86vh;border-radius:18px;transform:translateY(16px) scale(.97);opacity:0}
.ht-svc-m-modal.ht-open .ht-svc-sheet{transform:none;opacity:1}
.ht-svc-m-modal .ht-svc-handle{display:none}

.ht-svc-m-drawer-right{align-items:stretch;justify-content:flex-end}
.ht-svc-m-drawer-right .ht-svc-sheet{width:380px;max-width:90%;height:100%;max-height:100%;border-radius:18px 0 0 18px;transform:translateX(100%)}
.ht-svc-m-drawer-right.ht-open .ht-svc-sheet{transform:none}
.ht-svc-m-drawer-right .ht-svc-handle{display:none}

.ht-svc-m-drawer-left{align-items:stretch;justify-content:flex-start}
.ht-svc-m-drawer-left .ht-svc-sheet{width:380px;max-width:90%;height:100%;max-height:100%;border-radius:0 18px 18px 0;transform:translateX(-100%)}
.ht-svc-m-drawer-left.ht-open .ht-svc-sheet{transform:none}
.ht-svc-m-drawer-left .ht-svc-handle{display:none}

.ht-svc-m-corner{align-items:flex-end;justify-content:flex-end;padding:0 20px 20px}
.ht-svc-m-corner .ht-svc-backdrop{background:transparent;pointer-events:none}
.ht-svc-m-corner .ht-svc-sheet{width:360px;max-width:90%;max-height:72vh;border-radius:16px;transform:translateY(16px);opacity:0;box-shadow:0 10px 40px rgba(0,0,0,.22)}
.ht-svc-m-corner.ht-open .ht-svc-sheet{transform:none;opacity:1}
.ht-svc-m-corner .ht-svc-handle{display:none}

.ht-svc-m-fullscreen{align-items:stretch;justify-content:center}
.ht-svc-m-fullscreen .ht-svc-sheet{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;transform:translateY(100%)}
.ht-svc-m-fullscreen.ht-open .ht-svc-sheet{transform:none}
.ht-svc-m-fullscreen .ht-svc-handle{display:none}

/* Desktop launcher button (hidden on phones — the bottom bar is used there) */
.ht-svc-launch{position:fixed;left:22px;bottom:22px;z-index:100150;display:inline-flex;align-items:center;gap:8px;border:none;color:#fff;padding:12px 18px;border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.ht-svc-launch i{font-size:22px;line-height:1}
.ht-svc-launch:hover{filter:brightness(.94)}
@media(max-width:700px){.ht-svc-launch{display:none}}
