/*=========================================================
= MEGA MENU
=========================================================*/
.pp-menu{

    width:100%;

    display:block;

	height:100%;
	
	position:relative;
	
	background:#fbcbe3;
	
    border-bottom:1px solid #f3a9ca;

	border-radius:8px 8px 0px 0px;
}

.pp-menu__nav{

    display:flex;

    justify-content:space-evenly;

    align-items:center;

    width:100%;

    margin:0;

    padding:0 15px;

    list-style:none;

    box-sizing:border-box;

}

.pp-menu__item{

    flex:1;

    text-align:center;
	
	
	
	

}


.pp-menu__item > a{

    display:block;

    padding:8px;

    text-decoration:none;

    color:#222;

    font-size:14px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.08em;
	
	transition:background .2s ease,
               color .2s ease;

}

.pp-menu__item:hover > a{

    background:#faf3f7;

    color:#bb8ea7;

    border-radius:8px 8px 0 0;

}

.pp-mega{

    position:absolute;
    left:0;
    right:0;
    top:100%;

    display:none;

    background:#fcfafb;

    border-top:1px solid #ececec;
    box-shadow:0 18px 40px rgba(0,0,0,.08);

    z-index:9999;

}

.pp-mega.open{

    display:flex;

}

.pp-menu__item:hover > a .pp-menu__icon{

    transform:scale(1.08);

}

.pp-mega__left{

    width:270px;

    background:#faf3f7;

    border-right:1px solid #ecdce5;
}

.pp-mega__right{

    position:relative;

    flex:1;

    padding:0;
	
	background:#fef9fc;
	
	min-height: 280px;

}

.pp-mega__category{

    display:flex;

    align-items:flex-start;

    gap:12px;

    padding:16px 18px;

    min-height:42px;

    text-decoration:none;

    color:#333;

    transition:.2s;

    border-left:4px solid transparent;
	
	cursor:pointer;

}



.pp-mega__category-icon img{

    width:24px;

    height:24px;

    display:block;

}

.pp-mega__category-title{

    flex:1;

    font-weight:600;

    font-size:16px;
	
	line-height:1.3;
	text-align: left;

}

.pp-mega__category:hover,
.pp-mega__category.active{

    background:#ffffff;

    color:#bb8ea7;

    border-left:4px solid #bb8ea7;

}


.pp-panel{

    position:absolute;

    top:20px;
    left:35px;
    right:35px;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateX(12px);

    transition:
        opacity .20s ease,
        transform .20s ease,
        visibility .20s;

}

.pp-panel.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateX(0);

}

.pp-panel__grid{

    display:grid;

    gap:40px;

    align-items:start;

}

.pp-panel__grid.groups-1{

    grid-template-columns:1fr;

}

.pp-panel__grid.groups-2{

    grid-template-columns:2fr 1fr;

}

.pp-panel__grid.groups-3{

    grid-template-columns:2fr 1fr 1fr;

}

.pp-panel__grid.groups-4{

    grid-template-columns:2fr 1fr 1fr 1fr;

}

.pp-links-group{

    padding-right:35px;

    border-right:1px solid #f2f2f2;

}

.pp-links-group:last-child{

    border-right:none;

}

.pp-links-group h4{

    margin:0 0 18px;

    background:#f7eff3;
	
	color:#8a677a;

    padding:10px 14px;

    border-radius:8px;

    font-size:12px;

    text-transform:uppercase;
	
	letter-spacing:.08em;
	
	text-align:left;

}

.pp-links-group a{

    display:block;

    padding:6px 0;

    color:#333 !important;

    text-decoration:none;

    font-size:15px;
	
	text-align:center;

}

.pp-card-link{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:10px 12px;

    margin:0;

    border:none;

    border-radius:8px;

    background:none;

    color:#444;

    text-decoration:none;

    transition:.18s;
	
	cursor:pointer;

}

.pp-card-link:hover{

    background:#fff3f8;

    color:#bb8ea7;

    transform:translateX(4px);

}

.pp-menu__item>a{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

}

.pp-menu__icon{

    font-size:18px;

    width:24px;

    text-align:center;

    transition:.25s;

}

.pp-menu__title{

    white-space:nowrap;

}


/*=========================================================
= GRID MENU
=========================================================*/

.pp-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:40px;

    padding:40px;

    width:100%;

}

.pp-grid__group h3{

    margin:0 0 18px;

    padding-bottom:10px;

    border-bottom:1px solid #eee;

    font-size:18px;

    color:#444;

}

.pp-grid__link{

    display:block;

    padding:7px 0;

    color:#555;

    text-decoration:none;

    transition:.18s;

}

.pp-grid__link:hover{

    color:#e91e63;

    transform:translateX(5px);

}

.pp-links-group.columns-1{

    display:block;

}

.pp-links-group.columns-2{
    column-count:2;
    column-gap:30px;
}

.pp-links-group.columns-3{
    column-count:3;
    column-gap:25px;
}

.pp-links-group.columns-4{
    column-count:4;
    column-gap:25px;
}

.pp-card-link{
    break-inside:avoid;
    display:flex;
}

.pp-card-link.parent{

    font-weight:600;

    color:#333;

}

.pp-card-link.child{

    font-weight:100;

    padding-left:15px;

    font-size:15px;

}

/*=========================================================
= ELEMENTY SPECJALNE
=========================================================*/

.pp-heading{

    margin:18px 0 10px;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:#666;

}

.pp-divider{

    display:flex;

    align-items:center;

    gap:12px;

    margin:0px 0 10px;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:#777;

}

.pp-divider::before,
.pp-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:#e8e8e8;

}

.pp-line{

    height:1px;

    margin:18px 0;

    background:#ececec;

}


/*=========================================================
= DOSTOSOWANIE INDYWIDUALNE
=========================================================*/

.pp-mega__category[data-category="generator-prezentow"]{
    justify-content:center;
    align-items:center;
}