.vyra-products {
  --vyra-products-burgundy: #7c141c;
  --vyra-products-ink: #262626;
  --vyra-products-white: #ffffff;
  --vyra-products-muted: #efefef;
  --vyra-product-card-price-size: 1.85rem;
  --vyra-product-card-price-compact-size: 1.3rem;
  --vyra-product-card-title-size: 19px;
  --vyra-product-card-buy-size: 0.9rem;
  color: var(--vyra-products-ink);
  font-family: inherit;
}

.vyra-products,
.vyra-products * {
  box-sizing: border-box;
}

.vyra-products-search {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  width: min(520px, 100%);
  margin: 0 0 28px auto;
  position: relative;
}

.vyra-products-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 3px solid var(--vyra-products-burgundy);
  border-radius: 999px;
  transform: translateY(-50%);
  pointer-events: none;
}

.vyra-products-search-icon::after {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -6px;
  width: 8px;
  height: 3px;
  background: var(--vyra-products-burgundy);
  border-radius: 999px;
  transform: rotate(45deg);
}

.vyra-products-search input[type="search"] {
  width: 100%;
  min-height: 42px;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  padding: 10px 16px 10px 44px;
  color: var(--vyra-products-ink);
  background: var(--vyra-products-white);
  font: inherit;
}

.vyra-products-search button {
  cursor: pointer;
}

.vyra-products-search.has-live-search {
  grid-template-columns: 1fr;
}

.vyra-products-search.has-live-search button {
  display: none;
}

.vyra-products-layout {
  display: grid;
  grid-template-columns: minmax(0, calc((100% - 32px) * 0.3)) minmax(0, calc((100% - 32px) * 0.7));
  align-items: start;
  gap: 32px;
}

.vyra-products-sidebar {
  position: sticky;
  top: 15vh;
  align-self: start;
  padding-top: 8px;
  max-height: calc(100vh - 17vh);
  overflow: auto;
  scrollbar-width: thin;
}

.vyra-products-sidebar h2 {
  margin: 0 0 8px;
  color: var(--vyra-products-burgundy);
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1;
  text-transform: uppercase;
}

.vyra-products-mobile-filters {
  display: none;
}

.vyra-products-sidebar .vyra-products-order-control {
  margin: 34px 0 0 !important;
  padding-top: 8px;
}

.vyra-products-sidebar .vyra-products-order-control label {
  display: grid;
  gap: 7px;
}

.vyra-products-sidebar .vyra-products-order-control span {
  color: var(--vyra-products-burgundy);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.vyra-products-sidebar .vyra-products-order-control select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  padding: 8px 34px 8px 12px;
  background-color: var(--vyra-products-white);
  color: var(--vyra-products-ink);
  font: inherit;
  line-height: 1.2;
}

.vyra-products-categories {
  display: grid;
  justify-items: start;
  gap: 14px;
}

.vyra-products-categories a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vyra-products-ink);
  font-weight: 400;
  line-height: 1.1;
  text-decoration: none;
}

.vyra-products-categories a:hover,
.vyra-products-categories a:focus,
.vyra-products-categories a:focus-visible,
.vyra-products-categories a.is-active {
  font-weight: 700;
}

.vyra-products-categories a.is-active {
  border-radius: 50px;
  padding: 6px 18px;
  background: var(--vyra-products-burgundy);
  color: var(--vyra-products-white);
}

.vyra-products-category-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  display: block;
  background: currentColor;
  -webkit-mask-image: var(--vyra-category-icon-url);
  mask-image: var(--vyra-category-icon-url);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.vyra-products-category-icon--empty {
  background: transparent;
  -webkit-mask-image: none;
  mask-image: none;
}

.vyra-products-categories a[data-vyra-products-category=""] {
  text-align: center;
}

.vyra-products-categories a[data-vyra-products-category=""]::after {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
}

.vyra-products-categories a[data-vyra-products-category=""] .vyra-products-category-name {
  flex: 0 1 auto;
}

.vyra-products-category-name {
  min-width: 0;
}

.vyra-products-grid {
  display: grid;
  grid-template-columns: repeat(var(--vyra-products-columns, 3), minmax(0, 1fr));
  gap: 52px 24px !important;
  column-gap: 24px !important;
  row-gap: 52px !important;
}

.vyra-products-results {
  transition: opacity 160ms ease;
}

.vyra-products-results.is-loading {
  opacity: 0.45;
  pointer-events: none;
}

.vyra-product-card {
  min-width: 0;
  container-type: inline-size;
}

.vyra-product-image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50px;
  background: var(--vyra-products-muted);
  text-decoration: none;
  transition: transform 180ms ease;
  transform-origin: center;
}

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

.vyra-product-card:hover .vyra-product-image,
.vyra-product-image:focus-visible {
  transform: scale(1.025);
}

.vyra-product-buy-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) 40px minmax(112px, 1.15fr);
  align-items: center;
  gap: 6px;
  margin-top: 14px;
}

.vyra-product-buy-row > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.vyra-product-price {
  width: 100%;
  min-width: 0;
  height: 34px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--vyra-products-burgundy);
  font-size: var(--vyra-product-card-price-size);
  font-weight: 800;
  line-height: 34px;
  text-decoration: none;
  white-space: nowrap;
}

.vyra-product-price--from {
  height: 40px;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  line-height: 1;
  text-overflow: clip;
}

.vyra-product-price-prefix {
  display: block;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.vyra-product-price-value {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vyra-product-price--compact {
  font-size: var(--vyra-product-card-price-compact-size);
  font-size: min(var(--vyra-product-card-price-compact-size), 5cqw);
}

.vyra-product-price:hover,
.vyra-product-price:focus,
.vyra-product-price:visited {
  color: var(--vyra-products-burgundy);
  text-decoration: none;
}

.vyra-product-cart-form {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  align-self: center;
  line-height: 0;
  margin: 0;
  padding: 0;
}

.vyra-product-cart-form--woocommerce {
  flex-basis: 40px;
  width: 40px;
}

.vyra-products .vyra-product-cart {
  position: relative;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--vyra-products-ink);
  border-radius: 50px;
  background: var(--vyra-products-white);
  color: var(--vyra-products-ink);
  cursor: pointer;
  font: inherit;
  line-height: 1;
  margin: 0;
  padding: 0;
  text-decoration: none;
  appearance: none;
  -webkit-appearance: none;
}

.vyra-products .vyra-product-cart::after {
  content: attr(data-vyra-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 2;
  width: max-content;
  max-width: 180px;
  padding: 7px 10px;
  border-radius: 6px;
  background: #262626;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.vyra-products .vyra-product-cart:hover::after,
.vyra-products .vyra-product-cart:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.vyra-products .vyra-product-cart svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vyra-products .vyra-product-cart:hover,
.vyra-products .vyra-product-cart:focus,
.vyra-products .vyra-product-cart.is-added {
  border-color: #262626;
  background: #262626;
  color: #ffffff;
}

.vyra-products .vyra-product-cart:disabled {
  opacity: 0.65;
  cursor: progress;
}

.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form input[name="update_cart"] {
  display: none !important;
}

.woocommerce .woocommerce-cart-form,
.woocommerce .cart-collaterals,
.wp-block-woocommerce-cart {
  --vyra-products-burgundy: #7c141c;
  --vyra-products-ink: #262626;
  --vyra-products-white: #ffffff;
  --vyra-products-muted: #efefef;
  max-width: 100%;
  color: var(--vyra-products-ink);
  font-family: inherit;
  overflow-x: clip;
}

.woocommerce .woocommerce-cart-form table.shop_table {
  width: 100%;
  max-width: 100%;
  border: 0;
  border-collapse: collapse;
  margin: 0;
  table-layout: fixed;
}

.woocommerce .woocommerce-cart-form table.shop_table thead {
  display: none;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody,
.woocommerce .woocommerce-cart-form table.shop_table tr.cart_item {
  display: grid;
  gap: 14px;
}

.woocommerce .woocommerce-cart-form table.shop_table tr.cart_item {
  grid-template-columns: 42px 142px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #e8e8e8;
}

.woocommerce .woocommerce-cart-form table.shop_table td {
  border: 0;
  padding: 0;
  background: transparent;
}

.woocommerce .woocommerce-cart-form .product-thumbnail a {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  aspect-ratio: 1 / 1;
  background: var(--vyra-products-muted);
}

.woocommerce .woocommerce-cart-form .product-thumbnail img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.woocommerce .woocommerce-cart-form .product-name {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.woocommerce .woocommerce-cart-form .product-name > a {
  color: inherit;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
}

.woocommerce .woocommerce-cart-form .product-price,
.woocommerce .woocommerce-cart-form .product-subtotal {
  color: var(--vyra-products-burgundy);
  font-size: 1.2rem;
  font-weight: 800;
  white-space: nowrap;
}

.woocommerce .woocommerce-cart-form .product-quantity .quantity {
  display: flex;
  align-items: center;
}

.wc-block-components-quantity-selector,
.wc-block-cart .wc-block-components-quantity-selector {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.wc-block-components-quantity-selector:focus-within,
.wc-block-components-quantity-selector:hover,
.wc-block-cart .wc-block-components-quantity-selector:focus-within,
.wc-block-cart .wc-block-components-quantity-selector:hover {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.wc-block-components-quantity-selector::before,
.wc-block-components-quantity-selector::after,
.wc-block-cart .wc-block-components-quantity-selector::before,
.wc-block-cart .wc-block-components-quantity-selector::after {
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  content: none !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: #7c141c !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):not([aria-disabled="true"]):hover,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):not([aria-disabled="true"]):focus,
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):not([aria-disabled="true"]):hover,
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):not([aria-disabled="true"]):focus {
  background: #ffffff !important;
  color: #7c141c !important;
  opacity: 1 !important;
  box-shadow: none !important;
  outline: none !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button[aria-disabled="true"],
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled,
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button[aria-disabled="true"] {
  background: #7c141c !important;
  color: #ffffff !important;
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

.woocommerce .woocommerce-cart-form .product-quantity input.qty,
.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  width: 72px;
  min-height: 36px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 6px 8px;
  background: #ffffff;
  color: var(--vyra-products-ink);
  font: inherit;
  line-height: 1 !important;
  text-align: center;
}

.woocommerce .woocommerce-cart-form a.remove {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--vyra-products-ink) !important;
  font-size: 1.2rem;
  line-height: 1;
  text-decoration: none;
}

.woocommerce .woocommerce-cart-form a.remove:hover,
.woocommerce .woocommerce-cart-form a.remove:focus {
  background: var(--vyra-products-burgundy);
  color: #ffffff !important;
}

.woocommerce .woocommerce-cart-form .actions {
  display: block;
  padding-top: 18px;
}

.woocommerce .woocommerce-cart-form .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.woocommerce .woocommerce-cart-form .coupon input.input-text {
  min-height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 8px 12px;
}

.woocommerce .cart-collaterals {
  margin-top: 24px;
}

.woocommerce .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
}

.woocommerce .cart_totals h2,
.wc-block-cart__totals-title {
  margin: 0 0 14px;
  color: var(--vyra-products-burgundy);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce .cart_totals table.shop_table,
.wc-block-components-totals-wrapper {
  border: 0;
  border-top: 1px solid #e8e8e8;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  border: 0;
  border-bottom: 1px solid #e8e8e8;
  padding: 12px 0;
  background: transparent;
}

.woocommerce .wc-proceed-to-checkout {
  padding: 18px 0 0;
}

.wc-block-cart__submit,
.wc-block-cart__submit-container,
.wc-block-cart__submit-button-contained,
.wc-block-cart__submit .wp-block-button,
.wc-block-cart__submit-container .wp-block-button,
.wc-block-cart__submit-button-contained .wp-block-button,
.wp-block-woocommerce-proceed-to-checkout-block,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button,
.wc-proceed-to-checkout {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wc-block-cart__submit:hover,
.wc-block-cart__submit:focus-within,
.wc-block-cart__submit-container:hover,
.wc-block-cart__submit-container:focus-within,
.wc-block-cart__submit-button-contained:hover,
.wc-block-cart__submit-button-contained:focus-within,
.wc-block-cart__submit .wp-block-button:hover,
.wc-block-cart__submit .wp-block-button:focus-within,
.wc-block-cart__submit-container .wp-block-button:hover,
.wc-block-cart__submit-container .wp-block-button:focus-within,
.wc-block-cart__submit-button-contained .wp-block-button:hover,
.wc-block-cart__submit-button-contained .wp-block-button:focus-within,
.wp-block-woocommerce-proceed-to-checkout-block:hover,
.wp-block-woocommerce-proceed-to-checkout-block:focus-within,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button:focus-within,
.wc-proceed-to-checkout:hover,
.wc-proceed-to-checkout:focus-within {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wc-block-cart__submit::before,
.wc-block-cart__submit::after,
.wc-block-cart__submit-container::before,
.wc-block-cart__submit-container::after,
.wc-block-cart__submit-button-contained::before,
.wc-block-cart__submit-button-contained::after,
.wc-block-cart__submit .wp-block-button::before,
.wc-block-cart__submit .wp-block-button::after,
.wc-block-cart__submit-container .wp-block-button::before,
.wc-block-cart__submit-container .wp-block-button::after,
.wc-block-cart__submit-button-contained .wp-block-button::before,
.wc-block-cart__submit-button-contained .wp-block-button::after,
.wp-block-woocommerce-proceed-to-checkout-block::before,
.wp-block-woocommerce-proceed-to-checkout-block::after,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button::before,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button::after,
.wc-proceed-to-checkout::before,
.wc-proceed-to-checkout::after {
  display: none !important;
  box-shadow: none !important;
  content: none !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-button {
  border: 0 !important;
  border-radius: 50px !important;
  box-sizing: border-box !important;
  padding: 12px 22px !important;
  background: #7c141c !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce a.button:focus-visible,
.woocommerce a.button:active,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce button.button:focus-visible,
.woocommerce button.button:active,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce input.button:focus-visible,
.woocommerce input.button:active,
.woocommerce .checkout-button:hover,
.woocommerce .checkout-button:focus,
.woocommerce .checkout-button:focus-visible,
.woocommerce .checkout-button:active,
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-cart__submit-button:focus-visible,
.wc-block-cart__submit-button:active,
.wc-block-components-button:hover,
.wc-block-components-button:focus,
.wc-block-components-button:focus-visible,
.wc-block-components-button:active {
  background: #ffffff !important;
  color: rgb(124, 20, 28) !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
  transform: none !important;
}

.wc-block-components-button::before,
.wc-block-components-button::after,
.wc-block-cart__submit-button::before,
.wc-block-cart__submit-button::after {
  display: none !important;
  box-shadow: none !important;
  content: none !important;
}

.wc-block-components-button *,
.wc-block-cart__submit-button *,
.woocommerce .checkout-button * {
  box-shadow: none !important;
  outline: none !important;
}

.woocommerce .checkout-button:hover,
.woocommerce .checkout-button:focus,
.woocommerce .checkout-button:focus-visible,
.woocommerce .checkout-button:active,
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-cart__submit-button:focus-visible,
.wc-block-cart__submit-button:active,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:focus,
.wp-block-woocommerce-proceed-to-checkout-block a:focus-visible,
.wp-block-woocommerce-proceed-to-checkout-block a:active {
  background: #ffffff !important;
  border-color: #7c141c !important;
  color: #7c141c !important;
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  text-shadow: none !important;
}

.wc-block-cart__submit-button::before,
.wc-block-cart__submit-button::after,
.wc-block-components-button::before,
.wc-block-components-button::after,
.wp-block-woocommerce-proceed-to-checkout-block a::before,
.wp-block-woocommerce-proceed-to-checkout-block a::after,
.wc-proceed-to-checkout a::before,
.wc-proceed-to-checkout a::after {
  display: none !important;
  box-shadow: none !important;
  content: none !important;
}

.wc-block-cart__submit-button,
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-cart__submit-button:focus-visible,
.wc-block-cart__submit-button:active,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:focus,
.wp-block-woocommerce-proceed-to-checkout-block a:focus-visible,
.wp-block-woocommerce-proceed-to-checkout-block a:active,
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:focus,
.wc-proceed-to-checkout a.checkout-button:focus-visible,
.wc-proceed-to-checkout a.checkout-button:active {
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  text-shadow: none !important;
  -webkit-box-shadow: none !important;
}

.woocommerce-notices-wrapper {
  position: fixed;
  z-index: 9999;
  bottom: 18px;
  left: 18px;
  display: grid;
  width: min(420px, calc(100vw - 36px));
  gap: 10px;
  pointer-events: none;
}

.woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
  position: relative;
  margin: 0 !important;
  padding: 16px 48px 16px 18px !important;
  border: 1px solid #eee;
  border-radius: 8px;
  background: var(--vyra-products-white, #ffffff) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.16);
  color: var(--vyra-products-ink, #262626) !important;
  line-height: 1.45;
  pointer-events: auto;
}

.woocommerce-notices-wrapper .wc-block-components-notice-banner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 14px 44px 14px 14px !important;
}

.woocommerce-notices-wrapper .wc-block-components-notice-banner > svg,
.woocommerce-notices-wrapper .wc-block-components-notice-banner__content svg {
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 !important;
}

.woocommerce-notices-wrapper .wc-block-components-notice-banner__dismiss,
.woocommerce-notices-wrapper .components-snackbar__action,
.woocommerce-notices-wrapper .components-button[aria-label*="Dismiss"],
.woocommerce-notices-wrapper .components-button[aria-label*="Fechar"] {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
}

.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .wc-block-components-notice-banner.is-error {
  border-color: #f2b8b5;
  color: #8a1f11 !important;
  list-style: none;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .wc-block-components-notice-banner.is-success {
  border-color: #cbe6d0;
}

.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .wc-block-components-notice-banner.is-info {
  border-color: #d8dee9;
}

.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .wc-block-components-notice-banner__content {
  margin: 0;
}

.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper .wc-forward {
  margin-right: 10px;
}

.wc-block-checkout,
.wp-block-woocommerce-checkout,
.woocommerce-checkout {
  padding-bottom: 96px;
}

.vyra-notice-close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  opacity: 0.72;
}

.vyra-notice-close:hover,
.vyra-notice-close:focus-visible {
  background: rgba(0, 0, 0, 0.07);
  opacity: 1;
  outline: none;
}

.woocommerce .cart-empty {
  padding: 18px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: var(--vyra-products-white);
  color: var(--vyra-products-ink);
}

.wc-block-cart-items,
.wc-block-cart-items__row {
  max-width: 100% !important;
  border-color: #e8e8e8 !important;
}

.wc-block-cart-items__row {
  padding: 14px 0 !important;
}

.wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart-items__row .wc-block-components-product-image {
  width: 142px !important;
  max-width: 142px !important;
}

.wc-block-cart-items__row .wc-block-cart-item__image img,
.wc-block-cart-items__row .wc-block-components-product-image img {
  width: 142px !important;
  height: 142px !important;
  max-width: 142px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}

.vyra-empty-cart-state {
  display: grid;
  justify-items: center;
  gap: 18px;
  padding: clamp(38px, 7vw, 90px) 18px;
  text-align: center;
}

.vyra-empty-cart-state svg,
.vyra-empty-cart-state img,
.vyra-empty-cart-state .wc-block-cart__empty-cart__title::before,
.vyra-empty-cart-state .wc-block-cart__empty-cart__title::after,
.vyra-empty-cart-state .wp-block-separator,
.vyra-empty-cart-state .wp-block-spacer,
.vyra-empty-cart-state .wp-block-woocommerce-product-new,
.vyra-empty-cart-state .wp-block-woocommerce-product-best-sellers,
.vyra-empty-cart-state .wp-block-woocommerce-product-on-sale,
.vyra-empty-cart-state .wp-block-woocommerce-product-collection,
.vyra-empty-cart-state .wc-block-grid,
.vyra-empty-cart-state .wp-block-woocommerce-empty-cart-block > *:empty {
  display: none !important;
}

.vyra-empty-cart-state .vyra-empty-cart-title,
.woocommerce .cart-empty {
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #262626;
  font-size: clamp(1.6rem, 4vw, 3rem);
  font-weight: 900;
  line-height: 1.08;
}

.vyra-empty-cart-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 30px auto 0 !important;
  min-height: 44px;
  border-radius: 50px;
  padding: 12px 24px;
  background: #7c141c;
  color: #ffffff !important;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  text-transform: uppercase;
}

.vyra-empty-cart-button:hover,
.vyra-empty-cart-button:focus {
  background: #262626;
  color: #ffffff !important;
}

.woocommerce-order,
.wp-block-woocommerce-order-confirmation,
.wc-block-order-confirmation {
  --vyra-products-burgundy: #7c141c;
  --vyra-products-ink: #262626;
  --vyra-products-white: #ffffff;
  --vyra-products-muted: #efefef;
  max-width: 980px;
  margin: 28px auto clamp(34px, 6vh, 72px);
  color: var(--vyra-products-ink);
  font-family: inherit;
}

.woocommerce-order,
.woocommerce-order *,
.wp-block-woocommerce-order-confirmation,
.wp-block-woocommerce-order-confirmation *,
.wc-block-order-confirmation,
.wc-block-order-confirmation * {
  box-sizing: border-box;
}

.woocommerce-order .woocommerce-thankyou-order-received {
  margin: 0 0 22px;
  color: var(--vyra-products-burgundy);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 900;
  line-height: 1.05;
}

.woocommerce-order ul.order_details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
}

.woocommerce-order ul.order_details li {
  min-width: 0;
  min-height: 132px;
  margin: 0;
  border: 0;
  border-radius: 8px;
  padding: clamp(24px, 2.8vw, 36px);
  background: var(--vyra-products-muted);
  color: var(--vyra-products-ink);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.25;
  list-style: none;
  text-transform: none;
}

.wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list > li,
.wc-block-order-confirmation .wc-block-order-confirmation-summary-list > li,
.wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list-item,
.wc-block-order-confirmation .wc-block-order-confirmation-summary-list-item {
  min-height: 132px;
  padding: clamp(24px, 2.8vw, 36px) !important;
}

.woocommerce-order ul.order_details li strong {
  display: block;
  margin-top: 5px;
  color: var(--vyra-products-burgundy);
  font-size: 1rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.wp-block-woocommerce-order-confirmation > *,
.wc-block-order-confirmation > * {
  max-width: 100%;
  margin-top: 22px;
}

.woocommerce-order .woocommerce-customer-details address {
  margin-bottom: 0;
}

.woocommerce-order .woocommerce-customer-details address + p,
.woocommerce-order .woocommerce-customer-details address + .woocommerce-customer-details--nif,
.woocommerce-order .woocommerce-customer-details address + .nif,
.woocommerce-order .woocommerce-customer-details address + [class*="nif"],
.woocommerce-order .woocommerce-customer-details address + [class*="NIF"] {
  margin: -1px 0 0;
  border: 1px solid #d0d7de;
  border-top: 0;
  border-radius: 0 0 4px 4px;
  padding: 0 12px 10px;
  background: #ffffff;
  color: var(--vyra-products-ink);
}

.woocommerce-order .woocommerce-customer-details address:has(+ p),
.woocommerce-order .woocommerce-customer-details address:has(+ .woocommerce-customer-details--nif),
.woocommerce-order .woocommerce-customer-details address:has(+ .nif),
.woocommerce-order .woocommerce-customer-details address:has(+ [class*="nif"]),
.woocommerce-order .woocommerce-customer-details address:has(+ [class*="NIF"]) {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.wp-block-woocommerce-order-confirmation ul,
.wc-block-order-confirmation ul {
  max-width: 100%;
  padding-left: 0;
}

.wp-block-woocommerce-order-confirmation li,
.wc-block-order-confirmation li {
  overflow-wrap: anywhere;
}

.wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list > li,
.wc-block-order-confirmation .wc-block-order-confirmation-summary-list > li,
.wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list-item,
.wc-block-order-confirmation .wc-block-order-confirmation-summary-list-item {
  border-radius: 8px;
  min-height: 132px;
  padding: clamp(24px, 2.8vw, 36px);
  background: var(--vyra-products-muted);
}

.woocommerce-order table.shop_table {
  width: 100%;
  max-width: 100%;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.woocommerce-order table.shop_table *,
.wp-block-woocommerce-order-confirmation table *,
.wc-block-order-confirmation table * {
  max-width: 100%;
}

.wp-block-woocommerce-order-confirmation table,
.wc-block-order-confirmation table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
  border: 0;
  border-bottom: 1px solid #e8e8e8;
  padding: 12px 0;
  background: transparent;
  vertical-align: top;
}

.woocommerce-order table.shop_table th.product-name,
.woocommerce-order table.shop_table td.product-name {
  width: 76%;
}

.woocommerce-order table.shop_table th.product-total,
.woocommerce-order table.shop_table td.product-total {
  width: 24%;
  text-align: right;
}

.woocommerce-order .button + .button,
.woocommerce-order button + button,
.woocommerce-order a.button + a.button,
.woocommerce-order .woocommerce-button + .woocommerce-button,
.woocommerce-order .ifthenpay-btn + .ifthenpay-btn,
.woocommerce-order [class*="ifthenpay"] a + a,
.woocommerce-order [class*="ifthenpay"] button + button {
  margin-top: 12px;
}

.woocommerce-order .button,
.woocommerce-order button,
.woocommerce-order a.button,
.woocommerce-order .woocommerce-button {
  margin-bottom: 8px;
}

.wp-block-woocommerce-order-confirmation th,
.wp-block-woocommerce-order-confirmation td,
.wc-block-order-confirmation th,
.wc-block-order-confirmation td {
  min-width: 0;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.woocommerce-cart #wc-stripe-payment-request-wrapper,
.woocommerce-cart #wc-stripe-payment-request-button-separator,
.woocommerce-cart .wc-stripe-payment-request-wrapper,
.woocommerce-cart .wc-stripe-payment-request-button-separator,
.woocommerce-cart #wc-stripe-express-checkout-element,
.woocommerce-cart .wc-stripe-express-checkout-element,
.woocommerce-cart #wcpay-payment-request-wrapper,
.woocommerce-cart .wcpay-payment-request-wrapper,
.woocommerce-cart .wcpay-express-checkout-wrapper,
.woocommerce-cart .wcpay-express-checkout-button,
.woocommerce-cart .wc-block-components-express-payment,
.woocommerce-cart .wc-block-components-express-payment__event-buttons,
.woocommerce-cart .wc-block-components-express-payment-continue-rule,
.wp-block-woocommerce-cart #wc-stripe-payment-request-wrapper,
.wp-block-woocommerce-cart #wc-stripe-payment-request-button-separator,
.wp-block-woocommerce-cart .wc-stripe-payment-request-wrapper,
.wp-block-woocommerce-cart .wc-stripe-payment-request-button-separator,
.wp-block-woocommerce-cart #wc-stripe-express-checkout-element,
.wp-block-woocommerce-cart .wc-stripe-express-checkout-element,
.wp-block-woocommerce-cart #wcpay-payment-request-wrapper,
.wp-block-woocommerce-cart .wcpay-payment-request-wrapper,
.wp-block-woocommerce-cart .wcpay-express-checkout-wrapper,
.wp-block-woocommerce-cart .wcpay-express-checkout-button,
.wp-block-woocommerce-cart .wc-block-components-express-payment,
.wp-block-woocommerce-cart .wc-block-components-express-payment__event-buttons,
.wp-block-woocommerce-cart .wc-block-components-express-payment-continue-rule {
  display: none !important;
}

.vyra-cart-item-customization {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 8px;
  font-size: 0.85rem;
  line-height: 1.25;
}

.woocommerce .wc-item-meta .vyra-cart-item-customization,
.woocommerce dl.variation .vyra-cart-item-customization {
  margin-top: 0;
}

.vyra-cart-item-customization span {
  color: #7c141c;
  font-weight: 800;
}

.vyra-cart-item-customization.is-complete span {
  color: #262626;
}

.vyra-cart-item-customization a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border-radius: 50px;
  padding: 7px 14px;
  background: #7c141c;
  color: #ffffff !important;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
}

.vyra-cart-item-customization.is-missing a:hover,
.vyra-cart-item-customization.is-missing a:focus {
  background: #ffffff;
  color: #7c141c !important;
}

.vyra-cart-item-customization__edit {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  border: 3px solid #7c141c !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: #7c141c !important;
  color: #ffffff !important;
  overflow: hidden;
  text-decoration: none !important;
  vertical-align: middle;
}

.woocommerce a[href*="vyra_cart_item"].vyra-cart-item-customization__edit,
.wc-block-cart a[href*="vyra_cart_item"].vyra-cart-item-customization__edit {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 3px solid #7c141c !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: #7c141c !important;
  color: #ffffff !important;
  overflow: hidden !important;
  text-decoration: none !important;
  vertical-align: middle !important;
}

.vyra-cart-item-customization__edit svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: inherit !important;
}

.woocommerce a[href*="vyra_cart_item"].vyra-cart-item-customization__edit svg,
.wc-block-cart a[href*="vyra_cart_item"].vyra-cart-item-customization__edit svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  color: inherit !important;
}

.vyra-cart-item-customization__edit--block {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 8px;
  text-decoration: none !important;
}

.vyra-cart-item-customization__edit:hover,
.vyra-cart-item-customization__edit:focus {
  background: #ffffff !important;
  color: #7c141c !important;
  border-color: #7c141c !important;
}

.wc-block-cart-items__row .wc-block-components-product-name .vyra-cart-item-customization__edit--block,
.wc-block-components-order-summary-item__description .wc-block-components-product-name .vyra-cart-item-customization__edit--block {
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 3px solid #7c141c !important;
  border-radius: 50px !important;
  background: #7c141c !important;
  color: #ffffff !important;
  padding: 0 !important;
}

.wc-block-cart-items__row .wc-block-components-product-name .vyra-cart-item-customization__edit--block:hover,
.wc-block-cart-items__row .wc-block-components-product-name .vyra-cart-item-customization__edit--block:focus,
.wc-block-components-order-summary-item__description .wc-block-components-product-name .vyra-cart-item-customization__edit--block:hover,
.wc-block-components-order-summary-item__description .wc-block-components-product-name .vyra-cart-item-customization__edit--block:focus {
  background: #ffffff !important;
  color: #7c141c !important;
}

.wc-block-cart-items__row .wc-block-components-product-name .vyra-cart-item-customization__edit--block svg,
.wc-block-components-order-summary-item__description .wc-block-components-product-name .vyra-cart-item-customization__edit--block svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
}

.vyra-products .vyra-product-buy,
.vyra-products .vyra-product-buy.wp-block-button__link {
  width: 100%;
  min-width: 0;
  height: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center;
  box-sizing: border-box;
  border: 0;
  border-radius: 50px;
  padding: 0 16px !important;
  margin: 0 !important;
  background: #7c141c;
  color: #ffffff;
  font-family: inherit;
  font-size: var(--vyra-product-card-buy-size);
  font-weight: 900;
  font-style: inherit;
  line-height: 40px !important;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

.vyra-products .vyra-product-buy:visited {
  color: #ffffff;
}

.vyra-products .vyra-product-buy:hover,
.vyra-products .vyra-product-buy:focus,
.vyra-products .vyra-product-buy:visited:hover,
.vyra-products .vyra-product-buy:visited:focus,
.vyra-products .vyra-product-buy.wp-block-button__link:hover,
.vyra-products .vyra-product-buy.wp-block-button__link:focus,
.vyra-products .vyra-product-buy.wp-block-button__link:visited:hover,
.vyra-products .vyra-product-buy.wp-block-button__link:visited:focus {
  background: #ffffff;
  color: rgb(124, 20, 28);
}

.vyra-products .vyra-product-card h3,
.vyra-products .vyra-product-title {
  margin-block-start: 5px;
  margin-block-end: 0;
  margin-inline: 0;
  padding: 0;
  max-width: 24ch;
  color: var(--vyra-products-ink);
  font-size: var(--vyra-product-card-title-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

.vyra-products .vyra-product-card h3 a,
.vyra-product-title a {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit;
  text-decoration: none;
}

.vyra-products-empty,
.vyra-products-notice {
  padding: 18px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: var(--vyra-products-white);
}

.vyra-products-notice.is-error {
  border-color: #f2b8b5;
  color: #8a1f11;
}

.vyra-cart {
  --vyra-products-burgundy: #7c141c;
  --vyra-products-ink: #262626;
  --vyra-products-white: #ffffff;
  --vyra-products-muted: #efefef;
  color: var(--vyra-products-ink);
  display: grid;
  gap: 18px;
  font-family: inherit;
}

.vyra-cart,
.vyra-cart * {
  box-sizing: border-box;
}

.vyra-cart h2 {
  margin: 0;
  color: var(--vyra-products-burgundy);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
  text-transform: uppercase;
}

.vyra-cart-items {
  display: grid;
  gap: 14px;
}

.vyra-cart-item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #e8e8e8;
}

.vyra-cart-item__image {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  aspect-ratio: 1 / 1;
  background: var(--vyra-products-muted);
}

.vyra-cart-item__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.vyra-cart-item__body {
  display: grid;
  gap: 8px;
}

.vyra-cart-item__body h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.15;
}

.vyra-cart-item__body h3 a,
.vyra-cart-remove {
  color: inherit;
  text-decoration: none;
}

.vyra-cart-item__body p {
  margin: 0;
  color: var(--vyra-products-burgundy);
  font-size: 1.2rem;
  font-weight: 800;
}

.vyra-cart-item__body label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.vyra-cart-item__body input[type="number"] {
  width: 72px;
  min-height: 36px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 6px 8px;
}

.vyra-cart-item__actions {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.vyra-cart .vyra-cart-buy,
.vyra-cart .vyra-cart-update {
  border: 0;
  border-radius: 50px;
  padding: 12px 22px;
  background: #7c141c;
  color: #ffffff;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.vyra-cart .vyra-cart-buy:hover,
.vyra-cart .vyra-cart-buy:focus,
.vyra-cart .vyra-cart-update:hover,
.vyra-cart .vyra-cart-update:focus {
  background: #ffffff;
  color: rgb(124, 20, 28);
}

.vyra-checkout-disabled,
.vyra-checkout-disabled:hover,
.vyra-checkout-disabled:focus {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
  filter: grayscale(0.25);
}

.vyra-cart-remove {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  font-family: inherit;
}

.vyra-cart-remove-form {
  margin: 0;
}

.vyra-cart-actions {
  display: flex;
  justify-content: flex-end;
}

:root {
  --cdosga_bordeaux: #7c141c;
  --cdosga_white: #ffffff;
  --cdosga_shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
  --cdosga_radius: 0 0 54px 54px;
  --cdosga_max_width: 1280px;
}

.cdosga_menu,
.cdosga_menu *,
.cdosga_search_overlay,
.cdosga_search_overlay * {
  box-sizing: border-box;
}

.cdosga_menu {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 800;
  width: min(calc(100% - 180px), 1120px);
  transform: translateX(-50%);
  background: var(--cdosga_white);
  border-radius: var(--cdosga_radius);
  box-shadow: var(--cdosga_shadow);
  overflow: visible;
  font-family: inherit;
}

.cdosga_menu_inner {
  min-height: 76px;
  display: grid;
  grid-template-columns: 170px 1fr 120px;
  align-items: center;
  gap: 18px;
  padding: 2px 66px 6px 50px;
}

.cdosga_logo {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--cdosga_bordeaux);
  text-decoration: none;
}

.cdosga_logo img {
  width: clamp(108px, 7.4vw, 138px);
  height: auto;
  display: block;
}

.cdosga_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 32px);
}

.cdosga_nav_link,
.cdosga_mobile_nav a {
  padding: 9px 14px;
  border-radius: 999px;
  color: var(--cdosga_bordeaux);
  font-family: inherit;
  font-size: clamp(17px, 1.35vw, 23px);
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cdosga_nav_link:hover,
.cdosga_mobile_nav a:hover {
  background: var(--cdosga_bordeaux);
  color: var(--cdosga_white);
  transform: translateY(-1px);
}

.cdosga_nav_link:focus,
.cdosga_nav_link:focus-visible,
.cdosga_mobile_nav a:focus,
.cdosga_mobile_nav a:focus-visible {
  background: transparent;
  color: var(--cdosga_bordeaux);
  outline: none;
  box-shadow: none;
  transform: none;
}

.cdosga_actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.cdosga_nav_link,
.cdosga_mobile_nav a,
.cdosga_icon_button,
.cdosga_mobile_button,
.cdosga_search_close,
.cdosga_search_form button {
  -webkit-tap-highlight-color: transparent;
}

.cdosga_icon_button {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: transparent;
  color: var(--cdosga_bordeaux);
  cursor: pointer;
  text-decoration: none;
}

.cdosga_icon_button svg {
  width: 28px;
  height: 28px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.95;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cdosga_icon_button:hover {
  background: var(--cdosga_bordeaux);
  color: var(--cdosga_white);
}

.cdosga_icon_button:focus,
.cdosga_icon_button:focus-visible {
  background: transparent;
  color: var(--cdosga_bordeaux);
  outline: none;
  box-shadow: none;
}

.cdosga_cart_wheel {
  fill: currentColor;
  stroke: none;
}

.cdosga_cart_count {
  position: absolute;
  right: -5px;
  top: -5px;
  min-width: 18px;
  height: 18px;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border: 2px solid var(--cdosga_white);
  border-radius: 999px;
  background: #262626;
  color: var(--cdosga_white);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.cdosga_cart_count.is_visible {
  display: inline-flex;
}

.cdosga_mobile_button {
  width: 46px;
  height: 46px;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  border: 0;
  appearance: none;
  background: transparent;
  color: var(--cdosga_bordeaux);
  cursor: pointer;
}

.cdosga_mobile_button span {
  width: 28px;
  height: 3px;
  display: block;
  border-radius: 999px;
  background: #7c141c !important;
  background-color: #7c141c !important;
  transition: transform 220ms ease, opacity 180ms ease;
}

.cdosga_mobile_button svg {
  width: 32px !important;
  height: 32px !important;
  display: block !important;
  fill: none !important;
  stroke: #7c141c !important;
  color: #7c141c !important;
}

.cdosga_menu.is_open .cdosga_mobile_button span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}

.cdosga_menu.is_open .cdosga_mobile_button span:nth-child(2) {
  opacity: 0;
}

.cdosga_menu.is_open .cdosga_mobile_button span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

.cdosga_mobile_panel {
  display: none;
  border-top: 1px solid rgba(127, 16, 29, 0.14);
  padding: 0 34px 34px;
}

.cdosga_mobile_nav {
  display: grid;
  gap: 20px;
  padding-top: 26px;
  text-align: center;
}

.cdosga_search_overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(255, 255, 255, 0.96);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 220ms ease, visibility 220ms ease;
  font-family: inherit;
}

.cdosga_search_overlay.is_visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cdosga_search_form {
  width: min(680px, 100%);
  display: grid;
  gap: 18px;
}

.cdosga_search_label {
  color: var(--cdosga_bordeaux);
  font-family: inherit;
  font-size: clamp(32px, 4vw, 62px);
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.cdosga_search_form input {
  width: 100%;
  min-height: 62px;
  border: 2px solid var(--cdosga_bordeaux);
  border-radius: 999px;
  padding: 0 26px;
  color: var(--cdosga_bordeaux);
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  outline: none;
}

.cdosga_search_form button {
  min-height: 58px;
  border: 0;
  border-radius: 999px;
  background: var(--cdosga_bordeaux);
  color: var(--cdosga_white);
  cursor: pointer;
  font-family: inherit;
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
}

.cdosga_search_close {
  position: absolute;
  top: 28px;
  right: 34px;
  width: 54px;
  height: 54px;
  border: 0;
  background: transparent;
  color: var(--cdosga_bordeaux);
  cursor: pointer;
  font-family: inherit;
  font-size: 58px;
  font-weight: 400;
  line-height: 1;
}

body.cdosga_menu_locked {
  overflow: hidden;
}

.vyra-cart-animation {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 99999;
  width: 168px;
  height: 168px;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.82);
}

.vyra-cart-animation.is-playing {
  animation: vyra-cart-pop 2000ms cubic-bezier(0.18, 0.9, 0.25, 1) both;
}

.vyra-cart-animation__icon {
  position: relative;
  z-index: 2;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #262626;
  color: #ffffff;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__icon {
  animation: vyra-cart-icon-bounce 2000ms cubic-bezier(0.18, 0.9, 0.25, 1) both;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-spin;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-lift;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-squish;
}

.vyra-cart-animation.is-playing.is-variant-5 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-wiggle;
}

.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-hop;
}

.vyra-cart-animation__icon svg {
  width: 50px;
  height: 50px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vyra-cart-animation__product,
.vyra-cart-animation__check,
.vyra-cart-animation__plus,
.vyra-cart-animation__bag,
.vyra-cart-animation__slide {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
}

.vyra-cart-animation__product,
.vyra-cart-animation__slide {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #ffc44d;
  box-shadow: inset 0 -8px 0 rgba(124, 20, 28, 0.18), 0 10px 24px rgba(38, 38, 38, 0.18);
}

.vyra-cart-animation__product::before,
.vyra-cart-animation__slide::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  width: 20px;
  height: 4px;
  border-radius: 999px;
  background: rgba(38, 38, 38, 0.22);
}

.vyra-cart-animation__check {
  width: 46px;
  height: 26px;
  border-left: 7px solid #ffffff;
  border-bottom: 7px solid #ffffff;
  transform: translate(-50%, -56%) rotate(-45deg) scale(0.55);
}

.vyra-cart-animation__plus {
  min-width: 46px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #7c141c;
  color: #ffffff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  transform: translate(22px, -54px) scale(0.65);
}

.vyra-cart-animation__bag {
  width: 78px;
  height: 72px;
  border: 4px solid #262626;
  border-radius: 18px 18px 22px 22px;
  background: #ffc44d;
  transform: translate(-50%, -42%) scale(0.72);
}

.vyra-cart-animation__bag::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  width: 34px;
  height: 28px;
  border: 4px solid #262626;
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  transform: translateX(-50%);
}

.vyra-cart-animation__bag span {
  position: absolute;
  left: 50%;
  top: 26px;
  width: 28px;
  height: 16px;
  border-radius: 0 0 999px 999px;
  border: 4px solid #7c141c;
  border-top: 0;
  transform: translateX(-50%);
}

.vyra-cart-animation__burst {
  position: absolute;
  inset: 18px;
  border-radius: 999px;
  background: rgba(124, 20, 28, 0.14);
  transform: scale(0.2);
}

.vyra-cart-animation.is-playing .vyra-cart-animation__burst {
  animation: vyra-cart-burst 2000ms ease-out both;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__burst {
  animation-name: vyra-cart-burst-ring;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__burst {
  animation-name: vyra-cart-burst-pulse;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__burst {
  animation-name: vyra-cart-burst-confetti;
}

.vyra-cart-animation.is-playing.is-variant-5 .vyra-cart-animation__burst {
  animation-name: vyra-cart-burst-soft;
}

.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__burst {
  animation-name: vyra-cart-burst-star;
}

.vyra-cart-animation__spark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #7c141c;
  opacity: 0;
}

.vyra-cart-animation__spark--2,
.vyra-cart-animation__spark--4 {
  background: #262626;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__spark--1 {
  animation: vyra-cart-spark-1 1600ms ease-out both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__spark--2 {
  animation: vyra-cart-spark-2 1600ms ease-out both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__spark--3 {
  animation: vyra-cart-spark-3 1600ms ease-out both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__spark--4 {
  animation: vyra-cart-spark-4 1600ms ease-out both;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__spark--1 {
  animation-name: vyra-cart-orbit-spark-1;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__spark--2 {
  animation-name: vyra-cart-orbit-spark-2;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__spark--3 {
  animation-name: vyra-cart-orbit-spark-3;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__spark--4 {
  animation-name: vyra-cart-orbit-spark-4;
}

.vyra-cart-animation__rocket {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 13px;
  height: 34px;
  opacity: 0;
  transform: translate(-50%, -50%);
  transform-origin: 50% 100%;
}

.vyra-cart-animation__rocket::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 13px;
  height: 24px;
  border-radius: 999px 999px 7px 7px;
  background: #7c141c;
  transform: translateX(-50%);
  box-shadow: inset 0 7px 0 rgba(255, 255, 255, 0.9);
}

.vyra-cart-animation__rocket::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 9px;
  height: 13px;
  border-radius: 999px 999px 4px 4px;
  background: #ffc44d;
  filter: drop-shadow(0 0 8px rgba(255, 196, 77, 0.9));
  transform: translateX(-50%);
}

.vyra-cart-animation__rocket span {
  position: absolute;
  left: 50%;
  bottom: -28px;
  width: 4px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(to bottom, rgba(124, 20, 28, 0.55), rgba(124, 20, 28, 0));
  transform: translateX(-50%);
}

.vyra-cart-animation.is-playing .vyra-cart-animation__rocket--1 {
  animation: vyra-cart-rocket-1 1700ms cubic-bezier(0.18, 0.9, 0.25, 1) 120ms both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__rocket--2 {
  animation: vyra-cart-rocket-2 1700ms cubic-bezier(0.18, 0.9, 0.25, 1) 220ms both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__rocket--3 {
  animation: vyra-cart-rocket-3 1700ms cubic-bezier(0.18, 0.9, 0.25, 1) 320ms both;
}

.vyra-cart-animation.is-playing .vyra-cart-animation__rocket--4 {
  animation: vyra-cart-rocket-4 1700ms cubic-bezier(0.18, 0.9, 0.25, 1) 420ms both;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__rocket--1 {
  animation-name: vyra-cart-rocket-spiral-1;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__rocket--2 {
  animation-name: vyra-cart-rocket-spiral-2;
}

.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__rocket--3,
.vyra-cart-animation.is-playing.is-variant-2 .vyra-cart-animation__rocket--4 {
  animation: none;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__rocket--1 {
  animation-name: vyra-cart-rocket-fountain-1;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__rocket--2 {
  animation-name: vyra-cart-rocket-fountain-2;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__rocket--3 {
  animation-name: vyra-cart-rocket-fountain-3;
}

.vyra-cart-animation.is-playing.is-variant-3 .vyra-cart-animation__rocket--4 {
  animation-name: vyra-cart-rocket-fountain-4;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-5 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__rocket {
  animation: none;
}

.vyra-cart-animation__shape {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 18px;
  height: 18px;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4);
}

.vyra-cart-animation__shape--1,
.vyra-cart-animation__shape--5 {
  border-radius: 999px;
  background: #7c141c;
}

.vyra-cart-animation__shape--2,
.vyra-cart-animation__shape--6 {
  border-radius: 4px;
  background: #ffc44d;
}

.vyra-cart-animation__shape--3,
.vyra-cart-animation__shape--7 {
  background: #2eb67d;
  clip-path: polygon(50% 0, 62% 35%, 100% 35%, 70% 56%, 82% 100%, 50% 72%, 18% 100%, 30% 56%, 0 35%, 38% 35%);
}

.vyra-cart-animation__shape--4,
.vyra-cart-animation__shape--8 {
  background: #ff5c8a;
  clip-path: polygon(50% 88%, 10% 48%, 10% 24%, 28% 8%, 50% 24%, 72% 8%, 90% 24%, 90% 48%);
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--1,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--1 {
  animation: vyra-cart-confetti-1 1750ms ease-out 80ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--2,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--2 {
  animation: vyra-cart-confetti-2 1750ms ease-out 140ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--3,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--3 {
  animation: vyra-cart-confetti-3 1750ms ease-out 200ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--4,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--4 {
  animation: vyra-cart-confetti-4 1750ms ease-out 260ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--5,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--5 {
  animation: vyra-cart-confetti-5 1750ms ease-out 320ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--6,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--6 {
  animation: vyra-cart-confetti-6 1750ms ease-out 380ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--7,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--7 {
  animation: vyra-cart-confetti-7 1750ms ease-out 440ms both;
}

.vyra-cart-animation.is-playing.is-variant-4 .vyra-cart-animation__shape--8,
.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape--8 {
  animation: vyra-cart-confetti-8 1750ms ease-out 500ms both;
}

.vyra-cart-animation.is-playing.is-variant-6 .vyra-cart-animation__shape {
  filter: drop-shadow(0 0 8px rgba(255, 196, 77, 0.65));
}

.vyra-cart-animation.is-playing.is-variant-7 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-7 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-7 .vyra-cart-animation__shape,
.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__shape,
.vyra-cart-animation.is-playing.is-variant-9 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-9 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-9 .vyra-cart-animation__shape,
.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__shape,
.vyra-cart-animation.is-playing.is-variant-11 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-11 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-11 .vyra-cart-animation__shape,
.vyra-cart-animation.is-playing.is-variant-12 .vyra-cart-animation__spark,
.vyra-cart-animation.is-playing.is-variant-12 .vyra-cart-animation__rocket,
.vyra-cart-animation.is-playing.is-variant-12 .vyra-cart-animation__shape {
  animation: none;
}

.vyra-cart-animation.is-playing.is-variant-7 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-receive;
}

.vyra-cart-animation.is-playing.is-variant-7 .vyra-cart-animation__product {
  animation: vyra-cart-product-drop 1550ms cubic-bezier(0.18, 0.9, 0.25, 1) 120ms both;
}

.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-check;
}

.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__icon svg {
  animation: vyra-cart-svg-fade 1600ms ease both;
}

.vyra-cart-animation.is-playing.is-variant-8 .vyra-cart-animation__check {
  animation: vyra-cart-check-draw 1500ms cubic-bezier(0.18, 0.9, 0.25, 1) 180ms both;
}

.vyra-cart-animation.is-playing.is-variant-9 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-plus;
}

.vyra-cart-animation.is-playing.is-variant-9 .vyra-cart-animation__plus {
  animation: vyra-cart-plus-one 1500ms cubic-bezier(0.18, 0.9, 0.25, 1) 130ms both;
}

.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__icon {
  animation: none;
  opacity: 0;
}

.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__bag {
  animation: vyra-cart-bag-pop 1750ms cubic-bezier(0.18, 0.9, 0.25, 1) both;
}

.vyra-cart-animation.is-playing.is-variant-10 .vyra-cart-animation__product {
  animation: vyra-cart-product-into-bag 1550ms cubic-bezier(0.18, 0.9, 0.25, 1) 120ms both;
}

.vyra-cart-animation.is-playing.is-variant-11 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-ripple;
}

.vyra-cart-animation.is-playing.is-variant-11 .vyra-cart-animation__burst {
  animation-name: vyra-cart-ripple;
}

.vyra-cart-animation.is-playing.is-variant-12 .vyra-cart-animation__icon {
  animation-name: vyra-cart-icon-slide;
}

.vyra-cart-animation.is-playing.is-variant-12 .vyra-cart-animation__slide {
  animation: vyra-cart-slide-product 1600ms cubic-bezier(0.18, 0.9, 0.25, 1) 80ms both;
}

@keyframes vyra-cart-pop {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.82) rotate(-5deg);
  }
  16% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.06) rotate(3deg);
  }
  58% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.92) rotate(0deg);
  }
}

@keyframes vyra-cart-icon-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  28% {
    transform: translateY(-14px);
  }
  52% {
    transform: translateY(4px);
  }
}

@keyframes vyra-cart-icon-spin {
  0% {
    transform: scale(0.88) rotate(-10deg);
  }
  22% {
    transform: scale(1.08) rotate(8deg);
  }
  50% {
    transform: scale(1) rotate(-5deg);
  }
  72% {
    transform: scale(1.04) rotate(5deg);
  }
  100% {
    transform: scale(0.96) rotate(0deg);
  }
}

@keyframes vyra-cart-icon-lift {
  0% {
    transform: translateY(18px) scale(0.86);
  }
  20% {
    transform: translateY(-22px) scale(1.08);
  }
  46% {
    transform: translateY(0) scale(1);
  }
  68% {
    transform: translateY(-10px) scale(1.02);
  }
  100% {
    transform: translateY(0) scale(0.95);
  }
}

@keyframes vyra-cart-icon-squish {
  0% { transform: scale(0.72, 1.16) rotate(-6deg); }
  18% { transform: scale(1.18, 0.86) rotate(4deg); }
  42% { transform: scale(0.96, 1.04) rotate(-2deg); }
  68% { transform: scale(1.04, 0.98) rotate(2deg); }
  100% { transform: scale(0.94) rotate(0deg); }
}

@keyframes vyra-cart-icon-wiggle {
  0% { transform: translateY(8px) rotate(0deg) scale(0.9); }
  18% { transform: translateY(-12px) rotate(-9deg) scale(1.06); }
  36% { transform: translateY(0) rotate(8deg) scale(1); }
  58% { transform: translateY(-8px) rotate(-5deg) scale(1.03); }
  100% { transform: translateY(0) rotate(0deg) scale(0.95); }
}

@keyframes vyra-cart-icon-hop {
  0% { transform: translateY(14px) scale(0.82); }
  20% { transform: translateY(-18px) scale(1.08); }
  38% { transform: translateY(3px) scale(0.98); }
  58% { transform: translateY(-12px) scale(1.04); }
  100% { transform: translateY(0) scale(0.94); }
}

@keyframes vyra-cart-icon-receive {
  0% { transform: translateY(0) scale(0.92); }
  28% { transform: translateY(10px) scale(1.04); }
  52% { transform: translateY(-6px) scale(1.02); }
  100% { transform: translateY(0) scale(0.95); }
}

@keyframes vyra-cart-icon-check {
  0% { transform: scale(0.82); background: #262626; }
  24% { transform: scale(1.06); background: #2eb67d; }
  64% { transform: scale(1); background: #2eb67d; }
  100% { transform: scale(0.94); background: #262626; }
}

@keyframes vyra-cart-icon-plus {
  0% { transform: rotate(-4deg) scale(0.9); }
  22% { transform: rotate(3deg) scale(1.08); }
  54% { transform: rotate(-2deg) scale(1); }
  100% { transform: rotate(0deg) scale(0.95); }
}

@keyframes vyra-cart-icon-ripple {
  0% { transform: scale(0.9); }
  22% { transform: scale(1.05); }
  50% { transform: scale(0.98); }
  100% { transform: scale(0.94); }
}

@keyframes vyra-cart-icon-slide {
  0% { transform: translateX(0) scale(0.92); }
  38% { transform: translateX(8px) scale(1.04); }
  62% { transform: translateX(-4px) scale(1); }
  100% { transform: translateX(0) scale(0.95); }
}

@keyframes vyra-cart-product-drop {
  0% { opacity: 0; transform: translate(-50%, -132px) rotate(-14deg) scale(0.72); }
  18% { opacity: 1; }
  56% { opacity: 1; transform: translate(-50%, -32px) rotate(8deg) scale(1); }
  78% { opacity: 1; transform: translate(-50%, -18px) rotate(0deg) scale(0.82); }
  100% { opacity: 0; transform: translate(-50%, -10px) rotate(0deg) scale(0.35); }
}

@keyframes vyra-cart-svg-fade {
  0%,
  18% { opacity: 1; transform: scale(1); }
  34%,
  76% { opacity: 0; transform: scale(0.72); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes vyra-cart-check-draw {
  0% { opacity: 0; transform: translate(-50%, -56%) rotate(-45deg) scale(0.35); }
  24% { opacity: 0; transform: translate(-50%, -56%) rotate(-45deg) scale(0.35); }
  46% { opacity: 1; transform: translate(-50%, -56%) rotate(-45deg) scale(1.04); }
  78% { opacity: 1; transform: translate(-50%, -56%) rotate(-45deg) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -56%) rotate(-45deg) scale(0.82); }
}

@keyframes vyra-cart-plus-one {
  0% { opacity: 0; transform: translate(18px, -34px) scale(0.56); }
  18% { opacity: 1; transform: translate(28px, -58px) scale(1.08); }
  58% { opacity: 1; transform: translate(34px, -74px) scale(1); }
  100% { opacity: 0; transform: translate(38px, -98px) scale(0.72); }
}

@keyframes vyra-cart-bag-pop {
  0% { opacity: 0; transform: translate(-50%, -42%) scale(0.6) rotate(-5deg); }
  18% { opacity: 1; transform: translate(-50%, -42%) scale(1.04) rotate(3deg); }
  58% { opacity: 1; transform: translate(-50%, -42%) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -42%) scale(0.88) rotate(0deg); }
}

@keyframes vyra-cart-product-into-bag {
  0% { opacity: 0; transform: translate(-50%, -128px) rotate(-12deg) scale(0.72); }
  18% { opacity: 1; }
  54% { opacity: 1; transform: translate(-50%, -54px) rotate(6deg) scale(0.92); }
  76% { opacity: 1; transform: translate(-50%, -26px) rotate(0deg) scale(0.62); }
  100% { opacity: 0; transform: translate(-50%, -18px) rotate(0deg) scale(0.28); }
}

@keyframes vyra-cart-ripple {
  0% { opacity: 0; transform: scale(0.2); box-shadow: 0 0 0 0 rgba(124, 20, 28, 0.24); }
  20% { opacity: 0.9; transform: scale(0.65); box-shadow: 0 0 0 12px rgba(124, 20, 28, 0.12); }
  54% { opacity: 0.45; transform: scale(1.05); box-shadow: 0 0 0 28px rgba(255, 196, 77, 0.1); }
  100% { opacity: 0; transform: scale(1.45); box-shadow: 0 0 0 42px rgba(255, 196, 77, 0); }
}

@keyframes vyra-cart-slide-product {
  0% { opacity: 0; transform: translate(-156px, 52px) rotate(-12deg) scale(0.62); }
  16% { opacity: 1; }
  62% { opacity: 1; transform: translate(-34px, -18px) rotate(8deg) scale(0.95); }
  82% { opacity: 1; transform: translate(-14px, -10px) rotate(0deg) scale(0.72); }
  100% { opacity: 0; transform: translate(-4px, -8px) rotate(0deg) scale(0.28); }
}

@keyframes vyra-cart-burst {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  22% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

@keyframes vyra-cart-burst-ring {
  0% { opacity: 0; transform: scale(0.12) rotate(0deg); }
  18% { opacity: 1; transform: scale(0.82) rotate(90deg); }
  55% { opacity: 0.65; transform: scale(1.12) rotate(210deg); }
  100% { opacity: 0; transform: scale(1.55) rotate(360deg); }
}

@keyframes vyra-cart-burst-pulse {
  0% { opacity: 0; transform: scale(0.16); }
  18% { opacity: 0.8; transform: scale(0.78); }
  40% { opacity: 0.25; transform: scale(1.12); }
  62% { opacity: 0.55; transform: scale(0.92); }
  100% { opacity: 0; transform: scale(1.5); }
}

@keyframes vyra-cart-burst-confetti {
  0% { opacity: 0; transform: scale(0.12) rotate(0deg); background: rgba(255, 196, 77, 0.2); }
  20% { opacity: 1; transform: scale(0.85) rotate(60deg); background: rgba(46, 182, 125, 0.18); }
  55% { opacity: 0.5; transform: scale(1.22) rotate(180deg); background: rgba(255, 92, 138, 0.16); }
  100% { opacity: 0; transform: scale(1.58) rotate(300deg); background: rgba(124, 20, 28, 0.05); }
}

@keyframes vyra-cart-burst-soft {
  0% { opacity: 0; transform: scale(0.15); background: rgba(255, 206, 217, 0.25); }
  25% { opacity: 1; transform: scale(0.78); background: rgba(255, 196, 77, 0.18); }
  64% { opacity: 0.45; transform: scale(1.18); background: rgba(255, 206, 217, 0.14); }
  100% { opacity: 0; transform: scale(1.42); background: rgba(255, 255, 255, 0); }
}

@keyframes vyra-cart-burst-star {
  0% { opacity: 0; transform: scale(0.15) rotate(0deg); background: rgba(255, 196, 77, 0.28); }
  22% { opacity: 1; transform: scale(0.92) rotate(45deg); background: rgba(255, 196, 77, 0.22); }
  70% { opacity: 0.4; transform: scale(1.3) rotate(180deg); background: rgba(46, 182, 125, 0.12); }
  100% { opacity: 0; transform: scale(1.68) rotate(260deg); background: rgba(255, 196, 77, 0); }
}

@keyframes vyra-cart-spark-1 {
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-78px, -68px) scale(0.25); }
}

@keyframes vyra-cart-spark-2 {
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(64px, -78px) scale(0.25); }
}

@keyframes vyra-cart-spark-3 {
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(74px, 62px) scale(0.25); }
}

@keyframes vyra-cart-spark-4 {
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-70px, 66px) scale(0.25); }
}

@keyframes vyra-cart-orbit-spark-1 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) translateX(40px) scale(1); }
  55% { opacity: 1; transform: translate(-50%, -50%) rotate(180deg) translateX(74px) scale(0.85); }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(320deg) translateX(112px) scale(0.2); }
}

@keyframes vyra-cart-orbit-spark-2 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(80deg) translateX(42px) scale(1); }
  55% { opacity: 1; transform: translate(-50%, -50%) rotate(250deg) translateX(78px) scale(0.85); }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(410deg) translateX(112px) scale(0.2); }
}

@keyframes vyra-cart-orbit-spark-3 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(170deg) translateX(40px) scale(1); }
  55% { opacity: 1; transform: translate(-50%, -50%) rotate(340deg) translateX(76px) scale(0.85); }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(500deg) translateX(112px) scale(0.2); }
}

@keyframes vyra-cart-orbit-spark-4 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(260deg) translateX(42px) scale(1); }
  55% { opacity: 1; transform: translate(-50%, -50%) rotate(430deg) translateX(78px) scale(0.85); }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(590deg) translateX(112px) scale(0.2); }
}

@keyframes vyra-cart-confetti-1 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.8); }
  62% { opacity: 1; transform: translate(-104px, -96px) rotate(260deg) scale(1); }
  100% { opacity: 0; transform: translate(-132px, -56px) rotate(420deg) scale(0.5); }
}

@keyframes vyra-cart-confetti-2 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.8); }
  62% { opacity: 1; transform: translate(96px, -108px) rotate(-220deg) scale(1); }
  100% { opacity: 0; transform: translate(126px, -64px) rotate(-380deg) scale(0.5); }
}

@keyframes vyra-cart-confetti-3 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.75); }
  62% { opacity: 1; transform: translate(126px, -8px) rotate(220deg) scale(1); }
  100% { opacity: 0; transform: translate(148px, 52px) rotate(390deg) scale(0.45); }
}

@keyframes vyra-cart-confetti-4 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.75); }
  62% { opacity: 1; transform: translate(-122px, 4px) rotate(-250deg) scale(1); }
  100% { opacity: 0; transform: translate(-150px, 58px) rotate(-420deg) scale(0.45); }
}

@keyframes vyra-cart-confetti-5 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.8); }
  62% { opacity: 1; transform: translate(-48px, -142px) rotate(300deg) scale(1); }
  100% { opacity: 0; transform: translate(-32px, -176px) rotate(460deg) scale(0.5); }
}

@keyframes vyra-cart-confetti-6 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.8); }
  62% { opacity: 1; transform: translate(52px, -140px) rotate(-300deg) scale(1); }
  100% { opacity: 0; transform: translate(34px, -176px) rotate(-460deg) scale(0.5); }
}

@keyframes vyra-cart-confetti-7 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.75); }
  62% { opacity: 1; transform: translate(84px, 98px) rotate(240deg) scale(1); }
  100% { opacity: 0; transform: translate(118px, 126px) rotate(420deg) scale(0.45); }
}

@keyframes vyra-cart-confetti-8 {
  8% { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.75); }
  62% { opacity: 1; transform: translate(-84px, 98px) rotate(-240deg) scale(1); }
  100% { opacity: 0; transform: translate(-118px, 126px) rotate(-420deg) scale(0.45); }
}

@keyframes vyra-cart-rocket-1 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-38deg) translateY(18px) scale(0.7); }
  18% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; transform: translate(-128px, -122px) rotate(-38deg) translateY(-12px) scale(1); }
}

@keyframes vyra-cart-rocket-2 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(35deg) translateY(18px) scale(0.7); }
  18% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; transform: translate(120px, -132px) rotate(35deg) translateY(-12px) scale(1); }
}

@keyframes vyra-cart-rocket-3 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-72deg) translateY(14px) scale(0.65); }
  18% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; transform: translate(-156px, -16px) rotate(-72deg) translateY(-10px) scale(0.95); }
}

@keyframes vyra-cart-rocket-4 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(72deg) translateY(14px) scale(0.65); }
  18% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; transform: translate(150px, -12px) rotate(72deg) translateY(-10px) scale(0.95); }
}

@keyframes vyra-cart-rocket-spiral-1 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-20deg) translateY(16px) scale(0.7); }
  18% { opacity: 1; }
  48% { transform: translate(-80px, -82px) rotate(42deg) translateY(-8px) scale(0.95); }
  82% { opacity: 1; }
  100% { opacity: 0; transform: translate(90px, -150px) rotate(118deg) translateY(-14px) scale(0.9); }
}

@keyframes vyra-cart-rocket-spiral-2 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(20deg) translateY(16px) scale(0.7); }
  18% { opacity: 1; }
  48% { transform: translate(82px, -78px) rotate(-42deg) translateY(-8px) scale(0.95); }
  82% { opacity: 1; }
  100% { opacity: 0; transform: translate(-92px, -148px) rotate(-118deg) translateY(-14px) scale(0.9); }
}

@keyframes vyra-cart-rocket-fountain-1 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-12deg) translateY(24px) scale(0.65); }
  18% { opacity: 1; }
  70% { opacity: 1; transform: translate(-54px, -130px) rotate(-12deg) translateY(-18px) scale(1); }
  100% { opacity: 0; transform: translate(-74px, -162px) rotate(-12deg) translateY(-18px) scale(0.8); }
}

@keyframes vyra-cart-rocket-fountain-2 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(12deg) translateY(24px) scale(0.65); }
  18% { opacity: 1; }
  70% { opacity: 1; transform: translate(52px, -134px) rotate(12deg) translateY(-18px) scale(1); }
  100% { opacity: 0; transform: translate(74px, -164px) rotate(12deg) translateY(-18px) scale(0.8); }
}

@keyframes vyra-cart-rocket-fountain-3 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-28deg) translateY(20px) scale(0.62); }
  18% { opacity: 1; }
  70% { opacity: 1; transform: translate(-118px, -94px) rotate(-28deg) translateY(-16px) scale(0.95); }
  100% { opacity: 0; transform: translate(-150px, -116px) rotate(-28deg) translateY(-16px) scale(0.76); }
}

@keyframes vyra-cart-rocket-fountain-4 {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(28deg) translateY(20px) scale(0.62); }
  18% { opacity: 1; }
  70% { opacity: 1; transform: translate(116px, -96px) rotate(28deg) translateY(-16px) scale(0.95); }
  100% { opacity: 0; transform: translate(148px, -118px) rotate(28deg) translateY(-16px) scale(0.76); }
}

@media (min-width: 861px) and (max-width: 1200px) {
  .vyra-products {
    --vyra-product-card-price-compact-size: 1.05rem;
  }
}

@media (min-width: 861px) and (max-width: 1040px) {
  .vyra-products {
    --vyra-product-card-price-compact-size: 0.95rem;
  }
}

@media (max-width: 860px) {
  .cdosga_logo img {
    width: 104px;
  }

  .cdosga_menu {
    width: min(calc(100% - 24px), var(--cdosga_max_width));
    border-radius: 0 0 42px 42px;
  }

  .cdosga_menu_inner {
    min-height: 62px;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 4px 28px 6px 24px;
  }

  .cdosga_nav {
    display: none;
  }

  .cdosga_actions {
    gap: 10px;
  }

  .cdosga_icon_button,
  .cdosga_icon_button svg {
    width: 30px;
    height: 30px;
  }

  .cdosga_mobile_button {
    display: inline-flex;
    background: transparent !important;
    color: #7c141c !important;
    box-shadow: none;
  }

  .cdosga_mobile_button:hover,
  .cdosga_mobile_button:focus,
  .cdosga_mobile_button:focus-visible {
    background: transparent !important;
    color: #7c141c !important;
    outline: none;
  }

  .cdosga_mobile_button span {
    background: #7c141c !important;
    background-color: #7c141c !important;
  }

  .cdosga_menu.is_open .cdosga_mobile_panel {
    display: block;
  }

  .vyra-products-search {
    margin-left: 0;
  }

  .vyra-products-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .vyra-products-sidebar {
    position: static;
    top: auto;
    z-index: auto;
    padding-top: 0;
    max-height: none;
    width: 100%;
    overflow: visible;
    padding-bottom: 12px;
    background: var(--vyra-products-white);
    transform: none;
  }

  .vyra-products-sidebar h2 {
    display: none;
  }

  .vyra-products-mobile-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 0;
    padding: 4px 0 0;
  }

  .vyra-products-mobile-filters label {
    min-width: 0;
    display: grid;
    gap: 5px;
  }

  .vyra-products-mobile-filters span {
    color: var(--vyra-products-burgundy);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
  }

  .vyra-products-mobile-filters select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #d9d9d9;
    border-radius: 12px;
    padding: 8px 34px 8px 12px;
    background-color: var(--vyra-products-white);
    color: var(--vyra-products-ink);
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.2;
    text-overflow: ellipsis;
  }

  .vyra-products-order-control {
    display: none;
  }

  .vyra-products-categories {
    display: none;
  }

  .vyra-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px !important;
    row-gap: 46px !important;
  }

  .vyra-cart-item {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .vyra-cart-item__actions {
    grid-column: 1 / -1;
    justify-items: start;
  }

  .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item {
    grid-template-columns: 34px 112px minmax(0, 1fr);
    max-width: 100%;
    overflow: hidden;
  }

  .woocommerce .woocommerce-cart-form table.shop_table,
  .woocommerce .woocommerce-cart-form table.shop_table tbody,
  .woocommerce .woocommerce-cart-form table.shop_table td,
  .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item,
  .wc-block-cart,
  .wc-block-cart *,
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-cart * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .wc-block-cart__main,
  .wc-block-cart__sidebar,
  .wc-block-cart-items,
  .wc-block-cart-items__row {
    width: 100% !important;
  }

  .wc-block-cart-items__row .wc-block-cart-item__image,
  .wc-block-cart-items__row .wc-block-components-product-image {
    width: 112px !important;
    max-width: 112px !important;
  }

  .wc-block-cart-items__row .wc-block-cart-item__image img,
  .wc-block-cart-items__row .wc-block-components-product-image img {
    width: 112px !important;
    height: 112px !important;
    max-width: 112px !important;
  }

  .woocommerce .woocommerce-cart-form .product-price,
  .woocommerce .woocommerce-cart-form .product-quantity,
  .woocommerce .woocommerce-cart-form .product-subtotal {
    grid-column: 3;
    min-width: 0;
    white-space: normal;
  }

  .woocommerce .cart-collaterals .cart_totals {
    max-width: none;
    margin-left: 0;
  }

  .woocommerce-order,
  .wp-block-woocommerce-order-confirmation,
  .wc-block-order-confirmation {
    width: 100%;
    max-width: 100%;
    margin-top: 88px;
    padding: 0 16px;
    overflow-x: clip;
  }

  .woocommerce-order .woocommerce-thankyou-order-received {
    font-size: 1.65rem;
    line-height: 1.08;
  }

  .wp-block-woocommerce-order-confirmation h1,
  .wc-block-order-confirmation h1 {
    font-size: 1.65rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .woocommerce-order ul.order_details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .woocommerce-order ul.order_details li {
    padding: 22px 24px;
    font-size: 0.78rem;
  }

  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list > li,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list > li,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list-item,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list-item {
    padding: 18px 20px;
  }

  .wp-block-woocommerce-order-confirmation > ul,
  .wc-block-order-confirmation > ul,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-left: 0;
  }

  .wp-block-woocommerce-order-confirmation > ul > li,
  .wc-block-order-confirmation > ul > li,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list > li,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list > li {
    min-width: 0;
  }

  .woocommerce-order table.shop_table,
  .woocommerce-order table.shop_table tbody,
  .woocommerce-order table.shop_table tr,
  .woocommerce-order table.shop_table th,
  .woocommerce-order table.shop_table td,
  .wp-block-woocommerce-order-confirmation table,
  .wp-block-woocommerce-order-confirmation tbody,
  .wp-block-woocommerce-order-confirmation tr,
  .wp-block-woocommerce-order-confirmation th,
  .wp-block-woocommerce-order-confirmation td,
  .wc-block-order-confirmation table,
  .wc-block-order-confirmation tbody,
  .wc-block-order-confirmation tr,
  .wc-block-order-confirmation th,
  .wc-block-order-confirmation td,
  .wp-block-woocommerce-order-confirmation *,
  .wc-block-order-confirmation * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .woocommerce-order table.shop_table thead,
  .wp-block-woocommerce-order-confirmation table thead,
  .wc-block-order-confirmation table thead {
    display: none;
  }

  .woocommerce-order table.shop_table,
  .woocommerce-order table.shop_table tbody,
  .woocommerce-order table.shop_table tr,
  .woocommerce-order table.shop_table td,
  .wp-block-woocommerce-order-confirmation table,
  .wp-block-woocommerce-order-confirmation tbody,
  .wp-block-woocommerce-order-confirmation tr,
  .wp-block-woocommerce-order-confirmation td,
  .wc-block-order-confirmation table,
  .wc-block-order-confirmation tbody,
  .wc-block-order-confirmation tr,
  .wc-block-order-confirmation td {
    display: block;
    width: 100%;
  }

  .woocommerce-order table.shop_table tr,
  .wp-block-woocommerce-order-confirmation table tr,
  .wc-block-order-confirmation table tr {
    padding: 12px 0;
    border-bottom: 1px solid #e8e8e8;
  }

  .woocommerce-order table.shop_table td,
  .wp-block-woocommerce-order-confirmation table td,
  .wc-block-order-confirmation table td {
    border-bottom: 0;
    padding: 4px 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .woocommerce-order table.shop_table td[data-title]::before,
  .wp-block-woocommerce-order-confirmation table td[data-title]::before,
  .wc-block-order-confirmation table td[data-title]::before {
    content: attr(data-title) ": ";
    display: inline;
    color: #7c141c;
    font-weight: 900;
  }
}

@media (max-width: 540px) {
  .vyra-products {
    --vyra-product-card-price-size: 1.2rem;
    --vyra-product-card-price-compact-size: 0.72rem;
    --vyra-product-card-title-size: 17px;
    --vyra-product-card-buy-size: 0.86rem;
  }

  .cdosga_logo img {
    width: 92px;
  }

  .cdosga_menu {
    width: calc(100% - 16px);
    border-radius: 0 0 32px 32px;
  }

  .cdosga_menu_inner {
    min-height: 56px;
    padding: 3px 22px 5px 16px;
  }

  .cdosga_icon_button,
  .cdosga_icon_button svg {
    width: 28px;
    height: 28px;
  }

  .cdosga_mobile_button {
    width: 38px;
    height: 38px;
  }

  .vyra-products-search {
    grid-template-columns: 1fr;
  }

  .vyra-products-search button {
    width: 100%;
  }

  .vyra-products-sidebar {
    top: auto;
  }

  .vyra-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px !important;
    row-gap: 34px !important;
  }

  .vyra-product-card {
    position: relative;
  }

  .vyra-product-image {
    border-radius: 28px;
  }

  .vyra-product-buy-row {
    grid-template-columns: minmax(0, 1fr) minmax(94px, auto);
    grid-template-areas:
      "price buy";
    gap: 8px;
    margin-top: 10px;
  }

  .vyra-product-price {
    grid-area: price;
    width: 100%;
    height: auto;
    min-height: 28px;
    line-height: 1.05;
    color: var(--vyra-products-ink);
    font-size: var(--vyra-product-card-price-size);
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .vyra-product-price:hover,
  .vyra-product-price:focus,
  .vyra-product-price:visited {
    color: var(--vyra-products-ink);
  }

  .vyra-product-price--from {
    height: auto;
    min-height: 34px;
    line-height: 1;
  }

  .vyra-product-price-prefix {
    font-size: 0.56rem;
  }

  .vyra-product-price--compact {
    font-size: var(--vyra-product-card-price-size);
  }

  .vyra-product-price-value {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .vyra-product-cart-form,
  .vyra-product-cart-form--woocommerce,
  .vyra-products .vyra-product-cart {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
  }

  .vyra-product-cart-form {
    position: absolute;
    right: 8px;
    top: 8px;
    z-index: 2;
    grid-area: auto;
    justify-self: auto;
  }

  .vyra-products .vyra-product-buy,
  .vyra-products .vyra-product-buy.wp-block-button__link {
    grid-area: buy;
    height: 34px !important;
    min-height: 34px !important;
    line-height: 34px !important;
    padding: 0 10px !important;
  }

  .vyra-products .vyra-product-cart svg {
    width: 19px;
    height: 19px;
  }

  .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item {
    grid-template-columns: 28px 84px minmax(0, 1fr);
    gap: 12px;
  }

  .wc-block-cart-items__row .wc-block-cart-item__image,
  .wc-block-cart-items__row .wc-block-components-product-image {
    width: 84px !important;
    max-width: 84px !important;
  }

  .wc-block-cart-items__row .wc-block-cart-item__image img,
  .wc-block-cart-items__row .wc-block-components-product-image img {
    width: 84px !important;
    height: 84px !important;
    max-width: 84px !important;
  }

  .woocommerce .woocommerce-cart-form .product-name > a,
  .woocommerce .woocommerce-cart-form .product-price,
  .woocommerce .woocommerce-cart-form .product-subtotal {
    font-size: 1rem;
  }

  .woocommerce .woocommerce-cart-form .coupon,
  .woocommerce .woocommerce-cart-form .coupon input.input-text,
  .woocommerce .woocommerce-cart-form .coupon button {
    width: 100%;
  }

  .woocommerce-order,
  .wp-block-woocommerce-order-confirmation,
  .wc-block-order-confirmation {
    margin-top: 76px;
    padding: 0 12px;
  }

  .woocommerce-order ul.order_details {
    grid-template-columns: 1fr;
  }

  .woocommerce-order ul.order_details li,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list > li,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list > li,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list-item,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list-item {
    padding: 20px 22px;
  }

  .wp-block-woocommerce-order-confirmation > ul,
  .wc-block-order-confirmation > ul,
  .wp-block-woocommerce-order-confirmation .wc-block-order-confirmation-summary-list,
  .wc-block-order-confirmation .wc-block-order-confirmation-summary-list {
    grid-template-columns: 1fr;
  }

  .woocommerce-order .woocommerce-order-details h2,
  .woocommerce-order .woocommerce-customer-details h2,
  .wp-block-woocommerce-order-confirmation h2,
  .wc-block-order-confirmation h2 {
    font-size: 1.35rem;
    line-height: 1.1;
  }
}
