/* === Base & Theme ==================================================== */


:root{ --brand-50:#ecfdf5; --brand-300:#86efac; --brand-400:#34d399; --brand-500:#10b981; --brand-600:#0ea5a6; --brand-800:#064e3b }
      .dark{ --brand-50:#052e2b; --brand-300:#34d399; --brand-400:#2dd4bf; --brand-500:#14b8a6; --brand-600:#10b981; --brand-800:#a7f3d0 }
      .brand-gradient{ background-image:linear-gradient(90deg,var(--brand-500),var(--brand-600)) }
      /* mniejsze przyciski cookies */
      #cookieBanner button{ padding:.375rem .5rem; font-size:.75rem; border-radius:.5rem }

:root{
        /* GŁÓWNY rozmiar (wpływa na większość miejsc) */
        --sygnet-size-global: 36px;

        /* Sekcje (nadpisują globalny w razie potrzeby) */
        --sygnet-size-header: var(--sygnet-size-global);
        --sygnet-size-hero:   64px;
        --sygnet-size-footer: var(--sygnet-size-global);
        --sygnet-size-timeline: var(--sygnet-size-global);
        --sygnet-size-mobilebar: var(--sygnet-size-global);
        --sygnet-size-loader: 32px;
      }
      /* Zastosowanie w sekcjach (ważniejsze niż klasy Tailwind) */
      header img.logo-mark{ width:var(--sygnet-size-header)!important; height:var(--sygnet-size-header)!important; }
      .hero-logo img.logo-mark{ width:var(--sygnet-size-hero)!important; height:var(--sygnet-size-hero)!important; }
      footer img.logo-mark{ width:var(--sygnet-size-footer)!important; height:var(--sygnet-size-footer)!important; }
      #timeline img.logo-mark{ width:var(--sygnet-size-timeline)!important; height:var(--sygnet-size-timeline)!important; }
      .mobile-cta img.logo-mark{ width:var(--sygnet-size-mobilebar)!important; height:var(--sygnet-size-mobilebar)!important; }
      #pageLoader img.logo-mark{ width:var(--sygnet-size-loader)!important; height:var(--sygnet-size-loader)!important; }


/* === Loader ==================================================== */


/* Loader */
      .ring{ border:6px solid transparent; border-top-color:var(--brand-500); border-right-color:var(--brand-600); animation:sk-spin 1s linear infinite }
      @keyframes sk-spin{ to{ transform:rotate(360deg) } }
      #pageLoader.hidden{ opacity:0; visibility:hidden }
      @media (prefers-reduced-motion: reduce){ .ring{ animation:none } }


/* === Reveal ==================================================== */


/* Delikatne animacje wejścia */
      .reveal-init [data-reveal]{ opacity:0; transform:translateY(12px) scale(.995) }
      .reveal-in{ opacity:1; transform:none; transition-property:opacity,transform; transition-duration:600ms; transition-timing-function:cubic-bezier(.2,.7,.2,1) }
      @media (prefers-reduced-motion: reduce){ .reveal-init [data-reveal]{ opacity:1; transform:none } }


/* === Hero/Logo ==================================================== */


/* Logo mark color & sizing */
      .logo-mark{ display:inline-block }
      .dark .logo-mark{ filter: invert(1) brightness(1.2); }
      .loader-badge .logo-mark{ width:2rem; height:2rem; }
      .hero-logo .logo-mark{ width:3.5rem; height:3.5rem; }

/* Powiększony sygnet tylko w nagłówku i hero (bez filtrowania kolorów) */
      header .logo-mark{ width:2.25rem; height:2.25rem; } /* ~36px */
      .hero-logo .logo-mark{ width:4rem; height:4rem; }   /* ~64px */


/* === Form/Date ==================================================== */


/* DATE INPUT: ukryj natywną ikonę, aby nie dublowała się z naszym przyciskiem */
      input[type="date"]::-webkit-calendar-picker-indicator{ opacity:0; display:none; }
      input[type="date"]::-webkit-inner-spin-button,
      input[type="date"]::-webkit-clear-button{ display:none; }
      input[type="date"]{ -webkit-appearance: none; appearance: textfield; }

/* hide-native-date-icon */
input[type="date"]::-webkit-calendar-picker-indicator{ opacity:0; display:none; }
input[type="date"]{ -webkit-appearance:none; appearance:none; }


/* === Responsive ==================================================== */


.service-card .price {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #0f172a;
  }
  @media (prefers-color-scheme: dark) {
    .service-card .price {
      color: #f8fafc;
    }
  }


/* === Misc ==================================================== */


/* Poświata aktywnego linku w nawigacji */
  .nav-active {
    box-shadow: 0 0 6px var(--brand-500);
    border-radius: 0.5rem;
    padding: 2px 6px;
    transition: box-shadow 0.3s ease;
  }

/* Kotwice przewijają się z marginesem na sticky header */
  section[id] { scroll-margin-top: 88px; }

.service-card button, .service-card a {
    font-size: 0.95rem !important;
    padding: 0.6rem 1rem !important;
    border-radius: 0.5rem !important;
  }

/* Equal height fallback */
  #uslugi .service-card{ height: 100%; }

/* modal-contained-fix */
#serviceModal [style*="height:85%"]{ height:auto !important; }
#serviceModal > div[class*="left-1/2"]{ max-height:90vh; overflow-y:auto; }

.messenger-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: linear-gradient(90deg,var(--brand-500),var(--brand-600));
    border-radius: 50%;
    width: 60px;
    height: 60px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999;
    animation: pulse 1.5s infinite;
}
.messenger-button:hover {
    transform: scale(1.1);
}
.messenger-button svg {
    width: 30px;
    height: 30px;
    fill: white;
}
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 6px 12px rgba(0,0,0,0.4);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    }
}
