:root{--cs-button-color:#007bff;--cs-card-radius:8px}.cs-container{width:100%;max-width:1200px;margin:0 auto;padding:0;box-sizing:border-box}.cs-container *,.cs-container *::before,.cs-container *::after{box-sizing:border-box}.cs-search-wrap{position:relative;margin-bottom:16px;max-width:400px}.cs-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.cs-search-input{width:100%;padding:10px 14px 10px 40px;border:2px solid #e2e8f0;border-radius:50px;font-size:14px;font-family:inherit;color:#1e293b;background:#fff;outline:none;transition:border-color 0.2s ease,box-shadow 0.2s ease}.cs-search-input:focus{border-color:var(--cs-button-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--cs-button-color) 15%,transparent)}.cs-search-input::placeholder{color:#94a3b8}.cs-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;line-height:1;color:#94a3b8;cursor:pointer;padding:2px 6px;border-radius:50%;display:none;transition:color 0.2s ease}.cs-search-clear:hover{color:#475569}.cs-search-wrap.has-value .cs-search-clear{display:block}.cs-category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:0}.cs-filter-pill{display:inline-flex;align-items:center;padding:8px 18px;border:2px solid #e2e8f0;border-radius:50px;background:#fff;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;font-family:inherit;line-height:1.4}.cs-filter-pill:hover{border-color:var(--pill-color,var(--cs-button-color));color:var(--pill-color,var(--cs-button-color));background:color-mix(in srgb,var(--pill-color,var(--cs-button-color)) 8%,transparent)}.cs-filter-pill.active{background:var(--pill-color,var(--cs-button-color));border-color:var(--pill-color,var(--cs-button-color));color:#fff}.cs-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.cs-cols-2>.cs-card{flex:0 1 calc(50% - 12px);max-width:calc(50% - 12px)}.cs-cols-3>.cs-card{flex:0 1 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}.cs-cols-4>.cs-card{flex:0 1 calc(25% - 18px);max-width:calc(25% - 18px)}.cs-layout-list{flex-direction:column!important}.cs-layout-list>.cs-card{flex:0 1 100%!important;max-width:100%!important}.cs-layout-list .cs-card{flex-direction:row}.cs-layout-list .cs-card-body{flex:1;min-width:0}.cs-layout-list .cs-card-image{width:200px;min-height:160px;flex-shrink:0;border-radius:var(--cs-card-radius) 0 0 var(--cs-card-radius)}.cs-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--cs-card-radius);box-shadow:0 1px 3px rgb(0 0 0 / .08),0 1px 2px rgb(0 0 0 / .06);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease}.cs-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgb(0 0 0 / .1)}.cs-card.cs-hidden{display:none}.cs-card-image{width:100%;height:180px;overflow:hidden;position:relative}.cs-card-image img{width:100%;height:100%;object-fit:cover}.cs-card-image-placeholder{display:flex;align-items:center;justify-content:center}.cs-service-icon{width:48px;height:48px;object-fit:contain}.cs-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.cs-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.cs-category-badge{display:inline-block;padding:3px 10px;border-radius:50px;font-size:12px;font-weight:600;width:fit-content}.cs-nhs-badge{display:inline-block;padding:3px 10px;border-radius:50px;font-size:11px;font-weight:700;background:#005eb8;color:#fff;letter-spacing:.5px}.cs-card-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px;line-height:1.3}.cs-service-code{display:block;font-size:10px!important;font-weight:100!important;color:#e2e8f0!important;margin-bottom:8px;letter-spacing:.5px;opacity:0.35!important}.cs-card-description{font-size:14px;color:#64748b;line-height:1.5;margin-bottom:14px;flex:1}.cs-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;font-size:13px;color:#64748b}.cs-price{font-weight:700;font-size:16px;color:#1e293b}.cs-price.cs-price-free{color:#1e293b!important;background:none!important;padding:0!important;border-radius:0!important;font-size:11px!important;font-weight:200!important;letter-spacing:.5px;opacity:.7;display:inline-flex!important;align-items:center;gap:4px}.cs-icon-phone{flex-shrink:0;opacity:.6}.cs-duration{display:inline-flex;align-items:center;gap:4px}.cs-icon{vertical-align:middle}.cs-delivery{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f1f5f9;border-radius:4px;font-size:12px}.cs-book-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:var(--cs-button-color);color:#fff!important;border:none;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none!important;cursor:pointer;transition:opacity 0.2s ease,transform 0.1s ease;text-align:center;margin-top:auto}.cs-book-btn:hover{opacity:.9;transform:translateY(-1px);color:#fff!important;text-decoration:none!important}.cs-book-btn:active{transform:translateY(0)}.cs-no-services{text-align:center;padding:40px 20px;color:#64748b}@media (max-width:1024px){.cs-cols-4>.cs-card{flex:0 1 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}}@media (max-width:768px){.cs-cols-3>.cs-card,.cs-cols-4>.cs-card{flex:0 1 calc(50% - 12px);max-width:calc(50% - 12px)}.cs-layout-list .cs-card{flex-direction:column}.cs-layout-list .cs-card-image{width:100%;border-radius:var(--cs-card-radius) var(--cs-card-radius) 0 0}.cs-category-filter{gap:6px}.cs-filter-pill{padding:6px 14px;font-size:13px}}@media (max-width:480px){.cs-search-wrap{max-width:100%}.cs-cols-2>.cs-card,.cs-cols-3>.cs-card,.cs-cols-4>.cs-card{flex:0 1 100%;max-width:100%}.cs-card-image{height:160px}}@media (prefers-color-scheme:dark){.cs-container{color:#e2e8f0}.cs-card{background:#1e293b;box-shadow:0 1px 3px rgb(0 0 0 / .3)}.cs-card:hover{box-shadow:0 10px 25px rgb(0 0 0 / .4)}.cs-card-image-placeholder{opacity:.8}.cs-card-title{color:#f1f5f9}.cs-card-title a{color:#f1f5f9!important}.cs-service-code{color:#64748b!important;opacity:0.5!important}.cs-card-description{color:#94a3b8}.cs-card-meta{color:#94a3b8}.cs-price{color:#f1f5f9}.cs-price.cs-price-free{color:#94a3b8!important}.cs-duration{color:#94a3b8}.cs-delivery{background:#334155;color:#94a3b8}.cs-category-badge{opacity:.9}.cs-nhs-badge{background:#003087;opacity:.9}.cs-search-input{background:#1e293b;border-color:#334155;color:#e2e8f0}.cs-search-input::placeholder{color:#64748b}.cs-search-input:focus{border-color:var(--cs-button-color)}.cs-search-clear{color:#64748b}.cs-search-clear:hover{color:#e2e8f0}.cs-filter-pill{background:#1e293b;border-color:#334155;color:#94a3b8}.cs-filter-pill:hover{background:#334155;border-color:var(--pill-color,var(--cs-button-color));color:#e2e8f0}.cs-filter-pill.active{color:#fff}.cs-book-btn{opacity:.95}.cs-book-btn:hover{opacity:1}.cs-no-services{color:#94a3b8}}.cs-card{animation:cs-fadeIn 0.3s ease}@keyframes cs-fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qweb-form{max-width:640px!important;margin:0 auto!important;font-family:inherit!important}.qweb-form .qweb-form__inner{display:flex!important;flex-direction:column!important;gap:14px!important}.qweb-form .qweb-form__field{display:flex!important;flex-direction:column!important;gap:5px!important}.qweb-form .qweb-form__field label{font-weight:600!important;font-size:13px!important;color:#374151!important;display:flex!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;line-height:1.4!important}.qweb-form .qweb-form__field input[type="text"],.qweb-form .qweb-form__field input[type="email"],.qweb-form .qweb-form__field input[type="url"],.qweb-form .qweb-form__field input[type="tel"],.qweb-form .qweb-form__field input[type="date"],.qweb-form .qweb-form__field select,.qweb-form .qweb-form__field textarea{width:100%!important;padding:11px 14px!important;border:1.5px solid #D1D5DB!important;border-radius:8px!important;font-size:14px!important;color:#111827!important;background:#fff!important;transition:border-color 0.2s ease,box-shadow 0.2s ease,background 0.2s ease!important;box-sizing:border-box!important;font-family:inherit!important;-webkit-appearance:none!important}.qweb-form .qweb-form__field input:focus,.qweb-form .qweb-form__field select:focus,.qweb-form .qweb-form__field textarea:focus{outline:none!important;border-color:#2D8C6F!important;box-shadow:0 0 0 3px rgb(45 140 111 / .12)!important}.qweb-form .qweb-form__field input.qweb-error,.qweb-form .qweb-form__field select.qweb-error,.qweb-form .qweb-form__field textarea.qweb-error,.qweb-form .qweb-form__phone-wrap.qweb-error{border-color:#DC2626!important;background:#FFF5F5!important;box-shadow:0 0 0 3px rgb(220 38 38 / .08)!important}.qweb-form .qweb-form__field textarea{resize:vertical!important;min-height:100px!important}.qweb-form .qweb-form__field input.qweb-required,.qweb-form .qweb-form__field select.qweb-required,.qweb-form .qweb-form__field textarea.qweb-required{border-left:3px solid #ED1C24!important}.qweb-form .qweb-form__phone-wrap{display:flex!important;align-items:center!important;border:1.5px solid #D1D5DB!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important;transition:border-color 0.2s ease,box-shadow 0.2s ease!important}.qweb-form .qweb-form__phone-wrap:focus-within{border-color:#2D8C6F!important;box-shadow:0 0 0 3px rgb(45 140 111 / .12)!important}.qweb-form .qweb-form__phone-prefix{padding:11px 8px 11px 14px!important;background:transparent!important;border-right:none!important;font-size:14px!important;font-weight:700!important;color:#374151!important;white-space:nowrap!important}.qweb-form .qweb-form__phone-wrap input[type="tel"]{border:none!important;box-shadow:none!important;flex:1!important;border-radius:0!important;padding-left:4px!important}.qweb-form .qweb-form__phone-wrap input[type="tel"]:focus{outline:none!important;border:none!important;box-shadow:none!important}.qweb-form .qweb-form__fieldset{border:1.5px solid #BFDBFE!important;border-radius:8px!important;padding:16px 20px 20px!important;background:#EFF6FF!important}.qweb-form .qweb-form__fieldset legend{font-weight:700!important;font-size:14px!important;color:#1D4ED8!important;padding:0 6px!important}.qweb-form .qweb-form__fieldset .qweb-form__field label{color:#1E40AF!important}.qweb-form .qweb-form__hint{font-size:12px!important;color:#6B7280!important;margin:2px 0 0!important}.qweb-form .qweb-form__btn{display:block!important;width:100%!important;background:var(--qweb-btn-bg,#ED1C24)!important;color:#ffffff!important;border:none!important;border-radius:8px!important;padding:14px 28px!important;font-size:16px!important;font-weight:700!important;cursor:pointer!important;transition:filter 0.15s ease,transform 0.1s ease,box-shadow 0.15s ease!important;text-align:center!important;letter-spacing:0.02em!important;line-height:1.4!important;box-sizing:border-box!important;font-family:inherit!important;box-shadow:0 2px 8px rgb(237 28 36 / .25)!important;text-decoration:none!important;-webkit-appearance:none!important;appearance:none!important}.qweb-form .qweb-form__btn:hover{filter:brightness(.9)!important;box-shadow:0 4px 14px rgb(237 28 36 / .35)!important;transform:translateY(-1px)!important}.qweb-form .qweb-form__btn:active{transform:scale(.98) translateY(0)!important;box-shadow:0 1px 4px rgb(237 28 36 / .2)!important}.qweb-form .qweb-form__btn:disabled{background:#9CA3AF!important;box-shadow:none!important;filter:none!important;cursor:not-allowed!important;transform:none!important}.qweb-form .qweb-form__cancel-btn{display:block!important;width:100%!important;padding:12px 24px!important;background:transparent!important;color:#6B7280!important;border:1.5px solid #D1D5DB!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease!important;text-align:center!important;font-family:inherit!important;box-sizing:border-box!important;text-decoration:none!important;-webkit-appearance:none!important;appearance:none!important}.qweb-form .qweb-form__cancel-btn:hover{background:#F3F4F6!important;color:#374151!important;border-color:#9CA3AF!important}.qweb-form .qweb-form__spinner{display:none!important;width:22px!important;height:22px!important;border:2.5px solid #E5E7EB!important;border-top-color:#ED1C24!important;border-radius:50%!important;animation:qweb-spin 0.7s linear infinite!important;margin:0 auto!important}.qweb-form .qweb-form__spinner.is-visible{display:inline-block!important}@keyframes qweb-spin{to{transform:rotate(360deg)}}.qweb-form .qweb-form__messages{font-size:14px!important;padding:0!important;border-radius:8px!important;display:none!important;margin-top:4px!important;text-align:left!important;line-height:1.5!important}.qweb-form .qweb-form__messages.is-success{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 16px!important;background:#ECFDF5!important;border:1.5px solid #6EE7B7!important;color:#065F46!important;font-weight:600!important;box-shadow:0 2px 8px rgb(16 185 129 / .1)!important}.qweb-form .qweb-form__messages.is-success::before{content:'\2713'!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#065F46!important;color:#fff!important;font-size:12px!important;font-weight:700!important;flex-shrink:0!important}.qweb-form .qweb-form__messages.is-error{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 16px!important;background:#FEF2F2!important;border:1.5px solid #FCA5A5!important;color:#991B1B!important;font-weight:600!important;box-shadow:0 2px 8px rgb(220 38 38 / .08)!important;animation:qweb-shake 0.4s ease!important}.qweb-form .qweb-form__messages.is-error::before{content:'!'!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;min-width:22px!important;border-radius:50%!important;background:#DC2626!important;color:#fff!important;font-size:14px!important;font-weight:800!important;flex-shrink:0!important}@keyframes qweb-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@keyframes qweb-tick-in{0%{transform:translateY(-50%) scale(0);opacity:0}60%{transform:translateY(-50%) scale(1.2)}100%{transform:translateY(-50%) scale(1);opacity:1}}