/*
Theme Name: beauty vibe
Version: 1.0.2
WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
  display: none;
}

table.shop_table_responsive tbody th {
  display: none;
}

table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
}

table.shop_table_responsive tr td::before {
  content: attr(data-title) ": ";
  float: left;
}

table.shop_table_responsive tr td.product-remove a {
  text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
  display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
  display: none;
}

table.shop_table_responsive tr td.download-actions .button {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }

  table.shop_table_responsive tbody th {
    display: table-cell;
  }

  table.shop_table_responsive tr th,
  table.shop_table_responsive tr td {
    text-align: left;
  }

  table.shop_table_responsive tr td {
    display: table-cell;
  }

  table.shop_table_responsive tr td::before {
    display: none;
  }
}

/**
 * Products
  */
.products {
	max-width: 800px;
	margin: 0 auto !important;
}

ul.products {
  display: flex;
  flex-wrap: wrap;
}

ul.products li {
  height: auto; /* Позволяет карточкам в одном ряду тянуться */
}

ul.products .product {
  list-style: none;
  position: relative;
  background: #ffffff;
  display: flex !important;
  flex-direction: column;
  flex-grow: 1;
  border: 1px #5a848830 solid;
  border-radius: 5px;
}

ul.products .product img {
  display: block;
  width: 100%;
}

ul.products .product .product-short-description {
  margin: 10px;
  color: #7466aa;
}

ul.products .product .button {
  display: block;
  text-align: center;
  padding: 10px 20px;
  background: #7466aa;
  border: 1px solid #7466aa;
  color: #ffd9ee;
  margin-top: auto !important; /* Выталкивает кнопку вниз */
  margin-left: auto; /* Центрирование (вместе с margin-right) */
  margin-right: auto;
  margin-bottom: 20px;
  width: fit-content; /* Кнопка только по ширине текста */
  display: block;
  border-radius: 10px;
}
ul.products h2 {
  text-align: center;
  margin: 10px 5px;
  color: #7466aa;
  font-size: 15px;
}
ul.products .onsale {
  position: absolute;
  top: 22px;
  left: -2px;
  transform: rotate(342deg);
  color: #7466aa;
}

/* Делаем ссылку-обертку флекс-контейнером */
ul.products .product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.woocommerce-loop-product__title {
  flex-grow: 1; /* Название товара заберет всё свободное пространство, толкая цену и кнопку вниз */
}

/* Если цена тоже должна быть внизу, над кнопкой */
ul.products .product .price {
  text-align: center;
  color: #7466aa;
  margin-top: auto;
  margin-bottom: 15px;
  display: block;
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
}

/**
 * Single product
 */
.single-product div.product {
  position: relative;
  width: 95%;
  max-width: 800px;
  margin: 20px auto;
  color: #7466aa !important;
  --bs-gutter-x: 0 !important;
}
.single-product h1 {
	font-size: 20px;
}

.single-product .price {
  text-align: right;
  font-size: 1.2rem;
  margin: 5rem 0 2rem 0;
}
.single-product .tabs {
  display: none;
}
.single-product .woocommerce-product-gallery__wrapper img {
  width: 100%;
}

.single-product div.product .woocommerce-product-gallery {
  position: relative;
  float: left;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 2em;
  right: 1em;
  display: block;
  z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery {
  margin: 0;
  padding: 0;
}

.flex-control-thumbs {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li {
  list-style: none;
  cursor: pointer;
  float: left;
}

.single-product .single_add_to_cart_button {
  border: 1px solid #927dd1;
  background: #927dd1;
  color: #ffd9ee;
  border-radius: 15px;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li
  img {
  opacity: 0.5;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li
  img.flex-active {
  opacity: 1;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li:hover
  img {
  opacity: 1;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-2
  .flex-control-thumbs
  li {
  width: 48.1%;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-2
  .flex-control-thumbs
  li:nth-child(2n) {
  margin-right: 0;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-2
  .flex-control-thumbs
  li:nth-child(2n + 1) {
  clear: both;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li {
  width: 30.79667%;
}

.single-product .cart {
  display: flex;
  justify-content: space-between;

  .input-group {
    display: flex;
    justify-content: center;
    .qty {
      display: flex;
      align-items: center;
      justify-content: center;
      vertical-align: middle; /* Базовое выравнивание */
      width: 43px;
      height: 43px !important; /* Должна совпадать с высотой кнопок */
      line-height: 43px !important; /* Равно высоте для центровки текста */
      padding: 0 !important; /* Убираем внутренние отступы, которые могут смещать текст */
      text-align: center;
      border-radius: 0;
      color: #7466aa;
      font-weight: 600;
      border: 1px solid #7466aa;
      background: #ffffff80;
    }
    .btn {
      width: 40px;
      border: 1px solid #7466aa;
    }
  }
  /* Начальное состояние линии в SVG */
  .btn-minus svg path,
  .btn-plus svg path {
    stroke: #7466aa; /* Ваш основной цвет */
    transition: stroke 0.3s ease; /* Плавная смена цвета */
  }

  /* Состояние при наведении на кнопку */
  .btn-minus:hover svg path,
  .btn-plus:hover svg path {
    stroke: #ffffff !important; /* Белый цвет при наведении */
  }
  /* Начальное состояние линии в SVG */
  .btn-minus,
  .btn-plus {
    background: none; /* Ваш основной цвет */
    transition: stroke 0.3s ease; /* Плавная смена цвета */
  }

  /* Состояние при наведении на кнопку */
  .btn-minus:hover,
  .btn-plus:hover {
    background: #7466aa !important; /* Белый цвет при наведении */
  }
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li:nth-child(3n) {
  margin-right: 0;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li:nth-child(3n + 1) {
  clear: both;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-4
  .flex-control-thumbs
  li {
  width: 22.15%;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-4
  .flex-control-thumbs
  li:nth-child(4n) {
  margin-right: 0;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-4
  .flex-control-thumbs
  li:nth-child(4n + 1) {
  clear: both;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-5
  .flex-control-thumbs
  li {
  width: 16.96%;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-5
  .flex-control-thumbs
  li:nth-child(5n) {
  margin-right: 0;
}

.single-product
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-5
  .flex-control-thumbs
  li:nth-child(5n + 1) {
  clear: both;
}

.stock:empty::before {
  display: none;
}

.stock.in-stock {
  color: #0f834d;
}

.stock.out-of-stock {
  color: #e2401c;
}

.product_meta {
  display: none;
}
@media screen and (max-width: 768px) {
  .woocommerce-product-details__short-description {
    display: none;
  }
  .product_title {
    margin-top: 20px;
  }
	ul.products h2 {
  font-size: 12px;
}
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }

  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }

  .col2-set .form-row-first,
  .col2-set .form-row-last {
    width: 48.1%;
  }
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin: 0;
  padding: 0;
}

.site-header-cart .cart-contents {
  text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
  display: none;
}

.site-header-cart .product_list_widget {
  margin: 0;
  padding: 0;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  width: 5.3em;
  font-family: star;
  font-weight: 400;
}

.star-rating::before {
  content: "\53\53\53\53\53";
  opacity: 0.25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span::before {
  content: "\53\53\53\53\53";
  top: 0;
  position: absolute;
  left: 0;
  color: #4169e1;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
}

p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: star;
  content: "\53";
  color: #404040;
  text-indent: 0;
  opacity: 0.25;
}

p.stars a:hover ~ a::before {
  content: "\53";
  color: #404040;
  opacity: 0.25;
}

p.stars:hover a::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

p.stars.selected a.active::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

p.stars.selected a.active ~ a::before {
  content: "\53";
  color: #404040;
  opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  position: relative;
}

.woocommerce-tabs ul.tabs li a {
  padding: 1em 0;
  display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}

.woocommerce-password-strength.strong {
  color: #0f834d;
}

.woocommerce-password-strength.short {
  color: #e2401c;
}

.woocommerce-password-strength.bad {
  color: #e2401c;
}

.woocommerce-password-strength.good {
  color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 2px 0 0 #e2401c;
}

.required {
  color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background-color: #0f834d;
  clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3d9cd2;
}

.woocommerce-error {
  background-color: #e2401c;
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: #3d9cd2;
  z-index: 9999;
}

@media screen and (min-width: 48em) {
  /**
	 * Header cart
	 */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999999;
    left: -999em;
    display: block;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }

  .site-header-cart:hover .widget_shopping_cart,
  .site-header-cart.focus .widget_shopping_cart {
    left: 0;
    display: block;
  }
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
  float: left;
}

.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: #4169e1;
  box-sizing: border-box;
  margin-top: -0.25em;
  opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
  height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}
.woocommerce-result-count {
  display: none;
}
.woocommerce-breadcrumb {
  display: none;
}

.wc-block-checkout__use-address-for-billing {
  display: none;
}

.wc-block-components-address-form__country {
  margin-top: 12px !important;
}
.pswp__bg {
  background: #927dd1 !important;
}

input[type="number"],
input[type="number"]:hover,
input[type="number"]:focus {
  appearance: none;
  -moz-appearance: textfield;
}

.wc-block-cart__submit-button {
  color: #ffd9ee;
  background-color: #927dd1d9;
  padding: 10px 20px;
  border-radius: 10px;
}
a.wc-block-cart__submit-button,
a.wc-block-cart__submit-button:visited,
a.wc-block-cart__submit-button:focus,
a.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:active {
  color: #ffd9ee !important;
}

.wc-block-cart-items__header-image {
  width: 120px !important;
}
.wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.wc-block-cart-item__quantity {
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px;
  .wc-block-components-quantity-selector {
    margin: 0 !important;
    padding: 0 !important;
  }
  button.wc-block-cart-item__remove-link {
    background-color: #927dd1d9 !important;
    padding: 7px 20px !important;
    border-radius: 10px !important;
    color: #ffd9ee !important;
    text-decoration: none !important;
  }
}

.woocommerce {
}
.wc-block-components-product-metadata__description {
  display: none;
}
.wp-block-woocommerce-cart-order-summary-totals-block,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-order-summary__title,
.wc-block-components-main,
.wc-block-components-order-summary-item__quantity {
  color: #7466aa !important;
  input {
    color: #7466aa !important;
  }
  .wc-block-components-country-input {
    display: none;
  }
}

.wp-block-woocommerce-cart-order-summary-block {
  background: #ffffff80 !important;
  padding: 10px;
}
.woocommerce-column--billing-address {
  display: none;
}
.woocommerce-order {
  color: #7466aa !important;
}
.woocommerce-order {
  .woocommerce-thankyou-order-received {
    text-align: center;
    font-size: 18px;
  }
  p,
  ul {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 10px 0;
  }
}

.woocommerce-order-details {
  margin-top: 20px;
}
.woocommerce-customer-details,
.woocommerce-order-details__title {
  text-align: center;
}
.shipped_via {
  display: none;
}
.product-cat-dropdown,
.orderby {
  color: #7466aa !important;
  background: #ffffff80 !important;
  padding: 6px !important;
  border: var(--bs-border-width) solid #7466aa;
  border-radius: var(--bs-border-radius);
  transition:
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.product-cat-dropdown,
.woocommerce-ordering{
	
  width: 90% !important;
  margin: 10px auto !important;
}
.orderby {
	width: 100%;
}

/* Фиолетовая кнопка "В корзину" как на скрине */
.custom-cart-btn {
    background-color: #7063b0 !important; /* Ваш фиолетовый оттенок */
    border: none !important;
    border-radius: 8px !important;
    font-size: 15px;
    transition: background 0.2s ease;
}

.custom-cart-btn:hover {
    background-color: #5c5096 !important;
}
.btn:hover {
	background-color: #5c5096 !important;
	color: #ffffff;
}

/* Стилизация инпута количества */
.loop-quantity-input {
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* Скрытие дефолтных стрелочек браузера в инпуте типа number */
.loop-quantity-input::-webkit-outer-spin-button,
.loop-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.loop-quantity-input[type=number] {
    -moz-appearance: textfield;
}

/* Округление внешних краев группы каунтера */
.quantity-picker .btn-minus {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}
.quantity-picker .btn-plus {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}



   
