/* 
Theme Name: GSE Child
Author: MODERN CREATIVE
Author URI: https://moderncreative.pl
Template: gse
Version: 1.0.0
Text Domain: gse-child
*/

/* Add your custom styles here */


.shine-gold {
  position: relative;
  display: inline-block;
  font-weight: bold;
  background: linear-gradient(
    120deg,
    #d4af36 0%,
    #f7e7ce 40%,
    #d4af36 60%
  );
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: shine-text-animation 3s linear infinite;
}

@keyframes shine-gold-animation {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}


.shine-purple .elementor-heading-title {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 2rem;
  background: linear-gradient(
    120deg,
    #3B006A 0%,
    #CBB1DC 40%,
    #3B006A 60%
  );
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: shine-purple-animation 5s linear infinite;
}


@keyframes shine-purple-animation {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}



.heart {
  align-content: center;
  align-items: center;
  height: auto;
  aspect-ratio: 1;
  --_m: radial-gradient(#000 69%,#0000 70%) 84.5%/50%;
  -webkit-mask-box-image: var(--_m);
  mask-border: var(--_m);
  clip-path: polygon(-41% 0, 50% 91%, 141% 0);

  animation: heart 1.5s infinite ease-in-out;
  transform-origin: center center;
  will-change: transform;
contain: paint;
backface-visibility: hidden;
	outline: 1px solid transparent;

}

@supports not (-webkit-mask-box-image: var(--_m)) {
  .heart {
    mask:
      radial-gradient(at 70% 31%, #000 29%, #0000 30%),
      radial-gradient(at 30% 31%, #000 29%, #0000 30%),
      conic-gradient(#000 0 0) bottom/100% 50% no-repeat;
  }
}

@keyframes heart {
  0% {
    transform: scale(1) translateY(0);
  }
  50% {
    transform: scale(0.97) translateY(0.3px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}


.kafle {clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%); }

.kafle h3, .heart h3
 {
position: relative;
  display: inline-block;
  font-weight: bold;
  background: linear-gradient(
    120deg,
    #d4af36 0%,
    #f7e7ce 40%,
    #d4af36 60%
  );
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: shine-text-animation 3s linear infinite;
}

@keyframes shine-text-animation {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
} 


.pulse {
  animation: pulse 1.5s ease-in-out infinite;
  display: inline-block;
  transform-origin: center;
}

@keyframes pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}


.test {
  width: auto;
  height: auto;;

  color: white;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  position: relative;
  transition: box-shadow 0.3s ease;
}

.test:hover {
  box-shadow: 0 0 20px 10px #d4af37;
  animation: glowPulse 1.5s infinite ease-in-out;
}

@keyframes glowPulse {
  0% {
    box-shadow: 0 0 10px 5px gold;
  }
  50% {
    box-shadow: 0 0 25px 15px gold;
  }
  100% {
    box-shadow: 0 0 10px 5px gold;
  }

}


.elementor-testimonial {
  display: flex;
  flex-direction: column;
}

.elementor-testimonial__footer {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-direction: row;
}

.elementor-testimonial__image {
  order: 2; /* Przenieś flagę na koniec */
vertical-align: bottom;
	margin-bottom: -5px;
}

.elementor-testimonial__cite {
  order: 1; /* Podpis autora */
}

.purple-shadow {
  width: auto;
  height: auto;

  color: white;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  position: relative;


  box-shadow: 0 0 10px 5px #3B006A;
  animation: glowPulse 1.5s infinite ease-in-out;
  transition: box-shadow 0.3s ease;
}

@keyframes glowPulse {
  0% {
    box-shadow: 0 0 10px 5px #3B006A;
  }
  50% {
    box-shadow: 0 0 15px 10px #3B006A;
  }
  100% {
    box-shadow: 0 0 10px 5px #3B006A;
  }
}

.d-price {
	color: #3B006A !important;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
	
	flex-direction: column;
}

.woocommerce #review_form #respond .form-submit input {
	font-family: 'Playfair Display';
    padding: 10px 30px;
	background-color: #3b006a;
    color: white;
	border-radius: 0px;
}

.korona-shop {
  animation: pulse 1.5s ease-in-out infinite;
  display: inline-block;
  transform-origin: center;
}

@keyframes pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}
	

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	padding: 1em 2em 1em 3.5em;
    margin: 0 0 2em;
    position: relative;
    background-color: #3B006A08;
    color: #000;
    border-top: 0px;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
	
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
	background-color: #3b006a;
		color: #fff;
	
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price
 {
    color: #3B006A;
}

.my-product-category-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.my-product-category-list li {
  padding: 3px 0;
  border-bottom: 1px solid #e0e0e0;
}

.my-product-category-list li:last-child {
  border-bottom: none;
}

.my-product-category-list li a {
  text-decoration: none;
	font-size: 14px;
  color: #222;
  font-weight: 400;
  transition: color 0.3s;
}

.my-product-category-list li a:hover {
  color: #0073aa;
}
@keyframes puls {
  100% {
    box-shadow: 0 0 0 20px rgba(212, 175, 55, 0); 
  }
}

body .cta-pulse .elementor-button {
  animation: puls 2.25s cubic-bezier(.66,0,0,1) infinite;
  box-shadow: 0 0 0 0 #D4AF37; 
  transform: translateZ(0);
}

.ctn {
  position: relative;
  height: 600px; 
  overflow: auto;
}

.cat {
  position: sticky !important;
  top: 0;
  z-index: 10;
}

.my-product-category-list {
  max-height: 90vh; 
  overflow-y: auto; 
  padding-right: 10px; 
}
@media (max-width: 1366px) {
	.my-product-category-list li a {
  text-decoration: none;
	font-size: 14px;
  color: #222;
  font-weight: 400;
  transition: color 0.3s;
}
.my-product-category-list li {
  padding: 3px 0;
	border-bottom: 1px solid #e0e0e0; } }


.shiny-container {
  position: relative;
  background: #D4AF37;
  color: black;
  overflow: hidden;
  font-family: sans-serif;
}

.shiny-container::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 30%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 70%
  );
  transform: rotate(25deg);
  animation: shine 4.5s infinite;
}

@keyframes shine {
  0% {
    transform: translateX(-100%) rotate(25deg);
  }
  100% {
    transform: translateX(100%) rotate(25deg);
  }
}
