:root {
    --primary: #800020;
    --secondary: #1A1A1A;
    --third: #D9271D;
}
 
*{
    box-sizing: border-box;
}
 .content-area .sticky{
  position: sticky;
  top: 0;
 }
.content-area .custom-bg-primary p:hover{
    background-color: var(--primary);
    transition: 0.5s;
}
.kb-button:hover{
    transition: 0.5s;
}
.error404 #masthead{
background: var(--secondary);
}
/*modal*/
.modal {
  display: flex; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 100; /* Sit on top */
  justify-content: center;
  align-items: center;
  align-content: center;
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

 /* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 10px;
  border: 1px solid #888;
  max-width:700px;
  /*max-height: 90vh;  */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.modal-img {
  max-height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
}
.modal-img img {
  max-height: 80vh;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.modal-txt{
  margin:20px;
  text-align: center;
  margin-bottom:0;
}
/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  display: flex;
  align-self: end;
  margin-right: 10px;
  cursor: pointer;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.btn-modal{
  text-decoration: none;
}

.btn-modal:hover{
  color:#333;
}

.btn-modal{
  margin-top:20px;
  margin-bottom: 20px;
}
 
/* top menu kontakt */
.topmenu-icon-phone{
    margin-left:20px;
  }
  .topmenu-icon-envelope a, .topmenu-icon-phone a{
    position:relative;
  }
  .topmenu-icon-envelope a::before {
    content: url('../img/envelope.svg');
    position: absolute;
    top:14px;
    left:-16px;
  }
  .topmenu-icon-phone a::before {
  content: url('../img/phone.svg');
  position: absolute;
  top:14px;
  left:-14px;
  margin-right: 10px;
  }

.section-title-icon,
.section-title-icon-white {
    position: relative;
  }
.section-title-icon:after,
.section-title-icon-white:after {
    position: absolute;
    content: "";
    right:30px;
    top:50%;
    translate:transform(-50%);
    background:var(--primary);
    width:50px;
    height:2px;
}
.section-title-icon:before,
.section-title-icon-white:before{
    position: absolute;
    content: "";
    left:30px;
    top:50%;
    translate:transform(-50%);
    background:var(--primary);
    width:50px;
    height:2px;
}
.section-title-icon-white:after,
.section-title-icon-white:before{
    background: #fff;
}
 /*shop*/
 .woocommerce form.checkout .form-row.place-order label {
    line-height: 1.3rem;
 }
 .woocommerce-privacy-policy-text{
    margin-bottom: 10px;
    font-size:14px;
 }
 .woocommerce #age_confirmation_field{
    margin-top: 10px;
}
.woocommerce-form-notice-digital{
    font-size:14px;
}
.woocommerce-terms-and-conditions-wrapper{
    margin-bottom: 14px;
}
 
body.woocommerce-page .woocommerce :is(.woocommerce-info, .woocommerce-error, .woocommerce-message) {
  border-left-color: var(--primary);
  background-color: var(--secondary);
  color: #fff;
  margin-bottom: 1rem;
}
body.woocommerce-page .woocommerce .woocommerce-error a{
  color:#fff;
}
body.woocommerce-page .woocommerce .woocommerce-info a {
  color: #fff;
}
body.woocommerce-page .includes_tax{
    display: none;
}
body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method 
:is(label:hover, input[type="radio"]:checked + label) {
  background-color: var(--secondary);
  color: #fff;
}
body.woocommerce-page .woocommerce button.button.alt{
    background-color: var(--secondary);
} 
body.woocommerce-page .woocommerce button.button.alt:hover{
    background-color: var(--primary);
} 
.woocommerce ul.products li.product .product-details .woocommerce-loop-product__title,
.woocommerce ul.products.woo-archive-btn-button li.product .price {
    padding-left:16px;
    padding-right:16px;
   
}
.woocommerce ul.products li.product .product-details.entry-content-wrap,
.woocommerce.single-product ul.products li.product .product-details.entry-content-wrap{
     background: #f8f8f8 !important;
     border-radius: 0;
}
 
.custom-related-products{
    border-top: 6px solid var(--primary);
}
.custom-related-products h2{
    font-size:40px;
}
/*newsletter*/
.custom-newsletter{
    color:#fff;
    text-align: center;
}
.custom-newsletter .wpcf7-email{
    margin-top: 15px;
    margin-bottom: -30px;
}
.custom-newsletter input[type="submit"]{
    background: #000;
    display: block;
    margin:0 auto;
}
/*
.custom-newsletter .wpcf7-not-valid-tip{
    color:#fff;
     margin-top: 15px;
    margin-bottom: -50px;
}
*/
.custom-newsletter .wpcf7 form.sent .wpcf7-response-output {
  border-color: #fff;
  font-size:24px;
}
.custom-newsletter .form-data-info{
    font-size:14px;
    line-height: 1.3;
}

/*newsletter mailerlite */
  
  .custom-newsletter span{
    color:#fff !important;
 }
.custom-newsletter #mlb2-33538529.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button {
    padding:16px 46px !important;
    width: fit-content !important;
 }

.home-offer-info-box{
    cursor:pointer;
}
.home-offer-info-box .kt-blocks-info-box-media-container .kt-blocks-info-box-media{
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
}

/*.home-offer-info-box .kt-infobox-textcontent .kt-blocks-info-box-learnmore-wrap{
    display:block;
}*/


.home-offer-info-box .kt-infobox-textcontent .kt-blocks-info-box-learnmore-wrap .kt-blocks-info-box-learnmore{
    border-top-left-radius:0;
    border-top-right-radius:0;
}
/* offer page */
.page-offer-items .entry{
/*    border-radius:50px;*/
/*    text-align:center;*/
}
.content-area .page-offer-items .loop-entry .post-thumbnail{
    margin-bottom:0;
    width:100%;
    height:auto;
}

.page-offer-items .entry .entry-content-wrap{
    background:#f8f8f8;
}
.page-offer-items .entry .entry-summary{
/*    padding: 0 20px;*/
}
.content-area .page-offer-items .entry .entry-title{
    padding-top:16px;
}
/*.page-offer-items .entry .post-thumbnail{
    border-top-left-radius:30px;
    border-top-right-radius:30px;
}*/
.page-offer-items .entry .more-link-wrap{
    background:var(--primary);
    padding:16px 36px;
    width:fit-content;
    /*border-bottom-left-radius:30px;
    border-bottom-right-radius:30px;*/
}
.page-offer-items .entry .more-link-wrap:hover{
    background:var(--secondary);
}
.page-offer-items .entry .post-more-link{
    color:#fff;
}
/* single offer */
.single-offer .wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-9-16{
    width:74%;
    padding-bottom: 44%;
    margin:0 auto;
}
.single-offer .post-thumbnail img{
/*    border-radius:30px;*/
}
.offer-sidebar .wp-block-kadence-posts{
    padding:20px;
}
.offer-sidebar .wp-block-kadence-posts .entry{
   border-radius:0;
}
.offer-sidebar .wp-block-kadence-posts .entry .entry-title{
    font-family: var(--global-body-font-family);
}
.offer-sidebar .wp-block-kadence-posts .entry .entry-title a{
    text-decoration: none;
}
.offer-sidebar .wp-block-kadence-posts.grid-cols{
   row-gap:0;
}
.offer-sidebar .wp-block-kadence-listitem{
    font-weight:bold;
}

/* kursy stacjonarne */
.custom-stationary-courses{
 scroll-behavior: smooth;
}
.stationary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 20px;
}
.stationary-item {
  position: relative;
  overflow: hidden;
}
.stationary-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease-in-out;
}
.stationary-item:hover img {
  transform: scale(1.05);
}
.stationary-label {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-top: 10px;
    background: #f8f8f8;
    padding: 8px;
    border-radius: 5px;
    transition: background 0.3s ease;
}
.stationary-content-box {
  margin-top: 30px;
  padding: 20px;
}
.stationary-item-content {
  display: none;
  border: 1px solid #ddd;
  padding:20px;
}
.stationary-item-info{
  background:#1a1a1a;
  color:#fff;
  padding: 30px;
}
.stationary-item-info-header{
  font-size: 38px;
  color:#fff;
  margin-bottom:40px;
}
.content-area .stationary-item-info p{
  margin-bottom:20px;
}

.stationary-insta-btn {
    display: block;
    background-color: var(--primary);
    color: #fff;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
    margin-top: 5px;
    text-decoration: none;
}

/* oinie kursów*/
.testimonials-slider {
  width: 100%;
  max-width: 960px;
  margin: auto;
  padding: 60px;
  position: relative;
}
.testimonials-slider .swiper-wrapper{
  align-items:center;
}
.swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out;
}
.swiper-slide-active {
  transform: scale(1.05);
}
.testimonials-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding:20px;
}
.testimonials-content img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 15px;
  border: 3px solid var(--primary);
  display: block;
}
.testimonials-content .testimonials-name {
  font-size: 26px;
  font-family: var(--global-heading-font-family);
  margin-bottom: 8px;
  color: #333;
}
.testimonials-content p {
  max-width: 620px;
}
.swiper-button-next, 
.swiper-button-prev {
  color:var(--primary);
  transition: transform 0.2s ease-in-out;
}
.swiper-button-next:hover, 
.swiper-button-prev:hover {
  transform: scale(1.2);
}
/* shop */
.single-product.woocommerce .woocommerce-message{
  background-color:#000;
  color:#fff;
}
.page-template-default.woocommerce-cart .wc-block-components-totals-footer-item-tax,
.page-template-default.woocommerce-checkout .wc-block-components-totals-footer-item-tax{
    display: none;
}
 

/* animations */

.fade-in-up {
  opacity: 0; 
  transform: translateY(200px); 
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.animate-fade-in-up {
  opacity: 1;
  transform: translateY(0);
}
.slide-right {
    animation: slide-right 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@keyframes slide-right {
  0% {
            transform: translateX(300px);
  }
  100% {
            transform: translateX(0px);
  }
}
.slide-left {
    animation: slide-left 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@keyframes slide-left {
  0% {
            transform: translateX(-300px);
  }
  100% {
            transform: translateX(0px);
  }
}

@media only screen and (max-width: 1024px) {
  .single-offer .wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-9-16{
        width:92%;
        padding-bottom: 50%;
    }
  .home-offer-info-box .kadence-info-box-image-inner-intrisic-container{
        width:400px;
    }
  .stationary-grid {
      grid-template-columns: 1fr 1fr;
      padding: 20px 0;
    }
  .stationary-content-box {
    padding: 20px 0;
    }
}

  @media only screen and (max-width: 900px) {
    .home-offer-info-box .wp-block-kadence-infobox > *{
       display: grid;
       grid-template: column;
    }
  }

  @media only screen and (max-width: 768px) {
.contact-logo{
        margin:0 auto;
    }
.content-area .sticky{
   position: relative;
 }
 .content-area .home-offer-info-box .kt-blocks-info-box-media{
       margin:0 auto;
    }
.content-area .home-offer-info-box .kt-infobox-textcontent{
       text-align: center;
    }
.page-offer-items .entry{
     text-align:center;*/
}
.page-offer-items .entry .more-link-wrap{
    margin:0 auto;
}
 .stationary-grid {
      grid-template-columns: 1fr;
  }
 .stationary-item-content {
  padding: 10px;
}
.testimonials-slider {
    max-width: 760px;
    padding: 10px;
    display:flex;
    flex-direction: column;
    gap:50px;
  }
  .testimonials-slider .swiper-wrapper{
    align-items:start;
  }
.testimonials-navigation {
  text-align: center;
  position:relative;
  display:flex;
  gap:15px;
  justify-content:center;
}
.swiper-button-prev,
.swiper-button-next {
  position: static;  
  width: 30px; 
  height: 30px;
}

}
  