/* Browser color-scheme control
   Prevents browsers from applying their own automatic darkening over the SysTech theme. */
html{
  color-scheme:only light;
}

/* Theme switch */
.theme-toggle{
  margin-left:0;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #c7cdd2;
  border-radius:50%;
  background:#e4e8eb;
  color:#4f5962;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.theme-toggle:hover{
  background:#d9dee2;
  border-color:#b9c1c7;
  transform:translateY(-1px);
}

.theme-toggle:focus-visible{
  outline:2px solid #e60000;
  outline-offset:3px;
}

.theme-icon{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.theme-icon-moon{
  fill:currentColor;
  stroke:none;
}

.theme-icon-sun{
  display:none;
}

.theme-toggle-text{
  display:none;
}

html.theme-dark .theme-toggle{
  background:#d7dde2;
  border-color:#aeb8c1;
  color:#36434e;
}

html.theme-dark .theme-toggle:hover{
  background:#e4e8eb;
  border-color:#bdc6ce;
}

html.theme-dark .theme-icon-moon{
  display:none;
}

html.theme-dark .theme-icon-sun{
  display:block;
}

/* ==========================================
   SYSTECH — LIGHT / DARK THEME
   Dark-mode overrides and theme switch controls
   ========================================== */

html.theme-dark{
  color-scheme:only dark;
  background:#121416;
}

html.theme-dark body{
  background:#121416;
  color:#e8eaed;
}

html.theme-dark header{
  background:#171a1e;
  border-bottom-color:#2d3339;
  box-shadow:0 2px 12px rgba(0,0,0,.35);
}

html.theme-dark .menu a{
  color:#c7d6e5;
}

html.theme-dark .menu a:hover,
html.theme-dark .menu a.active{
  color:#ff4a4a;
}

html.theme-dark .header-phone a{
  color:#ff4a4a;
}

html.theme-dark .header-phone a:hover{
  color:#b6cbe0;
}

html.theme-dark .menu-toggle span{
  background:#c7d6e5;
}

html.theme-dark .hero{
  background:#25292e;
}

html.theme-dark .hero + .section{
  background:#121416;
}

html.theme-dark #uslugi{
  background:#181b1f;
}

html.theme-dark #realizacje{
  background:#121416;
}

html.theme-dark #opinie{
  background:#181b1f;
}

html.theme-dark .title:after{
  background:#d8dde3;
}

html.theme-dark .gallery .main{
  background:#121416;
}

html.theme-dark .rating-number{
  color:#aac1d8;
}

html.theme-dark .rating-count{
  color:#aeb4ba;
}

html.theme-dark .review{
  background:#23282e;
  box-shadow:0 2px 12px rgba(0,0,0,.35);
}

html.theme-dark .review p{
  color:#e1e5e9;
}

html.theme-dark .reviews-arrow{
  background:#2a3036;
  color:#f2f4f6;
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}

html.theme-dark .reviews-arrow:hover{
  background:#353c43;
}

html.theme-dark .contact{
  background:#101214;
}

html.theme-dark .contact-right{
  background:#23282e;
}

html.theme-dark .contact-form label,
html.theme-dark .rodo-label,
html.theme-dark .rodo-label a{
  color:#c8d7e6;
}

html.theme-dark .contact-form input,
html.theme-dark .contact-form textarea{
  background:#171b1f;
  border-color:#56697b;
  color:#f3f5f7;
}

html.theme-dark .contact-form input::placeholder,
html.theme-dark .contact-form textarea::placeholder{
  color:#89929b;
}

html.theme-dark .site-footer{
  background:#0d0f11;
}

html.theme-dark .footer-desc{
  color:#aeb4ba;
}

html.theme-dark .cookie-banner{
  background:#171a1e;
  border-top:1px solid #30363d;
}

html.theme-dark .modal-window{
  background:#20252a;
}

html.theme-dark .map iframe{
  filter:grayscale(100%) contrast(1.05) brightness(.72);
}

@media(max-width:900px){
  html.theme-dark .menu{
    background:#171a1e;
    border-bottom-color:#2d3339;
  }

  html.theme-dark .menu a{
    border-top-color:#2d3339;
  }
}

@media(max-width:900px){
  .theme-toggle{
    width:100%;
    height:auto;
    min-height:56px;
    margin:0;
    border:0;
    border-top:1px solid #3d4852;
    border-radius:0;
    background:#28323b;
    color:#f3f6f8;
    gap:10px;
    font-family:'Rubik',sans-serif;
    font-size:14px;
    font-weight:500;
  }

  .theme-toggle:hover{
    transform:none;
    background:#1f282f;
  }

  .theme-toggle-text{
    display:inline;
  }

  html.theme-dark .theme-toggle{
    background:#f4f6f8;
    border-top-color:#d5dce3;
    color:#2d4a66;
  }

  html.theme-dark .theme-toggle:hover{
    background:#ffffff;
  }
}
