/* Typografia */

.h1 {
  font-family: 'Roboto', sans-serif;
  font-size: 48px !important;
  font-weight: 200 !important;
}
.h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 30px !important;
  font-weight: 300;
}
.h3 {
  font-family: 'Roboto', sans-serif;
  font-size: 22px !important;
}
/* Podstawowe */
.logo { font-weight: 500 !important;}
.text-warning {  color: #ede861 !important;}
.text-muted { color: #bcbcbc !important;}
.text-success { color: #59ab6e !important;}
.text-light { color: #cfd6e1 !important;}
.bg-dark { background-color: #212934 !important;}
.bg-light { background-color: #e9eef5 !important;}
.bg-black { background-color: #1d242d !important;}
.bg-success { background-color: #59ab6e !important;}
.btn-success {
  background-color: #59ab6e !important;
  border-color: #56ae6c !important;
}
.pagination .page-link:hover {color: #000;}
.pagination .page-link:hover, .pagination .page-link.active {
  background-color: #99FF00;
  color: #99FF00;
}
/* Nawigacja */
#nav_top { background-color: #000000 !important;}
#nav_top { min-height: 40px;}
#nav_top * { font-size: .11em !important;}
#main_nav a { font-size: 26px !important;}
#main_nav a { font-weight: 500 !important;}
#main_nav a { color: #E6E7E8;}
#main_nav a:hover { color: #99FF00;}
#main_nav .navbar .nav-icon { margin-right: 10px;}
#main_nav { background-color: #000000 !important;}

.navbar {
    background: transparent !important;
    box-shadow: none !important;
}

.nav-link .nav-inner {
    position: relative;
    z-index: 2;
}

.nav-link .nav-inner::before {
    z-index: 1;
}

/* aktywny link */
.nav-link.active {
    position: relative;
    color: #99FF00 !important;
    font-weight: 600;
    text-shadow: 0 0 8px #99FF00;
    overflow: hidden; /* ważne dla animacji */
}

/* neonowy pasek wjeżdżający z lewej */
.nav-link.active::before {
    content: "";
    position: absolute;
    left: -100%;
    width: 100%;
    height: 80%;          /* niższy prostokąt */
    top: 15%;             /* centrowanie w pionie */
    background: rgba(153, 255, 0, 0.15);
    box-shadow: inset 0 0 12px #99FF00;
	border-radius: 18px; /* zaokrąglone narożniki */
    transition: transform 0.45s ease;
    transform: translateX(0);
}

/* po załadowaniu strony pasek wjeżdża */
.nav-link.active.loaded::before {
    transform: translateX(100%);
}

/* pulsowanie neonowego koloru */
@keyframes neonPulse {
    0% {
        text-shadow: 0 0 6px #99FF00;
        color: #99FF00;
    }
    50% {
        text-shadow: 0 0 14px #99FF00;
        color: #ccff55;
    }
    100% {
        text-shadow: 0 0 6px #99FF00;
        color: #99FF00;
    }
}

.nav-link.active {
    animation: neonPulse 2.5s ease-in-out infinite;
}

/* --- NEONOWY HAMBURGER --- */
.navbar-toggler {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.navbar-toggler-icon {
    background-image: none !important;
    width: 32px;
    height: 3px;
    background-color: #99FF00; /* neon zielony */
    position: relative;
    transition: 0.3s ease-in-out;
    box-shadow: 0 0 8px #99FF00;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 32px;
    height: 3px;
    background-color: #99FF00;
    box-shadow: 0 0 8px #99FF00;
    transition: 0.3s ease-in-out;
}

.navbar-toggler-icon::before {
    top: -9px;
}

.navbar-toggler-icon::after {
    top: 9px;
}

/* --- ANIMACJA W KRZYŻYK --- */
.navbar-toggler.collapsed .navbar-toggler-icon {
    background-color: #99FF00;
    transform: rotate(0deg);
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    background-color: transparent;
    box-shadow: none;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
    transform: rotate(45deg);
    top: 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

/* FotoRamka */
#hero-carousel { background: #000000 !important;}
#hero-carousel a { color: #E6E7E8;}
#hero-carousel a:hover { color: #99FF00;}

/* Accordion */
.accordion a { color: #000;}
.accordion a:hover { color: #333d4a;}

/* Sklep */
.shop-top-menu a:hover { color: #69bb7e !important;}

/* Produkt */
.product-wap { box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.10);}
.product-wap .product-color-dot.color-dot-red { background:#f71515;}
.product-wap .product-color-dot.color-dot-blue { background:#6db4fe;}
.product-wap .product-color-dot.color-dot-black { background:#000000;}
.product-wap .product-color-dot.color-dot-light { background:#e0e0e0;}
.product-wap .product-color-dot.color-dot-green { background:#0bff7e;}
.card.product-wap .card .product-overlay {
  background: rgba(0,0,0,.2);
  visibility: hidden;
  opacity: 0;
  transition: .3s;
}
.card.product-wap:hover .card .product-overlay {
  visibility: visible;
  opacity: 1;
}
.card.product-wap a { color: #000;}
#carousel-related-product .slick-slide:focus { outline: none !important;}
#carousel-related-product .slick-dots li button:before {
  font-size: 15px;
  margin-top: 20px;
}
/* Brand */
.brand-img {
  filter: grayscale(100%);
  opacity: 0.5;
  transition: .5s;
}
.brand-img:hover {
  filter: grayscale(0%);
  opacity: 1;
}
/* FotoRamka */
#hero-carousel .carousel-indicators li {
  margin-top: -80px;
  background-color: #99FF00;
}
#hero-carousel .carousel-control-next i,
#hero-carousel .carousel-control-prev i {
  color: #99FF00 !important;
  font-size: 2.8em !important;
}
/* Carousel Brand */
.carousel .h1 {
  font-size: .5em !important;
  color: #000 !important;
}
/* Usługi */
.services-icon-wap {transition: .3s;}
.services-icon-wap:hover, .services-icon-wap:hover i {color: #fff;}
.services-icon-wap:hover {background: #69bb7e;}

/* Kontakt - mapa */
.leaflet-control a, .leaflet-control { font-size: 10px !important;}
.form-control { border: 1px solid #e8e8e8;}

/* Stopka */
#footer a { color: #dcdde1;}
#footer a:hover { color: #68bb7d;}
#footer ul.footer-link-list li { padding-top: 10px;}
#footer ul.footer-icons li {
  width: 2.6em;
  height: 2.6em;
  line-height: 2.6em;
}
#footer ul.footer-icons li:hover {
  background-color: #cfd6e1;
  transition: .5s;
}
#footer ul.footer-icons li:hover i {
  color: #212934;
  transition: .5s;
}
#footer .border-light { border-color: #2d343f !important;}

.product-wap .h3, .product-wap li, .product-wap i, .product-wap p {
  font-size: 12px !important;
}
.product-wap .product-color-dot {
  width: 6px;
  height: 6px;
}

@media (min-width: 576px) {
  .carousel .h1 { font-size: 1em !important;}
}

@media (min-width: 768px) {
  #main_nav .navbar-nav {max-width: 450px;}
 }

@media (min-width: 992px) {
  #main_nav .navbar-nav {max-width: 550px;}
  #hero-carousel .carousel-item {min-height: 30rem !important;}
  .product-wap .h3, .product-wap li, .product-wap i, .product-wap p {font-size: 18px !important;}
  .product-wap .product-color-dot {
    width: 12px;
    height: 12px;
  }
}

@media (min-width: 1200px) {}

/* --- MOBILE: menu jako panel po prawej --- */
@media (max-width: 991px) {
	
	/* WYŁĄCZAMY desktopowy prostokąt w mobile */
	.nav-link.active::before {
		display: none !important;
	}

    .navbar-collapse {
        position: fixed;
        top: 0;
        right: -260px; /* ukryte */
        width: 260px;
        height: 100vh;
        background: #111;
        padding-top: 80px;
        padding-left: 25px;
		padding-right: 25px;
        transition: right 0.35s ease-in-out;
        box-shadow: -5px 0 20px rgba(153, 255, 0, 0.9);
        z-index: 9998;
    }

	/* aktywny link */
	.nav-link.active {
		position: relative;
		color: #99FF00 !important;
		font-weight: 600;
		text-shadow: 0 0 8px #99FF00;
	}
	
	/* klucz: nav-inner musi być pełnej szerokości */
    .nav-link .nav-inner {
        display: block;      /* zamiast inline-block */
        width: 100%;         /* pełna szerokość linku */
        padding: 10px 14px;
        border-radius: 12px;
        position: relative;
		text-align: center;
    }

	/* neonowy prostokąt wjeżdżający z lewej */
	.nav-link.active .nav-inner::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 85%;
		height: 60%;
		transform: translate(-50%, -50%) translateX(-100%);	
		background: rgba(153, 255, 0, 0.18);
		box-shadow: inset 0 0 12px #99FF00;
		border-radius: 12px;
		transition: transform 0.45s ease;
    }

    .nav-link.active.loaded .nav-inner::before {
        transform: translate(-50%, -50%); /* docelowa pozycja */
    }
	
    /* kiedy menu jest otwarte */
    .navbar-collapse.show {
        right: 0;
    }

    /* linki w panelu */
    .navbar-collapse .nav-link {
        color: #99FF00 !important;
        font-size: 20px;
        margin-bottom: 20px;
        text-shadow: 0 0 6px #99FF00;
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0;
    }

    .navbar-collapse .nav-link:hover {
        color: #fff !important;
        text-shadow: 0 0 12px #fff;
    }
	
	#main_nav .container {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* klucz: wyłączamy flex-fill na mobile */
    #main_nav .navbar-collapse {
        flex: 0 0 auto !important;
    }

    /* logo nie może zajmować całej szerokości */
    #main_nav .navbar-brand {
        flex: 0 1 auto !important;
        max-width: 60%;
        display: flex;
        align-items: center;
    }

    #main_nav .navbar-brand img {
        width: 100%;
        height: auto;
    }
	
	#main_navbar .navbar-brand {
		margin-left: 10px !important;
	}

	#main_navbar .container {
		padding-left: 10px !important;
	}

    /* hamburger zawsze po prawej */
    .navbar-toggler {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        display: flex;
        align-items: center;
    }
}

	#main_navbar .navbar-brand {
		margin-left: 10px !important;
	}

	#main_navbar .container {
		padding-left: 10px !important;
	}
	
.nav-header {
    padding-left: 10px !important;
}
