/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

 /* ==============================
   B2B Top Bar — Blocksy Header
   ============================== */

:root {
  --b2b-green: #2F5D3A;
  --b2b-green-dark: #244B2F;
  --b2b-green-soft: #EEF4EC;
  --b2b-bg: #FAFAF7;
  --b2b-border: #E8E5DD;
  --b2b-text: #1E1E1E;
  --b2b-muted: #6B6B6B;
}

.b2b-topbar {
  width: 100%;
  color: var(--b2b-green-dark);
  font-size: 13px;
  line-height: 1.3;
}

.b2b-topbar__inner {
  width: 100%;
  max-width: 1440px;
  min-height: 34px;
  margin: 0 auto;
  padding: 6px 28px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

.b2b-topbar__group {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.b2b-topbar__group--left {
  justify-content: flex-start;
}

.b2b-topbar__group--center {
  justify-content: center;
  text-align: center;
}

.b2b-topbar__group--right {
  justify-content: flex-end;
}

.b2b-topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--b2b-green-dark);
  text-decoration: none;
  white-space: nowrap;
}

a.b2b-topbar__item:hover {
  color: var(--b2b-green);
  text-decoration: none;
}

.b2b-topbar__item--strong {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.b2b-topbar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--b2b-green);
  font-size: 14px;
  line-height: 1;
  transform: translateY(-1px);
}

.ct-header .b2b-topbar {
  margin-left: calc(var(--has-wide, 0) * -1px);
  margin-right: calc(var(--has-wide, 0) * -1px);
}

/* Tablet */
@media (max-width: 1024px) {
  .b2b-topbar__inner {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 8px 20px;
  }

  .b2b-topbar__group {
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
  }

  .b2b-topbar__group--center {
    order: -1;
  }
}

/* Mobile */
@media (max-width: 689px) {
  .b2b-topbar {
    font-size: 12px;
  }

  .b2b-topbar__inner {
    min-height: auto;
    padding: 8px 14px;
  }

  .b2b-topbar__group--left,
  .b2b-topbar__group--right {
    display: none;
  }

  .b2b-topbar__group--center {
    display: flex;
  }

  .b2b-topbar__item {
    white-space: normal;
  }
}

/*Header*/
.custom-button-menu {
    padding: 0 !important;
    border: none !important;
    background: none !important;
    color: rgb(255, 63, 101);
    font-weight: bold;
}
.custom-button-menu:after{
    content:"";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='red' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'%3E%3Cpath d='M7 17 17 7'/%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3Ccircle cx='16' cy='16' r='2'/%3E%3C/svg%3E%0A");
    width: 19px;
    height: 19px;
    margin-left: -3px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

.custom-button-menu:hover{
    color: rgba(255, 11, 60, 0.952);
}

/*Button*/
.wp-block-buttons .wp-block-button.is-style-arrow a.wp-block-button__link{
    padding: 0;
    background-color: transparent !important;
    border: none;
    color: #000 !important;
    transition: all 0.3s;
}

.wp-block-buttons .wp-block-button.is-style-arrow a.wp-block-button__link:hover {
    color: #2F5D3A !important;
}

.wp-block-buttons .wp-block-button.is-style-arrow a.wp-block-button__link::after{
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12H20M20 12L14 6M20 12L14 18' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
    margin-left: 5px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s;
}

.wp-block-buttons .wp-block-button.is-style-arrow a.wp-block-button__link:hover:after{
    transform: translateX(3px);
    filter: brightness(0) saturate(100%) invert(28%) sepia(32%) saturate(837%) hue-rotate(82deg) brightness(87%) contrast(78%);
}

/*Homepage*/
.hero-banner.wp-block-cover .wp-block-cover__image-background {
    object-fit: cover;
    object-position: -50%;
}

@media (min-width:992px) {
    .hero-banner.wp-block-cover .wp-block-cover__image-background{
        object-fit: contain;
        object-position: right;
    }
}


.category-grid__item{
    min-height: 220px !important;
    box-shadow: 5px 5px 10px #00000020;
}

.wc-block-featured-category.category-grid__item .wc-block-featured-category__background-image {
    object-fit: contain !important;
    object-position: -110px 42px !important;
    transition: transform 0.3s;
    opacity: 0.8;
}

.wc-block-featured-category.category-grid__item:hover .wc-block-featured-category__background-image{
    transform: scale(1.1);
}

.wc-block-featured-category.category-grid__item.first .wc-block-featured-category__background-image {
    object-position: -42% 40px !important;
}
.category-grid.wp-block-group.is-layout-grid {
    grid-template-columns: 1fr;
}

@media (min-width:575px) {
    .category-grid.wp-block-group.is-layout-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:992px) {
    .category-grid.wp-block-group.is-layout-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.category-grid__item h2 {
    font-size: 24px;
}

.category-grid__item-icon img{
    width: 40px;
    height: 40px;
    object-fit: contain;
    border: 1px solid #2F5D3A;
    padding: 5px;
    border-radius: 50%;
}

.category-grid__item .wc-block-featured-category__inner-blocks {
    max-width: 71%;
    padding-right: 0;
}

@media (min-width:575px) {
    .category-grid__item .wc-block-featured-category__inner-blocks {
        max-width: 80%;
    }
}

@media (min-width:991px) {
    .category-grid__item .wc-block-featured-category__inner-blocks {
        max-width: 100%;
        padding-left: 30px;
    }
}

@media (min-width:1200px) {
    .category-grid__item .wc-block-featured-category__inner-blocks {
        max-width: 73%;
        padding-left: 15px;
    }
}

@media (min-width:1400px) {
    .category-grid__item .wc-block-featured-category__inner-blocks {
        max-width: 68%;
    }
}

.category-grid__item .wc-block-featured-category__wrapper {
    justify-content: flex-end;
}

.dgwt-wcas-search-wrapp {
    min-width: 600px;
}

.custom-grid .wc-block-product{
    background: #fff;
    border: 1px solid var(--b2b-border);
    border-radius: var(--b2b-radius);
    padding: 14px !important;
    box-shadow: var(--b2b-shadow);
    transition: transform .18s ease, box-shadow .18s ease;
}

.custom-grid .wc-block-product:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(31, 43, 36, 0.10);
}

.custom-grid .wc-block-product img.attachment-woocommerce_thumbnail {
    border-radius: 10px;
}

.custom-grid .wc-block-product-template__responsive>li {
    margin-bottom: 0;
}


@media (min-width:600px) {
    .home .wc-block-product-template.is-flex-container.is-flex-container.columns-5>li {
        width: calc(50% - 1em);
    }
}

@media (min-width:991px) {
    .home .wc-block-product-template.is-flex-container.is-flex-container.columns-5>li {
        width: calc(33% - 1em);
    }
}

@media (min-width:1200px) {
    .home .wc-block-product-template.is-flex-container.is-flex-container.columns-5>li {
        width: calc(20% - 1em);
    }
}
/*Footer*/
ul.custom-list li:not(:last-child){
    margin-bottom: 6px;
}

.ct-footer .ct-widget.is-layout-flow.widget_block:has(ul) {
    margin: 0;
}

/*Product*/
.woocommerce-variation-description {
    font-family: 'Inter';
    font-style: italic;
    font-size: 14px;
}


/* ==============================
   B2B Free Shipping Progress Bar
   WooCommerce Cart Block safe CSS
   ============================== */

.b2b-free-shipping-progress {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 28px !important;
  padding: 18px 20px !important;
  background: #ffffff !important;
  border: 1px solid #E8E5DD !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(31, 43, 36, 0.07) !important;
  overflow: hidden !important;
}

.b2b-free-shipping-progress *,
.b2b-free-shipping-progress *::before,
.b2b-free-shipping-progress *::after {
  box-sizing: border-box !important;
}

.b2b-free-shipping-progress__header {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 14px !important;
}

.b2b-free-shipping-progress__icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #EEF4EC !important;
  border-radius: 14px !important;
  color: #2F5D3A !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

.b2b-free-shipping-progress__icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  color: #2F5D3A !important;
  stroke: currentColor !important;
  fill: none !important;
  overflow: visible !important;
}

.b2b-free-shipping-progress__icon svg path,
.b2b-free-shipping-progress__icon svg circle,
.b2b-free-shipping-progress__icon svg rect,
.b2b-free-shipping-progress__icon svg line,
.b2b-free-shipping-progress__icon svg polyline {
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.b2b-free-shipping-progress__content {
  display: block !important;
  min-width: 0 !important;
}

.b2b-free-shipping-progress__title {
  display: block !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  color: #173D25 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.b2b-free-shipping-progress__message {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  color: #6B6B6B !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

.b2b-free-shipping-progress__message strong {
  color: #2F5D3A !important;
  font-weight: 800 !important;
}

.b2b-free-shipping-progress__amount {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: #EEF4EC !important;
  border-radius: 999px !important;
  color: #2F5D3A !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.b2b-free-shipping-progress__bar {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #EEF4EC !important;
  border-radius: 999px !important;
}

.b2b-free-shipping-progress__bar span {
  display: block !important;
  height: 100% !important;
  min-height: 12px !important;
  max-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(90deg, #2F5D3A 0%, #4F7B58 100%) !important;
  border-radius: 999px !important;
  transition: width 0.35s ease !important;
}

.b2b-free-shipping-progress__hint {
  display: block !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  color: #6B6B6B !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.b2b-free-shipping-progress--success {
  border-color: rgba(47, 93, 58, 0.35) !important;
  background: linear-gradient(180deg, #ffffff 0%, #F7FBF6 100%) !important;
}

.b2b-free-shipping-progress--success .b2b-free-shipping-progress__icon {
  background: #2F5D3A !important;
  color: #ffffff !important;
}

.b2b-free-shipping-progress--success .b2b-free-shipping-progress__icon svg {
  color: #ffffff !important;
}

@media (max-width: 689px) {
  .b2b-free-shipping-progress {
    padding: 16px !important;
    margin-bottom: 22px !important;
  }

  .b2b-free-shipping-progress__header {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .b2b-free-shipping-progress__icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  .b2b-free-shipping-progress__icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  .b2b-free-shipping-progress__amount {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
}

/* B2B — opisy bezpośrednio na przyciskach wariantów */

.woo-variation-swatches .variable-items-wrapper .variable-item.b2b-unit-swatch-enhanced {
  width: auto !important;
  height: auto !important;
  min-height: 66px !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  align-items: flex-start !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item.b2b-unit-swatch-enhanced .variable-item-span {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: left !important;
  line-height: 1.25 !important;
}

.b2b-swatch-meta {
  display: block !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #6B6B6B !important;
  white-space: nowrap !important;
}

.b2b-swatch-meta--package {
  color: #173D25 !important;
  font-weight: 700 !important;
}

.b2b-swatch-meta--min {
  color: #2F5D3A !important;
  font-weight: 700 !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item.selected .b2b-swatch-meta,
.woo-variation-swatches .variable-items-wrapper .variable-item.selected .b2b-swatch-meta--package,
.woo-variation-swatches .variable-items-wrapper .variable-item.selected .b2b-swatch-meta--min {
  color: inherit !important;
}

@media (max-width: 689px) {
  .b2b-swatch-meta {
    white-space: normal !important;
  }

  .woo-variation-swatches .variable-items-wrapper .variable-item.b2b-unit-swatch-enhanced {
    min-height: 62px !important;
    padding: 9px 12px !important;
  }
}

.single_add_to_cart_button.b2b-qty-invalid {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.2);
}

.b2b-add-to-cart-qty-notice {
  margin: 10px 0 14px;
  padding: 10px 12px;
  background: #FFF7E8;
  border: 1px solid rgba(200, 120, 40, 0.25);
  border-radius: 10px;
  color: #7A4A12;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

body.logged-in .hide-logged-in{
	display: none;
}