@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

html { width: 100%; scroll-behavior: smooth; margin: 0 !important; }
body { font-family: "Montserrat", sans-serif; margin: 0px; padding: 0px; color: #272727;  }

a { color: inherit; }
a:hover { color: inherit; text-decoration: none; }

.button { color: white; border-radius: 15px; background: #b36641; padding: 15px 35px; font-weight: 300 !important; letter-spacing: 1px; border: none; cursor: pointer; }
a.more { font-size: 20px; color: #6c7463; padding-left: 35px; font-family: "Playfair Display", serif; background: url("../img/more.png") no-repeat left center; }
a.back { background: url("../img/back.png") no-repeat left center; padding-left: 35px; }

main { width: 100%; overflow: hidden; padding-top: 75px; }

.title { font-size: 30px; color: #6c7463; font-weight: 400; margin-bottom: 50px; text-align: center; font-family: "Playfair Display", serif; }
.title:after { content: " "; display: block; height: 3px; width: 200px; background: #b36641; margin: 20px auto; }
.title.short:after { width: 100px; }

input:focus { outline: none; }

header { height: 75px; width: 100%; background: white; position: fixed; top: 0; left: 0; z-index: 9999999; color: #4a331b; box-shadow: 0px 10px 20px 0px rgba(66, 68, 90, 0.1); }
header .logo { max-height: 80%; }
header .trp-language-switcher > div { border: none;   -webkit-appearance: none; -moz-appearance: none; background: transparent; background-image: url("data:image/svg+xml;utf8,<svg fill='brown' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>"); background-repeat: no-repeat; background-position: center right; padding-right: 20px; }
header .register-area { font-weight: 300; border-left: 1px solid #b2b2b2; border-right: 1px solid #b2b2b2; }
header .register-area .register-box { display: inline-block;  }
header .register-area .register-box a { color: #4a331b; display: block; font-size: 14px; text-transform: uppercase; }
header .register-area .register-box a.sub-url { font-size: 10px; }
header .register-area .cart { height: 23px; width: 27px; display: inline-block; position: relative;  background: url("../img/cart-ico.png") no-repeat; }
header .register-area .cart span { height: 16px; width: 16px; text-align: center; font-size: 10px; display: block; position: absolute; top: 5%; right: -10%; background: #34636f; font-weight: bold; color: white; border-radius: 99999px; }
header .navbar-nav { gap: 5px; }
header .navbar-nav .menu-item { display: flex; align-items: center; }
header .navbar-nav .menu-item .nav-link { padding: 0 10px; font-size: 15px; }
header .navbar-nav .menu-item.current-menu-item .nav-link:after { content: " "; display: block; height: 3px; width: calc(100% + 40px); left: -20px; background: #b36641; position: relative; top: 25px; }
header .search { height: 75px; display: none; width: 100%; position: fixed; top: 75px; background: white; }
header .search form input { width: 100%; padding: 5px; background: none; color: black; border: 2px solid #cacaca; margin-top: 10px; }

section.home-hero { height: calc(100vh - 75px); position: relative; color: white; background: url("../img/banner.jpg") no-repeat center center; background-position: bottom center; background-size: cover; }
section.home-hero:after { content: ""; display: block; height: 100%; width: 100%; position: absolute; top: 0; left:0; background: rgba(0,0,0,0.2); z-index: 1; }
section.home-hero .container-fluid { position: relative; z-index: 2; }
section.home-hero h2 { font-size: 48px; font-family: "Playfair Display", serif; }
section.home-hero h2:after { content: " "; display: block; height: 2px; width: 41%; background: #b36641; margin: 10px 0px; }
section.home-hero p { font-size: 20px; }

/* ✨ przesunięcie tylko na desktop */
@media (min-width: 992px) {
  section.home-hero .col-11 {
    transform: translateX(-100px);
  }
}

section.product-category { padding-top: 80px; position: relative; background: url("../img/category-shadow.png") top center; background-repeat: no-repeat; }
section.product-category .product-list { overflow: hidden; }
section.product-category .product h3 { font-size: 18px; color: #272727; margin: 0; font-weight: 300; padding: 5px 0px; } /*TU ZNAJDZIESZ GORNY MARGINESZ*/
section.product-category .product .image { width: 100%; transform: translateZ(0); image-rendering: optimizeQuality; backface-visibility: hidden; overflow: hidden; position: relative; padding-bottom: 100%; background-size: 100%; transition: background-size 5s; background-position: center; }
section.product-category .product .image:hover { background-size: 105%; }
section.product-category .product .image .add-cart-button { transition: 0.5s; z-index: 3; background: #b36641; color: white; font-size: 18px; text-align: center; padding: 15px 0px; position: absolute; bottom: -59px; left: 0; width: 100%; }
section.product-category .product .image:hover .add-cart-button { bottom: 0px; }
section.product-category .product .image .card-cart { display: none; color: #272727; font-weight: 300; font-size: 18px; justify-content: center; align-items: center; text-align: center; position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 99; background: rgba(255,255,255,0.85); } 
section.product-category .product .image .card-cart .close { position: absolute; top: 25px; right: 15px; font-size: 18px; cursor: pointer; z-index: 1000; }
section.product-category .product .image .card-cart form { height: 70%; overflow: auto; width: 70%; display: flex; flex-direction: column; justify-content: flex-start; padding-bottom: 10%; }
section.product-category .product .image .card-cart form select { width: 100%; padding: 5px; background: none; color: black; border: 2px solid #cacaca; margin-top: 5px; }
section.product-category .product .image .card-cart button { cursor: pointer; background: #b36641; border: none; color: white; z-index: 1000; font-size: 18px; text-align: center; padding: 15px 0px; position: absolute; top: calc(100% - 57px); left: 0; width: 100%; }

section.product-category .product .image .product-badge { height: 128px; width: 128px; position: absolute; z-index: 3; top: -2px; left: -2px; background-size: cover; background-position: center; }
section.product-category .product .price { font-size: 18px; font-weight: 300; position: relative; top: -1px; } 
section.product-category .product .price strong { font-size: 18px; color: #b36641; font-weight: 400; padding: 0 5px; }
section.product-category .button { position: relative; top: 15px; z-index: 5; }
section.product-category .button-next { height: 33px; width: 23px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; cursor: pointer; position: absolute; top: 50%; right: 3%;  }
section.product-category .button-prev { height: 33px; width: 23px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; transform: rotate(180deg); cursor: pointer; position: absolute; top: 50%; left: 3%;  }

section.product-category.page { background: none; padding-bottom: 70px; }
section.product-category.page .product { padding-bottom: 40px; }
section.product-category.page .product h3 { padding: 0px; padding-top: 5px; } /*TU ZNAJDZIESZ GÓRNY OD KATEGORII */

section.home-about { padding-top: 130px; background: url("../img/category-shadow.png") top center; background-repeat: no-repeat; }
section.home-about h2.title { text-align: left; }
section.home-about h2.title:after { margin: 20px 0px; }
section.home-about p { max-width: 630px; line-height: 1.7; font-size: 20px; color: #272727; font-weight: 300; }
section.home-about a.more { display: inline-block; margin: 20px 0px; }
section.home-about .about-area>div { max-width: 200px; margin-top: 50px; }

section.page-about { padding-top: 130px; background: url("../img/category-shadow.png") top center; background-repeat: no-repeat; }
section.page-about h2.title { text-align: left; }
section.page-about h2.title:after { margin: 20px 0px; }
section.page-about p { max-width: 630px; line-height: 1.7; font-size: 20px; color: #272727; font-weight: 300; }
section.page-about a.more { display: inline-block; margin: 20px 0px; }
section.page-about .about-area>div { max-width: 200px; margin-top: 50px; }

section.gallery { padding-top: 80px; padding-bottom: 160px; position: relative; background: url("../img/category-shadow.png") bottom center; background-repeat: no-repeat; }
section.gallery .gallery-list { overflow: hidden; }
section.gallery .image { width: 100%; position: relative; transition: 3s; padding-bottom: 100%; background-size: 100%; background-position: center; }
section.gallery .image:hover { background-size: 110%; }
section.gallery .button-next { height: 33px; width: 23px; z-index: 5; background: url("../img/arrow.png") no-repeat center; cursor: pointer; position: absolute; top: 43%; right: 3%;  }
section.gallery .button-prev { height: 33px; width: 23px; z-index: 5; background: url("../img/arrow.png") no-repeat center; transform: rotate(180deg); cursor: pointer; position: absolute; top: 43%; left: 3%;  }

section.contact { padding-top: 30px; padding-bottom: 120px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.contact h2.title { text-align: left; margin-bottom: 0px; }
section.contact h2.title:after { margin: 20px 0px; }
section.contact input[type='text'] { margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.contact input[type='email'] { margin-top: 40px; padding-bottom: 10px;  width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.contact textarea { margin-top: 40px; padding-bottom: 10px;  width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.contact .checkboxes { font-size: 12px; font-weight: 300; padding-top: 60px; padding-bottom: 20px; }
section.contact .checkboxes label { padding-left: 20px; position: relative; }
section.contact .checkboxes label input { position: absolute; left: 0; top: 3px; }
section.contact .checkboxes p { font-size: 14px; color: #b36641; font-weight: 300; padding-top: 20px; }
section.contact .checkboxes a { text-decoration: underline; }

section.privacy { padding: 100px 0px; }
section.privacy h1 { margin-bottom: 30px; }
section.privacy h2 { font-size: 22px; font-weight: 600; padding-bottom: 20px; padding-top: 35px; }
section.privacy h2 span { color: #ce684c; }
section.privacy p { color: #272727; font-size: 16px; font-weight: 300; line-height: 1.7; }
section.privacy a { text-decoration: underline; }
section.privacy ul { list-style-type: square; padding-left: 19px; }
section.privacy ul li { font-size: 16px; font-weight: 300; padding: 6px 0px; }
section.privacy ul li::marker { color: #b36641; }
section.privacy ol { list-style-type: square; padding-left: 19px; }
section.privacy ol li { font-size: 16px; font-weight: 300; padding: 6px 0px; }
section.privacy ol li::marker { color: #b36641; }

section.thanks { padding: 150px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.thanks h1 { margin-bottom: 30px; }
section.thanks p { color: #272727; margin: 0 auto; margin-bottom: 60px; margin-top: 20px; max-width: 800px; font-size: 16px; font-weight: 300; line-height: 1.7; }
section.thanks .button { margin-top: 150px; font-weight: bold; }

section.login { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.login h1 { margin-bottom: 30px; }
section.login form { display: block; margin: 0 auto; margin-bottom: 20px; margin-top: 20px; max-width: 600px; }
section.login input[type='email'] { margin-top: 40px; text-align: center; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.login input[type='password'] { margin-top: 40px; text-align: center; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.login a { font-size: 14px; color: #b36641; font-weight: 300; padding-top: 20px; display: block; }
section.login .button { margin-top: 50px; font-weight: bold; }

section.no-register { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.no-register h1 { margin-bottom: 30px; text-align: left; }
section.no-register h1:after { margin: 20px 0px; }
section.no-register form { display: block; margin: 0 auto; margin-bottom: 20px; margin-top: 20px; }
section.no-register input[type='email'] { margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.no-register input[type='text'] { margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.no-register input[type='password'] { margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.no-register input[type='number'] { -moz-appearance: textfield; margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.no-register .checkboxes { font-size: 12px; font-weight: 300; }
section.no-register .checkboxes label { padding-left: 20px; position: relative; }
section.no-register .checkboxes label input { position: absolute; left: 0; top: 3px; }
section.no-register .checkboxes p { font-size: 14px; color: #b36641; font-weight: 300; padding-top: 20px; }
section.no-register .checkboxes a { text-decoration: underline; }
section.no-register select { width: 100%; margin-top: 28px; background: none; border: none; border-bottom: 1px solid #b2b2b2; padding: 15px 5px; }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#section.no-register a { font-size: 14px; color: #b36641; font-weight: 300; padding-top: 20px; padding-bottom: 113px; display: block; text-align: right; }
section.no-register .button { margin-top: 50px; font-weight: bold; }
section.no-register .shadow { width: 58px; height: 717px; background: url("../img/shadow.png") no-repeat center center; }

section.user { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.user h1 { margin-bottom: 30px; }
section.user form { display: block; margin: 0 auto; margin-bottom: 20px; margin-top: 20px; max-width: 900px; }
section.user input[type='text'] { margin-top: 40px; padding-bottom: 10px; width: 100%; font-size: 18px; padding-left: 10px; border: none; border-bottom: 1px solid #b2b2b2; }
section.user .button { margin-top: 50px; font-weight: bold; }

/* === [LEGACY] Sekcja rejestracji – tylko dla Pie Register === */
section.register { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.register h1 { margin-bottom: 30px; }

/* zawężone do PR: NIE wpływa na Woo */
section.register form.pie_register_reg_form {
  display: block;
  margin: 20px auto 20px;
  max-width: 1400px;
}
section.register form.pie_register_reg_form input[type='text'],
section.register form.pie_register_reg_form input[type='email'],
section.register form.pie_register_reg_form input[type='password'],
section.register form.pie_register_reg_form input[type='number']{
  margin-top: 40px;
  padding-bottom: 10px;
  width: 100%;
  font-size: 18px;
  padding-left: 10px;
  border: none;
  border-bottom: 1px solid #b2b2b2;
}

section.register .button { margin-top: 50px; font-weight: bold; }
section.register .checkboxes { font-size: 12px; text-align: left; font-weight: 300; padding-top: 60px; padding-bottom: 20px; }
section.register .checkboxes label { padding-left: 20px; position: relative; }
section.register .checkboxes label input { position: absolute; left: 0; top: 3px; }

section.payment { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.payment h2 { color: #b36641; font-size: 14px; font-weight: 300; border-bottom: 1px solid #b2b2b2; padding-left: 10px; padding-bottom: 10px; }
section.payment table { border: none; width: 100%; font-size: 16px; color: #212121; font-weight: 300; }
section.payment table tr td { padding: 10px 10px; }
section.payment table tr td:first-child:empty { display: none; }
section.payment table tr td:first-child { max-width: 15px; }
section.payment table tr td:last-child { text-align: right; }
section.payment table tr td input { height: 18px; width: 18px; position: relative; top: 2px; }

section.cart { padding: 100px 0px; background: url("../img/contact-bg.png") no-repeat right bottom; }
section.cart table { border: none; width: 100%; font-size: 16px; color: #212121; font-weight: 300; }
section.cart table tr th { color: #b36641; font-size: 14px; font-weight: 300; border-bottom: 1px solid #b2b2b2; padding-left: 10px; }
section.cart table tr td { color: #212121; font-size: 18px; font-weight: 300; border-bottom: 1px solid #b2b2b2; padding: 25px 0px; padding-left: 10px; }
section.cart table tr:last-child td { border: none; }
section.cart .code { border: 1px solid #b7b8b9; padding: 15px 30px; }

section.product { padding: 50px 0px; } 
section.product h1 { text-align: left; }
section.product h1:after { margin-left: 0; }
section.product h2 { color: #6c7463; font-size: 28px; font-weight: 400; margin-bottom: 30px; font-family: "Playfair Display", serif; display: inline-block; position: relative; }
section.product h2:after { content: ""; position: absolute; left: 0; bottom: -8px; height: 2px; width: 100%; background: #b36641; }
section.product p { color: #272727; margin: 0 auto; margin-top: 0px; margin-bottom: 0px; max-width: 800px; font-size: 16px; font-weight: 300; line-height: 1.7; }
section.product .product_desc { color: #272727; margin: 0 auto; margin-top: 0px;  margin-bottom: 0px; font-size: 16px; font-weight: 300; line-height: 1.7; }
section.product select { width: 100%; background: none; border: none; border-bottom: 1px solid #b2b2b2; padding: 15px 30px; }
section.product .price { font-size: 20px; font-weight: 400; color: #b36641; }
section.product .amount { width: 40px; text-align: center; border: none; border-right: 1px solid #b7b8b9; border-left: 1px solid #b7b8b9; padding: 4px 6px; }
section.product .amount::-webkit-outer-spin-button,
section.product .amount::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
section.product .amount { -moz-appearance: textfield; }
section.product .quantity-add { cursor: pointer; }
section.product .quantity-remove { cursor: pointer; }
section.product ul { list-style-type: square; padding-left: 50px; padding-top: 5px; }
section.product ul br { display: none; }
section.product ul li { font-size: 16px; font-weight: 300; padding: 0px 0px; }
section.product ul li::marker { color: #b36641; }
section.product #main-thumbnail { width: 100%; }
section.product .slider { width: 100%; cursor: pointer; height: auto !important; }

.product-slider-cnt { position: relative; overflow: hidden; padding: 0; }
.product-slider-cnt .button-next { height: 50px; width: 50px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; cursor: pointer; position: absolute; top: 50%; right: 3%;  }
.product-slider-cnt .button-prev { height: 50px; width: 50px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; transform: rotate(180deg); cursor: pointer; position: absolute; top: 50%; left: 3%;  }
.product-slider-cnt img { width: 100%; }

.x3 .button-prev { display: none; }
.x3 .button-next { display: none; }

.woocommerce-message { display: none; } /* globalnie jak było – lokalnie przywracamy w rejestracji */
.thumb-slider { height: 585px; overflow: hidden; }
.thumb-button-next { height: 50px; width: 50px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; transform: rotate(90deg); cursor: pointer; position: absolute; bottom: -9%; left: 29%;  }
.thumb-button-prev { height: 50px; width: 50px; background: url("../img/arrow.png") no-repeat center; z-index: 99999; transform: rotate(-90deg); cursor: pointer; position: absolute; top: -9%; left: 29%; }
.trp-language-switcher:hover .trp-ls-shortcode-language { background: white; }

footer.main { /*padding: 80px 0px;*/ height: 200px; background: white; color: #272727; 
    background: url(../img/category-shadow.png) top center;
    background-repeat: no-repeat;

}
footer.main p { float: left; margin: 0; font-weight: 300; text-align: left; }
footer.main .ico { float: left; margin-right: 15px; filter: brightness(0); }

footer.copy { padding: 10px 0px; font-size: 12px; font-weight: 300; background: white; color: black; /*background: #6c7463; color: #6e8d94; background: linear-gradient(180deg,rgba(238, 209, 211, 1) 0%, rgba(213, 173, 171, 1) 100%); */ }
footer.copy span { padding: 0 10px; }
footer.copy img:not(.raw) { margin-left: 20px; filter: brightness(0);  }

.swiper-wrapper { display: flex; width: 100%; }
.pieregformWrapper { display: none; }

.product-hover-slider {
  position: relative;
  overflow: hidden;
}

.image-layer {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease, transform 1s ease;
  transform: scale(1);
}

.product-hover-slider:hover .image-layer {
  transform: scale(1.05);
}

.layer1 {
  z-index: 1;
  opacity: 1;
}

.layer2 {
  z-index: 2;
  opacity: 0;
}
#piereg_login_form { display: none; }

@media (min-width: 1200px){
    .container {
        max-width: 1600px;
    }
}

@media screen and (max-width: 760px){
  section.home-hero .row > div.col-11 {
    flex: 0 0 calc(100% + 50px) !important;  /* 100% + 50px */
    max-width: calc(100% + 50px) !important;
margin-top: 55px;
     }

  section.home-hero p {
    width: calc(100% + 50px) !important;
    max-width: calc(100% + 50px) !important;
    }
}
@media screen and (max-width: 760px) {
	
	.trp-language-switcher { margin-top: 7px; position: relative; left: -38px; }
	.trp-language-switcher .trp-ls-shortcode-current-language { width: 70px !important; }
	.trp-language-switcher:hover .trp-ls-shortcode-language { top: 50px; }

    header { height: 56px; }
    main { padding-top: 100px; }

    #navbar { width: 100%; position: absolute; top: 0; left: 0; background: white; }
    header .navbar-nav .menu-item { padding: 10px 0px; }
    header .navbar-nav .menu-item.active .nav-link:after { content: none; }
	
	header .navbar-nav .menu-item.current-menu-item .nav-link:after { top: 5px; } 
/* tu jest napis na banerze na komorce*/
    section.home-hero { height: calc(55vh - 56px); }
    section.home-hero h2 { font-size: 19px; }
	section.home-hero h2:after { height: 2px; width: 51%; }
    section.home-hero p { font-size: 13px; }
	
	section.home-about p { font-size: 18px; }


    section.product-category { background: none; }
	.thumb-slider { height: 321px; }
	.thumb-button-next { bottom: -15%; }
	.thumb-button-prev { top: -15%; }

    footer.main { height: 380px; padding: 30px 0px; }
    footer.main p { font-size: 14px; }
	footer.main .ico { max-width: 25px; }
	footer.main .footer-logo { max-width: 80%; display: block; margin: 0 auto; }
	.menu-footer { flex-direction: column; padding-left: 34.5%; }
	.menu-footer span { display: none; }
	.menu-footer a { padding: 3px 0px; }

	.x3 .button-prev { display: block; }
	.x3 .button-next { display: block; }
	
	section.product { padding: 0px 0px; }
	
	.search-form.mobile { background: white; padding: 5px 0px; padding-bottom: 10px; }
	.search-form.mobile button { background: none; border: none; }
	.search-form.mobile input { padding: 5px 5px; border: 1px solid rgba(0,0,0,.1); font-size: 12px; border-radius: 10px; }
	
	section.home-hero .container-fluid { padding-top: 10em; }

}
/* === FIX: mobile search nie nachodzi na menu === */
@media (max-width: 767.98px) {
  header .navbar-collapse {
    margin-top: 60px; /* odsunięcie listy menu od pola wyszukiwania */
  }

  header .search-form.mobile {
    z-index: 10000;      /* nad menu, ale nie przykrywa bo menu jest niżej */
    position: relative;  /* zamiast absolute/fixed w tym kontekście */
  }
}
:root{
  --hm-accent:#b36641;  /* kolor paska/akcentów */
  --hm-text:#272727;    /* kolor tekstu pozostałych akapitów */
  --hm-lead:#6c7463;    /* kolor pierwszego akapitu (lead) */
}

/* Karta opisu kategorii */
.hm-category-intro{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:14px;
  padding:28px 32px;
  margin:18px 0 36px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  transition:box-shadow .3s ease, transform .3s ease;
  color:var(--hm-text); /* domyślny kolor całego tekstu */
}
.hm-category-intro:hover{ box-shadow:0 14px 35px rgba(0,0,0,.12); transform:translateY(-2px); }

/* Wszystkie akapity */
.hm-category-intro p{
  margin:0 0 14px;
  font-size:1.05rem;
  line-height:1.7;
  display:inline-block;
  position:relative;
  font-weight:300;
  color:var(--hm-text); /* kolor dla pozostałych akapitów */
}

/* Pierwszy akapit = lead (osobny kolor i font) */
.hm-category-intro p:first-of-type{
  margin-bottom:20px;
  font-family:'Playfair Display', serif;
  font-weight:500;
  font-size:1.2rem;
  color:var(--hm-lead); /* kolor leada */
}
.hm-category-intro p:first-of-type::after{
  content:"";
  display:block;
  height:2px;
  background:var(--hm-accent);
  margin-top:8px;
  width:100%;
}

.hm-category-intro p:last-child{ margin-bottom:0; }

/* Linki */
.hm-category-intro a{
  color:var(--hm-accent);
  text-decoration:none;
  border-bottom:1px dashed rgba(192,100,59,.4);
  transition:border-color .2s;
}
.hm-category-intro a:hover{ border-bottom-color:var(--hm-accent); }

/* Responsywność */
@media (max-width:991.98px){
  .hm-category-intro{
    padding:20px 18px;
    margin:14px 0 24px;
    border-radius:10px;
  }
}



/* Mobile tuning TUTAJ ZNAJDZIESZ USTAWIENIA CENY KOMÓRKI*/ 
@media (max-width: 767.98px) {
  section.product-category .product .row {
    padding: 2px 2px;
    gap: 2px;
  }
  section.product-category .product h3 {
    font-size: 15px;
  }
  section.product-category .product .price {
    font-size: 13.5px;
  }
  section.product-category .product .price strong {
    font-size: 15px;
  }
}


/* 111111111) Kontener stopki – zarówno nowa (kategorie), jak i stara (home) TU ZNAJDZIESZ GAP O PADDING OD CENY PRODUKTU!!! */
section.product-category .product .hm-card-footer,
.product > .row.hm-card-footer,
/* na home: ostatnia .row w karcie produktu pod obrazkiem */
.product > .row:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0px;
  padding: 5px 0px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
  width: 100%;
}

/* Hover karty – delikatny cień i lekkie uniesienie */
.product:hover .hm-card-footer,
.product:hover > .row:last-child {
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
  transform: translateY(-1px);
}

/* 2) Zerowanie kolumn Bootstrapa w stopce (na home było col-7/col-5) */
.product > .row:last-child > [class*="col-"],
.product > .row.hm-card-footer > [class*="col-"] {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  text-align: center !important;
}

/* 3) Nazwa produktu – Montserrat, #272727, ellipsa */
section.product-category .product .hm-title,
.product > .row:last-child h3,
.product > .row.hm-card-footer h3 {
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.35;
  color: #272727;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

/* 4) Cena – wyśrodkowana, “od” i “zł” szare, liczba w #b36641 */
section.product-category .product .hm-price,
.product > .row:last-child .price,
.product > .row.hm-card-footer .price {
  display: flex !important;
  align-items: baseline;
  justify-content: center;    /* zawsze center */
  gap: .45ch;
  font-size: 14px;
  color: #7a7a7a;              /* “od” i “zł” */
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  padding-top: 0 !important;   /* zbicie pt-3 z home */
}

section.product-category .product .hm-price strong,
.product > .row:last-child .price strong,
.product > .row.hm-card-footer .price strong {
  color: #b36641;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}


/* [HM] Ujednolicenie szerokości stopki z obrazkiem (home + kategorie) */
.product .hm-card-footer,
.product > .row:last-child {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box; /* wymusza równość z obrazkiem */
}

/* === WooCommerce: Rejestracja – docelowy fix tylko na /rejestracja/ === */

/* A) prawa kolumna (rejestracja) pełna szerokość, logowanie chowamy */
section.register #customer_login .u-columns{ display:block; width:100%; }
section.register #customer_login .u-column1{ display:none !important; }
section.register #customer_login .u-column2{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* B) formularz Woo – bez wąskiego max-width i z siatką */
section.register .woocommerce form.register,
section.register .woocommerce .woocommerce-form-register{
  width:100% !important;
  max-width:none !important;
  margin:20px 0 !important;

  display:grid !important;
  grid-template-columns:1fr;  /* mobile */
  gap:18px 22px;
  align-items:start;
}
@media (min-width: 992px){
  section.register .woocommerce .woocommerce-form-register{
    grid-template-columns:1fr 1fr; /* desktop: 2 kolumny */
  }
}

/* C) elementy formularza jako grid-items; bez floatów/szerokości */
section.register .woocommerce .woocommerce-form-register > p,
section.register .woocommerce .woocommerce-form-register .form-row{
  margin:0 !important;
  float:none !important;
  width:auto !important;
}

/* pełna szerokość dla recaptcha, polityki, przycisku, .form-row-wide */
section.register .woocommerce .woocommerce-form-register .form-row-wide,
section.register .woocommerce .woocommerce-privacy-policy-text,
section.register .woocommerce .g-recaptcha{
  grid-column:1 / -1;
}

/* D) spójny wygląd pól – bez „40px” z legacy i padding-left */
section.register .woocommerce .woocommerce-form-register input[type="text"],
section.register .woocommerce .woocommerce-form-register input[type="email"],
section.register .woocommerce .woocommerce-form-register input[type="password"],
section.register .woocommerce .woocommerce-form-register input[type="number"],
section.register .woocommerce .woocommerce-form-register input[type="tel"],
section.register .woocommerce .woocommerce-form-register select,
section.register .woocommerce .woocommerce-form-register textarea{
  margin-top:0 !important;
  padding-left:0 !important;
  padding-bottom:10px;
  border:0;
  border-bottom:1px solid #dcdcdc;
  background:transparent;
  outline:none;
  border-radius:0;
  width:100%;
}

/* E) etykiety nad polami */
section.register .woocommerce .woocommerce-form-register label{
  display:block;
  font-size:14px;
  color:#98a0a6;
  margin-bottom:6px;
}

/* F) komunikaty Woo – widoczne TYLKO w rejestracji (globalnie są off) */
section.register .woocommerce-message{ display:block !important; }

/* === WooCommerce: rejestracja – pełna szerokość kolumny === */
section.register #customer_login.u-columns.col2-set { 
  display:block !important; 
  width:100% !important; 
}

section.register #customer_login .u-column1,
section.register #customer_login .col-1{
  display:none !important;  /* chowamy logowanie */
}

/* KLUCZ: .col-2 miała ~48% i float z Woo/motywu – zerujemy to */
section.register #customer_login .u-column2,
section.register #customer_login .col-2{
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* formularz rejestracji jako grid (1 kol. mobile, 2 kol. desktop) */
section.register #customer_login .woocommerce-form-register{
  display:grid !important;
  grid-template-columns:1fr;
  gap:18px 22px;
  align-items:start;
  width:100%;
}
@media (min-width: 992px){
  section.register #customer_login .woocommerce-form-register{
    grid-template-columns:1fr 1fr;
  }
}

/* pola – bez 40px marginesu i bez padding-left z motywu */
section.register #customer_login .woocommerce-form-register > p,
section.register #customer_login .woocommerce-form-register .form-row{
  margin:0 !important;
  float:none !important;
  width:auto !important;
}
section.register #customer_login .woocommerce-form-register input[type="text"],
section.register #customer_login .woocommerce-form-register input[type="email"],
section.register #customer_login .woocommerce-form-register input[type="password"],
section.register #customer_login .woocommerce-form-register input[type="tel"],
section.register #customer_login .woocommerce-form-register input[type="number"],
section.register #customer_login .woocommerce-form-register select,
section.register #customer_login .woocommerce-form-register textarea{
  margin-top:0 !important;
  padding-left:0 !important;
  padding-bottom:10px;
  border:0;
  border-bottom:1px solid #dcdcdc;
  background:transparent;
  outline:none;
  width:100%;
  border-radius:0;
}

/* elementy pełnej szerokości (np. polityka/recaptcha/przycisk) */
section.register #customer_login .woocommerce-form-register .form-row-wide,
section.register #customer_login .woocommerce-privacy-policy-text,
section.register #customer_login .g-recaptcha{
  grid-column:1 / -1;
}

/* ramka formularza na całą szerokość sekcji (nadpisuje max-width 1400px) */
section.register form{
  max-width:100% !important;
}

/* === WooCommerce: Rejestracja – pełna szerokość i siatka; bez duplikatów === */

/* prawa kolumna (rejestracja) pełna szerokość, logowanie chowamy */
section.register #customer_login .u-columns{display:block;width:100%}
section.register #customer_login .u-column1{display:none!important}
section.register #customer_login .u-column2{width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important}

/* sam formularz rejestracji: grid (1 kolumna mobile, 2 kolumny desktop) */
section.register #customer_login .woocommerce-form-register{
  display:grid!important;
  grid-template-columns:1fr;
  gap:18px 22px;
  align-items:start;
  width:100%;
}
@media (min-width: 992px){
  section.register #customer_login .woocommerce-form-register{
  grid-template-columns:1fr 1fr;
  }
}

/* każdy element jako item grida; bez floatów/szerokości motywu */
section.register #customer_login .woocommerce-form-register > p,
section.register #customer_login .woocommerce-form-register .form-row{
  margin:0!important; float:none!important; width:auto!important;
}

/* elementy pełnej szerokości */
section.register #customer_login .woocommerce-form-register .form-row-wide,
section.register #customer_login .woocommerce-privacy-policy-text,
section.register #customer_login .g-recaptcha{
  grid-column:1 / -1;
}

/* wygląd pól spójny z motywem (podkreślenie) */
section.register #customer_login .woocommerce-form-register input[type="text"],
section.register #customer_login .woocommerce-form-register input[type="email"],
section.register #customer_login .woocommerce-form-register input[type="password"],
section.register #customer_login .woocommerce-form-register input[type="tel"],
section.register #customer_login .woocommerce-form-register input[type="number"],
section.register #customer_login .woocommerce-form-register select,
section.register #customer_login .woocommerce-form-register textarea{
  margin-top:0!important; padding-left:0!important; padding-bottom:10px;
  border:0; border-bottom:1px solid #dcdcdc; background:transparent; outline:none; border-radius:0; width:100%;
}

/* etykiety */
section.register #customer_login .woocommerce-form-register label{
  display:block; font-size:14px; color:#98a0a6; margin-bottom:6px;
}

/* ramka formularza na pełną szerokość sekcji */
section.register form{max-width:100%!important}

/* BEZPIECZNIK reCAPTCHA: żeby nie przyklejała się do lewego górnego rogu */
section.register #customer_login .g-recaptcha{
  position:static!important;
  display:inline-block;
  align-self:start;
}

/* komunikaty Woo widoczne na tej podstronie */
section.register .woocommerce-message{display:block!important}

/* Blok kolorów fasady/detali – wyświetlane pod selectem */
.hm-swatches {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 0 14px;
}

.hm-swatch {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.15);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow .2s ease;
}

.hm-swatch.is-selected {
  box-shadow: 0 0 0 3px rgba(0,0,0,.25);
}

.hm-swatch-chip {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.25);
}

/* Podgląd „Fasada + Detale” poniżej */
.hm-duo-preview {
  display: flex;
  gap: 20px;
  margin: 12px 0;
  padding: 10px 14px;
  border: 1px dashed rgba(0,0,0,.15);
  border-radius: 10px;
  background: #fafafa;
}
.hm-duo-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hm-duo-chip {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18);
}

/* === [HM] Sekcja opinii na dole === */
.home-reviews { padding: 60px 0; background: #fafafa; }
.home-reviews .title { margin-bottom: 30px; text-align: center; }

/* === [HM] Opinie Google (RichPlugins) – karty === */
.grw-row {
  background: #fff;
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.grw-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

/* Tekst recenzji */
.grw-review-text {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  font-weight: 300;
}

/* Autor */
.grw-review-author {
  font-weight: 600;
  margin-top: 10px;
  color: #8e412e; /* akcent Happy Mouse */
}

/* Gwiazdki */
.grw-stars svg {
  fill: #f4c542 !important; /* złoty */
  width: 18px;
  height: 18px;
}

/* Avatar */
.grw-review-avatar img {
  border-radius: 50%;
  border: 2px solid #eee;
}

/* Siatka 3-kolumnowa (gdy wtyczka nadaje .grw-columns-3) */
.grw-columns-3 .grw-row { flex: 1 1 calc(33.333% - 20px); margin: 10px; }
@media (max-width: 768px){
  .grw-columns-3 .grw-row { flex: 1 1 100%; margin: 10px 0; }
}

/* Pasek korzyści – ikony w jednym rzędzie z opisem pod spodem */
.hm-benefits__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 w rzędzie */
  gap: 24px; /* odstępy między elementami */
  list-style: none;
  margin: 0;
  padding: 0;
}

.hm-benefits__item {
  display: flex;
  flex-direction: column; /* ustawia napis POD ikoną */
  align-items: center;
  text-align: center;
  padding: 12px;
}

.hm-benefits__icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px; /* odstęp od tytułu */
}

.hm-benefits__icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Tytuł i opis */
.hm-benefits__title {
  font-weight: 600;
  font-size: 16px;
  color: #777777;
  line-height: 1.3;
}

.hm-benefits__desc {
  font-size: 13px;
  color: #777777;
  margin-top: 4px;
}

/* Responsywność */
@media (max-width: 1024px) {
  .hm-benefits__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .hm-benefits__list { grid-template-columns: 1fr; }
}

/* === [HM] Ujednolicenie FAQ do stylu "Polityka cookies" === */
/* 1) PODMIEŃ XXXXX na ID strony FAQ (WP > Strony > FAQ, najedź myszką – w URL zobaczysz post=XXXXX) */

.page-id-XXXXX .hm-faq-wrap,
.page-id-XXXXX .entry-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 80px 16px;           /* podobnie jak na podstronach polityk */
  font-size: 16px;
  line-height: 1.75;
  color: #272727;
}

/* Nagłówki – jak na stronach polityk (większe, wyraźniejsze) */
.page-id-XXXXX .entry-content h1 { 
  font-size: 40px; 
  font-weight: 600; 
  margin: 0 0 24px; 
}
.page-id-XXXXX .entry-content h2 { 
  font-size: 28px; 
  font-weight: 600; 
  margin: 32px 0 12px; 
}
.page-id-XXXXX .entry-content h3,
.page-id-XXXXX .entry-content h4,
.page-id-XXXXX .entry-content h5,
.page-id-XXXXX .entry-content h6 {
  font-size: 22px;
  font-weight: 600;
  margin: 24px 0 10px;
}

/* Akapity i odstępy */
.page-id-XXXXX .entry-content p { 
  margin: 0 0 16px; 
}

/* Listy – wcięcia i czytelne punktorowanie jak na cookies */
.page-id-XXXXX .entry-content ul { 
  list-style: disc; 
  padding-left: 1.25em; 
  margin: 8px 0 16px; 
}
.page-id-XXXXX .entry-content ol { 
  list-style: decimal; 
  padding-left: 1.25em; 
  margin: 8px 0 16px; 
}
.page-id-XXXXX .entry-content li + li { 
  margin-top: 6px; 
}

/* Linki w treści (kolor/hover spójny z politykami) */
.page-id-XXXXX .entry-content a { 
  color: #272727; 
  text-decoration: underline; 
}

/* Drobne „bezpieczniki” na mobilu */
@media (max-width: 768px) {
  .page-id-XXXXX .entry-content { 
    padding: 60px 14px; 
  }
  .page-id-XXXXX .entry-content h1 { font-size: 32px; }
  .page-id-XXXXX .entry-content h2 { font-size: 24px; }
  .page-id-XXXXX .entry-content h3,
  .page-id-XXXXX .entry-content h4,
  .page-id-XXXXX .entry-content h5 { font-size: 20px; }
}

