body {
    margin-top: 3em;
}

/* --- TŁO I PODSTAWY --- */
.background{ background-color:#ff6600!important; color:white!important; }
.navbar{ padding:0; }
button:focus{ outline:none; }

.nav-item a{
  color:white!important;
  font-weight:bold;
  font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-size:.8em;
}
.nav-item a:before{
  display:inline-block;
  font-style:normal;
  font-variant:normal;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  content:"\f2dc\0000a0";
}
.nav-item a:hover{ color:black!important; }

/* --- BURGER --- */
.navbar-toggler{ border-color:white!important; }
.navbar-inverse .navbar-toggle .icon-bar{ color:white!important; }

/* --- AKTYWNE --- */
.navbar-nav>.menu-item>.nav-link{ padding:10px; }
.navbar-nav>.menu-item>.active{ background:black; color:white; }
.navbar-nav>.menu-item>.active:hover{ color:white!important; }

/* --- PROMOCJA (opcjonalne) --- */
.promocja{ height:120px!important; bottom:-60%!important; right:50px; position:absolute; z-index:99999; }
@media (max-width:1200px){
  .promocja{ height:80px!important; bottom:-40%!important; }
  #top .title{ margin:5px 0 0 100px; }
}
@media (max-width:768px){

    body {
        margin-top: 1em !important;
    }

  #top{ min-height:0; }
  header>.title>a{ display:block; overflow:hidden; margin:0 auto; }
  header>.title>a>.top-title-img{ width:100px; margin:0 auto; display:block; z-index: 999; }
  header>.title>h1{ margin:50px 10px 0 10px!important; }
  .ikona-spolecznosciowa{ height:40px!important; width:40px!important; }
}

#spolecznosciowe {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: transparent !important;
  border: none !important;
}

#spolecznosciowe img {
    box-shadow: 0 0 3px #8f3900;
    padding: 8px;
    background-color: #ff6702;
    border-radius: 100px;
}

/* --- WSPÓLNE DLA NAV --- */
/* Usuń automarginesy, które mogą rozpychać menu na boki */
.navbar .navbar-nav{
  margin-left:0!important;
  margin-right:0!important;
}

/* --- DESKTOP (≥ XL): DWIE BELKI, WYŚRODKOWANE --- */
@media (min-width:1200px){

  .snow-menu-toggle::before {
      content: '❄';
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: all 0.3s ease;
  }

  /* pozwól łamaniu w obrębie collapse */
  .navbar .navbar-collapse{
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: fixed;
    background: #ff6702;
    top: 0;
  }
  .navbar .menu-row{
    width:100%;               /* każda belka pełna szerokość */
    display:flex;
    align-items:center;
    justify-content:center;   /* wyśrodkuj zawartość belki */
    padding:.35rem 0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .navbar .menu-row:first-child{ border-top:0; }
  .navbar .menu-row .navbar-nav{ flex-direction:row; }
  .navbar .menu-row .navbar-nav>li.nav-item{ margin:0 .5rem; }
}

/* --- MOBILE/TABLET (< XL): JEDEN BURGER, LISTY POD SOBĄ --- */
@media (max-width:1199.98px){
  /* NIE nadpisuj wyświetlania collapse! (żadnego display:block) */
  .navbar .navbar-collapse{
    flex-basis:100%;
    flex-grow:1;
    align-items:stretch;
    width:100%;
  }
  .navbar .menu-row{
    display:block;    /* kolumna */
    width:100%;
    padding:.5rem 0;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .navbar .menu-row:first-child{ border-top:0; }
  .navbar .menu-row .navbar-nav{
    display:flex;
    flex-direction:column; /* elementy w słupku */
    width:100%;
  }
  .navbar .menu-row .navbar-nav>li.nav-item{ margin:0; }
}







/* PYQ.pl */
.pyq-top-title-img {
  max-width: 150px;
  height: auto;
}

/* Snow WOW - Nowoczesne menu narciarskie */
.snow-navbar {
    background: linear-gradient(135deg, #ff6702 0%, #ff8533 100%);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.3s ease;
    height: 80px;
    display: flex;
    align-items: center;
}

.snow-navbar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #ffffff, #ffcc00, #ffffff);
    background-size: 200% 100%;
    animation: snowGradient 3s ease-in-out infinite;
}

span.snow-free-skipass-badge-logo {
    position: absolute;
    left: 75%;
    top: 75%;
    color: white;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.3;
    letter-spacing: -1px;
    padding: 10px 20px;
    background: linear-gradient(4deg, #04cc00, #429300);
    text-align: center;
    font-size: 0.7em;
    text-shadow: 0px 0px 2px #00b629;
    rotate: -10deg;
    border-radius: 10px;
}

@keyframes snowGradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.snow-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    position: relative;
}

a.snow-navbar-brand img {
    width: 150px;
    height: auto;
}

.snow-navbar-brand {
    position: absolute;
    left: 20px;
    top: -10px;
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 25px 20px;
    background: #ffffff;
    border-radius: 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    z-index: 1001;
    min-width: 180px;
    justify-content: center;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
}

.snow-navbar-brand:hover {
    transform: translateY(3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    text-decoration: none;
/*     border-bottom-left-radius: 0px;
    border-top-right-radius: 0px; */
    border-top-right-radius: 0px;
}

.snow-navbar-brand img {
    height: 60px;
    transition: transform 0.3s ease;
}

.snow-navbar-brand:hover img {
    transform: scale(1);
}

.snow-promo-badge {
    position: absolute;
    top: 15px;
    right: 20px;
    background: #dc3545;
    color: white;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 10px rgba(220, 53, 69, 0.4);
    animation: promoPulse 2s ease-in-out infinite;
    z-index: 1001;
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@keyframes promoPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.snow-promo-badge::before {
    content: '⛷️';
    font-size: 16px;
}

.snow-menu-toggle {
    display: none;
    background: transparent;
    border: none;
    padding: 12px 15px;
    border-radius: 0;
    color: white;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    height: 80px;
    margin-left: auto;
    justify-content: center;
    align-items: center;
}

.snow-menu-toggle:hover::before {
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
}

.snow-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.05);
}

.snow-menu-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 80px;
    padding-left: 220px;
}

.snow-nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: flex-start;
    gap: 0;
    flex-wrap: wrap;
}

.snow-nav-item {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
}

.snow-nav-link {
    display: flex;
    align-items: center;
    padding: 0 25px;
    text-decoration: none;
    color: white;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    border-radius: 0;
    position: relative;
    overflow: hidden;
    height: 80px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.snow-nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.snow-nav-link:hover::before {
    left: 100%;
}

.snow-nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.15);
    text-decoration: none;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.snow-nav-link.active {
    background: rgba(255, 255, 255, 0.3);
    color: white;
    box-shadow: inset 0 -4px 0 white;
}

.snow-nav-link.active:hover {
    background: rgba(255, 255, 255, 0.4);
    color: white;
}

/* Śnieżynki przy elementach menu */
.snow-nav-link::after {
    content: '❄';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    opacity: 0;
    transition: all 0.3s ease;
    color: white;
    font-size: 18px;
}

.snow-nav-link:hover::after {
    transform: translateY(-50%) scale(1) rotate(180deg);
    opacity: 1;
}

/* Dropdown menu */
.snow-nav-item.has-dropdown {
    position: relative;
}

.snow-dropdown-icon {
    margin-left: 8px;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.snow-nav-item.has-dropdown:hover .snow-dropdown-icon {
    transform: rotate(180deg);
}

.snow-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background: white;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 103, 2, 0.1);
    border-top: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    overflow: hidden;
}

.snow-nav-item:hover .snow-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
	list-style: none;
    padding-left: 0;
    border: 0;
    border-radius: 0;
}

.snow-dropdown-item {
    position: relative;
}

.snow-dropdown-link {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    color: #333;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    border-bottom: 1px solid #f8f9fa;
    position: relative;
    overflow: hidden;
    height: auto;
}

.snow-dropdown-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: linear-gradient(135deg, #ff6702, #ff8533);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.snow-dropdown-link:hover::before {
    transform: translateX(0);
}

.snow-dropdown-link:hover {
    background: linear-gradient(135deg, rgba(255, 103, 2, 0.05), rgba(255, 133, 51, 0.05));
    color: #ff6702;
    padding-left: 25px;
    text-decoration: none;
}

.snow-dropdown-link::after {
    content: '❅';
    position: absolute;
    right: 20px;
    opacity: 0;
    transform: scale(0) rotate(0deg);
    transition: all 0.3s ease;
    color: #ff6702;
}

.snow-dropdown-link:hover::after {
    opacity: 1;
    transform: scale(1) rotate(180deg);
}

/* Animacja spadających śnieżynek */
@keyframes snowfall {
    0% {
        transform: translateY(-100vh) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(100vh) rotate(360deg);
        opacity: 0;
    }
}

.snow-nav-item:hover::before {
    content: '❄';
    position: absolute;
    top: -10px;
    left: 50%;
    color: white;
    font-size: 16px;
    animation: snowfall 2s ease-in-out infinite;
    pointer-events: none;
}

/* Responsywność */
@media (max-width: 991px) {

    /* Wyłącz animację spadającej śnieżynki na mobile — „hover" wyzwala się przy dotknięciu. */
    .snow-nav-item:hover::before {
        content: none !important;
        display: none !important;
        animation: none !important;
    }

    /* Wyłącz wszystkie efekty/animacje hover w widoku mobilnym (na dotyku „hover" nie znika). */
    .snow-menu-toggle,
    .snow-nav-link,
    .snow-dropdown-link,
    .snow-dropdown-icon,
    .snow-dropdown-menu {
        transition: none !important;
    }

    .snow-menu-toggle:hover {
        transform: translateY(-50%) !important;
        background: transparent !important;
    }

    .snow-menu-toggle:hover::before {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
    }

    .snow-nav-item.has-dropdown:hover .snow-dropdown-icon {
        transform: none !important;
    }

    /* Wskaźnik rozwinięcia — obrót tylko po otwarciu (bez animacji hover). */
    .snow-nav-item.has-dropdown.mobile-open .snow-dropdown-icon {
        transform: rotate(180deg) !important;
    }

    .snow-nav-item {
        justify-content: end;
        flex-direction: column;
    }

    ul.snow-dropdown-menu {
        width: 100%;
    }

    a.snow-dropdown-link {
        justify-content: center;
    }

    span.snow-free-skipass-badge-logo {
        top: 0;
        rotate: none;
        left: 130px;
        display: none;
    }

    .snow-navbar-brand {
        border-radius: 100px;
        height: auto;
        min-width: 100px;
        top: 10px;
        padding: 10px;
    }

    .snow-navbar-brand img {
        max-width:80px;
        
    }

    .snow-navbar-brand:hover {
        border-radius: 100px;
        transform: none;
    }

    .snow-menu-toggle {
        display: flex;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        height: auto;
        padding: 10px 12px;
    }
    
    .snow-menu-wrapper {
        padding-left: 120px;
    }
    
    .snow-nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #ff6702;
        flex-direction: column;
        border-radius: 0;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
        margin-top: 0;
        padding: 0;
        height: auto;
        list-style: none;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
    }
    
    .snow-nav-menu.active {
        display: flex;
    }
    
    .snow-nav-item {
        width: 100%;
        height: auto;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .snow-nav-item::before {
        display: none !important;
    }
    
    .snow-nav-link {
        justify-content: flex-start;
        margin: 0;
        padding: 15px 20px;
        border-radius: 0;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        height: auto;
        position: relative;
    }
    
    .snow-nav-link::before,
    .snow-nav-link::after {
        display: none !important;
    }
    
    .snow-nav-link:hover {
        background: none;
        color: white;
        text-shadow: none;
    }
    
    .snow-nav-link.active {
        background: rgba(255, 255, 255, 0.15);
        box-shadow: none;
    }
    
    .snow-dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        background: rgba(0, 0, 0, 0.15);
        margin: 0;
        border-radius: 0;
        display: none;
        list-style: none;
        padding: 0;
    }
    
    .snow-nav-item.has-dropdown.mobile-open .snow-dropdown-menu {
        display: block;
    }
    
    .snow-dropdown-item {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .snow-dropdown-link {
        padding: 12px 20px 12px 35px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        color: white;
        list-style: none;
        height: auto;
        font-size: 14px;
    }
    
    .snow-dropdown-link::before,
    .snow-dropdown-link::after {
        display: none !important;
    }
    
    .snow-dropdown-link:hover {
        color: white;
        background: none;
        padding-left: 35px;
    }
    
    .snow-dropdown-icon {
        margin-left: auto;
        padding-left: 8px;
    }
}

@media (max-width: 768px) {
    .snow-navbar {
        height: 70px;
    }
    
    .snow-container {
        padding: 0 10px;
    }
    
    .snow-navbar-brand {

    }
    
    .snow-navbar-brand img {
        height: 40px;
    }
    
    .snow-navbar-brand:hover {
        transform: none;
    }
    
    .snow-menu-wrapper {
        padding-left: 140px;
        height: 70px;
    }
    
    .snow-menu-toggle {
        height: 70px;
    }
    
    .snow-nav-menu {
        height: auto;
        max-height: calc(100vh - 70px);
    }
    
    .snow-nav-item {
        height: auto;
    }
    
    .snow-nav-item::before {
        display: none !important;
    }
    
    .snow-nav-link {
        height: auto;
        margin: 0;
        padding: 14px 15px;
        font-size: 14px;
    }
    
    .snow-nav-link::before,
    .snow-nav-link::after {
        display: none !important;
    }
    
    .snow-dropdown-link {
        padding: 10px 15px 10px 30px;
        font-size: 13px;
    }
    
    .snow-dropdown-link::before,
    .snow-dropdown-link::after {
        display: none !important;
    }
    
    .snow-promo-badge {
        right: 10px;
        font-size: 9px;
        padding: 4px 8px;
        max-width: 120px;
    }
}

@media (max-width: 575px) {
    .snow-navbar-brand {
        left: 8px;
        min-width: 100px;
        padding: 8px 10px;
    }
    
    .snow-navbar-brand img {
        height: 35px;
    }
    
    .snow-navbar-brand:hover {
        transform: none;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }
    
    .snow-menu-wrapper {
        padding-left: 120px;
    }
    
    .snow-nav-link {
        padding: 12px 15px;
        font-size: 13px;
    }
    
    .snow-nav-link::before,
    .snow-nav-link::after {
        display: none !important;
    }
    
    .snow-dropdown-link {
        padding: 10px 15px 10px 28px;
        font-size: 12px;
    }
    
    .snow-dropdown-link::before,
    .snow-dropdown-link::after {
        display: none !important;
    }
    
    .snow-promo-badge {
        display: none;
    }
}

/* Ukrycie starego menu */
.navbar-expand-xl, .title, .pyq-logo-top-header {
    display: none !important;
}

		.snow-contact-info {
			top: 50%;
			display: flex;
			gap: 12px;
			z-index: 1001;
			margin-right: 2em;
		}

		.snow-phone, .snow-email {
			display: flex;
			align-items: center;
			gap: 8px;
			background: rgba(255, 255, 255, 0.95);
			padding: 8px 12px;
			border-radius: 6px;
			box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
			transition: all 0.3s ease;
		}

		.snow-phone:hover, .snow-email:hover {
			transform: scale(1.05);
			box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
		}

		.snow-phone i, .snow-email i {
			color: #ff6702;
			font-size: 14px;
			width: 16px;
			text-align: center;
		}

		.snow-phone a, .snow-email a {
			color: #333;
			text-decoration: none;
			font-weight: 700;
			font-size: 13px;
			transition: color 0.3s ease;
		}

		.snow-phone a:hover, .snow-email a:hover {
			color: #ff6702;
			text-decoration: none;
		}

		@media (max-width: 1500px) {
			.snow-contact-info {
				display: none;
			}
		}