/* =============================================
   Kancelaria Notarialna — Custom Styles
   ============================================= */

/* Orzeł — gold tint */
.orzel-gold {
    filter: sepia(1) saturate(3) hue-rotate(15deg) brightness(0.85);
    opacity: 0.85;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Tagline cursive styling */
.tagline {
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* Navbar shadow on scroll */
.navbar-scrolled {
    box-shadow: 0 1px 20px rgba(26, 35, 50, 0.08);
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
}

/* Active nav link */
.nav-link.active {
    color: #c9a84c;
    position: relative;
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #c9a84c;
}

/* Mobile nav link active */
.mobile-nav-link.active {
    color: #c9a84c;
    padding-left: 0.75rem;
    border-left: 2px solid #c9a84c;
}

/* Hamburger animation */
#menu-toggle .hamburger-line {
    transform-origin: center;
}

#menu-toggle.open .hamburger-line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

#menu-toggle.open .hamburger-line:nth-child(2) {
    opacity: 0;
}

#menu-toggle.open .hamburger-line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* Service card hover lift */
.service-card:hover {
    transform: translateY(-4px);
}

/* =============================================
   Scroll Animations (Fade In)
   ============================================= */

.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-right.visible {
    opacity: 1;
    transform: translateX(0);
}

/* =============================================
   Responsive fine-tuning
   ============================================= */

@media (max-width: 640px) {
    #home {
        min-height: 100svh;
    }
}

/* Selection color */
::selection {
    background-color: rgba(201, 168, 76, 0.2);
    color: #1a2332;
}

/* Smooth focus for accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #c9a84c;
    outline-offset: 2px;
}

/* Google Maps iframe responsive */
iframe {
    width: 100%;
    height: 100%;
    min-height: 300px;
}
