/* =========================================================
   ZWIERZAK 5.13.18.15 — tryb ciemny
   - trybem wyjściowym jest zawsze jasny;
   - ręczny wybór jest zapamiętywany lokalnie;
   - nie zmienia geometrii atlasu ani układu responsywnego.
   ========================================================= */

.theme-switch{
  display:inline-flex;
  min-width:82px;
  height:44px;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 12px;
  border:1px solid #b8cec0;
  border-radius:10px;
  background:#fff;
  color:#087a3c;
  font:800 12px/1.25 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  cursor:pointer;
}
.theme-switch:hover{border-color:#087a3c;background:#eef8f2}
.theme-switch__icon{font-size:19px;line-height:1}
.footer-design-credit{margin-left:10px;color:#087a3c!important;font-weight:800;text-decoration:none}
.footer-design-credit:hover{text-decoration:underline;text-underline-offset:3px}

html[data-theme="dark"]:not(.is-high-contrast){
  --green:#34d17b;
  --green2:#19aa60;
  --mint:#14251d;
  --mint2:#101b16;
  --ink:#f2f7f4;
  --text:#b6c5bd;
  --line:#2b4035;
  --shadow:0 18px 55px rgba(0,0,0,.32);
  --zw-green:#34d17b;
  --zw-ink:#f2f7f4;
  --zw-text:#b6c5bd;
  --zw-line:#2b4035;
  color-scheme:dark;
}

html[data-theme="dark"]:not(.is-high-contrast) body{
  background:#0c1511;
  color:#f2f7f4;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .site-header,.topbar,.site-footer,.site-nav,.site-nav .sub-menu,
  .hero-card,.service-ribbon,.service-tile,.diagnostic-card,.diagnostic-copy,
  .team-block,.team-card,.review-card,.phone-banner,.page-content,
  .a11y-tools__panel,.a11y-tools__sizes button,
  .services-round3-card,.service-detail-round3 .info-card,.service-detail-round3 .content-note,
  .about-v520-feature,.about-v520-card,.doctor-profile,.team-group,
  .clinic-gallery-card,.clinic-gallery-cta,.contact-card,.contact-form,
  .first-visit-card,.legal-card,.zw-page-editor-content
){
  border-color:#2b4035;
  background-color:#101b16;
  color:#f2f7f4;
  box-shadow:none;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  h1,h2,h3,h4,h5,h6,.team-card__name,.page-hero h1,.rating strong,.phone-banner h2,
  .visit-timeline b,.diagnostic-copy h2,.service-tile b,.site-nav a
){color:#f2f7f4!important}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  p,small,cite,li,.review-count,.footer-bottom,.team-card__subtitle,
  .visit-timeline small,.visit-timeline em,.doctor-profile__lead
){color:#b6c5bd!important}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .page-hero,.diagnostic-visual,.visit-timeline,.visit-duration,
  .services-round3-hero,.services-round3-intro,.services-round3-path,.services-round3-cta,
  .service-detail-round3 .content-section--intro,.service-detail-round3 .content-cta,
  .first-visit-hero,.clinic-gallery-hero,.about-v520-hero
){
  border-color:#2b4035;
  background:#0f1d17!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(input,textarea,select){
  border-color:#3a5346!important;
  background:#0b1510!important;
  color:#f2f7f4!important;
}
html[data-theme="dark"]:not(.is-high-contrast) :where(input,textarea)::placeholder{color:#82948a}

html[data-theme="dark"]:not(.is-high-contrast) .btn-secondary{
  border-color:#3a5346;
  background:#15251d;
  color:#f2f7f4;
}
html[data-theme="dark"]:not(.is-high-contrast) .a11y-tools__toggle{
  border-color:#3a5346;
  background:#101b16;
  color:#55dc91;
}
html[data-theme="dark"]:not(.is-high-contrast) .theme-switch{
  border-color:#34d17b;
  background:#15271e;
  color:#70e6a4;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(.brand__logo,.footer-logo img){
  filter:invert(1) brightness(1.35) contrast(.9);
}

/* HOME i atlas — obrazy zwierząt i hotspoty pozostają bez filtrów. */
html[data-theme="dark"]:not(.is-high-contrast) .home-main{background:#0c1511}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home :where(
  .service-ribbon,.service-tile,.diagnostic-card,.diagnostic-copy,
  .visit-timeline,.visit-duration,.phone-banner,.phone-banner>a
){
  border-color:#2b4035!important;
  background:#101b16!important;
  color:#f2f7f4!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home :where(.hero-card,.hero-copy){
  border-color:#2b4035!important;
  background:#101b16!important;
  color:#f2f7f4!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .hero-copy :where(h1,p,b,small,span:not(.hero-hours):not(.hero-hours *)){
  color:#eef7f1!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .hero-facts :where(a,span,b,small){color:#d7e5de!important}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline .is-active{
  background:#173526!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 .mini-label,
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 :where(b,small,em),
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-duration__copy :where(strong,p,small){
  color:#dceae3!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 li.is-active{
  border-color:#2f6448!important;
  background:#173526!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 li.is-active :where(b,small,em){
  color:#f2f7f4!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline li>span{
  border-color:#3b5d4b;
  background:#13231b;
  color:#d7e6de;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .phone-banner>div:nth-child(2)::after{
  color:#f2f7f4!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .diagnostic-card--pseudo-atlas{
  border-color:#2b4035;
  background:#101b16;
}
html[data-theme="dark"]:not(.is-high-contrast) :where(
  .zw-atlas--home,.zw-atlas--home .zw-atlas__media,.zw-atlas--home .zw-atlas__tabs,
  .zw-atlas--home .zw-atlas__tab,.zw-atlas--home .zw-atlas__species-tab
){
  border-color:#2f493b!important;
  background-color:#101b16!important;
  color:#eef7f1!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .zw-atlas--home .zw-atlas__tab.is-active,
html[data-theme="dark"]:not(.is-high-contrast) .zw-atlas--home .zw-atlas__species-tab.is-active{
  border-color:#34d17b!important;
  background:#173526!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .zw-atlas--home :where(.zw-atlas__tab-copy b,.zw-atlas__tab-copy small){color:#eaf4ee!important}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas--home .zw-atlas__tabs,
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas--home .zw-atlas__tab,
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas--home .zw-atlas__species-tab{
  border-color:#2f493b!important;
  background:#101b16!important;
  color:#eef7f1!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas--home .zw-atlas__tab.is-active,
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas--home .zw-atlas__species-tab.is-active{
  border-color:#34d17b!important;
  background:#173526!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .zw-atlas__detail-card{
  border-color:#315540;
  background:rgba(13,27,20,.97);
  color:#f2f7f4;
}

/* Strona diagnostyki — zachowuje ciemny charakter planszy, ujednolica otoczenie. */
html[data-theme="dark"]:not(.is-high-contrast) :where(
  .diagnostics-page,.diagnostics-intro,.diagnostic-methods__grid article,
  .diagnostics-preparation,.diagnostics-cta,.zw-atlas__sheet,.zw-atlas__detail-media
){
  border-color:#2b4035!important;
  background-color:#101b16!important;
  color:#f2f7f4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .footer-map{
  border-color:#2b4035;
  background:#101b16;
}
html[data-theme="dark"]:not(.is-high-contrast) .footer-bottom{border-color:#2b4035}

/* 5.13.18.12 — końcowe pokrycie jasnych powierzchni komponentów. */
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home :where(
  .hero-hours,.zw-home-slider__arrow,.zw-home-slider__dots,
  .visit-timeline--v51314 li,.visit-timeline--v51314 li.is-featured,
  .a11y-tools__contrast,.a11y-tools__sizes button
){
  border-color:#355044!important;
  background-color:#13231b!important;
  color:#eef7f1!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .hero-hours :where(span,strong){color:#eef7f1!important}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .zw-atlas__stage{
  background:radial-gradient(circle at 54% 50%,#173025 0,#0f2119 66%,#0b1812 100%)!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 li.is-active,
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home .visit-timeline--v51314 li.is-featured{
  border-color:#3b7655!important;
  background:#1b3b2a!important;
}
html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510.home :where(.btn-secondary,.hero-vetineo){
  border-color:#3b5d4b!important;
  background:#15271e!important;
  color:#f2f7f4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .contact-page,.contact-hero,.contact-info-card,.contact-form-card,
  .team-page,.team-hero,.team-member-card,.doctor-profile__body,
  .about-page,.about-section,.about-card,.about-v520-panel,
  .clinic-gallery-page,.clinic-gallery-filters,.clinic-gallery-card figcaption,
  .first-visit-page,.first-visit-panel,.first-visit-step,
  .services-round3-page,.services-round3-group,.service-detail-round3,
  .zw-legal-doc,.zw-legal-doc__notice,.zw-legal-doc__urgent
){
  border-color:#2b4035!important;
  background-color:#101b16!important;
  color:#f2f7f4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .services-round3-page :where(
  .services-round3-hero__help,.services-round3-jump,article,li,i
),
html[data-theme="dark"]:not(.is-high-contrast) .diagnostics-page :where(
  article,.diagnostics-master-preparation,.diagnostics-master-preparation li,.zw-atlas__detail-close
),
html[data-theme="dark"]:not(.is-high-contrast) .team-directory-page :where(
  .about-intro-card,.about-intro-card__icon,.staff-group,article,.doctor-profile__leader
),
html[data-theme="dark"]:not(.is-high-contrast) .first-visit-page :where(
  .first-visit-hero__mark,.first-visit-hero__paw,.first-visit-hero__stethoscope,
  .first-visit-section-heading__mark,.first-visit-step,.first-visit-questions,
  .first-visit-card-icon,.first-visit-phone
),
html[data-theme="dark"]:not(.is-high-contrast) .about-clinic-page :where(
  .about-v520-hero__media,.about-v520-intro,.about-v520-intro__icon,
  .about-v520-value,.about-v520-value__icon,.about-v520-scope__media,article,li,figure
),
html[data-theme="dark"]:not(.is-high-contrast) .clinic-gallery-page :where(aside,button),
html[data-theme="dark"]:not(.is-high-contrast) :where(.contact-form-card,.hours-card,.contact-map){
  border-color:#2b4035!important;
  background-color:#101b16!important;
  color:#f2f7f4!important;
  box-shadow:none!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-page,.diagnostics-page,.team-directory-page,.first-visit-page,
  .about-clinic-page,.clinic-gallery-page,.contact-page
) :where(h1,h2,h3,h4,p,small,li,strong,span){
  color:inherit;
}

/* 5.13.18.13 — pełne pokrycie komponentów wskazanych w audycie produkcji. */
html[data-theme="dark"]:not(.is-high-contrast) :where(
  .about-clinic-page,.about-clinic-page--v520,
  .team-directory-page .about-hero,
  .service-detail-round3__hero,
  .diagnostics-master-hero,
  .first-visit-hero,
  .first-visit-content,
  .about-v520-scope,.about-v520-cta
){
  border-color:#2b4035!important;
  background:#0f1d17!important;
  color:#f2f7f4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .service-detail-round3 .content-list-card,
  .service-detail-round3 .content-list-card .check-list li,
  .service-related-team,
  .service-related-team__grid article,
  .first-visit-questions,
  .first-visit-urgent,
  .contact-cards>a,
  .doctor-profile__services a
){
  border-color:#355044!important;
  background:#13231b!important;
  color:#f2f7f4!important;
  box-shadow:none!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .first-visit-hero__mark,
  .first-visit-hero__paw,
  .first-visit-hero__stethoscope,
  .first-visit-card-icon,
  .first-visit-section-heading__mark,
  .contact-cards>a>span,
  .service-detail-round3 .content-note>span,
  .about-v520-value__icon,
  .about-v520-intro__icon,
  .about-intro-card__icon
){
  border-color:#355044!important;
  background:#173526!important;
  color:#70e6a4!important;
  box-shadow:none!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .team-directory-page .about-hero h1,
  .team-directory-page .about-hero p,
  .team-directory-page .about-hero .breadcrumbs,
  .team-directory-page .about-hero .breadcrumbs a,
  .service-detail-round3__hero h1,
  .service-detail-round3__hero p,
  .service-detail-round3__hero a,
  .about-v520-scope h2,.about-v520-scope p,
  .about-v520-cta h2,.about-v520-cta p
){color:#eef7f1!important}

html[data-theme="dark"]:not(.is-high-contrast) .breadcrumbs,
html[data-theme="dark"]:not(.is-high-contrast) .breadcrumbs :where(a,span){
  color:#b9cbc1!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .services-round3-jump a{
  color:#dceae3!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .services-round3-jump a:hover,
html[data-theme="dark"]:not(.is-high-contrast) .services-round3-jump a:focus-visible{
  background:#1b3b2a!important;
  color:#70e6a4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .doctor-profile details{
  border-color:#355044!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .doctor-profile summary{
  color:#e2eee8!important;
}
html[data-theme="dark"]:not(.is-high-contrast) .doctor-profile__services>strong,
html[data-theme="dark"]:not(.is-high-contrast) .doctor-profile__services a{
  color:#70e6a4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .service-detail-round3 .content-list-card h2,
  .service-detail-round3 .content-list-card li,
  .service-related-team h2,.service-related-team h3,
  .service-related-team p,.service-related-team small,
  .first-visit-questions h2,.first-visit-questions li,
  .first-visit-urgent h2,.first-visit-urgent p,
  .contact-cards>a,.contact-cards small,.contact-cards strong,
  .contact-form label,.contact-form label span,.contact-form__required
){color:#d7e5de!important}

html[data-theme="dark"]:not(.is-high-contrast) .contact-cards em,
html[data-theme="dark"]:not(.is-high-contrast) .contact-form__consent a,
html[data-theme="dark"]:not(.is-high-contrast) .service-related-team__link,
html[data-theme="dark"]:not(.is-high-contrast) .first-visit-phone{
  color:#70e6a4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .first-visit-phone{
  border-color:#355f49!important;
  background:#13231b!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .diagnostics-master-methods article>span,
html[data-theme="dark"]:not(.is-high-contrast) .about-v520-path li>span{
  border-color:#3b7655!important;
  background:#173f2b!important;
  color:#9af0bd!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .diagnostics-master-methods article:after{
  background:#183126!important;
}

html[data-theme="dark"]:not(.is-high-contrast) .visit-timeline .visit-step-badge{
  border-color:#3b7655!important;
  background:#087a3c!important;
  color:#fff!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-cta .btn:not(.btn-secondary),
  .service-detail-round3 .content-cta .btn:not(.btn-secondary),
  .about-v520-cta .btn-primary
){
  border-color:#087a3c!important;
  background:#087a3c!important;
  color:#fff!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .legal-page-content a,.zw-legal-doc a,.zw-sitemap a,
  .footer-design-credit
){color:#70e6a4!important}

/*
 * 5.13.18.14 — twarda warstwa końcowa dla wszystkich powierzchni kart.
 * Używa !important celowo: pliki poszczególnych podstron zawierają późniejsze
 * skróty `background`, które w części pamięci podręcznych przywracały biel.
 */
html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-hero__help,
  .services-round3-jump,
  .services-round3-intro,
  .services-round3-card,
  .services-round3-path,
  .services-round3-path li,
  .services-round3-team article,
  .services-round3-cta,
  .service-detail-round3 .content-section--intro,
  .service-detail-round3 .info-card,
  .service-detail-round3 .content-list-card,
  .service-detail-round3 .check-list li,
  .service-detail-round3 .content-note,
  .service-detail-round3 .content-cta,
  .service-related-team,
  .service-related-team__grid article,
  .team-directory-page .about-hero,
  .team-directory-page .about-intro-card,
  .team-directory-page .doctor-profile,
  .team-directory-page .doctor-profile__body,
  .team-directory-page .doctor-profile__services a,
  .team-directory-page .staff-group,
  .team-directory-page .staff-grid article,
  .team-directory-page .about-booking-card,
  .diagnostics-master-hero,
  .diagnostics-master-benefits,
  .diagnostics-master-methods article,
  .diagnostics-master-preparation,
  .diagnostics-master-preparation li,
  .diagnostics-master-cta,
  .first-visit-hero,
  .first-visit-step,
  .first-visit-questions,
  .first-visit-urgent,
  .first-visit-phone,
  .about-v520-hero,
  .about-v520-intro,
  .about-v520-value,
  .about-v520-scope,
  .about-v520-scope__list article,
  .about-v520-path li,
  .about-v520-feature,
  .about-v520-cta,
  .clinic-gallery-hero aside,
  .clinic-gallery-card,
  .clinic-gallery-card figcaption,
  .contact-cards>a,
  .contact-form-card,
  .hours-card,
  .contact-map,
  .legal-page-content,
  .zw-legal-doc,
  .zw-sitemap__section
){
  border-color:#2f493b!important;
  background:#101b16!important;
  background-color:#101b16!important;
  color:#f2f7f4!important;
  box-shadow:none!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-page,
  .service-detail-round3,
  .diagnostics-page--master-46,
  .team-directory-page,
  .first-visit-content,
  .about-clinic-page--v520,
  .clinic-gallery-page,
  .contact-page,
  .legal-page-content
){
  background-color:#0c1511!important;
  color:#f2f7f4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-page,
  .service-detail-round3,
  .diagnostics-page--master-46,
  .team-directory-page,
  .first-visit-content,
  .about-clinic-page--v520,
  .contact-page
) :where(h1,h2,h3,h4,strong){color:#f2f7f4!important}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-page,
  .service-detail-round3,
  .diagnostics-page--master-46,
  .team-directory-page,
  .first-visit-content,
  .about-clinic-page--v520,
  .contact-page
) :where(p,li,small,label){color:#b9cbc1!important}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-card>i,
  .service-detail-round3 .info-card>span,
  .service-detail-round3 .content-note>span,
  .diagnostics-master-methods article>span,
  .first-visit-step__icon,
  .first-visit-card-icon,
  .about-v520-value__icon,
  .about-v520-scope__list article>span,
  .contact-cards>a>span
){
  border-color:#355f49!important;
  background:#173526!important;
  color:#70e6a4!important;
}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-card>a,
  .services-round3-team__link,
  .service-related-team__link,
  .doctor-profile__services a,
  .contact-cards em,
  .zw-sitemap a
){color:#70e6a4!important}

html[data-theme="dark"]:not(.is-high-contrast) :where(
  .services-round3-cta .btn:not(.btn-secondary),
  .service-detail-round3 .content-cta .btn:not(.btn-secondary),
  .diagnostics-master-cta .btn,
  .about-booking-card .btn:not(.btn-secondary),
  .about-v520-cta .btn-primary
){
  border-color:#20bd68!important;
  background:#19aa60!important;
  color:#fff!important;
}

@media(max-width:860px){
  .theme-switch{
    min-width:44px;
    width:44px;
    padding:0;
    order:3;
  }
  .theme-switch__label{display:none}
  .a11y-tools{order:4!important}
  .nav-toggle{order:5!important}
  .site-nav{order:6!important}
  html[data-theme="dark"]:not(.is-high-contrast) body.zw-v510 .site-header{
    border-color:#2b4035!important;
    background:#101b16!important;
  }
  html[data-theme="dark"]:not(.is-high-contrast) .site-nav{
    border-color:#2b4035;
    background:#101b16;
  }
  html[data-theme="dark"]:not(.is-high-contrast) .nav-toggle{
    border-color:#3a5346;
    background:#101b16;
  }
  html[data-theme="dark"]:not(.is-high-contrast) .nav-toggle span{background:#f2f7f4}
}

@media(min-width:861px) and (max-width:1500px){
  .header-row{gap:14px!important}
  .brand{width:155px!important;flex-basis:155px!important}
  .site-nav__list,.site-nav .menu{gap:17px!important}
  .theme-switch{min-width:44px;width:44px;padding:0}
  .theme-switch__label{display:none}
}

@media(prefers-reduced-motion:reduce){
  html[data-theme="dark"] *{transition:none!important}
}
