/*
Theme Name: PIX7
Theme URI: https://pixup.pl
Author: pixUp
Author URI: https://pixup.pl
Description: PIX7 v.01.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pix7
*/

button,
a {
  -webkit-tap-highlight-color: transparent; /* usuwa flash w Safari/Chrome na mobile */
}

button:active,
a:active {
  background: none !important;
  color: inherit;
}

/* Baza — submenu obecne w DOM i domyślnie zamknięte */
.nav-menu li { position: relative; }

.nav-menu li > ul {
  display: block !important;          /* nadpisuje display:none z motywu */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  padding: 0 18px;                    /* pionowy 0, poziomy zostaje */
  border-radius: 5px;
  transition:
    max-height .35s ease,
    opacity .35s ease,
    transform .35s ease,
    padding .35s ease;
  background: rgba(255, 255, 255, 0.6);
}

/* OTWARTE — wspólne (desktop przez :hover, mobile przez .submenu-open) */
.nav-menu li.submenu-open > ul {
  visibility: visible;
  max-height: 600px;   /* > real height */
  opacity: 1;
  transform: translateY(0);
  padding: 18px;
}

/* :hover tylko na urządzeniach z kursorem (desktop/laptopy) */
@media (hover: hover) and (pointer: fine) {
  .nav-menu li:hover > ul {
    visibility: visible;
    max-height: 600px;
    opacity: 1;
    transform: translateY(0);
    padding: 18px;
  }
}

/* Pozycjonowanie dropdown na desktopie */
@media (min-width: 992px) {
  .nav-menu > li { position: relative; }
  .nav-menu > li > ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    width: max-content; /* lub np. 240px */
  }
	
	.nav-menu li ul {
    display: grid !important;
    grid-template-columns: 2fr 2fr;
	margin-left:-150px!important;
}
}


/* Pokazuj blok kontaktu tylko na mobile */
@media (min-width: 992px) {
  .menu-contact-mobile { display: none !important; }
}

/* Stylowanie bloku kontaktowego u góry menu */
.menu-contact-mobile .menu-contact-box {
  padding: 16px 18px;
  margin: 6px 0 8px;
  border-radius: 8px;
  background: #fff;
	text-align:center;
}

.menu-contact-link {
  display: block;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.4;
}

.menu-contact-phone, .menu-contact-phone a { color: #0a7a4a; border-bottom:0; font-size:18px;}   /* telefon – zielony akcent? */
.menu-contact-email, .menu-contact-phone a { color: #345E73;border-bottom:0; font-size:14px!important;}   /* e-mail – Twój brand kolor */
.menu-contact-link.menu-contact-phone {border: 0; margin-bottom: -10px;}
.menu-contact-link.menu-contact-email {margin-bottom: -10px;}

.menu-contact-link:active,
.menu-contact-link:focus,
.menu-contact-link:hover { opacity: .85; }

/* Jeśli Twoje submenu ma wewnętrzne paddingi – wyrównaj */
.nav-menu > .menu-contact-mobile { margin-bottom: 6px; }






.footer-widgets ul li {
    padding-top: 10px!important;
    padding-bottom: 1px!important;
}

.wp-block-cover__image-background.wp-image-892.size-full.has-parallax {
    background-position: left !important;
}

.wp-block-cover__image-background.wp-image-970.size-full.has-parallax {
    background-position: left !important;
}
.wp-block-cover__image-background.wp-image-957.size-full.has-parallax {
    background-position: 80% !important;
}


.tabletitle {
    font-size: 22px!important;
    text-align: center !important;
    display: block!important;
    letter-spacing: 2px;
	color:#fff;
	padding-top:20px;
}


.cena {
    /* text-align: center; */
    display: block;
    font-size: 23px;
    background: #fff;
    margin: 0 auto;
    width: 105px;
    text-align: center;
    padding: 12px;
    border-radius: 12px;
}

.colfront {
    padding: 60px 20px 40px 20px;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
	border-radius:12px;
    border-top: 3px solid darkgoldenrod!important;
}
.colfront-top {
	margin-top:-70px!important;
}

.colfront:hover {
background:rgba(255,255,255, 0.2);
}


.footer-widget ul li {
    letter-spacing: 2px;
    border-bottom: 0px solid #ddd;
    padding: 0px 0;
    max-width: 79%;
	margin:0;
}

.footer-widget ul li a {
	padding-left:6px;
	border-left:1px solid transparent;

}
span.widget-title {
    padding-left: 6px;
}

.footer-widget ul li a:hover {
	border-left:1px solid #444;
	padding-left:6px;
}

.footer-widgets p, .footer-widgets a, .footer-widgets span {
    letter-spacing: 2px;
}

.fot1 {
    font-size: 16px;
    letter-spacing: 2px;
}

span.fot1 {
    margin-top: 10px;
    display: block;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 3px;
    font-size: 18px;
}

.custom-cover-image1 a.wp-block-button__link.wp-element-button:hover {
	border:2px solid #fff;
	color:#fff;
	background:#555;
}

.nav-menu li a {
    letter-spacing: 2px;
    font-size: 18px;
}

.spanfronth1 {
    margin-top: -18px;
    padding-left: 2px;
}





.fupi_buttons button {
	border:0;
}
.fb {
    position: fixed;
    right: 0px;
    top: 132px;
	z-index:999999;
	    filter: sepia(0.99);
}
.fb:hover {
    transform: scale(1.2)!important;
}

.formmain {
    /* background: #f8f8f8; */
    margin-top: -110px !important;
}

.cfform1, .cfform2 {
    display: grid;
    grid-template-columns: 2fr 2fr;
}

.cfform1 p, .cfform2 p {
    padding: 0 !important;
    margin: 8px 2px;
}

.cfform1 input, .cfform2 input {
    width: 200px;
    padding: 10px !important;
    border: 0 !important;
    font-size: 14px;
}

.cfform1 input.wpcf7-form-control.wpcf7-text, .cfform2 input.wpcf7-form-control.wpcf7-text {
	width: 220px;
	background:#f8f8f8;
		border-radius:8px;

}

.cfforma  textarea {
    border: 0!important;
    background: #f8f8f8!important;
    font-size: 14px!important;
	margin: 0 2px!important;
	width: 90%;
    padding: 10px;
    margin-top: 6px !important;
	height:100px;
	border-radius:8px;
}

.cfforma  span.wpcf7-list-item {
    line-height: 1.1;
    border: none;
    padding: 0;
}
.cfforma input.wpcf7-form-control.wpcf7-quiz {
    max-width: 140px;
    margin: 0 auto;
    text-align: center;
    background: #f8f8f8;
    border: none;
	
    padding: 8px;
    width: 50px;
}
.cfforma span {
    text-align: center;
    line-height: 1.1 !important;
}
.cfforma  {
    text-align: center;
}

.cfforma input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background: #C3912C;
    color: #222;
	border-radius:8px;
		text-transform:uppercase;
	

}

.cfforma input.wpcf7-form-control.wpcf7-submit.has-spinner {
    margin: 0 auto;
    text-align: center;
    border: 0;
	padding:20px;
	background:#C3912C;
	text-transform:uppercase;
		border-radius:8px;

}

.magspan span {
    padding-bottom: 10px !important;
    display: block;
    margin-top: 30px;
}

.why23 p {
	font-size: 18px!important;
	line-height: 1.1;
	
}

.why23 h2, .why23 h3 {
	font-weight:600;
}

/* columns cf7 */


fieldset.fieldset-cf7mls.cf7mls_current_fs {
    border: 1px solid #f2f2f2;
}
.wpcf7-response-output.wpcf7-display-none.wpcf7-validation-errors {
background: #fff!important;
}

.cf7mls_next.action-button {
    background-color: red;
}
input.wpcf7-form-control.wpcf7-file {
    text-align: center;
    margin: 0 auto;
    background: #f2f2f2;
}
.formtxt {
	font-size:24px;
line-height:1.1;
font-weight:100;
}
.form-row{ 
	width: 100%; 
} 
.column-half, .column-full { 
	float: left; 
	position: relative; 
	padding: 0.65rem; 
	width:100%; 
	-webkit-box-sizing: border-box; 
        -moz-box-sizing: border-box; 
        box-sizing: border-box 
} 
.clearfix:after { 
	content: ""; 
	display: table; 
	clear: both; 
} 
.column-half3{ 
	float:left;
	position:relative;
	padding:10px;
}
 

/* Globalne ustawienia, zapobiegające poziomemu scrollowaniu */
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: sans-serif;
    background:#fff;
    max-width: 1700px;
    margin: 0 auto;
}

html {
    scroll-behavior: smooth;
  }


  .site-wrapper {
  
    background: #fff;
}



/* Header */
header {
    position: fixed;
    top: 0;
    width: 100%;
    max-width: 1700px;
    background: none;
    /* Usunięto obramowanie */
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    box-sizing: border-box;
}
header .logo img {
    max-width: 170px;
    height: auto; 
}
header .logo {
    margin-left: 100px; /* margines dla desktopu */
}

header .menu {
    margin-right: 100px; /* margines dla desktopu */
}

.blogname {
    font-size: 28px;
    font-weight: 800;
}

/* Menu główne */
.nav-menu {
    list-style: none; /* usuwa punktory */
    margin: 0;
    padding: 0;
    display: flex;
}

.nav-menu li {
    margin: 0 10px;
    position: relative; /* wymagane dla submenu */
}

/* Dodajemy strzałkę do elementów menu posiadających submenu */
.nav-menu li.menu-item-has-children > a:after {
    content: "\2193";
    margin-left: 5px;
    font-size: 0.8em;
    vertical-align: middle;
}

/* Linki menu */
.nav-menu li a {
    display: block;
    padding: 5px 10px;
    color: #fff;
}

/* Submenu dropdown – desktop */
.nav-menu li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    padding: 10px 0;
    list-style: none;
    margin: 0;
    min-width: 150px;
    z-index: 1000;
}

.nav-menu li:hover > ul {
    display: block;
}

.nav-menu li ul li {
    margin: 0;
}

.nav-menu li ul li a {
    padding: 5px 15px;
    white-space: nowrap;
}

.nav-menu li ul li a:hover {
    background: none;
}

/* Mobile menu toggle */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 35px;
    margin-top: -4px;
}

button.mobile-menu-close {
    display: none;
}

.invert {
	filter: invert(0.8);
}

/* Podstawowe style dla elementów tekstowych */
p, h1, h2, h3, h4, h5, h6, ul, li, a, span {
    margin: 0;
    padding: 0;
    font-weight: normal;
    color: #333;
    line-height: 1.2;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 10px;
    font-family: 'Arial', sans-serif;
}

p {
    margin-bottom: 15px;
}

a {
    text-decoration: none;
}

a:hover {
    color: #0073aa;
}

/* Tytuły widgetów jako span z dodatkowym odstępem od góry */
.widget-title {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* Główny kontener na 80% szerokości ekranu (desktop) */
.container {
    width: 70%;
    margin: 0 auto;
    padding-top:125px;
}

/* Jeśli tytuł jest wyświetlony – padding-top: 120px */
.container.has-title {
    padding-top: 170px;
}

/* Jeśli tytuł nie jest wyświetlony – padding-top: 55px */
.container.no-title {
    padding-top: 0px;
}


/* Stopka z widgetami (desktop) */
.footer-widgets {
    display: flex;
    justify-content: space-between;
    background: #f8f8f8;
    padding: 20px;
    padding-top:40px;
    padding-bottom: 50px;
    box-sizing: border-box;
}

.footer-widget {
    width: 100%;
}

/* Marginesy boczne dla widgetów na desktop */
.footer-widgets .footer-widget:first-child {
    margin-left: 30px;
}
.footer-widgets .footer-widget:last-child {
    margin-right: 30px;
}

/* Styl sidebaru */
.sidebar {
    background: #f0f0f0;
    padding: 20px;
    margin-top: 20px;
}

/* Ustawienie marginesu górnego dla stopki, obniżającego ją o 60px względem kontenera */
footer {
    margin-top: 40px;
	z-index:99999;
}

/* Wrapper zawierający treść i sidebar – na desktop wyświetlamy w wierszu */
.content-sidebar-wrapper {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* Jeśli sidebar jest aktywny – wrapper z klasą .has-sidebar */
.content-sidebar-wrapper.has-sidebar .content {
    flex: 0 0 75%;
}

.content-sidebar-wrapper.has-sidebar .sidebar {
    flex: 0 0 25%;
    top: 80px;
}

/* Jeśli sidebar nie jest aktywny – wrapper z klasą .no-sidebar */
.content-sidebar-wrapper.no-sidebar .content {
    width: 100%;
}


.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}



/* Ustawienie paddingu dla kolumn */
.wp-block-columns {
    padding: 20px;
    margin: 60px 0;
}

/* Ustawienie paddingu dla grupy bloków */
.wp-block-group {
    padding: 20px;
    margin-bottom: 40px;
}

.footer-logo img {
    width: 120px;
    height: auto;
    display: block;
    margin: 0 auto;
    padding-top:20px;
}
.footer-widget ul li  {
    list-style-type: none;
    padding: 2px 0;
}
.footer-widgets, .footer-widgets span, .footer-widgets p, .footer-widgets a, .footer-widgets ul, .footer-widgets li {
    color:#333;
}

.archive-posts-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.archive-item {
    background: #f8f8f8;  
    padding: 30px;
}

.archive-thumb img {
    width: 100%;
    height: auto;
    display: block;
}


.entry-header {
    text-align: center;
    margin-top: 12px;
}
.entry-meta {
    font-size: 13px;
}

.daniel {
    margin-top: -18px;
    margin-bottom: 40px;
}

.top-m h1 {
    padding-top:140px;
}

.dbutton {
    margin-top: 30px !important;
}


.kolumny .wp-block-image {
    padding-bottom: 20px;
}

.margin-minus {
    margin-top: -85px;
}


/* Responsywność – układ mobilny */


.footer-widgets img {
    filter: invert(0) !important;
}

.footer-widgets {
	background:#444;
}


@media (max-width: 768px) {
	
	
	.fb {
    position: fixed;
    right: 0px;
		top:auto;
    bottom: 132px;
	z-index:999999;
}
	
	
	
	.wp-block-cover__image-background.wp-image-518.has-parallax {
		background-position:0!important;
	}
	.top-m h1 {
	padding-top:50px;
}
	.cfforma input.wpcf7-form-control.wpcf7-submit.has-spinner {
		width:300px;
	}
	.cfform1, .cfform2 {
    display: block;
}
    header .menu {
        display: block;
    }
    header .logo {
        margin-left: 10px; /* mniejszy margines na mobilce */
    }
    header .logo img {
        max-width: 210px!important;
        height: auto;
		margin-top:10px;
    }

    button.mobile-menu-close {
        display: block;
    }
    button.mobile-menu-toggle {
        right: 2px;
        position: absolute;
        color: #222;
		font-size: 50px;
        top: 4px;
    }
	

     /* Ukrywamy standardowy układ menu (desktopowy) – stylizujemy menu jako pełnoekranowe off-screen */
     #main-menu {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        box-shadow: 2px 0 5px rgba(0,0,0,0.1);
        overflow-y: auto;
        transition: left 0.3s ease;
        padding: 20px;
        box-sizing: border-box;
        z-index: 99999;
    }
    /* Gdy menu ma klasę 'open', przesuwamy je na ekran */
    #main-menu.open {
        left: 0;
		background:#fff;
    }
    /* Wyświetlamy przycisk toggle – jest domyślnie ukryty na desktopie */
    .mobile-menu-toggle {
        display: block;
    }
    /* Dodatkowo możesz ustawić mobilne submenu – przykładowo: */
    .nav-menu {
        flex-direction: column;
        
    }
    .nav-menu li {
        margin: 10px 0;
    }
    .nav-menu li ul {
        display: none;
        position: static;
        box-shadow: none;
        padding-left: 20px;
        margin-top: 5px;
    }
    .nav-menu li a {
        padding: 5px 10px;
        color: #333;
        border-bottom: 1px solid #ddd;
        padding-bottom: 20px;
        padding-top: 0;
        display: block;
    }
    .nav-menu li ul li a {
        padding: 20px;
    }
    
    /* Po kliknięciu (przez JS dodamy klasę "open" do li) submenu będą wyświetlane */
    .nav-menu li.open > ul {
        display: block;
    }
    /* Przycisk otwierający mobilne menu jest widoczny */
    .mobile-menu-toggle {
        display: block;
    }
    /* Przycisk zamykający mobilne menu */
    .mobile-menu-close {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        font-size: 24px;
    }
    /* Układ widgetów stopki w mobilce */
    .footer-widgets {
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
    .footer-widget {
        width: 100%;
        margin-bottom: 20px;
        box-sizing: border-box;
        text-align: center;
    }
    .footer-widgets, .footer-widgets span, .footer-widgets p, .footer-widgets a, .footer-widgets ul, .footer-widgets li {
        color:#333;
    }
    
    .footer-widgets .footer-widget:first-child,
    .footer-widgets .footer-widget:last-child {
         margin-left: 0;
         margin-right: 0;
    }

    .container {
        width: 90%;
    }
    /* Układ treści i sidebaru – elementy jeden pod drugim */
    .content-sidebar-wrapper {
        display: block;
    }
    .content,
    .content-sidebar-wrapper .sidebar {
        width: 100%;
    }
    .content-sidebar-wrapper .sidebar {
        position: static;
        top: auto;
        margin-top: 20px;
    }
    

 /* Domyślnie podmenu jest ukryte */
#main-menu .nav-menu li ul {
    display: none;
}
/* Gdy rodzic ma klasę "open", podmenu jest widoczne */
#main-menu .nav-menu li.open > ul {
    display: block;
}

.archive-item {
    margin-bottom: 60px;

}


.archive-posts-grid {
    display: block;
}

nav#main-menu a {
    color: #444;
    font-weight: 100;
}
.margin-minus {
    margin-top: -85px;
}

.dbutton {
    width: 100% !important;
    text-align: center;
}
.mobileout {
    margin-top:-100px;
}
	
	p.spanfronth1 {
    margin-top: 10px;
}
	
	
.wp-block-cover__image-background.wp-image-905.size-full.has-parallax {
    background-position: left !important;
}
	
	.wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
    /* margin: 0 auto !important; */
    display: block !important;
    text-align: center;
    margin-top: 30px !important;
}
	
	h1,h2,h3,h3,h4, p { text-align:center!important}
	.footer-widget ul li {
		max-width:100%;
		text-align:center;
	}
	
	.fot1, span.fot1 {
    margin-top: 10px;
    display: block;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 3px;
    font-size: 18px;
	text-align:center;
}
	
	.colfront-top {
	margin-top:-130px!important;
}
	.marginmob2 {
    margin-top: -140px;
}
	
	.footer-widgets ul li {
    font-size: 18px;
    padding-top: 14px !important;
    padding-bottom: 17px !important;
}
    .fot1 a {
    font-size: 26px;
}
	.wp-block-cover__image-background.wp-image-905.size-full.has-parallax {
    background-position: 30% !important;
}
	p#fupi_main_descr {
    line-height: 1.1;
    font-size: 13px;
    text-align: center;
}
	p#fupi_main_headline {
    text-align: center !important;
    display: block !important;
}
}
