/*
Theme Name: Alchimica
Theme URI: 
Author: synchronicity.one
Author URI: 
Description: A child of MMP
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.1 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: magna-mater-prima
Text Domain: alchimica
Tags: 
*/

/*megamenu*/
.hide-menu {display:none!important;}

.wp-container-3 {z-index:11!important;}

/* Reset marginesow miedzy blokami */
body .wp-site-blocks > *,
.wp-site-blocks > *:where(:not(.alignfull)) {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/*pelna szerokosc elementu jesli potrzeba*/
.max-width-alch {width:100%;}

/*breadcrumbs na calej stronie*/

.breadcrumb-list {
    flex-wrap:wrap;
    column-gap: 0.5rem!important;
    row-gap:0!important;
}

.breadcrumb-item {
    white-space: wrap;
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--extra-small);
}


/* =============================================================================
   glowna bestsellery
   ============================================================================= */
.wc-block-components-product-image {
  margin: 0 0 12px;
    margin-top: 0px;
    margin-bottom: 12px;
  min-height: 218px;
  display: flex;
  align-items: center;
}


   /* Bestsellery - hover effects dla bloków WooCommerce */
.wc-block-product-template .wc-block-product {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    transition: all 0.3s ease;
    background: #fff;
}

.wc-block-product-template .wc-block-components-product-image {
    position: relative;
}

.wc-block-product-template .wc-block-components-product-button {
    position: absolute;
    top: 0;
    left: -15px;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(3px);
    transform: translateY(-100%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 10;
    padding: 15px;
    height: 55%;
    width: 102%;
}

.wc-block-product-template .wp-block-post-title {text-align:left;}

.wc-block-product-template .wc-block-product:hover .wc-block-components-product-button {
    transform: translateY(0);
    opacity: 1;
}

.wc-block-product-template .wp-block-button__link {
    background: var(--wp--preset--color--primary) !important;
    border-radius: 4px;
    font-weight: 400;
    font-family: var(--wp--preset--font-family--oswald);
    transition: all 0.3s ease;
    width: 86%;
    text-align: center;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wc-block-product-template .wp-block-button__link:hover {
    background: var(--wp--preset--color--secondary) !important;
    text-decoration: none !important;
}

/* =============================================================================
   glowna boxy - karty kategorii
   ============================================================================= */

.alch-box-main {
    border:1px solid #fff;
}
.alch-box-main:hover {
    border:1px solid var(--wp--preset--color--primary);
    opacity:0;
    transition:all 0.5s ease-in-out;
}

.alch-full-cover-link {padding:0!important; margin:0!important;}

.alch-full-cover-link a {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10 !important;
    opacity: 0 !important;
    cursor: pointer !important;
}

@media (min-width:800px) {

/*przejscia dla kart kategorii dla cover*/
.wp-block-cover {
  transition: border-color 0.5s ease;
}

.wp-block-cover .wp-block-cover__background {
  transition: background-color 0.5s ease;
}

/* efekt hover dla bloku Cover */
.wp-block-cover:hover {
  border:1px solid var(--wp--preset--color--primary);
}

/* overlay robi sie bialy z delikatna przezroczystoscia */
.wp-block-cover:hover .wp-block-cover__background.has-background-dim {
  background-color: #ffffff !important;
  opacity:0.9;
  border:1px solid var(--wp--preset--color--primary);
  transition:all 0.5s ease-in-out;
}

/* naglowek: ustaw relative i pseudo-element do animowanej kreski */
.wp-block-cover__inner-container .box-heading {
  position: relative;
  transition: color 0.5s ease-in-out;
  color:#fff;
}
.wp-block-cover__inner-container .box-heading::after {
  content: "";
  position: absolute;
  bottom: 0;  /* odległość kreski od tekstu */
  left: 0;
  height: 1px;
  width: 100%;
  background: #fff;
  transition: background 0.5 ease-in-out;
}

/* na hover Cover: kolor tekstu i wysunięcie kreski */
.wp-block-cover:hover .wp-block-cover__inner-container .box-heading,
.wp-block-cover:hover .wp-block-cover__inner-container .box-content {
  color: #000;
  text-align: left;
}

.wp-block-cover:hover .wp-block-cover__inner-container .box-heading::after {
    background: transparent;
  transition: background 0.5s ease-in-out;
}

.box-content {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease-in-out;
  height: 150px;
}

/* przy hover Cover tekst wjezdza w gore i sie odslania */
.wp-block-cover:hover .box-content {
  opacity: 1;
  transform: translateY(0);
}

.hover-button {
  opacity: 0;
  transform: translateY(15px);
  transition: all 0.5s ease-in-out;
  position: absolute;
  top: 78%;
}

.wp-block-cover:hover .hover-button {
  display: flex;
  opacity: 1;
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  transform: translateY(0);
  transition: all 0.5s ease-in-out!important;
}
}

@media (max-width:799px){
    .wp-block-cover .wp-block-cover__background {opacity:0.6!important;}
    .hover-button {
        color:#ff5447!important;
         font-weight:700!important;
         font-size:17px!important;
     }

     .box-heading {color:#fff!important;}
     .box-content {font-size:16px!important; color:#fff;}
}

/*Ustawianie marginesow miedzy media-text block*/

.wp-block-media-text {
column-gap:20px;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding-left:8%!important; 
    padding-right: 8% !important;
    background-color: #f4f4f4;
    padding-bottom: 5%;
    padding-top: 5%;
}

.wp-block-media-text > .wp-block-media-text__content {padding-right:0;}

/* Skip Link */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999999;
    padding: 8px 16px;
    background: #000;
    color: #fff;
    text-decoration: none;
}

.skip-link:focus {
    left: 6px;
    top: 7px;
}

/* Screen reader only content */
.screen-reader-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    word-wrap: normal !important;
    overflow: hidden;
}

.boxed-header-alch {
    width:1180px !important;
    padding:0!important; 
}

.top-bar-box {width:auto!important;}
.top-bar-text {white-space:nowrap!important;}

/* Override WordPress inline CSS dla linkow - bardzo wysokie weight */
:root :where(a:where(:not(.wp-element-button))) {
    text-decoration: none !important;
}

:root :where(a:where(:not(.wp-element-button)):hover) {
    text-decoration: underline !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Konkretne typy linkow */
.wp-block-post-title a,
.wp-block-site-title a,
.products-block-post-template a,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration: none !important;
}

.wp-block-post-title a:hover,
.wp-block-site-title a:hover,
.products-block-post-template a:hover,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    text-decoration: underline !important;
}

/* Specjalne kolory hover na czarnym tle */
.has-secondary-background-color a:where(:not(.wp-element-button)):hover,
.site-header a:where(:not(.wp-element-button)):hover {
    color: #ff4757 !important; /* Jasniejszy czerwony dla kontrastu */
}

/* Navigation linki */
.wp-block-navigation a,
.wp-block-page-list a {
    text-decoration: none !important;
}

.wp-block-navigation a:hover,
.wp-block-page-list a:hover {
    text-decoration: underline !important;
}

/* Czarne naglowki zamiast szarych */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-query-title,
.wp-block-post-title {
    color: var(--wp--preset--color--secondary);
}

/* Specificzne dla WooCommerce */
.woocommerce h1,
.woocommerce h2, 
.woocommerce h3,
.entry-title {
    color: var(--wp--preset--color--secondary);
}

/* =============================================================================
   FOOTER
   ============================================================================= */

.footer-heading-h2 {color: #fff !important; font-weight:700!important;}

.alch-cookies-button {
    padding: 12px;
    border-radius: 0;
    border-style: none;
    margin-top: 20px;
}

.footer-icons {
    display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 4px;
  min-height: 36px;
  min-width:56px;
}

.dhl-icon {background-color:#ffcc00;}
.orlen-icon {background-color:#d9000d;}

/* Tytuly produktow w archiwum - szary kolor */
.products-block-post-template .wp-block-post-title a {
    color: var(--wp--preset--color--contrast) !important;
    font-weight:400!important;
}

/*Sticky header*/

.site-header {
    position:sticky;
    top:0;
    z-index:1000;
    box-shadow: 0 0 40px 0px #cccccc53;
}

/* =============================================================================
   SKLEP - ARCHIWA
   ============================================================================= */

/* Opis sklepu i kategorii */
.shop-description,
.category-description {
    background: #f4f4f4;
  padding: 0.01rem 1em;
  border-left: 3px double var(--wp--preset--color--primary);
  margin-bottom: 1rem;
}

.shop-description-content,
.category-description-content {
    font-size: var(--wp--preset--font-size--extra-small);
    line-height: 1.6;
    color: var(--wp--preset--color--contrast);
}

.shop-description-content p {padding:0!important; margin:0!important}

/* Obrazki produktow - responsywne z stala wysokoscia */
.products-block-post-template .wp-block-woocommerce-product-image img {
    width: 100% !important;
    height: 200px !important;
    object-fit: contain !important;
    border-radius: 4px;
}

/*kontener z cena i tytulem*/
.product-text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items:flex-start;
    height: 100%;
}

/* Swatche kolorow w archiwum */
.product-color-swatches {
    margin: 0 0 10px 0;
    text-align: center;
}

.product-color-swatches .swatches-label {
    display: block;
    font-size: 12px;
    color: #767676;
    margin-bottom: 5px;
    text-align:left;
}

.product-color-swatches .swatches-wrapper {
    display: flex;
    justify-content: flex-start;
    gap: 5px;
    flex-wrap: wrap;
}

.product-color-swatches .color-swatch {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #ddd;
    cursor: help;
}

/* =============================================================================
   ARCHIWUM PRODUKTOW - HOVER EFFECTS
   ============================================================================= */

/* Kontener produktu - pozycjonowanie dla animacji */
.products-block-post-template .wp-block-post {
   position: relative;
   overflow: hidden;
   border-radius: 8px;
   transition: all 0.3s ease;
   background: #fff;
}

/* Kontener obrazka - pozycjonowanie dla overlay */
.products-block-post-template .wp-block-woocommerce-product-image {
    position: relative;
}

/* Przycisk - overlay na obrazku */
.products-block-post-template .wp-block-woocommerce-product-button {
    position: absolute;
    top: 0;
    left: -15px;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(3px);
    transform: translateY(-100%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 10;
    padding: 15px;
    height:45%;
    width:102%;
}

.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-button {
    height:55%;
}

/* Wysuwanie przycisku przy hover */
.products-block-post-template .wp-block-post:hover .wp-block-woocommerce-product-button {
   transform: translateY(0);
   opacity: 1;
}

/* Stylowanie przycisku */
.products-block-post-template .wp-block-woocommerce-product-button .wp-block-button__link {
   background: var(--wp--preset--color--primary) !important;
   border-radius: 4px;
   font-weight: 400;
   font-family: var(--wp--preset--font-family--oswald);
   transition: all 0.3s ease;
   width: 86%;
   text-align: center;
   height:40px;
}

.product_type_simple_details span {
   background: var(--wp--preset--color--primary) !important;
   border-radius: 4px;
   color:#fff;
   font-weight: 400;
   font-family: var(--wp--preset--font-family--oswald);
   transition: all 0.3s ease;
   width: 86%;
   text-align: center;
   padding: 7px 0px;
}

.products-block-post-template .wp-block-woocommerce-product-button .wp-block-button__link:hover {
   background: var(--wp--preset--color--secondary) !important;
   text-decoration:none!important;
}

/* =============================================================================
   STRONA GLOWNA
   ============================================================================= */

   .wp-block-search__button {
  margin-left: 0!important;
}

/* =============================================================================
   BLOG - archiwa
   ============================================================================= */

   /* ograniczenie szerokosci miniatur w sidebarze latest-posts */
.wp-block-latest-posts__featured-image.alignleft {
  max-width: 33%;
  margin-right: 0.5rem;
}

.wp-block-latest-posts__featured-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* zmniejszenie tytulu w latest-posts w sidebarze */
.wp-block-latest-posts__post-title {
  font-size: var(--wp--preset--font-size--extra-small);
  font-family: var(--wp--preset--font-family--oswald);
  max-width:60%;
}

/* lepszy uklad: kazdy wpis latest-posts flexbox */
.wp-block-latest-posts__list li {
  display: flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items: flex-start;
}

.wp-block-latest-posts__post-date {
  font-size: .6125em;
  width: 100%;
  text-align: right;
}

/* =============================================================================
   CUSTOM GALERIA PRODUKTU - THUMBNAILS + LIGHTBOX
   ============================================================================= */

.alchimica-custom-gallery {
    width: 100%;
    max-width: 512px;
    margin-block-start:0;
}

.gallery-container {
    display: flex;
    gap: 1rem;
    height: 400px;
}

/* THUMBNAILS - LEWA STRONA */
.gallery-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 75px;
    height: 400px;
    overflow-y: auto;
}

.gallery-thumbnails::-webkit-scrollbar {
    width: 4px;
}

.gallery-thumbnails::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 2px;
}

.gallery-thumbnails::-webkit-scrollbar-thumb {
    background: var(--wp--preset--color--primary, #a11729);
    border-radius: 2px;
}

.thumb-item {
    width: 70px;
    height: 70px;
    border: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.thumb-item:hover {
    border-color: var(--wp--preset--color--primary, #a11729);
    opacity: 0.8;
}

.thumb-item.active {
    border-color: var(--wp--preset--color--primary, #a11729);
    box-shadow: 0 0 8px rgba(161, 23, 41, 0.3);
}

.thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*strzalki*/

/* Ukryj domyślny scrollbar */
.gallery-thumbnails {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    position: relative;
}

.gallery-thumbnails::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Wrapper dla strzałek */
.gallery-thumbnails-wrapper {
    position: relative;
}

/* Strzałki nawigacji - minimalistyczne */
.gallery-nav-arrow {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: opacity 0.3s ease;
    padding: 0;
}

.gallery-nav-arrow:hover {
    opacity: 0.7;
}

.gallery-nav-arrow.prev {
    top: -25px;
}

.gallery-nav-arrow.next {
    bottom: -50px;
}

.gallery-nav-arrow.disabled {
    opacity: 0;
    cursor: not-allowed;
}

/* Ikony strzałek - tylko chevron */
.gallery-nav-arrow:before {
    content: '';
    border: solid var(--wp--preset--color--primary);
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 5px;
}

.gallery-nav-arrow.prev:before {
    transform: rotate(-135deg); /* Strzałka w górę */
    margin-top: 3px;
}

.gallery-nav-arrow.next:before {
    transform: rotate(45deg); /* Strzałka w dół */
    margin-bottom: 3px;
}

/* GLOWNE ZDJECIE - PRAWA STRONA */
.gallery-main {
    flex: 1;
    position: relative;
    height: 400px;
    overflow: hidden;
    background: #ffffff;
}

.main-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease;
    cursor: pointer;
    pointer-events: none;
}

.main-image.active {
    opacity: 1;
    pointer-events: auto;
}

.main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.zoom-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.main-image:hover .zoom-icon {
    opacity: 1;
}

/* LIGHTBOX */
.alchimica-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.9);
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.lightbox-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-content {
    max-width: 90vw;
    max-height: 90vh;
    position: relative;
}

.lightbox-image {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    display: block;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    background: none;
    border: none;
    color: white;
    font-size: 40px;
    cursor: pointer;
    z-index: 10001;
    line-height: 1;
    padding: 5px;
}

.lightbox-close:hover {
    opacity: 0.7;
}

.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    font-size: 60px;
    cursor: pointer;
    padding: 20px 15px;
    transition: background 0.3s ease;
    line-height: 1;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, 0.2);
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}

.lightbox-counter {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
}

/* RESPONSYWNOSC GALERII NA PRODUKCIE*/

@media (max-width: 768px) {
    .gallery-container {
        flex-direction: column;
        height: 312px;
        gap: 1rem;
    }
    
    .gallery-thumbnails {
        flex-direction: row;
        width: 100%;
        height: 80px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-right: 0;
        padding-bottom: 5px;
    }
    
    .gallery-thumbnails::-webkit-scrollbar {
        height: 4px;
        width: auto;
    }
    
    .gallery-main {
        height: 300px;
    }
    
    .lightbox-prev,
    .lightbox-next {
        font-size: 40px;
        padding: 15px 10px;
    }
    
    .lightbox-close {
        font-size: 30px;
        top: 10px;
        right: 15px;
    }
}

@media (max-width: 480px) {
    .gallery-main {
        height: 250px;
    }
    
    .thumb-item {
        width: 60px;
        height: 60px;
    }
    
    .gallery-thumbnails {
        height: 70px;
    }
    
    .lightbox-content {
        max-width: 95vw;
        max-height: 80vh;
    }
}

/* LOADING STATES */
.gallery-container img {
    transition: opacity 0.3s ease;
}

.gallery-container img:not([src]) {
    opacity: 0;
}

/* ACCESSIBILITY */
.thumb-item:focus,
.main-image:focus {
    outline: 2px solid var(--wp--preset--color--primary, #a11729);
    outline-offset: 2px;
}

.lightbox-close:focus,
.lightbox-prev:focus,
.lightbox-next:focus {
    outline: 2px solid white;
    outline-offset: 2px;
}

/*ceny woo*/

.wp-block-woocommerce-product-price del span.woocommerce-Price-amount.amount {
    color:#ccc;
    font-size: var(--wp--preset--font-size--medium);
}

.iworks-omnibus {
    font-family: var(--wp--preset--font-family--roboto)!important;
    font-size: var(--wp--preset--font-size--extra-small);
    color:var(--wp--preset--color--contrast);
    font-weight: 400;
    flex-grow: 1;
    align-self: flex-end;
    width: 100%;
    margin:5px 0;
}

.iworks-omnibus .woocommerce-Price-amount {
    font-size: var(--wp--preset--font-size--extra-small)!important;
    color:var(--wp--preset--color--contrast);
    font-weight: 700; 
}

/* =============================================================================
   Zestaw - swatche
   ============================================================================= */

.woosb-products .woosb-product {
  display: flex;
  align-items: center;
  padding: 10px;
  border: 1px solid #ccc6;
  margin-bottom: 20px;
}

.woosb-products .woosb-product .woosb-title .woosb-name {
  font-size: var(--wp--preset--font-size--medium);
  font-family: var(--wp--preset--font-family--oswald);
}

.woosb-products .woosb-product .woosb-title .woosb-name a {
  font-size: var(--wp--preset--font-size--small);
  font-family: var(--wp--preset--font-family--oswald);
  color: var(--wp--preset--color--secondary);
}

.woosb-product .swatches-label {
  font-size: 13px;
}

.woosb-product .bv-swatch-wrapper {
  gap: 7px;
}

.woosb-product .bv-bundle-swatches .bv-swatch-color {
  width: 18px;
  height: 18px;
}

.woosb-product .bv-bundle-swatches .bv-swatch-text {
  font-size:13px;
  height: 18px;
}

.woosb-products .woosb-product .woosb-price {
    font-size: var(--wp--preset--font-size--small);
    font-family: var(--wp--preset--font-family--oswald);
    color: var(--wp--preset--color--secondary);
    font-weight: 700;
}

.woosb-products .woosb-product .woosb-price del {
    opacity:unset;

}

.woosb-price del .woocommerce-Price-amount {
    color:#ccc;
}

.woosb-price ins .woocommerce-Price-amount {
    font-weight: 700;
}

.woosb-products .woosb-products .woosb-product .woosb-price .woosb-price-ori .iworks-omnibus {
    font-family: var(--wp--preset--font-family--roboto)!important;
    font-size: var(--wp--preset--font-size--extra-small)!important;
    color:var(--wp--preset--color--contrast);
    font-weight: 400;
}

.woosb-product .reset_variations {
    font-size: 13px;
    margin-top: 0!important;
}

.woosb-total-label {
    font-family: var(--wp--preset--font-family--oswald);
    color: var(--wp--preset--color--secondary);
}

.woosb-total-value {
    font-family: var(--wp--preset--font-family--oswald);
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--large);
    font-weight:700;
}

.woosb-alert {
  border-left: 2px solid var(--wp--preset--color--primary);
  background-color: #f4f4f466;
  font-size: 14px;
  font-weight: 400;
}

.woosb-products .woosb-product .woosb-price * .iworks-omnibus {font-size:12px!important;}

@media (max-width:768px) {
    .woosb-products .woosb-product {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        gap: 20px;
    }

    .woosb-products .woosb-product .woosb-price {
        width: 100%;
        flex: auto;
        text-align: start;
    }
}

/* =============================================================================
   Pojedynczy produkt - mini-kalkulator
   ============================================================================= */

.woocommerce div.product form.cart {
  padding: 0;
}

   .mini-kalkulator {
        border: 1px solid #e0e0e0;
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e0e0e0;
    }
    .mini-kalkulator h4 {
        font-size: 16px;
        margin: 0 0 10px 0;
        color: var(--wp--preset--color--primary)!important;
    }
    .mini-kalk-opis {
        font-family: var(--wp--preset--font-family--roboto);
        font-weight:300;
        font-size: var(--wp--preset--font-size--extra-small);
        color: var(--wp--preset--color--secondary);
    }
    .mini-kalkulator label {
        display: block; 
        margin-bottom: 5px;
        font-size: var(--wp--preset--font-size--extra-small);
        color: var(--wp--preset--color--secondary);
    }
    .powierzchnia-input:focus {
        outline: none;
        border-color: #a11729;
    }
    #wynik-kalkulatora {
        font-size: 14px;
        line-height: 1.5;
    }

/* =============================================================================
   Produkt - Related products i upsells
   ============================================================================= */

   .alchimica-related-products .product-text-wrapper {
        height: 30%;
        min-height: 31%;
   }
   

        /* Related Products - zastosuj te same style co archiwum */
    .alchimica-related-products .products-block-post-template .wp-block-post {
        position: relative;
        overflow: hidden;
        border-radius: 8px;
        transition: all 0.3s ease;
        background: #fff;
    }
    
    .alchimica-related-products .products-block-post-template .wp-block-woocommerce-product-image {
        position: relative;
    }

    .up-sells .woocommerce-loop-product__title {
        font-family: var(--wp--preset--font-family--oswald) !important;
        font-weight: 400;
        font-size:var(--wp--preset--font-size--small);
        letter-spacing: 0.4px !important;
        color:var(--wp--preset--color--contrast);
    }

    .alchimica-related-products .woocommerce-Price-amount {
        font-weight:700;
        font-family: var(--wp--preset--font-family--oswald);
    }
    
    .alchimica-related-products .products-block-post-template .wp-block-woocommerce-product-button {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(3px);
        transform: translateY(-100%);
        opacity: 0;
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        z-index: 10;
        padding: 15px;
        height: 48%;
        width: 100%;
    }
    
    .alchimica-related-products .products-block-post-template .wp-block-post:hover .wp-block-woocommerce-product-button {
        transform: translateY(0);
        opacity: 1;
    }
    
    .alchimica-related-products .products-block-post-template .wp-block-woocommerce-product-button .wp-block-button__link {
        background: var(--wp--preset--color--primary) !important;
        border:none!important;
        border-radius: 4px;
        font-weight: 400;
        font-family: var(--wp--preset--font-family--oswald);
        transition: all 0.3s ease;
        width: auto;
        text-align: center;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.7rem 0.7rem;
        line-height: 1;
        height: auto;
    }
    
    .alchimica-related-products .products-block-post-template .wp-block-woocommerce-product-button .wp-block-button__link:hover {
        background: var(--wp--preset--color--secondary) !important;
        text-decoration: none !important;
    }
    
    /* Responsywnosc */
    @media (max-width: 768px) {
        .alchimica-related-products .products-block-post-template {
            grid-template-columns: repeat(2, 1fr) !important;
        }
    }
    
    @media (max-width: 480px) {
        .alchimica-related-products .products-block-post-template {
            grid-template-columns: repeat(1, 1fr) !important;
        }

        .alchimica-related-products .product-text-wrapper {
            height: auto;
            min-height: 24%;
        }

        .alchimica-related-products .wp-block-woocommerce-product-price {
            font-size:15px;
        }
    }

/* =============================================================================
   Produkt - drobne poprawki elementow
   ============================================================================= */

   /* Ukryj Omnibus dla glownej ceny produktow z wariantami */
.product-type-variable .wp-block-woocommerce-product-price .wc-block-components-product-price p.iworks-omnibus {
    display: none !important;
}

/*Napelpki na single product - desktop*/

.gallery-badge-wrapper {
    position: relative;
}

.gallery-badge-wrapper .product-badge {
    position: absolute;
    width: 38px;
    left: 87%;
    right:75px;
    top: 10px;
    z-index: 10;
    background: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--base);
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 500;
}

/* Responsywność */
@media (max-width: 768px) {
    .gallery-badge-wrapper .product-badge {
        font-size: 12px;
        padding: 3px 10px;
        left: 78%;
    }
}

/* Info przy cenie */
.price-discount-info {
    display: inline-flex;
    align-items: flex-end;
    gap: 10px;
    margin-left: 10px;
    font-size: 0.6em;
}

.discount-percentage {
    background: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--extra-small);
    color: white;
    padding: 2px 8px 3px 8px;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 4px;
}

/* Responsywnosc */
@media (max-width: 768px) {
    .price-discount-info {
        display: block;
        margin-left: 0;
        margin-top: 5px;
    }
}

.product h1.wp-block-post-title {
    font-size: var(--wp--preset--font-size--large);
    color: var(--wp--preset--color--contrast)!important;
}

.wc-block-grid__product-price {
    display: flex;
  gap: 2px;
  align-items: baseline;
  flex-direction: row;
  flex-wrap: wrap;
}

.woocommerce-variation-price .woocommerce-Price-amount {
    font-family: var(--wp--preset--font-family--oswald);
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--large);
    font-weight:700;
}

.wp-block-post-excerpt__excerpt {
  font-size: 15px;
}

.wp-block-woocommerce-product-price {letter-spacing:0!important;}

.custom-product-info-left {gap:0.5rem;}



.custom-product-enquiry-link {
    font-family: var(--wp--preset--font-family--oswald);
    font-size:var(--wp--preset--font-size--small);
}

.single_add_to_cart_button {
    border:none; 
    border-radius:0;
}

.in-stock {
    color:#1C7363!important;
    font-family: var(--wp--preset--font-family--oswald);
}

.taxonomy-product_brand {font-size: 13px;}

.taxonomy-product_brand a {color: var(--wp--preset--color--contrast);}

.wc-block-components-product-sku {font-size: 13px;}

.wc-block-components-product-sku .sku {color: var(--wp--preset--color--contrast);}


/*Zakladka Dane techniczne - tabelka*/

.woocommerce-product-attributes-item__label {
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    color:var(--wp--preset--color--seconady);
}

.woocommerce-tabs .wc-tab table.shop_attributes th:nth-child(odd) {
   background:transparent!important;
}

tr.woocommerce-product-attributes-item:nth-child(even), .woocommerce table.shop_attributes tr:nth-child(2n) td {
    background:#f4f4f4!important;
}

.woocommerce-product-attributes-item__value {
    font-family: var(--wp--preset--font-family--roboto);
    font-size: var(--wp--preset--font-size--small);
    color:var(--wp--preset--color--contrast);
}

/* =============================================================================
   FORCE OSWALD FOR HEADINGS - FIX FONTOW
   ============================================================================= */

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-post-title,
.wp-block-query-title {
    font-family: var(--wp--preset--font-family--oswald) !important;
    font-weight: 400;
    letter-spacing: 0.4px !important;
}

/* WooCommerce product titles */
.woocommerce-product-title,
.wp-block-woocommerce-product-title,
.product_title,
h1.entry-title {
    font-family: var(--wp--preset--font-family--oswald) !important;
    font-weight: 300 !important;
}

/* Archive titles */
.wp-block-query-title,
.archive-title,
.page-title {
    font-family: var(--wp--preset--font-family--oswald) !important;
}

/* =============================================================================
   Produkt - DELIKATNE POPRAWKI ZAKŁADEK WOOCOMMERCE
   ============================================================================= */

   /*rating gwiazdki na produkcie*/
   .product-opinie {
    display:flex; 
    flex-direction:row;
    align-items: center;
    gap:8px;
    font-size: 13px;
    color: #000;
}

.product-rating-link {
    display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  gap: 3px;
}

.product-rating-link .star-rating {width:5.5em;}

.woocommerce .star-rating span::before {
  width: 6em;
}

.woocommerce .star-rating {
    color:#a11729!important;
}

/*reszta*/
   .wp-block-woocommerce-product-details {
    margin-top:6rem;
   }

#tab-reviews,
#tab-enquiry {
  scroll-margin-block-start: 180px!important;
}

/* Nawigacja zakładek */
.woocommerce-tabs .wc-tabs {
    margin-bottom: 1.5rem;
    display: flex;
    gap: 60px;
    list-style: none;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border:none;
    background-color: #ffffff;
}

/*usuniecie borderu pod zakladkami*/
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border:none!important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, 
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  border: none;
  border-radius:0;
  box-shadow:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin:0;
    padding:0;
}

/* Linki w zakładkach */
.woocommerce-tabs .wc-tabs li a {
    padding: 0.75rem 1.25rem;
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--oswald);
    text-decoration: none;
    transition: all 0.3s ease;
    display: block;
    font-weight: 300!important;
}

/* Hover effect */
.woocommerce-tabs .wc-tabs li a:hover {
    color: #000000!important;
    text-decoration:none!important;
}

/* Aktywna zakładka */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color:#f8f9fa;
}

.woocommerce-tabs .wc-tabs li.active a {
    color: #a11729!important;
    font-weight: 300!important;
}

/* Zawartość zakładek */
.woocommerce-tabs .wc-tab {
    padding: 1.5rem 0;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background:#f8f9fa;
    padding:2em;
    margin:0;
}

/* Headingi w zakładkach */
.woocommerce-tabs .wc-tab h2 {
    margin-bottom: 1rem;
    margin-top:0;
    color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--oswald);
}

/* Tabela atrybutów */
.woocommerce-tabs .wc-tab table.shop_attributes {
    border-collapse: collapse;
    width: 100%;
    margin-top: 1rem;
}

.woocommerce-tabs .wc-tab table.shop_attributes th,
.woocommerce-tabs .wc-tab table.shop_attributes td {
    padding: 0.75rem;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

.woocommerce-tabs .wc-tab table.shop_attributes th {
    background: var(--wp--preset--color--light);
    font-weight: 500;
    width: 30%;
}

/* Karta produktu PDF Box */
.karta-produktu-box {
    margin-bottom: 30px;
    padding: 20px;
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.karta-produktu-box .pdf-icon {
    flex-shrink: 0;
}

.karta-produktu-box .pdf-icon svg {
    width:32px;
}

.karta-produktu-box .pdf-info {
    flex: 1;
}

.karta-produktu-box .pdf-info h4 {
    margin: 0 0 5px 0;
    color: #333;
    font-size: 16px;
}

.karta-produktu-box .pdf-info p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.karta-produktu-box .file-size {
    color: #999;
}

.pdf-download-btn {
    background: #a11729;
    color: white;
    padding: 10px 20px;
    text-decoration: none!important;
    font-size:12px;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    border: none;
}

.pdf-download-btn:hover {
    background: #8a1420 !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Responsywnosc karty zalacznika */
@media (max-width: 768px) {
    .karta-produktu-box {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-evenly;
        padding:14px 20px;
    }

    .karta-produktu-box .pdf-info h4 {
        font-size: 12px;
    }

    .karta-produktu-box .pdf-info p {
        margin: 0;
        font-size: 12px;
}
    
    
}

/* Responsywnosc zakladek*/
@media (max-width: 768px) {
    .woocommerce-tabs .wc-tabs {
        flex-direction: column;
        border-bottom: none;
    }
    
    .woocommerce-tabs .wc-tabs li a {
        border-bottom: none;
        border-left: 2px solid transparent;
        padding: 0.5rem 1rem;
    }
    
    .woocommerce-tabs .wc-tabs li a:hover,
    .woocommerce-tabs .wc-tabs li.active a {
        border-left-color: var(--wp--preset--color--primary);
        border-bottom-color: transparent;
    }

    /*Zakladka z opiniami*/
    .woocommerce-tabs .wc-tab h2 {font-size: var(--wp--preset--font-size--medium);}
    .woocommerce #reviews #comments ol.commentlist li .comment-text {margin:0;}
    .woocommerce #reviews #comments ol.commentlist {padding:0;}

    /*zakladka dane techniczne*/
    .woocommerce-product-attributes-item__label, .woocommerce-product-attributes-item__value {font-size: var(--wp--preset--font-size--extra-small);}
}

/*Nalepki na archiwach*/
.new-badge {
    background-color:var(--wp--preset--color--secondary);
    color:var(--wp--preset--color--light);
    font-size: 12px;
    font-family: var(--wp--preset--font-family--oswald);
    padding:0.1rem 0.3rem;
    position:absolute;
    top:20px;
    left:74%;
    z-index:2;
    align-self: flex-start;
}



.wc-block-components-product-sale-badge--align-right {
    background-color:var(--wp--preset--color--secondary);
    color:var(--wp--preset--color--light);
    font-size: 12px!important;
    font-family: var(--wp--preset--font-family--oswald)!important;
    font-weight:400!important;
    border-radius:0!important;
    padding:0.1rem 0.3rem!important;
    position:absolute;
    top:20px!important;
    right: unset!important;
    left:4px;
    z-index:2;
    align-self: flex-start;
    line-height:1.4;
}

.sale-percentage-badge, .alchimica-hover-universal .wc-block-grid__product-onsale {
    text-align: center;
    color: red;
    align-self: flex-start;
    font-family: var(--wp--preset--font-family--oswald)!important;
    background-color: #f4f4f4!important;
    padding: 2px;
    padding-top: 2px;
    padding-right: 2px;
    padding-bottom: 2px;
    padding-left: 2px;
  font-size: 13px;
  position: absolute;
  bottom: 170px;
}

.alchimica-hover-universal .wc-block-grid__product-onsale {
    text-align: center;
    color: #fff;
    align-self: flex-start;
    font-family: var(--wp--preset--font-family--oswald)!important;
    background-color: #f4f4f4!important;
    padding: 2px;
    padding-top: 2px;
    padding-right: 2px;
    padding-bottom: 2px;
    padding-left: 2px;
  font-size: 13px!important;
  position: absolute;
  bottom: 170px;
  border-radius:0!important;
}

/*Zdjecia na archiwach*/

.product .attachment-woocommerce img {
  height: 335px;
 object-fit:contain !important;
}

li.wp-block-post.product {
    display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  margin-bottom:10px;
}

.wp-container-core-post-template-is-layout-e7fd85f5 {
  gap: 40px;
}

.wp-container-core-columns-is-layout-28f84493 {
    gap:60px;
}

/*swatches*/
.bv-swatch-wrapper {
        display: flex;
        gap: 10px;
        margin: 10px 0 20px 0;
        flex-wrap: wrap;
    }
    
    /* Wszystkie swatche wyglądają tak samo - kwadraciki */
    .bv-swatch-item {
        width: 30px;
        height: 30px;
        border-radius: 0px;
        cursor: pointer;
        border: 2px solid #ddd;
        transition: all 0.2s;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Tekst w pojemnościach */
    .bv-swatch-text {
        background: #f4f4f4 !important;
        font-size: 14px;
        font-weight: 500;
        color: #555;
        padding: 0 5px;
        width: auto;
        min-width: 40px;
    }
    
    /* Hover dla wszystkich */
    .bv-swatch-item:hover {
        border-color: var(--wp--preset--color--primary);
        color:var(--wp--preset--color--contrast)!important;
        transform: scale(1.05);
    }
    
    /* Selected dla wszystkich */
    .bv-swatch-item.selected {
        border-color: #a11729;
        box-shadow: 0 0 0 1px #fff, 0 0 0 3px #a11729;
    }
    
    /* Dla pojemności hover zmienia też tło */
    .bv-swatch-text:hover {
        background: #a11729;
        color: #fff;
    }
    
    .bv-swatch-text.selected {
        background: #a11729!important;
        color: #fff;
    }

    .bv-swatch-text.selected:hover {
        background: #a11729!important;
        color: #fff!important;
    }
    
    /* Labels */
    .swatches-label {
        font-weight: 600;
        margin-bottom: 8px;
        color: #000;
        font-size: 16px;
    }

    /* Niedostępne - przekreślenie */
    .bv-swatch-item.unavailable {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .bv-swatch-item.bv-swatch-color.unavailable::after {
        content: '';
        position: absolute;
        top: 50%;
        left: -2px;
        right: -2px;
        height: 2px;
        background: #e74c3c;
        transform: rotate(-45deg);
        pointer-events: none;
    }

    .bv-swatch-item.bv-swatch-text.unavailable::after {
        content: '';
        position: absolute;
        top: 50%;
        left: -2px;
        right: -2px;
        height: 2px;
        background: #e74c3c;
        transform: rotate(-30deg);
        pointer-events: none;
    }
    
    .bv-swatch-item.unavailable:hover {
        border-color: #ddd;
    }

    /* Ukryj całą tabelę z wariantami */
.variations_form .variations {
    display: none !important;
}

/* Alternatywnie - ukryj tylko selecty ale zostaw przycisk "Wyczyść" widoczny */
.variations_form .variations select {
    position: absolute;
    left: -9999px;
    opacity: 0;
}

.variations_form .variations label {
    display: none;
}

/* Przenieś przycisk "Wyczyść" pod swatche */
.variations_form .reset_variations {
    display: inline-block;
    margin-top: 10px;
    color: #a11729;
    text-decoration: underline;
}

.swatches-reset {
    margin-top: 15px;
}

.swatches-reset a {
    color: #a11729;
    text-decoration: underline;
    font-size: 14px;
}

.swatches-reset a:hover {
    text-decoration: none;
}

/* =============================================================================
   archiwum - faq kategorii
   ============================================================================= */
    .category-faq-section {
        margin-bottom: 60px;
    }


    .category-faq-section .faq-title {
        font-size: 2rem;
        margin-bottom: 30px;
        text-align: left;
        color: #333;
    }
    
    .category-faq .faq-item, .product-faq .faq-item {
        border-bottom: 1px solid #e5e5e5;
        margin-bottom: 0;
        transition: all 0.3s ease;
    }
    
    .category-faq .faq-item:hover h3 {
        color:var(--wp--preset--color--primary);
    }
    
    .category-faq .faq-question, .product-faq .faq-question {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1.5rem 0;
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
    }

    .category-faq .faq-question h3, .product-faq .faq-question h3 {
        margin: 0;
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1.4;
        flex: 1;
        padding-right: 2rem;
        color: var(--wp--preset--color--contrast);
        transition: color 0.3s ease;
        font-family: var(--wp--preset--font-family--oswald) !important;
        font-weight: 400 !important;
        letter-spacing: 0.4px !important;
    }
    
    .category-faq .faq-answer {
        transition: max-height 0.4s ease-in, padding 0.4s ease-in;
    }

    .category-faq .faq-answer-content {
  color: #555;
  line-height: 1.6;
  font-size: 1rem;
}

/* Animacja strzalki FAQ */
.faq-arrow {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    color: #666;
}

.faq-item.active .faq-arrow {
    transform: translateY(-50%) rotate(180deg);
}

.faq-item.active .faq-arrow,
.faq-question:hover .faq-arrow {
    color: #a11729;
}

    /* FAQ - domyslnie zwiniete */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
}

.faq-item.active .faq-answer {
    max-height: 1000px;
    padding-bottom: 1.5rem;
    transition: max-height 0.4s ease-in, padding 0.4s ease-in;
}
    
    /* Responsywnosc */
    @media (max-width: 768px) {
        .category-faq-section {
            padding: 30px 15px;
        }
        
        .category-faq-section .faq-title {
            font-size: 1.5rem;
        }
        
        .category-faq .faq-item {
            padding: 15px;
        }
        
        .category-faq .faq-question {
            font-size: 1.1rem;
        }
    }

/* =============================================================================
   WOO SHOP SIDEBAR FILTERS - ACCORDION
   ============================================================================= */

.sidebar-filters {
    background: #f9f9f9;
    border-radius: 8px;
    overflow: hidden;
}

/* Accordion Header */
.filter-accordion-header {
    background: #fff;
    padding: 15px 20px;
    margin: 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 400!important;
    color: var(--wp--preset--color--secondary);
    transition: all 0.3s ease;
}

.filter-accordion-header:hover {
    background: #f8f9fa;
    color: var(--wp--preset--color--primary);
}

.filter-accordion-header.active {
    background: var(--wp--preset--color--accent);
    color: #000;
}

/* Accordion Icon */
.accordion-icon {
    font-size: 18px;
    font-weight: bold;
    transition: transform 0.3s ease;
}

.filter-accordion-header.active .accordion-icon {
    transform: rotate(45deg);
}

/* Accordion Content */
.filter-accordion-content {
    max-height: 0;
    overflow: hidden;
    background: white;
    border-top: none;
    border-bottom: 1px solid #f0f0f0;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 20px;
}

.filter-accordion-content.active {
    max-height: 100%;
    padding: 20px;
    border-bottom: 1px solid #eee;
}

/* Last accordion item */
.filter-accordion:last-child .filter-accordion-content {
    border-bottom: none;
}

/* Checkboxy filtrow atrybutow */
.filter-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
    max-height: 250px;
    overflow-y: auto;
}

.filter-checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 0;
    line-height:1.2;
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    margin-bottom: 5px !important;
}

.filter-checkbox-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.filter-apply-btn,
.filter-clear-btn {
    padding: 8px 12px;
    margin-right: 8px;
    margin-top: 5px;
    border: none;
    cursor: pointer;
    font-size: 14px;
}

.filter-apply-btn {
    background: #a11729;
    color: #fff;
}

.filter-clear-btn {
    background: #ddd;
    color: #333;
}

.filter-apply-btn:hover {
    background: #8a1322;
}

.filter-clear-btn:hover {
    background: #ccc;
}

/* Wrapper wspolnych przyciskow */
.filter-buttons-wrapper {
    padding: 20px 10px;
    margin-top: 0px;
    display: flex;
    gap: 10px;
    background-color:#ffffff;
}

/* =============================================================================
   COLOR SWATCHES IN FILTERS - ARCHIWA
   ============================================================================= */

.color-swatch-filter {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
    gap: 8px;
    margin: 10px 0;
}

.color-swatch-item {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #ddd;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.color-swatch-item:hover {
    transform: scale(1.1);
    border-color: var(--wp--preset--color--primary);
}

.color-swatch-item.selected {
    border-color: var(--wp--preset--color--primary);
    border-width: 3px;
}

.color-swatch-item.selected::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 12px;
    font-weight: bold;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}

/* Producent Filter */
.producent-filter-item {
    display: block;
    padding: 8px 0;
    color: var(--wp--preset--color--secondary);
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    transition: color 0.3s ease;
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    text-decoration: none;
    font-weight: 300;
}

.producent-filter-item:hover {
    color: var(--wp--preset--color--primary);
}

/* =============================================================================
   HIERARCHICAL CATEGORIES
   ============================================================================= */

.category-item {
    margin-bottom: 8px;
}

.category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
}

.category-main-link {
    color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    text-decoration: none;
    font-weight: 300;
    flex: 1;
}

.category-main-link:hover {
    color: var(--wp--preset--color--primary);
}

.category-toggle {
    background: var(--wp--preset--color--light);
    color: var(--wp--preset--color--contrast);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.category-toggle:hover {
    background: var(--wp--preset--color--primary);
    color: white;
}

.category-subcats {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding-left: 15px;
}

.category-subcats.open {
    max-height: 2000px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.category-active {
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
}

.subcategory-link {
    display: block;
    color: var(--wp--preset--color--contrast);
    text-decoration: none;
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    font-weight:300;
    padding: 6px 0;
    transition: all 0.3s ease;
}

.subcategory-link:hover {
    color: var(--wp--preset--color--primary);
    padding-left: 7px;
}

.category-simple-link {
    display: block;
    color: var(--wp--preset--color--secondary);
    text-decoration: none;
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--small);
    padding: 8px 0;
    font-weight: 300;
}

.category-simple-link:hover {
    color: var(--wp--preset--color--primary);
}

/* Price filter styling */
.woocommerce-widget-price-filter {
    padding: 15px;
}

.price_slider_amount {display:flex; flex-wrap:wrap; gap:5px;}

.price_slider_amount .price_label {display:none!important;}

.woocommerce-widget-price-filter input[type="text"] {
    display:flex!important;
    width: 40%;
    margin-right: 0;
    padding: 5px;
    border: 1px solid #ddd;
}

.woocommerce-widget-price-filter button {
    width: 100%;
    margin-top: 10px;
    padding: 8px;
    background: #a11729;
    color: white;
    border: none;
    cursor: pointer;
}

.woocommerce-widget-price-filter button:hover {
    background: #8a1420;
}

/* =============================================================================
   strony statyczne
   ============================================================================= */

   .alch-subheading-red {
    font-family: var(--wp--preset--font-family--oswald);
    font-size: 22px;
    color: var(--wp--preset--color--secondary);
    align-self:flex-start;
   }

   .alch-text-static {
    font-size: var(--wp--preset--font-size--extra-small);
    color: var(--wp--preset--color--contrast);
   }

   .alch-text-static a {
    font-size: var(--wp--preset--font-size--extra-small);
    color: var(--wp--preset--color--contrast);
   }

   .alch-mid-heading {
    align-self:flex-start;
    color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--oswald);
   }

   .alch-separator {
    width:260px;
    height:0px;
    align-self:flex-start!important;
    margin-left:0!important;
   }

   /*Kontakt*/

   .wp-container-core-group-is-layout-7601d157 {
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: -48px!important;
}

.wp-container-core-group-is-layout-a1ed96d5 {
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 260px;
}

.wp-container-core-group-is-layout-ce155fab {
  flex-direction: column;
  align-items: first baseline;
  gap: 15px;
}

.wp-container-core-group-is-layout-ce155fab .wp-block-group span {
    width:25px;
}

.wp-container-core-group-is-layout-ce155fab .wp-block-group p {
    width:205px;
    min-width: 205px;
}

.kontakt-left-col {
    display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.kontakt-left-col .icon-alch svg {
    width:20px!important;
    height:20px!important;
}

.kontakt-row {gap:8px;}

.mail-fix {white-space:nowrap;}

.separator-vertical {
    width: 2px !important;
  height: 248px !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.back-to-top {
    border-radius:0px!important;
    border:1px solid #000;
}

.back-to-top:hover {
    border:1px solid #a11729;
}

.back-to-top svg {
    color:#fff;
}

/*scrolle*/
#polityka-cookies-alchimica {
    scroll-margin-block: 120px;
}

/* =============================================================================
   messages desktop
   ============================================================================= */

.wc-block-components-notice-banner.is-success {
  background-color: #1C736322;
  border: 2px solid #1C7363;
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #1C7363;
  outline:none;
  border-radius:0px;
}

.wc-block-components-notice-banner.is-success > svg {
  background-color: #58736E;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
box-shadow: none;
}

/* =============================================================================
   wyszukiwarka produktow
   ============================================================================= */
.alchimica-autocomplete-results {
    margin-top:20px;
    display:flex!important;
    flex-direction:column;
    gap:20px;
}

.alchimica-autocomplete-item {
    display: flex;
    flex-direction: row;
    gap: 8px;
    justify-content: left;
    align-items: center;
}

.alchimica-autocomplete-item img {
    width:62px;
    background-color:var(--wp--preset--color--base);
    margin-right:12px;
}

.alchimica-autocomplete-info {
    color: var(--wp--preset--color--base);
}

.alchimica-autocomplete-item:hover {
    text-decoration:none!important;
}

.alchimica-autocomplete-title {
    font-family: var(--wp--preset--font-family--oswald);
}

.alchimica-autocomplete-price {
    font-size: var(--wp--preset--font-size--extra-small);
}

.alchimica-autocomplete-show-all {
    color:#ff6e69;
}

.alchimica-autocomplete-show-all:hover {
    color:#ff7a75!important;
}

/*wyniki wyszukiwania*/

.search-nothing-found {
    font-family: var(--wp--preset--font-family--oswald);
    font-size: var(--wp--preset--font-size--medium);
    color:var(--wp--preset--color--secondary);
}

.search-suggest-block {padding-bottom:90px!important;}

.search-suggest {
    font-size: var(--wp--preset--font-size--extra-small);
    margin-top:10px;
}

/*wyniki wyszukiwania paginacja*/

/* Paginacja - kontener glowny */
.wp-block-query-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 40px 0;
    font-family: var(--wp--preset--font-family--oswald);
}

/* Wszystkie elementy paginacji */
.wp-block-query-pagination a,
.wp-block-query-pagination .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #555;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    transition: all 0.2s ease;
}

/* Hover na linkach */
.wp-block-query-pagination a:hover {
    border-color: #a11729;
    color: #a11729;
    background: #fafafa;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Aktywna strona */
.wp-block-query-pagination .current {
    background: #f5f5f5;
    color: #333;
    font-weight: 500;
    border-color: #ccc;
    cursor: default;
}

/* Strzalki previous/next */
.wp-block-query-pagination-previous a,
.wp-block-query-pagination-next a {
    padding: 0 16px;
    font-weight: 400;
}

/* Dodaj strzalki jako pseudo-elementy */
.wp-block-query-pagination-previous a::before {
    content: '←';
    margin-right: 6px;
}

.wp-block-query-pagination-next a::after {
    content: '→';
    margin-left: 6px;
}

/* Disabled state dla strzalek */
.wp-block-query-pagination-previous:empty,
.wp-block-query-pagination-next:empty {
    display: none;
}

/* Kropki w numeracji */
.wp-block-query-pagination-numbers .dots {
    border: none;
    background: none;
    color: #999;
    cursor: default;
    padding: 0 8px;
}

/* Responsywnosc */
@media (max-width: 600px) {
    .wp-block-query-pagination {
        gap: 4px;
    }
    
    .wp-block-query-pagination a,
    .wp-block-query-pagination .current {
        height: 36px;
        font-size: 13px;
        padding:0 9.5px;
    }
}

/* =============================================================================
   CHECKOUT
   ============================================================================= */

  .wc-block-components-order-summary {
    padding: 0 8px;
  }

  .wc-block-components-order-summary .wc-block-components-order-summary-item {
  font-size: 12px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    padding-left:12px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    right: 10px;
  top: -2px;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount {
  font-weight: 700;
  font-size: 14px;
}

/* =============================================================================
   responsywnosc strony
   ============================================================================= */

@media (max-width: 1220px) {
    
    .wp-block-group.is-layout-constrained {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }

    .wp-block-post-title {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-footer .boxed-header-alch,
    .wp-singular .entry-content {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }

    .home .entry-content,
    .site-header .boxed-header-alch {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wp-container-core-group-is-layout-0b20373e {
        justify-content: space-around;
    }

    .separator-vertical {display:none;}

    .boxed-header-alch {
    width:100% !important;
}
}

@media (max-width: 768px) {
/*header mobilny - boxy jak na trokentech*/

.wp-block-site-logo img {width:160px;}
.wp-container-3 {padding-left:0!important; padding-right:0!important;}

.wp-container-core-group-is-layout-82baacbd {
    justify-content: space-around!important;
    flex-grow: 1!important;
    order:2;
    min-width: 216px;
}

.wp-container-core-group-is-layout-fc4fd283 {
    order:3; 
    padding-bottom:16px; 
    width: 346px;
    justify-content: center;
}

.site-header .boxed-header-alch {
    flex-wrap: wrap;
    row-gap: 22px;
    column-gap: 0;
}

.wp-block-search__button-outside, .wp-block-woocommerce-customer-account, .wc-block-mini-cart {
    display: flex;
    width: 25%;
    justify-content: center;
    align-items: flex-start;
    height: 48px;
}

.wp-block-search__inside-wrapper {
    justify-content: center;
}

nav.alch-menu-hide-desktop {
    order:1; 
    width:25%;
    justify-content: center;
    height: 54px;
    background-color: var(--wp--preset--color--primary);
    align-items: center;
}

.wp-block-woocommerce-customer-account::after {
    content:"Konto";
    font-size: 11px;
    position: absolute;
    bottom: 0;
    top: 32px;
}

.wc-block-mini-cart::after {
    content:"Koszyk";
    font-size: 11px;
    position: absolute;
    bottom: 0;
    top: 32px;
}

.wp-block-search__button-outside::after {
    content:"Szukaj";
    font-size: 11px;
    position: absolute;
    bottom: 0;
    top: 32px;
}

nav.alch-menu-hide-desktop::after {
    content:"Menu";
    font-size: 11px;
    position: absolute;
    bottom: 0;
    top: 32px;
    color:#fff;
}

.wp-block-navigation__responsive-container-open {margin-bottom: 8px!important;}

/*pozostale*/

.mobile-no-padding {padding:0!important;}

.boxed-header-alch {
    width:100% !important;
}

.site-footer .wp-block-column {
    padding-top: 3% !important;
    padding-bottom: 3% !important;
}

.wp-block-woocommerce-empty-cart-block h2 {text-align:left;}

.whatsapp-widget {
    right:16px!important;
    bottom:75px!important;
}

.top-bar .wp-container-core-group-is-layout-fc9f69e7 {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap:1rem;
    }

    /*Archiwa uklad mobilny*/
    .alch-products-column {
        order:2;
    }

    .alch-products-column ul.columns-4 {
    grid-template-columns: 1fr 1fr!important;
  }

  .product-color-swatches .color-swatch {
  width: 16px;
  height: 16px;
}

/*zakladki mobilnie*/
    .wp-block-woocommerce-product-details {
    margin-top:2rem;
   }

   .woocommerce div.product .woocommerce-tabs ul.tabs {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap:5px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        display: flex;
        flex-grow: 1;
        align-content: center;
        justify-content: center;
        padding:0;
        margin: 0;
        background-color:#cccccc66;
        border-radius:0;
        color:#000;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs::after {display:none;}

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 0.5em 1em;
        border-left:none;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
        background-color:#ff000022;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
        left: -9px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
        box-shadow: 0px 4px 0 var(--wp--preset--color--background,#fff);
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
        box-shadow: 0px 2px 0 var(--wp--preset--color--background,#fff);
    }   

    .woocommerce div.product .woocommerce-tabs .panel {
        background: #f8f9fa;
        padding: 1.5em;
        margin-top: 5px;
    }

/*koszyk cross-sells*/
.wp-block-woocommerce-cart-cross-sells-block {display:none;}

.is-medium table.wc-block-cart-items:only-child {
border-bottom:none;
}

.wp-block-woocommerce-cart-order-summary-coupon-form-block {
    border: none !important;
  background-color: #f4f4f4;
  padding: 16px
}

.wp-block-woocommerce-cart-order-summary-totals-block {
  border-top: none!important;
}

.wc-block-components-totals-footer-item {
    display: flex;
    flex-direction: column;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size:18px;
}

/* =============================================================================
   mobilne messages
   ============================================================================= */

   .wc-block-components-notice-banner.is-success {
  background-color: #1c736333;
  border-color: #1c7363;
}

.wc-block-components-notice-banner.is-success > svg {
  background-color: #1c7363;
  width: 16px;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
display: flex;
  flex-direction: column;
gap:8px;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
text-decoration:none;
box-shadow:none;
color:#000!important;
}
}

@media (max-width:480px) {

    .wp-block-query-title {
        font-size: var(--wp--preset--font-size--large);
        padding-top: 20px;
        text-align: center;
    }

    .wp-container-core-group-is-layout-9366075c {
  justify-content: space-around;
}
    .alch-mobile-ben-bar {
        max-width:36%;
        text-align: center;
    }

    .product_type_simple_details span, .products-block-post-template .wp-block-woocommerce-product-button .wp-block-button__link {
        font-size:13px!important;
    }

    .custom-product-info-left {
        max-width:56%;
    }

    .new-badge {left:65%;}

     .wp-block-woocommerce-add-to-cart-form .variations_button, .wp-block-woocommerce-add-to-cart-form form.cart {
        grid-template-columns: 0.5fr 1fr;
    }

    .woocommerce div.product form.cart button.single_add_to_cart_button {width:100%;}

    /*mobilne wyniki wyszukwania*/

    .search-results .mobile-search-results-list ul {
        display:flex!important;
        flex-direction: row!important;
        flex-wrap:wrap!important;
        justify-content:space-around!important;
        gap:8px;
    }

    .search-results .mobile-search-results-list ul li {
        width:47%!important;
        margin-block-start: 0;
    }

    .search-results .mobile-search-results-list ul li h2 {
        font-size:15px;
    }

    .search-results .mobile-search-results-list ul li .wp-block-post-date {
        margin-block-start:5px;
        font-family: var(--wp--preset--font-family--oswald);
    }

    .search-results .mobile-search-results-list ul li .wp-block-post-excerpt {
        margin-block-start:5px;
    }
    

    .search-results .mobile-search-results-list ul li .wp-block-post-excerpt__excerpt {
        font-size:13px;
    }
}

@media (max-width:359px) {

     .wp-block-woocommerce-add-to-cart-form .variations_button, .wp-block-woocommerce-add-to-cart-form form.cart {
        grid-template-columns: 0.5fr 1fr;
    }

    .woocommerce div.product form.cart button.single_add_to_cart_button {width:100%;}

      .new-badge {
            left: 57%;
            font-size:3.9vw;
    }

    .top-bar .wp-container-core-group-is-layout-fc9f69e7 {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
    }

    .wp-container-content-a33ef8fc {
  flex-basis: unset;
}
}
