/*
Theme Name: SPACEY SHOP
Author: Kompromix
Text Domain: theme
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap&subset=latin-ext');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');

:root {
  --blue: #1AA3FF;
  --red: #FF1A1E;
  --lightgrey: #F7F7F7;
  --grey: #E6E6E6;
  --darkgrey: #9B9B9B;
  --white: #ffffff;
  --dark: #071439;
  --medium: #15234A;
  --light: #293860;
  --green: #01D92C;
  --dark-transparent: rgba(7, 20, 57, 0.1);
  --red-transparent: rgba(255, 26, 30, 0.1);
  --green-transparent: rgba(1, 217, 44, 0.1);
  --header-big: 600 3.2rem/4.8rem 'Poppins', sans-serif;
  --header-medium: 600 2.4rem/3.8rem 'Poppins', sans-serif;
  --header-small: 500 1.6rem/2.8rem 'Poppins', sans-serif;
  --header-vsmall: 500 1.4rem/2.4rem 'Poppins', sans-serif;
  --content: 300 1.4rem/2.6rem 'Poppins', sans-serif;
  --content-small: 300 1.2rem/2rem 'Poppins', sans-serif;
  --content-tiny: 500 1.0rem/1.6rem 'Poppins', sans-serif;
}

html {
  font-size: 62.5%;
}

body, html {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--dark);
  overflow-x: hidden;
}

body, a, p, h1, h2, h3, h4, h5 {
  font: var(--content);
  color: var(--white);
  letter-spacing: .05rem;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

::selection {
	background: var(--blue);
	color: var(--white);
}

::-moz-selection {
	background: var(--blue);
	color: var(--white);
}

strong, b {
    font-weight: 600;
}

img {
    width: 100%;
    height: auto;
}

h1 {
  font: var(--header-big);
}

h2, h3 {
  font: var(--header-medium);
}

h4, h5 {
  font: var(--header-small);
}

.btn {
  background: linear-gradient(90deg, #007eed, #1aa3ff);
  box-shadow: 0px 0px 8px #1AA3FF!important;
  cursor: pointer;
  transition: transform .2s 
ease, box-shadow .2s 
ease, filter .2s 
ease;
  border: none;
  text-transform: uppercase;
  border-radius: 6px;
  font: var(--header-small);
  padding: 12px 36px;
  display: block;
  width: 100%;
  color: var(--white);
  position: relative;
  overflow: hidden;
  letter-spacing: 0.1rem;
  color: var(--white);
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.btn:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.btn * {
  position: relative;
  z-index: 2;
}

.btn:focus,
.btn:active {
  outline: none;
  box-shadow: none;
}

a.btn,
a.btn * {
  color: var(--white);
}

.btn-sm {
  padding: 0;
  margin-top: 10px;
  float: right;
  border: 0;
  background: none;
  font: var(--content-tiny);
  color: var(--white);
  text-transform: uppercase;
}

/* Header */
header {
  position: relative;
  overflow: hidden;
}

header::before {
  content: '';
  position: absolute;
  top: -260px;
  left: -400px;
  width: 1122px;
  height: 1122px;
  background: url('images/glow.png') no-repeat center;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
}

.home header::before {
  display: none;
}

body.home {
  position: relative;
}

.page-glows {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.page-glows::before,
.page-glows::after {
  content: '';
  position: absolute;
  width: 1122px;
  height: 1122px;
  background: url('images/glow.png') no-repeat center / contain;
  opacity: 1;
}

.page-glows::before {
  top: -460px;
  left: -100px;
}

.page-glows::after {
  bottom: -660px;
  right: 50px;
}

header > * {
  position: relative;
  z-index: 1;
}

.navbar {
  width: 100%;
	padding: 32px 0;
	margin: 0;
}

.navbar-brand img {
  width: 200px;
}

.navbar-nav {
  width: 100%;
  display: flex;
  gap: 28px; /* Odległość między linkami */
  align-items: center; /* Wyśrodkowanie linków w pionie */
  justify-content: center;
}

.navbar-nav li.nav-item > .nav-link {
  font: var(--header-vsmall);
  text-transform: uppercase;
  color: var(--white);
  transition: all 0.5s ease-in-out;
}

.navbar-nav li.nav-item > .nav-link:hover {
  color: var(--blue);
  background-color: var(--dark);
}

.navbar-toggler {
    z-index: 1100;
}

.home header .navbar-toggler {
  display: inline-flex !important;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8h22M4 14h22M4 20h22' stroke='%23ffffff' stroke-width='1.2' stroke-linecap='round' stroke-miterlimit='10'/%3E%3C/svg%3E") !important;
  width: 40px !important;
  height: 40px !important;
}

.navbar-collapse.show {
    background-color: var(--dark);
    z-index: 1050;
}

.header-icons {
  display: flex;
  align-items: center;
}

.header-icons a,
.header-icons button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-icons .search-toggle {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0 8px; /* było na img, przenosimy na wrapper */
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.header-icons a {
  margin: 0 8px; /* żeby button i linki miały identyczny spacing */
  text-decoration: none;
}

.header-icons img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block; /* usuwa baseline-owe dziwne przesunięcia */
}

/* jeśli chcesz większą lupę i koszyk (wcześniej miałeś first/last) */
.header-icons .search-toggle img,
.header-icons .cart-icon img {
  width: 30px;
  height: 30px;
}

.cart-icon {
  position: relative;
}

.cart-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background-color: var(--blue);
  color: var(--dark);
  font: var(--content-tiny);
  width: 16px;
  height: 16px;
  line-height: 16px;
  border-radius: 0;
  text-align: center;
  display: inline-block;
}


/* Modal Menu */
.menu-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--dark);
  z-index: 2000;
  display: none; /* Ukryty domyślnie */
}

.menu-modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 20px;
}

.modal-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.modal-menu li {
  margin: 30px 0;
}

.modal-menu li a {
  font-size: 2rem;
  color: #fff;
  text-decoration: none;
}

.modal-menu li a:hover {
  color: var(--blue);
}

/* Przycisk zamknięcia modalu */
.menu-close {
  position: absolute;
  top: 40px;
  right: 18px;
  font-size: 4rem;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

.products-carousel-inner {
  background: var(--medium);
  text-align: center;
  position: relative;
  height: 100%;
  padding: 12px;
  border-radius: 12px;
}

.products-carousel-item,
.products-carousel-inner {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.products-carousel-image {
  position: relative;
  display: block;
  overflow: hidden;
  height: 250px;
  border-radius: 12px;
}

.products-carousel-image > img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.products-carousel-image .second-image {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
}

.products-carousel-image .second-image img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 0.45s ease;
}

/* HOVER – STABILNY */
.products-carousel-image:hover > img {
  opacity: 0;
  transform: scale(1.05);
}

.products-carousel-image:hover .second-image {
  opacity: 1;
}

.products-carousel-image:hover .second-image img {
  transform: scale(1);
}

.products-carousel-labels {
  position: absolute;
  top: 24px;
  left: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 3;
}

.label {
  background: var(--green);
  color: var(--dark);
  padding: 4px 12px;
  font: var(--content-tiny);
  border-radius: 6px;
}

.label.sale {
  background: var(--green);
}

.label.featured {
  background: var(--blue);
}

.label.new {
  background: var(--red);
}

.label.bestseller {
  background: var(--white);
}

.products-carousel-info {
  margin-top: 24px;
}

.products-carousel-info a h5 {
  font: var(--header-small);
  text-align: left;
}

.products-carousel-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.products-carousel-prices {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.price-sale {
  color: var(--green);
  font: var(--header-small);
}

.price-regular {
  text-decoration: line-through;
  color: var(--white);
  font: var(--header-small);
  font-weight: 300;
}

.price-current {
  font: var(--header-small);
  color: var(--white);
}

.add-to-cart-btn {
  padding: 4px 8px;
  margin: 12px 0;
}

.add-to-cart-btn img {
  width: 22px;
}

.products-carousel-slider {
  position: relative;
  overflow-x: hidden;
  overflow-y: visible;
}

.products-carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--dark);
  color: var(--white);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 100;
}

.products-carousel-prev {
  left: 6%;
}

.products-carousel-next {
  right: 6%;
}

.products-carousel-nav.swiper-button-disabled {
  background: var(--grey);
}


.products-carousel-section {
  position: relative;
  overflow: visible;

}

.site-footer {
  background: var(--dark);
  color: var(--white);
}

.home .site-footer {
  padding-bottom: 60px;
}

.footer-top {
  background: url('images/contact-bg.png') center/cover no-repeat;
  padding: 9rem;
  color: var(--white);
}

.footer-top h2 {
  margin-bottom: 4rem;
  font: var(--header-big);
}

.footer-top .footer-contact{
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4.8rem !important;
  flex-wrap: nowrap !important;
}

.footer-top .footer-contact-item{
  display: inline-flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
  width: auto !important;
  white-space: nowrap !important;
}

.footer-contact a {
  font: var(--header-medium);
  font-weight: 300;
}

.footer-top .footer-contact-item img {
  width: 38px !important;
  height: 38px !important;
  display: block !important;
  flex: 0 0 38px !important;
}

.footer-main {
  padding: 48px 0;
  position: relative;
  overflow: hidden;
}

.footer-main::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translate(-50%, -10%);
  width: 820px;
  height: 820px;
  background: url('images/glow.png') no-repeat center;
  background-size: contain;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}

.footer-main > .container {
  position: relative;
  z-index: 1;
}

.footer-main .navbar-brand img {
  margin-bottom: 30px;
}

.footer-main h5 {
  text-transform: uppercase;
  margin-bottom: 30px;
}

.footer-address {
  list-style: none;
  padding: 0;
  margin: 1.6rem 0 0;
}

.footer-address-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: #fff;
  font: var(--content-small);
}

.footer-address-item img {
  width: 32px;
  height: auto;
  flex-shrink: 0;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 1rem;
}

.footer-links a {
  color: var(--white);
  text-decoration: none;
  font: var(--content-small);
}

.footer-links a:hover {
  text-decoration: underline;
}

.footer-bottom {
  background: var(--medium);
  font: var(--content-small);
  padding: 16px 0 2px;
  z-index: 2;
}

.home .footer-bottom {
  background: transparent;
}

.footer-bottom p, .footer-bottom a {
  color: var(--white);
  font: var(--content-small);
}

.f-contact a, .f-links a {
  padding-right: 8px;
}

.f-contact, .f-copy {
  padding-bottom: 8px;
}

.f-copy, .f-author {
  text-align: right;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0!important;
  margin: 1px!important;
  margin-top: 30px!important;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0!important;
  margin: 0 4px!important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 12px 16px!important;
}

.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--navy)!important;
  color: var(--white)!important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--dark)!important;
  color: var(--white)!important;
}

.breadcrumbs-wrapper {
  padding: 20px 0 6px;
  background: var(--medium);
  margin-bottom: 60px;
}

.breadcrumbs-wrapper a {
  text-decoration: none;
  color: var(--white)!important;
  font-size: 12px!important;
  font-weight: 300;
}

.breadcrumbs-wrapper a:hover {
  text-decoration: underline;
}

.breadcrumbs-wrapper .woocommerce-breadcrumb,
.woocommerce-breadcrumb span:last-of-type {
  color: var(--blue)!important;
  font-size: 12px!important;
  font-weight: 600;
}

aside {
  padding-right: 25px!important;
}

.aside-cat {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: #fff;
  font: var(--header-small);
  margin-bottom: 30px;
}

.aside-cat img {
  width: 24px;
  height: auto;
  flex-shrink: 0;
}

.aside-filters {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: #fff;
  font: var(--header-small);
  margin-bottom: 10px;
}

.aside-filters img {
  width: 24px;
  height: auto;
  flex-shrink: 0;
}

.category-banner {
  margin-bottom: 40px;
}

.category-banner img {
  border-radius: 14px;
}

.category-accordion {
  margin: 0;
  padding: 0;
  font: var(--content-small);
}

.category-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
}

.col-md-9 .category-header {
  display: block;
  padding: 0;
}

.term-description {
  padding: 0;
  margin-top: 20px;
}

.term-description p {
  font: var(--content);
}

.sorting {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  color: #fff;
  font: var(--header-small);
  margin: 30px 0 20px;
}

.sorting img {
  width: 24px;
  height: auto;
  flex-shrink: 0;
}

.page-numbers li a {
  font-weight: 300 !important;
}

.page-numbers li span.current {
  font-weight: bold !important;
}

.page-numbers li a.next {
  background: var(--blue);
  border-radius: 6px;
  font-size: 14px !important;
  margin-left: 24px !important;
}

.page-numbers li a.prev {
  background: var(--blue);
  border-radius: 6px;
  font-size: 14px !important;
  margin-right: 24px !important;
}

.aside-cat-container {
  margin-bottom: 60px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--light);
}

.category-name {
  flex-grow: 1;
  font: var(--header-small);
  color: var(--white);
  text-decoration: none;
  text-transform: uppercase;
}

.category-name:hover {
  text-decoration: none;
}

.category-count {
  background: var(--light);
  color: var(--white);
  font-size: 1.2rem;
  font-weight: 500;
  padding: 2px;
  border-radius: 2px;
  min-width: 30px;
  text-align: center;
}

.category-count.is-active {
  background: var(--blue);
  color: var(--dark);
  font-weight: 700;
}

.category-name.is-active,
.subcategory-list a.is-active .subcategory-name {
  color: var(--blue);
}

.category-toggle {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  line-height: 1;
  box-shadow: none !important;
}

.category-toggle .toggle-icon {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
}

.category-toggle .toggle-icon::before,
.category-toggle .toggle-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 2px;
  background: var(--white);
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease, background 0.25s ease;
}

.category-toggle .toggle-icon::after {
  width: 2px;
  height: 10px;
}

.category-item.open .category-toggle .toggle-icon::after {
  opacity: 0;
}

.subcategory-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  max-height: 0;
  opacity: 0;

  transition:
    opacity 0.25s ease,
    max-height 0.35s ease 0.25s,
    padding 0.35s ease 0.25s;
}

.category-item.open .subcategory-list {
  max-height: 3500px;
  opacity: 1;
  padding: 10px 0;

  transition:
    max-height 0.45s ease,
    padding 0.35s ease,
    opacity 0.25s ease 0.10s;
}

.subcategory-list li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  color: var(--white);
  text-decoration: none;
  font: var(--content);
}

.subcategory-list li a:hover {
  text-decoration: none;
}

.subcategory-list .category-count {
  margin-left: auto;
}

/* Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.filter-inputs .form-control {
  font: var(--content-small);
  background: transparent;
  color: #fff;
  padding: 16px;
  border: 1px solid var(--light);
  border-radius: 6px;
  text-align: center;
}

.filter-price button {
  margin: 20px 0;
}

.filter-price {
  margin-bottom: 20px;
}

span#slider-max,
span#slider-min {
  font: var(--content-small);  
}

#priceSlider {
  height: 2px;
  background: var(--light);
  border-radius: 0;
  margin-bottom: 30px;
  margin-top: 20px;
  position: relative;
  padding: 0;
  box-sizing: border-box;
}

.noUi-base {
  background: var(--light);
}

#priceSlider .noUi-connect {
  background: var(--blue);
}

#priceSlider .noUi-handle:after, .noUi-handle:before {
  display: none!important;
  height: 1px!important;
}

.noUi-horizontal .noUi-handle {
  width: 12px!important;
  height: 12px!important;
  right: -7px!important;
  top: -5px!important;
  border-radius: 20px !important;
}

.noUi-handle {
  border: 0!important;
  border-radius: 0!important;
  background: var(--blue)!important;
  cursor: default!important;
  box-shadow: none!important;
}

.noUi-target {
  border: 0!important;
}

.noUi-connects {
  border-radius: 0px!important;
}

.archive-product {
  padding-bottom: 90px;
  position: relative;
  overflow: hidden;
}

.archive-product::after {
  content: '';
  position: absolute;
  left: 85%;
  top: 75%;
  transform: translate(-85%, 0%);
  width: 820px;
  height: 820px;
  background: url('images/glow.png') no-repeat center;
  background-size: contain;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.woocommerce-page, .page {
  position: relative;
  overflow-x: hidden;
}

.woocommerce-page::before, .page::before {
  content: '';
  position: absolute;
  right: -40%;
  top: -15%;
  transform: translate(0%, 0%);
  width: 820px;
  height: 820px;
  background: url('images/glow.png') no-repeat center;
  background-size: contain;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.product-card {
  background: var(--medium);
  border: none;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: box-shadow 0.3s ease;
}

.product-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.product-card a {
  text-decoration: none;
  color: inherit;
}

.product-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
  display: block;
}

.product-card:hover img {
  transform: scale(1.05);
}

.product-card .product-title {
  font: var(--header-small);
  text-align: left;
  padding: 0 12px;
  margin-top: 12px;
  color: var(--white);
  min-height: 50px;
}

.product-card .product-price {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  font: var(--header-small);
  justify-content: space-between;
}

.product-card .product-price del {
  color: var(--white);
}

.product-card .product-price ins {
  font: var(--header-medium);
  color: var(--green);
  text-decoration: none;
}

p.iworks-omnibus {
  font: var(--content-small);
  display: block;
  width: 100%;
}

/* --- Analogiczne style dla .product-price-addtocart .product-price --- */
.product-price-addtocart .product-price {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  font: var(--header-medium);
  flex-wrap: wrap;
}

.product-price-addtocart .product-price del {
  color: var(--white);
}

.product-price-addtocart .product-price ins {
  font: var(--header-medium);
  color: var(--green);
  text-decoration: none;
}

.quantity input {
  max-width: 80px;
  border: 1px solid var(--grey);
  padding: 6px 10px;
  text-align: center;
  font: var(--content-small);
}

.filter-price {
  padding: 24px 0 40px;
}

.filter-name {
  padding-bottom: 16px;
}

.filter-inputs {
  padding-bottom: 12px;
}

.aside-close-icon {
  font-size: 18px;
}

.woocommerce-ordering {
  margin: 0 !important;
}

.woocommerce-ordering select.orderby {
  padding: 16px;
  border: 1px solid var(--light);
  background: transparent url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
  background-size: 10px;
  font: var(--content-small);
  color: var(--white);
  border-radius: 6px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin-left: 12px;

}

/* Single Product Top Section */
.product-gallery {
  padding-right: 50px;
}

.product-main-image img {
  object-fit: cover;
  width: 100%;
  margin-bottom: 20px;
  border-radius: 12px;
}

.woocommerce img, .woocommerce-page img {
  border-radius: 14px;
}

.product-summary-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 20px;
  z-index: 1;
}

.product-summary-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.product-info-icons img {
  width: 30px;
  height: auto;
}

.info-label {
  font: var(--content-tiny);
  color: var(--white);
}

.info-value {
  font: var(--header-small);
}

.info-value span {
  color: var(--red);
}

.product-buy {
  background: var(--medium);
  display: flex;
  justify-content: center;
  padding: 28px 38px 48px;
  border-radius: 12px;
}

.product-price-addtocart .cart {
  display: flex;
  gap: 1rem;
}

.product-price-addtocart .single_add_to_cart_button {
  width: 100%;
  padding: 12px 24px;
  font: var(--header-small);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.product-price-addtocart .single_add_to_cart_button:hover {
  color: var(--white);
}

.quantity-wrapper {
  width: 100%;
  max-width: 120px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0;
  overflow: hidden;
}

.quantity-wrapper .quantity-minus,
.quantity-wrapper .quantity-plus {
  background: var(--dark);
  border: none;
  font-size: 2rem;
  width: 40px;
  height: 40px;
  cursor: pointer;
  color: var(--white);
}

.quantity-wrapper input[type="number"] {
  border: none;
  width: 50px;
  text-align: center;
  font: var(--header-small);
  padding: 0;
  color: #fff;
  background: transparent;
  margin: 0;
  height: 50px;
  -moz-appearance: textfield;
  appearance: textfield;
}

.quantity-wrapper input[type="number"]::-webkit-inner-spin-button,
.quantity-wrapper input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single_add_to_cart_button img {
  width: 28px;
  height: 28px;
}

.product-addons {
  margin-top: 50px;
}

.product-addons h5 {
  margin-bottom: 20px;
}

.product-addons .addon-item{
  padding: 8px 0;
}

.product-addons .iworks-omnibus {
  display: none;
}

.product-addons .addon-thumb img{
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 6px;
  display:block;
}

.product-addons .addon-title a{
  text-decoration: none;
}

.product-addons .addon-price{
  font: var(--header-small);
  margin-top: 6px;
}

.product-addons .addon-price del {
  font: var(--content-small);
}

.product-addons .addon-price ins {
  text-decoration: none !important;
  color: var(--green);
}

.product-addons .addon-cta a {
  padding: 8px 16px;
  font: var(--header-vsmall);
  min-width: max-content;
}

/* Wishlist Button Styles */
.yith-add-to-wishlist-button-block {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  margin: 0;
}

.yith-add-to-wishlist-button-block.yith-add-to-wishlist-button-block--single {
  align-items: flex-end;
}

.yith-wcwl-add-to-wishlist-button svg {
  width: 24px !important;
  height: 24px;
  max-width: 24px !important;
}

.yith-add-to-wishlist-button-block a span,
.yith-wcwl-feedback-messages-container {
  display: none;
}

.woocommerce table.shop_table.wishlist_table tr td, .woocommerce table.shop_table.wishlist_table th {
  background: transparent;
  color: #fff;
  border-color: var(--light);
  padding: 20px;
}

.wishlist_table .product-add-to-cart a {
  color: var(--blue);
}

.wishlist_table .product-stock-status span.wishlist-in-stock {
  color: var(--green);
}

.product-availability{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-top:.75rem;
  margin-bottom:1rem;
}

.product-availability .availability-icon{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 10px;
}

.product-availability.in-stock{
  color: var(--green);
}
.product-availability.in-stock .availability-icon{
  background: var(--green);
}

.product-availability.out-of-stock{
  color: var(--red);
}
.product-availability.out-of-stock .availability-icon{
  background: var(--red);
}

.product-top-container {
  position: relative;
  overflow: hidden;
  padding-bottom: 80px;
}

.product-top::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -500px;
  width: 920px;
  height: 920px;
  background: url('images/glow.png') no-repeat center;
  background-size: contain;
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}

.detail {
  width: 400px;
  height: auto;
  position: absolute;
  bottom: -150px;
  z-index: 0;
  left: 0px;
}

.product-tabs {
  background: var(--medium);
  padding: 60px 0 80px;
}

.product-tabs-nav{
  margin-top: 20px;
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}

.product-tabs-nav .tabs-inner{
  position: relative;
  display: inline-flex;
  justify-content: center;
  gap: 48px;
  padding-bottom: 14px;
}

.product-tabs-nav .tabs-baseline{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255,255,255,.15);
  content: "";
}

.product-tabs-nav a{
  position: relative;
  padding: 8px 30px;
  font: var(--header-small);
  color: var(--white);
  text-transform: uppercase;
  text-decoration: none;
  margin: 0;
  white-space: nowrap;
}

.product-tabs-nav a.active{
  color: var(--blue);
}

.product-tabs-nav a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 1px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

.product-tabs-nav a.active::after{
  transform: scaleX(1);
}

.woocommerce-Tabs-panel--description > h2, .woocommerce-Tabs-panel > h2{
  display:none;
}

.featured-products-carousel{
  padding: 80px 0 100px;
}

.featured-products-carousel .section-title{
  margin-bottom: 32px;
}

.featured-products-swiper{
  overflow: visible;
}

.featured-swiper-prev,
.featured-swiper-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  z-index: 5;
}

.featured-swiper-prev{ left: -22px; }
.featured-swiper-next{ right: -22px; }

.featured-swiper-prev::before,
.featured-swiper-next::before{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin: 0 auto;
}

.featured-swiper-prev::before{ transform: rotate(135deg); }
.featured-swiper-next::before{ transform: rotate(-45deg); }

@media (max-width: 991.98px){
  .featured-swiper-prev{ left: -10px; }
  .featured-swiper-next{ right: -10px; }
}

.featured-swiper-prev.swiper-button-disabled,
.featured-swiper-next.swiper-button-disabled{
  opacity: .35;
}

.featured-swiper-prev,
.featured-swiper-next{
  pointer-events: auto !important;
  cursor: pointer;
}

.product-title {
  width: 100%;
  margin: 15px 0 10px;
  z-index: 1;
}

.product-info-price-buy {
  margin: 50px 0 10px;
  position: relative;
  z-index: 99999;
}

.custom-tab-link {
  padding: 30px;
  text-decoration: none;
  color: var(--white);
  font: var(--header-vsmall);
  text-transform: uppercase;
  position: relative;
  transition: color 0.3s;
}
.custom-tab-link.active {
  color: var(--blue);
}
.tab-underline {
  height: 1px;
  background-color: var(--blue);
  transition: left 0.3s ease, width 0.3s ease;
}
.border-bottom {
  border-bottom: 1px solid var(--light) !important;
}
.form-side-image {
  margin-bottom: 1.5rem;
}
.u-columns {
  margin-top: 72px;
}
.u-column1, .u-column2 {
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: center;
}
.u-column1 .form-side-image {
  order: 2;
}
.u-column2 .form-side-image {
  order: 1;
}
.woocommerce-form {
  width: 370px;
  padding: 0!important;
  border: 0!important;
}
.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 16px!important;
}
.woocommerce form .form-row input {
  padding: 12px 16px!important;
  border: 0.8px solid var(--darkgrey)!important;
  border-radius: 0!important;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: block!important;
  margin-bottom: 16px!important;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit,
form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row button {
  background: linear-gradient(90deg, #007eed, #1aa3ff)!important;
  box-shadow: 0px 0px 8px #1AA3FF!important;
  cursor: pointer!important;
  transition: transform .2s 
ease, box-shadow .2s 
ease, filter .2s 
ease!important;
  border: none!important;
  text-transform: uppercase!important;
  border-radius: 6px!important;
  font: var(--header-small)!important;
  padding: 12px 36px!important;
  display: block!important;
  width: 100%!important;
  color: var(--white)!important;
  position: relative!important;
  overflow: hidden!important;
  letter-spacing: 0.1rem!important;
  text-align: center!important;
  color: var(--white)!important;
  outline: none!important;
  appearance: none!important;
  -webkit-tap-highlight-color: transparent!important;
  margin-top: 16px;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit:hover,
form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row button:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.woocommerce-MyAccount-content .woocommerce-notices-wrapper .woocommerce-info {
  text-align: center!important;
}

.woocommerce-MyAccount-content .woocommerce-info {
  text-align: center!important;
}

.woocommerce-MyAccount-content .woocommerce-info .woocommerce-Button {
  margin-top: 30px;
}

#account_display_name_description em {
  font: var(--content-small);
  padding: 24px 14px;
  color: var(--light);
}

.woocommerce-EditAccountForm.edit-account fieldset legend {
  margin-bottom: 30px;
  margin-top: 20px;
  font-weight: 700;
}

form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row button {
  margin: 0 auto!important;
  float: none!important;
  display: block!important;
}


form.woocommerce-ResetPassword.lost_reset_password {
  margin: 72px auto 0;
  max-width: 600px;
  text-align: center;
}


form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
  width: 100%;
  margin: 24px 0!important;
}


.woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: 80%;
  margin: 72px auto 0;
}

.woocommerce-MyAccount-content > p:first-of-type {
  font: var(--header-small);
  text-align: center;
  margin-bottom: 2rem;
}

.woocommerce-MyAccount-content > p:first-of-type strong {
  font-weight: 600;
  color: var(--white);
}

.woocommerce-MyAccount-content > p:first-of-type a {
  color: var(--red);

  font-weight: 500;
}

.woocommerce-MyAccount-content > p:first-of-type a:hover {
  color: var(--white);
  text-decoration: underline;
}

.woocommerce-MyAccount-content > p:nth-of-type(2) {
  font: var(--content);
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.woocommerce-MyAccount-content > p:nth-of-type(2) a {
  color: var(--white);
  font-weight: 500;
  transition: color 0.3s ease;
}

.woocommerce-MyAccount-content > p:nth-of-type(2) a:hover {
  color: var(--white);
  text-decoration: underline;
}
.woocommerce-MyAccount-navigation-link--downloads,
.custom-tab-link[data-tab="downloads"] {
  display: none !important;
}
.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,
.woocommerce-Address-title.title a, .wc-block-components-button:not(.is-link).outlined {
  background: linear-gradient(90deg, #007eed, #1aa3ff)!important;
  box-shadow: 0px 0px 8px #1AA3FF!important;
  cursor: pointer!important;
  transition: transform .2s 
ease, box-shadow .2s 
ease, filter .2s 
ease!important;
  border: none!important;
  text-transform: uppercase!important;
  border-radius: 6px!important;
  font: var(--header-small)!important;
  padding: 12px 36px!important;
  display: block!important;
  width: 100%!important;
  color: var(--white)!important;
  position: relative!important;
  overflow: hidden!important;
  letter-spacing: 0.1rem!important;
  text-align: center!important;
  color: var(--white)!important;
  outline: none!important;
  appearance: none!important;
  -webkit-tap-highlight-color: transparent!important;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover,
.woocommerce-Address-title.title a:hover, .wc-block-components-button:not(.is-link).outlined:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.woocommerce-Address-title.title a {
  margin-top: 30px !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit {
  background: linear-gradient(90deg, #007eed, #1aa3ff)!important;
  box-shadow: 0px 0px 8px #1AA3FF!important;
  cursor: pointer!important;
  transition: transform .2s 
ease, box-shadow .2s 
ease, filter .2s 
ease!important;
  border: none!important;
  text-transform: uppercase!important;
  border-radius: 6px!important;
  font: var(--header-small)!important;
  padding: 12px 36px!important;
  display: block!important;
  width: 100%!important;
  color: var(--white)!important;
  position: relative!important;
  overflow: hidden!important;
  letter-spacing: 0.1rem!important;
  text-align: center!important;
  color: var(--white)!important;
  outline: none!important;
  appearance: none!important;
  -webkit-tap-highlight-color: transparent!important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.u-column1.col-1.woocommerce-Address,
.u-column2.col-2.woocommerce-Address {
  border: 1px solid var(--light);
  padding: 24px;
  border-radius: 6px;
}

.u-column1.col-1.woocommerce-Address header,
.u-column2.col-2.woocommerce-Address header{
  background: var(--dark);
  padding: 24px;
  border-radius: 6px;
}


.select2-container .select2-selection--single .select2-selection__rendered {
  padding: 12px 16px !important;
  border: 0.8px solid var(--darkgrey) !important;
  border-radius: 0px !important;
  color: var(--dark)!important;
  font: var(--content-small)!important;
}


.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header th,
table.wc-block-cart-items .wc-block-cart-items__header th,
.is-large.wc-block-cart .wc-block-cart__totals-title,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-weight: 600!important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 700;
  color: var(--navy);
}

p.wc-block-components-totals-shipping-address-summary strong {
  margin-left: 12px;
}

.wc-block-components-product-badge {
  border: 1px solid var(--green)!important;
  border-radius: 2px!important;
  padding: 6px 12px!important;
}

.wc-block-components-product-name {
  font: var(--header-small);
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  color: var(--red)!important;
}

.wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-form .wc-block-components-text-input input[type=email], .wc-block-components-form .wc-block-components-text-input input[type=number], .wc-block-components-form .wc-block-components-text-input input[type=password], .wc-block-components-form .wc-block-components-text-input input[type=tel], .wc-block-components-form .wc-block-components-text-input input[type=text], .wc-block-components-form .wc-block-components-text-input input[type=url], .wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=number], .wc-block-components-text-input input[type=password], .wc-block-components-text-input input[type=tel], .wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=url] {
  background: transparent !important;
  color: #fff !important;
  padding: 16px !important;
  border: 1px solid var(--light) !important;
  border-radius: 6px !important;
  margin-top: 20px !important;
  height: 60px !important;
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
  background: transparent !important;
  color: #fff !important;
  padding: 16px !important;
  border: 1px solid var(--light) !important;
  border-radius: 6px !important;
  margin-top: 20px !important;
  height: 60px !important;
  font: var(--content);
}

.woocommerce form .form-row .input-text::placeholder {
  color: #fff !important;
}

.wc-blocks-components-select .wc-blocks-components-select__container {
  background: transparent !important;
  border-radius: 6px !important;
}

.wc-block-components-button:not(.is-link) {
  position: relative;
  overflow: hidden;
  font: var(--header-small);
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  color: var(--white);
  background: linear-gradient(90deg,
    #0E2E77 0%,
    #0E2E77 30%,
    #204DB3 60%,
    #0E2E77 100%
  );
  border: none;
  border-radius: 0;
  padding: 1.6rem 4.2rem;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  z-index: 1;
  background-size: 200% 100%;
  background-position: left center;
  transition: background-position 0.4s ease!important;
}

.wc-block-components-button:not(.is-link):hover {
  background-position: right center;
}

.wc-block-components-button:not(.is-link) {
  margin-top: 24px;
}

.wp-block-woocommerce-empty-cart-block {
  margin-top: 72px;
}

.wp-block-woocommerce-empty-cart-block h2:nth-of-type(2),
.wp-block-woocommerce-empty-cart-block .wc-block-grid {
  display: none;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
  background-color: var(--navy)!important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: 6px!important;
  box-shadow: none !important;
  border: 1px solid var(--light) !important;
}

.wc-block-components-checkout-step__heading {
  margin-top: 20px;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  margin-bottom: 40px;
}

.wc-block-checkout__actions .wc-block-checkout__actions_row,
.wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
  display: block;
}

.wc-block-checkout__terms a {
  color: var(--blue);
  font: var(--content);
}

.woocommerce-order {
  margin-top: 72px;
}

.woocommerce-order h2 {
  margin-bottom: 24px;
}

.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font: var(--header-medium)!important;
  color: var(--navy)!important;
}

.woocommerce ul.order_details {
  margin: 24px 0 36px!important;
  padding: 20px!important;
}

.woocommerce-column address {
  padding: 20px !important;
  border-radius: 12px !important;
}

.woocommerce .woocommerce-customer-details address {
  border: 1px solid var(--light)!important;
}

.wc-block-components-form .wc-block-components-text-input label, .wc-block-components-text-input label {
  font-size: 14px;
  top: 50px;
  left: 20px;
}

.wc-block-components-address-card address .wc-block-components-address-card__address-section--secondary {
  color: #fff;
  opacity: 0.8;
}

.wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
  font-size: 14px;
  line-height: 24px;
  margin: 20px 0 0;
}

.wp-block-woocommerce-checkout .wc-block-checkout__create-account {
  margin-top: 16px !important;
  background: var(--medium);
  border-radius: 6px;
  padding: 20px;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill+label, .wc-block-components-form .wc-block-components-text-input.is-active label, .wc-block-components-text-input input:-webkit-autofill+label, .wc-block-components-text-input.is-active label, 
.wc-blocks-components-select .wc-blocks-components-select__label  {
  top: 10px;
  background: var(--dark);
  padding: 0 8px;
}

.wc-blocks-components-select .wc-blocks-components-select__expand {
  fill: #fff;
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 38px;
  transform: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata, .wc-block-components-order-summary .wc-block-components-order-summary-item__description p {
  display: none;
}

.page-section {
  margin-top: 60px;
  margin-bottom: 80px;
}

.page-section h1 {
  margin-bottom: 36px;
  color: var(--navy);
}

.contact-section {
  margin-top: 72px;
}

.contact-info-box {
  background: var(--medium);
  color: var(--white);
  padding: 54px 54px 16px;
  border-radius: 12px;
}

.contact-info-box h1 {
  color: var(--white);
  margin-bottom: 36px;
}

.contact-info-box p {
  margin-bottom: 36px;
  color: var(--white);
}

.contact-info-box strong {
  display: block;
  font: var(--header-small);
  text-transform: uppercase;
}

.contact-info-box span {
  margin: 0;
  padding: 0;
  margin-bottom: 20px;
}

.contact-info-box ul {
  list-style: none;
  padding: 0;
  margin: 36px 0;
}

.contact-info-box ul li {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
}

.contact-info-box ul li i {
  margin-right: 10px;
  font-size: 18px;
}

.contact-form-box {
  padding: 60px 40px 80px;
}

.contact-form-box h3 {
  margin-bottom: 20px;
}

.contact-form-box p {
  margin-bottom: 30px;
}

.wpcf7-form-control {
  width: 100%;
  background: transparent !important;
  color: #fff !important;
  padding: 16px !important;
  border: 1px solid var(--light) !important;
  border-radius: 6px !important;
  margin: 20px 0 !important;
  height: 60px !important;
}

.wpcf7-form-control.wpcf7-acceptance {
  padding: 0 !important;
  border: 0 !important
}

.wpcf7-acceptance {
  font-size: 12px;
  display: inline;
  align-items: center;
  padding: 0;
  margin: 0;
  border: 0;
}

.wpcf7-acceptance input {
  margin-right: 8px;
}

.wpcf7-form-control.wpcf7-submit.has-spinner.btn {
  background: linear-gradient(90deg, #007eed, #1aa3ff) !important;
  box-shadow: 0px 0px 8px #1AA3FF!important;
  cursor: pointer;
  transition: transform .2s 
ease, box-shadow .2s 
ease, filter .2s 
ease;
  border: none;
  text-transform: uppercase;
  border-radius: 6px;
  font: var(--header-small);
  padding: 12px 36px;
  display: block;
  width: 100%;
  color: var(--white);
  position: relative;
  overflow: hidden;
  letter-spacing: 0.1rem;
  color: var(--white);
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.wpcf7-form-control.wpcf7-submit.has-spinner.btn:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.wpcf7-form-control-wrap textarea {
  min-height: 200px;
}

.post-thumbnail {
  max-height: 600px;
  overflow: hidden;
  margin-bottom: 40px;
}

.post-thumbnail img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  object-position: center;
}

.wp-block-heading {
  margin: 20px 0;
}

.page-section a {
	color: var(--blue);
}

.wp-block-column .wp-block-heading, .wp-block-column p {
  margin-bottom: 0px;
  margin-top: 16px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: var(--lightgrey) !important;
  padding: 36px !important;
  margin: 24px 0 !important;
  font: var(--content-small) !important;
  color: var(--dark) !important;
  border: none !important;
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  display: none !important;
  content: none !important;
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
  margin: 0 auto !important;
  list-style: none !important;
  text-align: center !important;
}

.woocommerce-message {
  background: var(--green-transparent) !important;
  color: var(--green) !important;
}

.woocommerce-error {
  background: var(--burgundy-transparent) !important;
  color: var(--burgundy) !important;
}

.woocommerce-info {
  background: var(--navy-transparent) !important;
  color: var(--navy) !important;
}

.ff-default .ff-el-form-control {
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--grey) !important;
  font: var(--content-tiny) !important;
  margin-bottom: 0 !important;
  width: 350px !important;
  max-width: 100% !important;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
}

.mega-menu {
  background: var(--white);
  padding: 24px;
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.mega-menu-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.mega-menu-item {
  min-width: 180px;
}

.mega-menu-item:first-of-type {
  display: none;
}

.mega-menu-title {
  display: block;
  font: var(--header-small);
  color: var(--navy);
  margin-bottom: 12px;
  text-transform: uppercase;
}

.mega-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mega-submenu li {
  margin-bottom: 8px;
}

.mega-submenu li a {
  font: var(--content-small);
  color: var(--dark);
  text-decoration: none;
}

.mega-submenu li a:hover {
  text-decoration: underline;
}
.dropdown-mega {
  position: relative;
}

.dropdown-mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: -356px;
  background: var(--white);
  width: 1320px;
  padding: 40px 40px;
  z-index: 999;
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.dropdown-mega:hover .dropdown-mega-menu {
  display: block;
}

.mega-menu-parent {
  position: relative;
}

.mega-menu.absolute-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100vw;
  background: var(--lightgrey);
  z-index: 1000;
  display: none;
}

.mega-menu-parent:hover .absolute-menu {
  display: block;
}

.mega-menu.absolute-menu .container {
  margin: 0 auto;
  padding: 24px;
  max-width: 1320px;
}

.wc-block-components-product-price__value.is-discounted {
  color: var(--green);
}

.wp-block-woocommerce-cart-cross-sells-block {
  margin-top: 40px;
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image a, .wc-block-components-product-image a,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product div .wp-block-cart-cross-sells-product__product-title {
  margin-top: 20px !important;
  font: var(--header-small);
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
  font: var(--header-small);
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button,
.wc-block-components-button:not(.is-link) {
  margin-top: 30px !important;
  width: 100%;
  padding: 12px 24px;
  font: var(--content);
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(90deg, #007eed, #1aa3ff);
  box-shadow: 0px 0px 8px #1AA3FF !important;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  border: none;
  text-transform: uppercase;
  border-radius: 6px;
  display: block;
  width: 100%;
  color: var(--white);
  position: relative;
  overflow: hidden;
  letter-spacing: 0.1rem;
  color: var(--white);
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover,
.wc-block-components-button:not(.is-link):hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
  margin-top: 0 !important;
}

.wc-block-components-button:not(.is-link), .wc-block-components-product-price {
  font: var(--header-small);
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  font: var(--header-small) !important;
}

.search-toggle {
  background: none;
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.search-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.2);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 99999;
}

.search-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.search-modal-content {
  width: min(960px, calc(100% - 32px));
  margin: 10vh auto 0;
  background: var(--medium);
  border-radius: 18px;
  padding: 24px;
  position: relative;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.search-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: 0;
  color: var(--red);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.search-form {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 20px;
}

.search-field {
  flex: 1;
  height: 60px;
  border-radius: 12px;
  border: 1px solid var(--light);
  background: var(--dark);
  color: var(--white);
  padding: 0 20px;
  outline: none;
}

.search-field::placeholder {
  color: rgba(255,255,255,0.4);
}

.search-modal .btn-search-modal {
max-width: 200px;
margin-top: -2px;
}


.categories-wheel-svg {
  width: min(860px, 94vw);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  position: relative;
}

.categories-wheel-svg svg {
  width: 100%;
  height: 100%;
  display: block;
}

.wheel-slice-path {
  fill: var(--medium);
  stroke: var(--dark);
  stroke-width: 2;
  transition: fill .25s ease, filter .25s ease;
  cursor: pointer;
}

.wheel-slice-path:hover {
  fill: var(--blue);
  filter: drop-shadow(0 0 6px rgba(0, 168, 255, 1));
  stroke: var(--blue);
}

.wheel-label-wrap {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 220px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  pointer-events: none;
}

.wheel-label-wrap img {
  width: 62px;
  height: 62px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.35));
}

.wheel-label-wrap .wheel-label {
  font: var(--header-vsmall);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--white);
  transition: color .25s ease;
}

.categories-wheel-svg.is-hovering .wheel-label-wrap.is-hovered .wheel-label {
  color: var(--white);
}

.categories-mobile {
  display: none;
}

.wp-block-button__link {
    background: linear-gradient(90deg, #007eed, #1aa3ff);
    box-shadow: 0px 0px 8px #1AA3FF!important;
    cursor: pointer;
    transition: transform .2s 
  ease, box-shadow .2s 
  ease, filter .2s 
  ease;
    border: none;
    text-transform: uppercase;
    border-radius: 6px;
    font: var(--header-small);
    padding: 12px 36px;
    display: block;
    width: 100%;
    color: var(--white);
    position: relative;
    overflow: hidden;
    letter-spacing: 0.1rem;
    color: var(--white);
    outline: none;
    box-shadow: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

.wp-block-button__link:hover {
  box-shadow: 0px 0px 14px #1AA3FF!important;
}

.wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--first-selected.wc-block-components-radio-control--highlight-checked--last-selected.disable-radio-control {
    background: #fff;
    color: #000;
    border-radius: 8px;
}

/* Koszyk (Blocks) – checkbox regulaminu Spacey */
.spacey-cart-terms {
  margin-top: 16px;
  padding: 14px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
}

.spacey-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  cursor: pointer;
  user-select: none;
  margin: 0;
}

.spacey-check__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.spacey-check__box {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.06);
  border-radius: 3px;
  margin-top: 2px;
  position: relative;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.spacey-check__input:checked + .spacey-check__box {
  border-color: var(--blue);
  background: linear-gradient(90deg, #007eed, #1aa3ff);
  box-shadow: 0 0 8px rgba(26,163,255,0.85);
}

.spacey-check__input:checked + .spacey-check__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 10px;
  border: 2px solid var(--white);
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}

.spacey-check__label {
  font: var(--content-small);
  color: var(--white);
  line-height: 1.35;
}

.spacey-check__label a {
  color: var(--blue);
  text-decoration: none;
}

.spacey-check__label a:hover {
  text-decoration: underline;
}

.spacey-cart-terms__hint {
  margin: 8px 0 0;
  font: var(--content-tiny);
  color: rgba(255,255,255,0.7);
}


/* =========================
   CHECKOUT – SPACEY FINAL
   ========================= */

/* layout */
.woocommerce-checkout main,
.woocommerce-checkout .site-main,
.woocommerce-checkout .content-area,
.woocommerce-checkout .woocommerce {
  background: transparent;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 64px;
  align-items: start;
}

.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1;
  float: none;
  width: 100%;
  margin: 0;
  padding-top: 0;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  max-width: none;
}

.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  float: none;
  width: 100%;
  margin: 0 0 24px !important;
  color: var(--white);
  font: var(--header-medium);
  align-self: start;
}

.woocommerce-checkout #order_review {
  grid-column: 2;
  grid-row: 1;
  float: none;
  width: 100%;
  margin: 88px 0 0 !important;
  background: rgba(255,255,255,0.04);
  border-radius: 18px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.08);
  position: sticky;
  top: 30px;
}

/* payment na dole po lewej */
.woocommerce-checkout #payment {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* headings */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  margin: 0 0 24px;
  color: var(--white);
  font: var(--header-medium);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-account-fields {
  margin: 0;
}

/* form rows */
.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
}

.woocommerce-checkout .form-row label {
  display: block;
  margin-bottom: 8px !important;
  color: var(--white);
  font: var(--content-small);
}

.woocommerce-checkout .form-row .required {
  color: var(--blue);
}

/* 2 columns */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: calc(50% - 10px);
}

.woocommerce-checkout .form-row-first {
  float: left;
}

.woocommerce-checkout .form-row-last {
  float: right;
}

.woocommerce-checkout .clear {
  clear: both;
}

/* inputs */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection {
  width: 100%;
  min-height: 64px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  background: transparent !important;
  color: var(--white) !important;
  font: var(--content-small);
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection--single {
  padding: 0 20px !important;
}

.woocommerce-checkout textarea {
  min-height: 120px !important;
  padding: 16px 20px !important;
  resize: vertical;
}

.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: rgba(255,255,255,0.7);
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 1px var(--blue), 0 0 10px rgba(26,163,255,0.25) !important;
  outline: none !important;
}

/* select2 country */
.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: 64px !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--white) !important;
  line-height: 64px !important;
  padding-left: 0 !important;
  padding-right: 28px !important;
  margin: 0 !important;
  border: none !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 64px !important;
  right: 18px !important;
  top: 0 !important;
  transform: none !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--white) transparent transparent transparent !important;
}

.woocommerce-checkout .select2-selection__placeholder {
  color: rgba(255,255,255,0.7) !important;
}

.woocommerce-checkout .select2-search,
.woocommerce-checkout .select2-search--dropdown,
.woocommerce-checkout .select2-selection__clear,
.woocommerce-checkout .dropdown-wrapper,
.woocommerce-checkout .select2-selection--single::before,
.woocommerce-checkout .select2-selection--single::after {
  display: none !important;
  content: none !important;
}

/* checkboxes – common */
.woocommerce-checkout .form-check,
.woocommerce-checkout p.form-row.form-check,
.woocommerce-checkout .woocommerce-form__label,
.woocommerce-checkout label.checkbox {
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
}

.woocommerce-checkout .form-check-label,
.woocommerce-checkout label.checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  margin: 0 !important;
  padding-left: 0 !important;
  cursor: pointer;
  color: var(--white) !important;
  font: var(--content-small);
  line-height: 1.4 !important;
}


.woocommerce form .form-row .input-checkbox {
	margin: -2px 0px 0 0!important;
}
.woocommerce form .form-row input {
    border-radius: 4px !important;
	    padding: 12px 12px !important;
}

.woocommerce-checkout .woocommerce-account-fields {
  margin-top: 0;
}



.woocommerce-checkout .create-account .woocommerce-form__input-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  background: #fff !important;
  box-shadow: none !important;
  position: relative;
  flex: 0 0 22px !important;
  cursor: pointer;
}

.woocommerce-checkout .create-account .woocommerce-form__label-for-checkbox {
	padding-left: 0 !important;
}

.woocommerce-checkout .create-account .woocommerce-form__label-for-checkbox span {
  display: inline !important;
  color: var(--white) !important;
}

/* invoice fields */
.woocommerce-checkout #billing_nip_field,
.woocommerce-checkout #billing_company_name_custom_field,
.woocommerce-checkout #billing_company_address_custom_field {
  clear: both !important;
  float: none !important;
  width: 100% !important;
}

/* review table */
.woocommerce-checkout table.shop_table {
  border: 0 !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding: 16px 0 !important;
  color: var(--white) !important;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  font: var(--content-small);
}

.woocommerce-checkout .product-total,
.woocommerce-checkout .order-total .amount,
.woocommerce-checkout .cart-subtotal .amount {
  font-weight: 700;
  color: var(--white);
}

.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td {
  font: var(--header-small);
  color: var(--white);
}

.woocommerce-checkout .cart_item td.product-name {
  padding-right: 16px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name img,
.woocommerce-checkout .cart_item img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
}

/* payment */
.woocommerce-checkout #payment .wc_payment_methods {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li {
  list-style: none !important;
  margin: 0 0 18px !important;
  padding: 18px 22px !important;
  background: #fff !important;
  border-radius: 14px !important;
  border: 0 !important;
  overflow: hidden !important;
}

.woocommerce-checkout #payment ul.payment_methods > li > label {
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment .payment_box {
  background: #fff !important;
  color: #111 !important;
  margin: 10px -22px -18px !important;
  padding: 14px 22px 18px !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: none !important;
  width: auto !important;
}

.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}

.woocommerce-checkout #payment .payment_box p {
  color: #111 !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment .payment_box > *,
.woocommerce-checkout #payment .payment_method_bm_gateway > *,
.woocommerce-checkout #payment .payment_method_autopay > *,
.woocommerce-checkout #payment .payment_method_bluemedia > * {
  max-width: 100% !important;
}

/* texts */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .place-order {
  color: var(--white);
  font: var(--content-small);
}

.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
.woocommerce-checkout .lost_password a,
.woocommerce-checkout .showcoupon,
.woocommerce-checkout .restore-item,
.woocommerce-checkout .woocommerce-info a {
  color: var(--blue);
}

/* button */
.woocommerce-checkout #place_order {
  width: 100%;
  margin-top: 20px;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  background: linear-gradient(90deg, #007eed, #1aa3ff) !important;
  box-shadow: 0 0 8px #1AA3FF !important;
  color: var(--white) !important;
  font: var(--header-small);
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce-checkout #place_order:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 14px #1AA3FF !important;
}

/* notices */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
  background: rgba(255,255,255,0.05);
  color: var(--white);
  border-top: 2px solid var(--blue);
  border-radius: 10px;
  padding: 18px 20px;
}

.woocommerce-checkout .woocommerce-error li {
  color: var(--white);
}

/* coupon toggle hidden */
.woocommerce-form-coupon-toggle {
  display: none !important;
}

/* responsive */
@media (max-width: 991px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #payment {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .woocommerce-checkout #order_review {
    position: static;
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100%;
    float: none;
  }

  .woocommerce-checkout #order_review {
    padding: 22px 20px;
  }
}


/* =========================
   CHECKBOX GLOBAL (Woo)
   ========================= */

.woocommerce-checkout input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* wrapper */
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.checkbox {
  position: relative;
  padding-left: 30px !important;
}

/* custom box */
.woocommerce-checkout .woocommerce-form__label-for-checkbox::before,
.woocommerce-checkout label.checkbox::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.06);
  border-radius: 3px;
  transition: all .2s ease;
}

/* checked */
.woocommerce-checkout input[type="checkbox"]:checked + span::before,
.woocommerce-checkout input[type="checkbox"]:checked + .woocommerce-form__label-for-checkbox::before {
  background: linear-gradient(90deg, #007eed, #1aa3ff);
  border-color: var(--blue);
  box-shadow: 0 0 8px rgba(26,163,255,0.85);
}

/* checkmark */
.woocommerce-checkout input[type="checkbox"]:checked + span::after,
.woocommerce-checkout input[type="checkbox"]:checked + .woocommerce-form__label-for-checkbox::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 4px;
  width: 6px;
  height: 10px;
  border: 2px solid var(--white);
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}




/* Poniżej 1400px (xxl) */
@media (max-width: 1399.98px) {
  .woocommerce-page::before, .page::before {
    display: none;
  }
  .dropdown-mega-menu {
    left: -270px;
    width: 1140px;
  }
  .navbar-expand-lg .navbar-collapse {
    flex-basis: 100%;
  }
  .navbar-nav {
    justify-content: space-around;
    gap: 6px;
    margin: 0 20px;
  }
  .navbar-nav li.nav-item > .nav-link {
    font: var(--content-small);
  }
}

/* Poniżej 1200px (xl) */
@media (max-width: 1199.98px) {
  .page-glows::after {
    display: none;
  }
  .dropdown-mega-menu {
    left: -210px;
    width: 960px;
  }
  .navbar-nav {
    gap: 12px;
  }
  .header-contact {
    display: inline-block;
  }
  .header-contact li {
    padding: 4px;
  }
  .cart {
    flex-direction: column;
  }
}

/* Poniżej 992px (lg – typowy breakpoint tabletowy) */
@media (max-width: 991.98px) {
  .archive-product::after {
    display: none;
  }
  .aside-cat-container {
    overflow-y: auto;
  }
  .header-contact {
    display: none;
  }
  header .header-icons {
    display: none;
  }
  .footer-main .row .col-12 {
    margin-bottom: 20px;
  }
  .product-tabs-nav a {
    margin: 0 8px;
    padding: 12px 0;
    font-size: 1.2rem;
  }
  .tab-underline {
    height: 0;
  }
  .custom-tab-link {
    padding: 8px 12px;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
  }
  .product-top::before {
    display: none;
  }
  .wc-block-components-order-summary .wc-block-components-order-summary-item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap:  24px;
  }
}

/* Poniżej 768px (md – np. landscape mobile) */
@media (max-width: 767.98px) {
  header {
    padding-left: 30px;
    padding-right: 20px;
  }
  .breadcrumbs-wrapper, .site-footer {
    padding-left: 30px;
    padding-right: 30px;
  }
  .footer-main {
    padding: 48px 0 12px;
  }
  .footer-bottom {
    background: transparent;
  }
  .footer-top .footer-contact {
    flex-direction: column !important;
  }

  .wc-block-cart__submit-container.wc-block-cart__submit-container--sticky .wc-block-components-button:not(.is-link) {
    margin-top: 0 !important;
  }

  .wc-block-cart .wc-block-cart__submit-container--sticky:before {
    box-shadow: 0 -10px 20px 10px currentColor;
    color: hsla(0, 0%, 60%, .2);
  }

  #customer_login.u-columns {
    display: block;         /* wyłączamy flex na wrapperze */
    width: 100%;
    max-width: 100%;
  }

  #customer_login .u-column1,
  #customer_login .u-column2 {
    display: block;         /* wyłączamy flex na kolumnach */
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  /* to jest najczęstszy winowajca */
  #customer_login .form-wrapper,
  #customer_login form,
  #customer_login .woocommerce-form,
  #customer_login .woocommerce-form-row,
  #customer_login input,
  #customer_login button {
    max-width: 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* jak gdzieś jest długi tekst/link i nie łamie */
  #customer_login p,
  #customer_login .woocommerce-LostPassword,
  #customer_login .woocommerce-privacy-policy-text {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

    /* Remember me: checkbox + tekst w jednej linii */
    #customer_login .woocommerce-form__label-for-checkbox {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: auto;
      max-width: 100%;
    }
  
    #customer_login .woocommerce-form__input-checkbox {
      width: auto;
      max-width: none;
      flex: 0 0 auto;
      margin: 0;
    }
  
    /* wrapper wiersza (żeby nie centrowało się jak masz jakieś flexy globalnie) */
    #customer_login .woocommerce-form__label-for-checkbox,
    #customer_login .woocommerce-form-login__rememberme {
      justify-content: flex-start;
    }

  .archive-product, .home-content, .product-top-container, .entry-content, .featured-products-carousel, .page-section {
    padding-left: 30px;
    padding-right: 30px;
  }
  .page-glows {
    display: none;
  }
  .categories-wheel-svg {
    display: none !important;
  }

  .categories-mobile {
    display: block;
    width: 100%;
    margin-top: 20px;
  }

  .categories-mobile-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .category-tile {
    width: 100%;
    margin: 0 auto 20px;
    background: var(--medium);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    padding: 60px 14px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0px;

    text-decoration: none;
    color: var(--white);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  }

  .category-tile:last-of-type {
    margin-bottom: 60px;
  }

  .category-tile:hover {
    background: linear-gradient(90deg, #007eed, #1aa3ff);
    box-shadow: 0 0 8px rgba(26,163,255,.9);
    transform: translateY(-1px);
  }

  .category-tile-icon {
    width: 54px;
    height: 54px;
    object-fit: contain;
    display: block;
  }

  .category-tile-name {
    font: var(--header-small);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1;
    margin-top: 30px;
  }

  .product-summary {
    margin-top: 20px;
  }
  .product-gallery {
    padding-right: 0px;
  }
  input.wpcf7-form-control.wpcf7-submit.has-spinner.btn {
    margin-top: 30px;
  }
  .cart {
    flex-direction: row;
  }
  .woocommerce table.my_account_orders .button {
    margin-top: 60px;
  }
}

/* Poniżej 576px (sm – typowy telefon) */
@media (max-width: 575.98px) {}

.woocommerce-notices-wrapper {
	display: none !important;
}