/* SOVA v23 — service pages 2.0 + stronger brand accent */
:root{
  --spa-accent:#0284c7;
  --spa-accent-dark:#0369a1;
  --spa-accent-soft:#e0f2fe;
  --spa-accent-mist:#f0f9ff;
}

/* Return the signature SOVA blue as an accent without losing the calm SPA palette. */
body.sova-spa-v22 .text-sky-400,
body.sova-spa-v22 .text-sky-500,
body.sova-spa-v22 .text-sky-600,
body.sova-spa-v22 .text-sky-700{color:var(--spa-accent)!important}
body.sova-spa-v22 .text-sky-200{color:#bae6fd!important}
body.sova-spa-v22 .bg-sky-50{background-color:#f0f9ff!important}
body.sova-spa-v22 .bg-sky-100{background-color:#e0f2fe!important}
body.sova-spa-v22 .bg-sky-500,
body.sova-spa-v22 .bg-sky-600{background-color:var(--spa-accent)!important}
body.sova-spa-v22 .bg-sky-800{background-color:var(--spa-accent-dark)!important}
body.sova-spa-v22 .hover\:bg-sky-500:hover,
body.sova-spa-v22 .hover\:bg-sky-600:hover{background-color:var(--spa-accent-dark)!important}
body.sova-spa-v22 .hover\:text-sky-500:hover,
body.sova-spa-v22 .hover\:text-sky-600:hover,
body.sova-spa-v22 .hover\:text-sky-700:hover{color:var(--spa-accent-dark)!important}
body.sova-spa-v22 .border-sky-100,
body.sova-spa-v22 .border-sky-200,
body.sova-spa-v22 .border-sky-300,
body.sova-spa-v22 .border-sky-400{border-color:#bae6fd!important}
body.sova-spa-v22 .from-sky-500{--tw-gradient-from:#0284c7!important;--tw-gradient-to:rgba(2,132,199,0)!important}
body.sova-spa-v22 .to-sky-400{--tw-gradient-to:#38bdf8!important}
body.sova-spa-v22 .focus\:ring-sky-500:focus{--tw-ring-color:rgba(2,132,199,.25)!important}

/* Hero: keep SPA warmth but let the photo and blue brand breathe. */
body.sova-spa-v22 main>section:first-child:not([id]){
  background:linear-gradient(135deg,#fbfaf6 0%,#f4f8f8 46%,#eef8fc 100%)!important;
}
body.sova-spa-v22 main>section:first-child:not([id])::after{
  width:48vw;height:48vw;right:-12vw;bottom:-18vw;
  background:radial-gradient(circle,rgba(2,132,199,.18),rgba(2,132,199,0) 68%)!important;
}
body.sova-spa-v22 main>section:first-child:not([id]) .absolute.inset-0.z-0 img{opacity:.58!important;filter:saturate(.96) contrast(1.02)}
body.sova-spa-v22 main>section:first-child:not([id]) .bg-gradient-to-br{
  background-image:linear-gradient(110deg,rgba(249,248,243,.94) 2%,rgba(249,248,243,.81) 43%,rgba(234,246,251,.31) 78%,rgba(224,242,254,.16) 100%)!important
}
body.sova-spa-v22 main>section:first-child:not([id]) .sova-hero-title{color:#334155!important}
body.sova-spa-v22 main>section:first-child:not([id]) .text-sky-500,
body.sova-spa-v22 main>section:first-child:not([id]) .text-sky-600,
body.sova-spa-v22 main>section:first-child:not([id]) .text-sky-700{color:#0284c7!important}
body.sova-spa-v22 main>section:first-child:not([id]) .bg-stone-800{background:#334155!important}
body.sova-spa-v22 main>section:first-child:not([id]) .bg-white\/70{
  background:rgba(255,255,255,.71)!important;
  box-shadow:0 28px 90px rgba(15,80,112,.10)!important;
  border-color:rgba(255,255,255,.8)!important;
}
.spa-trust__icon{color:#0284c7!important;background:#f0f9ff!important}
.spa-desktop-extra:hover,.spa-mobile-menu a:hover{color:#0284c7!important}
.spa-bottom-nav .spa-bottom-nav__book{background:#0284c7!important}
.spa-bottom-nav .spa-bottom-nav__book:hover{background:#0369a1!important}

/* Service page 2.0 */
body.sova-service-v23-body .spa-service-page{background:#f7f4ef!important}
body.sova-service-v23-body .spa-service-page>div:first-child{height:min(58vh,620px)!important;min-height:390px}
body.sova-service-v23-body .spa-service-page>div:first-child img,
body.sova-service-v23-body .spa-service-page>div:first-child video{filter:saturate(.94) contrast(1.01)!important}
body.sova-service-v23-body .spa-service-page>div:first-child .bg-stone-900\/40{background:linear-gradient(90deg,rgba(27,45,55,.56),rgba(27,45,55,.20))!important}

#sova-service-v23{display:grid;gap:22px;margin:0}
.sv23-intro-note{margin-top:14px;padding:13px 15px;border-radius:15px;background:#f0f9ff;border:1px solid #d7eefb;color:#46606d;font-size:14px;line-height:1.55}
.sv23-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sv23-card{background:#fffdf9;border:1px solid rgba(84,78,70,.10);border-radius:26px;padding:26px;box-shadow:0 14px 42px rgba(63,56,49,.055)}
.sv23-card--blue{background:linear-gradient(145deg,#f7fcff,#edf8fd);border-color:#d5edf9}
.sv23-card--sage{background:linear-gradient(145deg,#fbfdfb,#edf2ee);border-color:#dfe8e2}
.sv23-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:#0284c7;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sv23-card h2,.sv23-card h3{margin:0 0 13px;color:#3e3b37;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.015em}
.sv23-card h2{font-size:26px}.sv23-card h3{font-size:21px}
.sv23-card p{margin:0;color:#69635d;line-height:1.72}
.sv23-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.sv23-list li{display:flex;align-items:flex-start;gap:10px;color:#625d57;line-height:1.55}
.sv23-list li::before{content:"";width:7px;height:7px;border-radius:50%;background:#0284c7;margin-top:.55em;flex:0 0 auto;box-shadow:0 0 0 4px rgba(2,132,199,.08)}
.sv23-steps{display:grid;gap:12px;counter-reset:sv23step;margin:0;padding:0;list-style:none}
.sv23-steps li{counter-increment:sv23step;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;color:#625d57;line-height:1.55}
.sv23-steps li::before{content:counter(sv23step);width:32px;height:32px;border-radius:11px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;font-size:12px;font-weight:800}
.sv23-care{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sv23-care .sv23-card{padding:21px}
.sv23-care .sv23-card h3{font-size:18px}
.sv23-equipment{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sv23-equipment-card{display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:center;padding:15px;background:#fff;border:1px solid rgba(84,78,70,.09);border-radius:20px}
.sv23-equipment-card img{width:116px;height:100px;object-fit:cover;border-radius:15px;background:#eef2f3}
.sv23-equipment-card h3{font:700 16px/1.25 ui-sans-serif,system-ui;margin:0 0 6px;color:#3f3c38}
.sv23-equipment-card p{font-size:13px;line-height:1.5;color:#736d67;margin:0}
.sv23-faq{display:grid;gap:8px}
.sv23-faq details{border:1px solid rgba(84,78,70,.10);border-radius:17px;background:#fff;overflow:hidden}
.sv23-faq summary{list-style:none;cursor:pointer;padding:17px 48px 17px 18px;font-weight:700;color:#4c4843;position:relative}
.sv23-faq summary::-webkit-details-marker{display:none}
.sv23-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:50%;background:#f0f9ff;color:#0284c7;display:grid;place-items:center;font-size:19px;font-weight:400}
.sv23-faq details[open] summary::after{content:"–"}
.sv23-faq p{padding:0 18px 18px;margin:0;color:#706a64;line-height:1.65}
.sv23-related-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sv23-result{background:#fff;border:1px solid rgba(84,78,70,.10);border-radius:20px;overflow:hidden}
.sv23-result-images{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#e6e2dc}
.sv23-result-images figure{margin:0;position:relative;background:#eee}
.sv23-result-images img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.sv23-result-images figcaption{position:absolute;left:9px;top:9px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.9);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#57534e}
.sv23-result-copy{padding:15px}.sv23-result-copy strong{display:block;margin-bottom:5px}.sv23-result-copy p{font-size:13px;line-height:1.5}
.sv23-review{border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(84,78,70,.10);aspect-ratio:4/5}
.sv23-review img,.sv23-review video{width:100%;height:100%;object-fit:cover;display:block}
.sv23-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:24px;background:linear-gradient(115deg,#0369a1,#0284c7);color:#fff;box-shadow:0 18px 50px rgba(2,132,199,.18)}
.sv23-cta h3{color:#fff;margin:0 0 5px;font:700 23px/1.15 Georgia,serif}.sv23-cta p{color:#e0f2fe;margin:0}
.sv23-cta button{border:0;border-radius:14px;background:#fff;color:#0369a1;padding:13px 18px;font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.sv23-cta button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.14)}

/* Make existing service-page generic blocks visually compatible. */
body.sova-service-v23-body .spa-service-page .lg\:col-span-2>.bg-white{box-shadow:0 14px 42px rgba(63,56,49,.055)!important}
body.sova-service-v23-body .spa-service-page .lg\:col-span-1 .sticky{border-color:#d5edf9!important;box-shadow:0 18px 55px rgba(2,132,199,.10)!important}
body.sova-service-v23-body .spa-service-page .lg\:col-span-1 .sticky .text-sky-600{color:#0284c7!important}

@media(max-width:900px){.sv23-grid,.sv23-equipment,.sv23-related-media{grid-template-columns:1fr}.sv23-care{grid-template-columns:1fr}.sv23-cta{align-items:flex-start;flex-direction:column}.sv23-equipment-card{grid-template-columns:92px 1fr}.sv23-equipment-card img{width:92px;height:86px}}
@media(max-width:560px){.sv23-card{padding:20px;border-radius:21px}.sv23-card h2{font-size:23px}.sv23-equipment-card{grid-template-columns:1fr}.sv23-equipment-card img{width:100%;height:180px}.sv23-cta{padding:21px}.sv23-cta button{width:100%}}

/* Blue accents in SPA components; section backgrounds stay warm/sage. */
body.sova-spa-v22 .svc-kicker,body.sova-spa-v22 .ba-kicker{background:#e0f2fe!important;color:#0369a1!important}
body.sova-spa-v22 .svc-switch button.active{color:#0369a1!important}
body.sova-spa-v22 .svc-cat-btn:hover{border-color:#7dd3fc!important;color:#0369a1!important}
body.sova-spa-v22 .svc-type,body.sova-spa-v22 .svc-price{color:#0284c7!important}
body.sova-spa-v22 .svc-badge{background:#e0f2fe!important;color:#0369a1!important}
body.sova-spa-v22 .svc-detail:hover{border-color:#7dd3fc!important;color:#0369a1!important}
body.sova-spa-v22 .svc-book{background:#e0f2fe!important;color:#0369a1!important}
body.sova-spa-v22 .svc-book:hover{background:#0284c7!important;color:#fff!important}
body.sova-spa-v22 .sova-faq__eyebrow,body.sova-spa-v22 .sova-faq__num{color:#0284c7!important}
body.sova-spa-v22 .sova-faq__cta{border-color:#bae6fd!important;background:#f0f9ff!important;color:#0369a1!important}
body.sova-spa-v22 .sova-faq__nav a:hover{border-color:#7dd3fc!important;color:#0369a1!important;background:#f0f9ff!important}
body.sova-spa-v22 .sova-faq__item[open] .sova-faq__plus{border-color:#7dd3fc!important;color:#0284c7!important}
body.sova-spa-v22 .sova-faq__btn--primary{background:#0284c7!important;color:#fff!important}
.spa-booking-card input[type="checkbox"]{accent-color:#0284c7!important}
.spa-booking-card form>button[type="submit"]{background:#0284c7!important}.spa-booking-card form>button[type="submit"]:hover{background:#0369a1!important}
body.sova-spa-v22 #sova-admin-popup .sova-popup-head{background:linear-gradient(120deg,#0369a1,#0284c7)!important}
body.sova-spa-v22 #sova-admin-popup .sova-popup-accent{color:#0284c7!important}
body.sova-spa-v22 #sova-admin-popup .sova-popup-cta{background:#e0f2fe!important;color:#0369a1!important}
body.sova-spa-v22 #sova-admin-popup .sova-popup-cta:hover{background:#bae6fd!important}
body.sova-spa-v22 a:focus-visible,body.sova-spa-v22 button:focus-visible,body.sova-spa-v22 input:focus-visible,body.sova-spa-v22 select:focus-visible,body.sova-spa-v22 textarea:focus-visible{outline-color:#0284c7!important}

/* SOVA v24 — compact hero + simplified header for 14-inch laptops */
@media (min-width:1024px){
  body.sova-spa-v22 #root header:first-of-type>div{
    padding-top:11px!important;
    padding-bottom:11px!important;
    gap:18px!important;
  }
  body.sova-spa-v22 #root header:first-of-type>div>a:first-child{
    flex:0 0 auto;
  }
  body.sova-spa-v22 #root header:first-of-type>div>a:first-child .sova-logo-mark{
    font-size:42px!important;
  }
  body.sova-spa-v22 #root header:first-of-type>div>div:nth-child(2){
    gap:18px!important;
    white-space:nowrap;
  }
  body.sova-spa-v22 #root header:first-of-type>div>div:nth-child(2)>*{
    margin-left:0!important;
    margin-right:0!important;
  }
  body.sova-spa-v22 #root header:first-of-type>div>div:last-child{
    gap:10px!important;
    margin-left:auto;
    flex:0 0 auto;
  }
  body.sova-spa-v22 #root header:first-of-type a[href^="tel:"]{
    margin-right:0!important;
    font-size:14px!important;
    letter-spacing:-.01em;
  }
  body.sova-spa-v22 #root header:first-of-type>div>div:last-child button{
    padding-left:18px!important;
    padding-right:18px!important;
    white-space:nowrap;
  }

  body.sova-spa-v22 main>section:first-child:not([id]){
    min-height:min(68vh,560px)!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id])>div.relative{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id])>div.relative>div{
    gap:34px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .sova-hero-title{
    font-size:clamp(40px,4.4vw,58px)!important;
    margin-bottom:18px!important;
    line-height:1.02!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .sova-hero-title+p{
    margin-bottom:26px!important;
    font-size:17px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .inline-block.px-4{
    margin-bottom:16px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .lg\:col-span-5>div{
    padding:22px!important;
  }
}

@media (min-width:1024px) and (max-height:820px){
  body.sova-spa-v22 main>section:first-child:not([id]){
    min-height:500px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id])>div.relative{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .sova-hero-title{
    font-size:clamp(38px,4vw,52px)!important;
  }
  body.sova-spa-v22 main>section:first-child:not([id]) .lg\:col-span-5>div{
    padding:20px!important;
  }
}

@media (min-width:1024px) and (max-width:1180px){
  body.sova-spa-v22 #root header:first-of-type>div>div:nth-child(2){gap:12px!important;font-size:12px!important}
  body.sova-spa-v22 #root header:first-of-type>div>a:first-child .sova-logo-mark{font-size:38px!important}
  body.sova-spa-v22 #root header:first-of-type a[href^="tel:"]{font-size:13px!important}
  body.sova-spa-v22 #root header:first-of-type>div>div:last-child button{padding-left:14px!important;padding-right:14px!important}
}

/* v27: booking with a preferred specialist */
body.sova-spa-v22 #team .grid>div{align-items:stretch!important}
body.sova-spa-v22 #team .grid>div>div,body.sova-spa-v22 #team .grid>div>h3,body.sova-spa-v22 #team .grid>div>span,body.sova-spa-v22 #team .grid>div>p{align-self:center}
.team-book-btn{margin-top:auto;min-width:150px;padding:11px 22px;border:0;border-radius:999px;background:#0284c7;color:#fff;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;box-shadow:0 8px 22px rgba(2,132,199,.16)}
.team-book-btn:hover{background:#0369a1;transform:translateY(-1px);box-shadow:0 10px 26px rgba(2,132,199,.22)}
.team-book-btn:focus-visible{outline:3px solid rgba(2,132,199,.25);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.team-book-btn{transition:none}.team-book-btn:hover{transform:none}}
