/*
Theme Name: bebeyou

WooCommerce styles override - Modernized Edition
Compatible with futuristic login, register, cart and lost password designs
*/

/* ========================================
 * MODERN WOOCOMMERCE BASE STYLES
 * Compatible with redesigned pages
 * ======================================== */

/* Global modern enhancements */
:root {
  --modern-glass-bg: rgba(255, 255, 255, 0.15);
  --modern-glass-border: rgba(255, 255, 255, 0.2);
  --modern-shadow: 0 8px 32px rgba(31, 38, 135, 0.15);
  --modern-gradient: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0)
  );
  --modern-border-radius: 1rem;
}

/* Simple WooCommerce buttons */
.woocommerce button:not(.remove),
.woocommerce .button:not(.remove),
.woocommerce input[type='submit'],
.woocommerce input[type='button'] {
  background: var(--bs-primary) !important;
  border: none !important;
  border-radius: 0.375rem !important;
  padding: 12px 24px !important;
  color: white !important;
  font-weight: 500 !important;
  text-transform: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.9rem !important;
}

.woocommerce button:not(.remove):hover,
.woocommerce .button:not(.remove):hover,
.woocommerce input[type='submit']:hover,
.woocommerce input[type='button']:hover {
  background: var(--bs-secondary) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
  color: white !important;
}

/* Modern form elements */
.woocommerce input[type='text']:not(.qty),
.woocommerce input[type='email'],
.woocommerce input[type='password'],
.woocommerce input[type='number']:not(.qty),
.woocommerce select,
.woocommerce textarea {
  background: var(--modern-glass-bg) !important;
  border: 1px solid var(--modern-glass-border) !important;
  border-radius: var(--modern-border-radius) !important;
  padding: 12px 16px !important;
  color: #333 !important;
  font-family: 'Nunito', sans-serif !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.woocommerce input[type='text']:not(.qty):focus,
.woocommerce input[type='email']:focus,
.woocommerce input[type='password']:focus,
.woocommerce input[type='number']:not(.qty):focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
  outline: none !important;
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.1),
    inset 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-1px) !important;
  background: rgba(255, 255, 255, 0.25) !important;
}

/**
 * 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
 */
ul.products {
  margin: 0;
  padding: 0;
}

ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 2em;
}

ul.products li.product img {
  display: block;
}

ul.products li.product .button {
  display: block;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 30.79667%;
    float: left;
    margin-right: 3.8%;
  }

  ul.products li.product.first {
    clear: both;
  }

  ul.products li.product.last {
    margin-right: 0;
  }

  ul.products.columns-1 li.product {
    float: none;
    width: 100%;
  }

  ul.products.columns-2 li.product {
    width: 48.1%;
  }

  ul.products.columns-3 li.product {
    width: 30.79667%;
  }

  ul.products.columns-4 li.product {
    width: 22.15%;
  }

  ul.products.columns-5 li.product {
    width: 16.96%;
  }

  ul.products.columns-6 li.product {
    width: 13.49333%;
  }
}

/**
 * Single product
 */
.single-product div.product {
  position: relative;
}

.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 .flex-control-thumbs {
  margin: 0;
  padding: 0;
}

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

.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
  div.product
  .woocommerce-product-gallery.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li:nth-child(3n) {
  margin-right: 0;
}

/* Custom BebeYou Product Styles */
.single-product .summary {
  padding: 20px 0;
}

.single-product .product_title {
  color: var(--bs-secondary);
  font-family: var(--heading-font);
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.single-product .price {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--bs-primary);
  margin-bottom: 1.5rem;
}

.single-product .price del {
  color: #999;
  font-size: 0.9em;
}

.single-product .price ins {
  text-decoration: none;
  color: var(--bs-primary);
}

/* Add to Cart Button Styling */
.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, var(--bs-primary), var(--bs-secondary));
  border: none;
  padding: 15px 30px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 8px;
  color: white;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.single-product .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  background: linear-gradient(135deg, var(--bs-secondary), var(--bs-primary));
}

.single-product .single_add_to_cart_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Quantity Input Styling */
.single-product .quantity {
  margin-bottom: 20px;
}

.single-product .quantity input {
  border: 2px solid var(--bs-gray-300);
  border-radius: 6px;
  padding: 10px;
  font-size: 1rem;
  text-align: center;
  width: 70px;
  margin-right: 15px;
}

.single-product .quantity input:focus {
  border-color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(230, 188, 235, 0.2);
}

/* Product Meta Styling */
.single-product .product_meta {
  border-top: 1px solid var(--bs-gray-200);
  padding-top: 20px;
  margin-top: 30px;
  font-size: 0.9rem;
  color: var(--bs-gray-500);
}

.single-product .product_meta span {
  display: block;
  margin-bottom: 8px;
}

.single-product .product_meta a {
  color: var(--bs-primary);
  text-decoration: none;
}

.single-product .product_meta a:hover {
  color: var(--bs-secondary);
}

/* Product Tabs */
.woocommerce-tabs {
  margin-top: 50px;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--bs-gray-200);
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  background: none;
}

.woocommerce-tabs ul.tabs li {
  list-style: none;
  margin: 0 10px;
  border: none;
  background: none;
}

.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 15px 25px;
  color: var(--bs-gray-500);
  text-decoration: none;
  border-radius: 25px;
  transition: all 0.3s ease;
  font-weight: 500;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
  background: var(--bs-primary);
  color: white;
  transform: translateY(-2px);
}

.woocommerce-tabs .panel {
  padding: 30px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
}

/* Product Gallery Enhancements */
.woocommerce-product-gallery {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.woocommerce-product-gallery__image {
  border-radius: 12px;
  overflow: hidden;
}

.woocommerce-product-gallery__image img {
  transition: transform 0.3s ease;
}

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

/* Related Products */
.related.products h2,
.upsells.products h2 {
  color: var(--bs-secondary);
  font-family: var(--heading-font);
  font-size: 2rem;
  text-align: center;
  margin-bottom: 30px;
}

.related.products ul.products li.product,
.upsells.products ul.products li.product {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related.products ul.products li.product:hover,
.upsells.products ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.related.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product .woocommerce-loop-product__title {
  color: var(--bs-secondary);
  font-size: 1.2rem;
  margin: 15px 0;
  padding: 0 15px;
}

.related.products ul.products li.product .price,
.upsells.products ul.products li.product .price {
  color: var(--bs-primary);
  font-weight: 600;
  font-size: 1.1rem;
  padding: 0 15px 15px;
}

.related.products ul.products li.product .button,
.upsells.products ul.products li.product .button {
  background: var(--bs-primary);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  transition: all 0.3s ease;
  margin: 15px;
}

.related.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .button:hover {
  background: var(--bs-secondary);
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .single-product .product_title {
    font-size: 2rem;
  }

  .single-product .price {
    font-size: 1.5rem;
  }

  .woocommerce-tabs ul.tabs {
    flex-direction: column;
    align-items: center;
  }

  .woocommerce-tabs ul.tabs li {
    margin: 5px 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;
}

/**
 * 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: #ffc107;
}

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: #ffc107;
  opacity: 1;
}

p.stars.selected a.active::before {
  content: '\53';
  color: #ffc107;
  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: #ffc107;
  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 Cart Page Styles */
.woocommerce-cart .page-header {
  background: linear-gradient(135deg, var(--bs-light) 0%, #ffffff 100%);
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 2rem;
  border: 1px solid var(--bs-border-color);
}

.woocommerce-cart .cart-items-container {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--bs-border-color);
  padding: 2rem;
}

.woocommerce-cart .cart-table {
  margin-bottom: 0;
}

.woocommerce-cart .cart-table th {
  background: var(--bs-light);
  border: none;
  font-weight: 600;
  color: var(--bs-dark);
  padding: 1rem 0.5rem;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.woocommerce-cart .cart-table td {
  border: none;
  padding: 1.5rem 0.5rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--bs-border-color);
}

.woocommerce-cart .cart-table .product-name h6 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.woocommerce-cart .cart-table .product-name a {
  text-decoration: none;
  color: var(--bs-dark);
  transition: color 0.3s ease;
}

.woocommerce-cart .cart-table .product-name a:hover {
  color: var(--bs-primary);
}

.woocommerce-cart .product-image-wrapper {
  border-radius: 0.5rem;
  overflow: hidden;
  border: 2px solid var(--bs-light);
  transition: transform 0.3s ease;
}

.woocommerce-cart .product-image-wrapper:hover {
  transform: scale(1.05);
}

.woocommerce-cart .product-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Enhanced Remove Button with × symbol - Fine and Elegant */
.woocommerce-cart .remove {
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border: 1px solid rgba(121, 127, 127, 0.3) !important;
  background: #ffffff !important;
  color: rgba(121, 127, 127, 0.7) !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(121, 127, 127, 0.12),
    0 1px 2px rgba(121, 127, 127, 0.08) !important;
  position: relative !important;
  overflow: hidden !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  opacity: 0.8 !important;
}

.woocommerce-cart .remove:hover {
  background: linear-gradient(
    135deg,
    rgba(230, 188, 235, 0.1),
    rgba(121, 127, 127, 0.1)
  ) !important;
  color: rgb(121, 127, 127) !important;
  transform: scale(1.05) !important;
  box-shadow: 0 2px 8px rgba(230, 188, 235, 0.2),
    0 1px 3px rgba(121, 127, 127, 0.15) !important;
  border-color: rgba(230, 188, 235, 0.5) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.woocommerce-cart .remove:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(230, 188, 235, 0.2) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.woocommerce-cart .remove:active {
  transform: scale(0.98) !important;
  box-shadow: 0 1px 2px rgba(121, 127, 127, 0.15) !important;
  text-decoration: none !important;
}

/* Remove button loading animation */
.woocommerce-cart .remove.loading {
  pointer-events: none !important;
  opacity: 0.6 !important;
  font-size: 0 !important;
}

.woocommerce-cart .remove.loading::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 12px !important;
  height: 12px !important;
  margin: -6px 0 0 -6px !important;
  border: 2px solid transparent !important;
  border-top-color: currentColor !important;
  border-radius: 50% !important;
  animation: button-loading-spinner 0.6s linear infinite !important;
}

@keyframes button-loading-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Enhanced cart item styles for better button integration */
.woocommerce-cart .cart-item {
  transition: background-color 0.3s ease !important;
  border-radius: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  padding: 1rem !important;
}

.woocommerce-cart .cart-item:hover {
  background-color: rgba(var(--bs-light-rgb), 0.3) !important;
}

/* Better spacing for remove button column */
.woocommerce-cart .cart-item .col-auto:last-child {
  padding-left: 1rem !important;
}

/* Mobile alignment - align columns content to top */
@media (max-width: 767.98px) {
  .woocommerce-cart .cart-item .row {
    align-items: flex-start !important;
  }

  .woocommerce-cart .cart-item .col,
  .woocommerce-cart .cart-item .col-auto {
    align-self: flex-start !important;
  }

  /* Ensure product info starts at top */
  .woocommerce-cart .cart-item .product-info {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Align quantity controls to top */
  .woocommerce-cart .cart-item .quantity-controls {
    justify-content: flex-start !important;
    margin-top: 0.5rem !important;
  }

  /* Align subtotal to top */
  .woocommerce-cart .cart-item .product-subtotal {
    margin-top: 0.5rem !important;
  }

  /* Align text content to left in mobile */
  .woocommerce-cart .cart-item .product-info {
    text-align: left !important;
  }

  .woocommerce-cart .cart-item .product-subtotal {
    text-align: left !important;
  }

  .woocommerce-cart .cart-item .quantity-controls {
    justify-content: flex-start !important;
  }

  /* Hide product image in mobile to save space */
  .woocommerce-cart .cart-item .col-auto:first-child {
    display: none !important;
  }
}

/* Checkout table headers - white color for Producto and Subtotal */
.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table th.product-total {
  color: white !important;
}

/* Tooltip styles for remove button */
.woocommerce-cart .remove[title]:hover::before {
  content: attr(title) !important;
  position: absolute !important;
  top: -45px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(0, 0, 0, 0.8) !important;
  color: white !important;
  padding: 6px 8px !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  white-space: nowrap !important;
  z-index: 1000 !important;
  opacity: 0 !important;
  animation: tooltip-fade-in 0.3s ease forwards !important;
}

@keyframes tooltip-fade-in {
  to {
    opacity: 1;
  }
}

.woocommerce-cart .quantity-input-wrapper input {
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color);
  text-align: center;
  font-weight: 600;
}

.woocommerce-cart .price {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--bs-primary);
}

.woocommerce-cart .subtotal {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--bs-primary);
}

/* Cart totals section */
.woocommerce-cart .cart-collaterals {
  margin-top: 2rem;
}

.woocommerce-cart .cart_totals {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--bs-border-color);
  padding: 2rem;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--bs-dark);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.woocommerce-cart .shop_table_responsive {
  overflow-x: visible;
}

.woocommerce-cart .shop_table.cart_totals_table {
  background: var(--bs-light);
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce-cart .shop_table.cart_totals_table th,
.woocommerce-cart .shop_table.cart_totals_table td {
  border: none;
  padding: 1rem;
  vertical-align: middle;
}

.woocommerce-cart .shop_table.cart_totals_table th {
  background: transparent;
  font-weight: 600;
  color: var(--bs-dark);
  width: 50%;
}

.woocommerce-cart .shop_table.cart_totals_table .order-total th,
.woocommerce-cart .shop_table.cart_totals_table .order-total td {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--bs-primary);
  border-top: 2px solid var(--bs-primary);
  padding-top: 1.5rem;
}

/* Checkout button styling */
.woocommerce-cart .checkout-button {
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  );
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
  transition: all 0.3s ease;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  width: 100%;
  color: white;
  text-decoration: none;
}

.woocommerce-cart .checkout-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
  background: linear-gradient(
    135deg,
    var(--bs-secondary) 0%,
    var(--bs-primary) 100%
  );
  color: white;
}

.woocommerce-cart .checkout-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(0, 123, 255, 0.2);
}

/* Empty cart styling */
.woocommerce-cart .empty-cart {
  background: var(--bs-light);
  border-radius: 1rem;
  padding: 3rem 2rem;
  text-align: center;
}

.woocommerce-cart .empty-cart svg {
  opacity: 0.6;
  margin-bottom: 1.5rem;
}

.woocommerce-cart .empty-cart h4 {
  color: var(--bs-secondary);
  font-weight: 600;
}

.woocommerce-cart .empty-cart p {
  color: var(--bs-muted);
  margin-bottom: 2rem;
}

/* Force cart template styles to override defaults */
body.woocommerce-cart .page-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-radius: 1rem !important;
  padding: 2rem !important;
  margin-bottom: 2rem !important;
  border: 1px solid #dee2e6 !important;
}

body.woocommerce-cart .container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 2rem 15px !important;
}

/* WooCommerce Pagination Universal Fixes */
/* Aplicar border-radius consistente a todos los botones de paginación */
.page-btn,
.pagination-nav .btn,
.pagination .btn,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 0.375rem !important;
}

/* Estilos específicos para paginación en móviles */
@media (max-width: 575px) {
  /* Ajustar el wrapper de paginación */
  .pagination-wrapper {
    flex-direction: column;
    gap: 1rem !important;
    align-items: stretch !important;
    padding: 0.75rem !important;
    margin: 0 !important;
    border-radius: 0.5rem !important;
    overflow: hidden;
  }

  /* Información de página */
  .pagination-info {
    text-align: center;
    order: 1;
    font-size: 0.85rem;
  }

  /* Navegación de páginas - reorganización completa */
  .pagination-nav {
    order: 2;
    flex-direction: column !important;
    gap: 0.75rem !important;
    width: 100%;
  }

  /* Contenedor para botones anterior/siguiente */
  .pagination-nav {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
  }

  /* Botones Anterior y Siguiente */
  .pagination-nav .btn {
    min-width: 80px !important;
    max-width: 120px !important;
    padding: 0.5rem 0.5rem !important;
    font-size: 0.8rem !important;
    gap: 0.25rem !important;
    white-space: nowrap;
    flex-shrink: 1;
    border-radius: 0.375rem !important;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  /* Mostrar texto en botones de navegación en móviles */
  .pagination-nav .btn .d-none.d-sm-inline {
    display: inline !important;
  }

  /* Contenedor de números de página - scroll horizontal */
  .page-numbers {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0.5rem 0;
    gap: 0.25rem !important;
    justify-content: flex-start !important;
    -webkit-overflow-scrolling: touch;
    margin: 0 -0.75rem; /* Extend to edges */
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .page-numbers::-webkit-scrollbar {
    display: none;
  }

  /* Botones de página más compactos */
  .page-btn {
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    font-size: 0.75rem !important;
    flex-shrink: 0;
    margin: 0 1px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .page-dots {
    min-width: 20px !important;
    max-width: 20px !important;
    height: 32px !important;
    font-size: 0.7rem !important;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Ocultar el goto-page en móviles pequeños */
  .goto-page {
    display: none !important;
  }

  /* Añadir indicador visual de scroll */
  .page-numbers::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 20px;
    background: linear-gradient(
      to right,
      transparent,
      rgba(255, 255, 255, 0.8)
    );
    pointer-events: none;
    z-index: 1;
  }

  /* Mejorar el contenedor principal */
  .pagination-wrapper {
    max-width: 100vw;
    box-sizing: border-box;
  }
}

/* Ajustes para tablets pequeñas */
@media (min-width: 576px) and (max-width: 768px) {
  .pagination-wrapper {
    padding: 1.5rem !important;
    gap: 1.5rem !important;
  }

  .pagination-nav {
    gap: 1rem !important;
  }

  .pagination-nav .btn {
    min-width: 100px !important;
    border-radius: 0.375rem !important;
  }

  .page-btn {
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 0.375rem !important;
  }
}

/* Responsive adjustments */

@media (max-width: 768px) {
  .woocommerce-cart .page-header {
    padding: 1.5rem 1rem;
    text-align: center;
  }

  .woocommerce-cart .page-title {
    font-size: 1.5rem;
  }

  .woocommerce-cart .cart-items-container {
    padding: 1rem;
  }

  .woocommerce-cart .cart_totals {
    padding: 1.5rem;
    margin-top: 1.5rem;
  }

  .woocommerce-cart .cart-table th,
  .woocommerce-cart .cart-table td {
    padding: 1rem 0.25rem;
    font-size: 0.9rem;
  }

  .woocommerce-cart .product-image-wrapper {
    width: 60px;
    height: 60px;
  }

  /* Checkout responsive adjustments */
  .woocommerce-checkout .checkout-info-section {
    padding: 1.5rem;
    margin-bottom: 1rem;
  }

  .woocommerce-checkout .order-item {
    padding: 1rem 0 !important;
  }

  .woocommerce-checkout .product-image {
    width: 45px !important;
    height: 45px !important;
  }

  .woocommerce-checkout .product-name {
    font-size: 0.75rem !important;
  }

  .woocommerce-checkout .product-quantity,
  .woocommerce-checkout .product-total {
    font-size: 0.8rem !important;
  }

  .woocommerce-checkout .totals-table {
    padding: 1.5rem !important;
  }

  /* Shop responsive adjustments */
  .woocommerce .filters-sidebar {
    position: static;
    margin-bottom: 2rem;
  }

  .woocommerce .category-header {
    padding: 2rem 1.5rem;
  }

  .woocommerce .category-header h1 {
    font-size: 2rem;
  }

  .woocommerce .product-image-container {
    height: 200px;
  }

  .woocommerce .product-info {
    padding: 1rem;
  }

  /* WAPF Mobile Adjustments */
  .wapf-field-container {
    margin-bottom: 1rem;
    padding: 1rem;
  }

  .wapf-field-label {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
  }

  .wapf-input,
  .wapf-textarea,
  .wapf-select {
    font-size: 0.9rem;
    padding: 0.5rem;
  }

  .wapf-field-row {
    flex-direction: column;
    gap: 1rem;
  }
}

/* ========================================
 * Advanced Product Fields (WAPF) Custom Styles
 * Integración con el tema bebeyou - Diseño Premium
 * ======================================== */

/* Contenedor principal de campos WAPF */
.wapf-wrapper,
.wapf-fields-wrapper,
.wapf-product-fields {
  background: linear-gradient(145deg, #ffffff 0%, #fcfcfc 100%);
  border-radius: 1.25rem;
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: 0 8px 32px rgba(230, 188, 235, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(230, 188, 235, 0.15);
  position: relative;
  overflow: hidden;
}

.wapf-wrapper::before,
.wapf-fields-wrapper::before,
.wapf-product-fields::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--bs-primary),
    var(--bs-secondary),
    var(--bs-primary)
  );
  border-radius: 1.25rem 1.25rem 0 0;
}

/* Títulos de secciones de campos */
.wapf-section-title,
.wapf-fieldset-title,
.wapf-field-group-title {
  color: var(--bs-secondary);
  font-family: var(--heading-font);
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 1.5rem 0;
  padding: 0;
  border: none;
  letter-spacing: 0.5px;
  position: relative;
  text-align: center;
}

.wapf-section-title::after,
.wapf-fieldset-title::after,
.wapf-field-group-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary));
  margin: 0.75rem auto 0;
  border-radius: 1px;
}

/* Contenedores de campos individuales - Diseño minimalista */
.wapf-field-container,
.wapf-field,
.wapf-field-wrapper {
  margin-bottom: 1.5rem;
  position: relative;
  background: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.wapf-field-container:hover,
.wapf-field:hover,
.wapf-field-wrapper:hover {
  transform: none;
  border: none;
  box-shadow: none;
}

/* Etiquetas de campos */
.wapf-field-label,
.wapf-label,
label.wapf-label {
  color: var(--bs-primary);
  font-family: var(--heading-font);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: block;
  letter-spacing: 0.3px;
  text-shadow: 0 1px 2px rgba(230, 188, 235, 0.1);
}

.wapf-field-label .required,
.wapf-label .required {
  color: #e74c3c;
  margin-left: 3px;
}

/* Descripciones de campos */
.wapf-field-description,
.wapf-description {
  color: var(--bs-gray-500);
  font-size: 0.85rem;
  margin-top: 0.25rem;
  font-style: italic;
  line-height: 1.4;
}

/* Inputs de texto */
.wapf-input,
.wapf-text,
input[class*='wapf'],
input.wapf-field-input {
  width: 100%;
  padding: 0.75rem;
  border: 2px solid rgba(230, 188, 235, 0.4);
  border-radius: 0.5rem;
  font-size: 1rem;
  color: var(--bs-dark);
  background: #ffffff;
  transition: all 0.3s ease;
  font-family: inherit;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(230, 188, 235, 0.1);
}

.wapf-input:focus,
.wapf-text:focus,
input[class*='wapf']:focus,
input.wapf-field-input:focus {
  border-color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(230, 188, 235, 0.2),
    0 2px 6px rgba(230, 188, 235, 0.15);
  background: #ffffff;
  transform: translateY(-1px);
}

.wapf-input:hover,
.wapf-text:hover,
input[class*='wapf']:hover,
input.wapf-field-input:hover {
  border-color: rgba(230, 188, 235, 0.6);
  box-shadow: 0 2px 4px rgba(230, 188, 235, 0.15);
}

/* Textarea */
.wapf-textarea,
textarea[class*='wapf'],
textarea.wapf-field-input {
  width: 100%;
  padding: 0.75rem;
  border: 2px solid rgba(230, 188, 235, 0.4);
  border-radius: 0.5rem;
  font-size: 1rem;
  color: var(--bs-dark);
  background: #ffffff;
  transition: all 0.3s ease;
  font-family: inherit;
  resize: vertical;
  min-height: 100px;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(230, 188, 235, 0.1);
}

.wapf-textarea:focus,
textarea[class*='wapf']:focus,
textarea.wapf-field-input:focus {
  border-color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(230, 188, 235, 0.2),
    0 2px 6px rgba(230, 188, 235, 0.15);
  background: #ffffff;
  transform: translateY(-1px);
}

.wapf-textarea:hover,
textarea[class*='wapf']:hover,
textarea.wapf-field-input:hover {
  border-color: rgba(230, 188, 235, 0.6);
  box-shadow: 0 2px 4px rgba(230, 188, 235, 0.15);
}

/* Select */
.wapf-select,
select[class*='wapf'],
select.wapf-field-input {
  width: 100%;
  padding: 0.75rem;
  border: 2px solid rgba(230, 188, 235, 0.4);
  border-radius: 0.5rem;
  font-size: 1rem;
  color: var(--bs-dark);
  background: #ffffff;
  transition: all 0.3s ease;
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(230, 188, 235, 0.1);
}

.wapf-select:focus,
select[class*='wapf']:focus,
select.wapf-field-input:focus {
  border-color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(230, 188, 235, 0.2),
    0 2px 6px rgba(230, 188, 235, 0.15);
  transform: translateY(-1px);
}

.wapf-select:hover,
select[class*='wapf']:hover,
select.wapf-field-input:hover {
  border-color: rgba(230, 188, 235, 0.6);
  box-shadow: 0 2px 4px rgba(230, 188, 235, 0.15);
}

/* Checkboxes y Radio Buttons - Diseño premium bajo el título */
.wapf-field-container .wapf-checkbox-container,
.wapf-field-container .wapf-radio-container,
.wapf-field .wapf-field-checkbox,
.wapf-field .wapf-field-radio {
  display: flex;
  align-items: flex-start;
  margin: 0.5rem 0;
  padding: 0.875rem 1rem;
  border: 2px solid rgba(230, 188, 235, 0.15);
  border-radius: 0.75rem;
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  box-shadow: 0 1px 3px rgba(230, 188, 235, 0.08);
}

.wapf-field-container .wapf-checkbox-container:hover,
.wapf-field-container .wapf-radio-container:hover,
.wapf-field .wapf-field-checkbox:hover,
.wapf-field .wapf-field-radio:hover {
  border-color: rgba(230, 188, 235, 0.4);
  background: linear-gradient(145deg, #ffffff 0%, #fcfcfc 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230, 188, 235, 0.15);
}

.wapf-field-container .wapf-checkbox-container:has(input:checked),
.wapf-field-container .wapf-radio-container:has(input:checked),
.wapf-field .wapf-field-checkbox:has(input:checked),
.wapf-field .wapf-field-radio:has(input:checked) {
  border-color: var(--bs-primary);
  background: linear-gradient(
    145deg,
    rgba(230, 188, 235, 0.05) 0%,
    rgba(230, 188, 235, 0.02) 100%
  );
  box-shadow: 0 0 0 1px rgba(230, 188, 235, 0.2),
    0 4px 12px rgba(230, 188, 235, 0.2);
}

/* Inputs de radio y checkbox más elegantes */
input[type='checkbox'].wapf-checkbox,
input[type='radio'].wapf-radio,
input[type='checkbox'][class*='wapf'],
input[type='radio'][class*='wapf'] {
  width: 20px;
  height: 20px;
  margin-right: 1rem;
  margin-top: 2px;
  accent-color: var(--bs-primary);
  cursor: pointer;
  flex-shrink: 0;
  border: 2px solid rgba(230, 188, 235, 0.3);
  transition: all 0.3s ease;
}

input[type='radio'].wapf-radio,
input[type='radio'][class*='wapf'] {
  border-radius: 50%;
}

input[type='checkbox'].wapf-checkbox,
input[type='checkbox'][class*='wapf'] {
  border-radius: 4px;
}

input[type='checkbox'].wapf-checkbox:hover,
input[type='radio'].wapf-radio:hover,
input[type='checkbox'][class*='wapf']:hover,
input[type='radio'][class*='wapf']:hover {
  border-color: var(--bs-primary);
  transform: scale(1.05);
}

/* Labels de opciones */
.wapf-checkbox-label,
.wapf-radio-label {
  color: var(--bs-dark);
  font-size: 0.95rem;
  cursor: pointer;
  line-height: 1.5;
  font-weight: 500;
  flex: 1;
}

/* Agrupar las opciones bajo el título */
.wapf-field-container .wapf-field-label + div,
.wapf-field .wapf-field-label + div,
.wapf-field-wrapper .wapf-field-label + div {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

/* Grid para múltiples opciones */
.wapf-field-container:has(.wapf-radio-container) .wapf-field-label + div,
.wapf-field-container:has(.wapf-checkbox-container) .wapf-field-label + div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

/* File Upload */
.wapf-file-container,
.wapf-upload-container {
  border: 2px dashed var(--bs-gray-300);
  border-radius: 0.75rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  background: rgba(230, 188, 235, 0.05);
}

.wapf-file-container:hover,
.wapf-upload-container:hover {
  border-color: var(--bs-primary);
  background: rgba(230, 188, 235, 0.1);
}

input[type='file'][class*='wapf'] {
  width: 100%;
  padding: 0.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* Botones personalizados de WAPF */
.wapf-button,
.wapf-btn,
button[class*='wapf'] {
  background: linear-gradient(135deg, var(--bs-primary), var(--bs-secondary));
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 0.5rem;
  color: white;
  transition: all 0.3s ease;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.wapf-button:hover,
.wapf-btn:hover,
button[class*='wapf']:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  background: linear-gradient(135deg, var(--bs-secondary), var(--bs-primary));
  color: white;
}

/* Precios y valores monetarios */
.wapf-price,
.wapf-cost,
.wapf-field-price {
  color: var(--bs-primary);
  font-weight: 700;
  font-size: 1.1rem;
}

/* Errores y validaciones */
.wapf-error,
.wapf-validation-error {
  background: #ffe6e6;
  color: #c62828;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border-left: 4px solid #c62828;
  margin-top: 0.5rem;
  font-size: 0.85rem;
}

.wapf-success {
  background: #e8f5e8;
  color: #2e7d2e;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border-left: 4px solid #2e7d2e;
  margin-top: 0.5rem;
  font-size: 0.85rem;
}

/* Grupos de campos en filas */
.wapf-field-row,
.wapf-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}

.wapf-field-col,
.wapf-col {
  flex: 1;
  min-width: 200px;
}

/* Campos condicionales ocultos */
.wapf-field-hidden,
.wapf-hidden {
  display: none !important;
}

/* Animaciones para campos que aparecen/desaparecen */
.wapf-field-show {
  animation: wapf-fade-in 0.3s ease;
}

@keyframes wapf-fade-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Integración con el tema bebeyou - mejoras específicas */
.single-product .wapf-wrapper {
  margin: 2rem 0;
  border-radius: 1rem;
  background: linear-gradient(
    135deg,
    #ffffff 0%,
    rgba(248, 248, 248, 0.5) 100%
  );
}

/**
 * CHECKOUT BUTTON STYLING
 * Botón "Realizar pedido" con el mismo estilo que los botones "Añadir al carrito"
 */

/* Botón principal de realizar pedido */
.woocommerce-checkout #place_order,
#place_order,
button[name='woocommerce_checkout_place_order'],
input[name='woocommerce_checkout_place_order'],
.checkout-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button {
  background: var(--bs-primary) !important;
  border: none !important;
  padding: 12px 24px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  border-radius: 25px !important; /* rounded-pill equivalent */
  color: white !important;
  text-transform: capitalize !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  font-family: 'Nunito', sans-serif !important;
  letter-spacing: 0.02em !important;
  min-height: 44px !important;
  line-height: 1.4 !important;
}

/* Hover effect igual que los botones añadir al carrito */
.woocommerce-checkout #place_order:hover,
#place_order:hover,
button[name='woocommerce_checkout_place_order']:hover,
input[name='woocommerce_checkout_place_order']:hover,
.checkout-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button:hover {
  background: var(--bs-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15) !important;
  color: white !important;
}

/* Focus state para accesibilidad */
.woocommerce-checkout #place_order:focus,
#place_order:focus,
button[name='woocommerce_checkout_place_order']:focus,
input[name='woocommerce_checkout_place_order']:focus,
.checkout-button:focus,
.wc-block-components-checkout-place-order-button:focus,
.wp-block-woocommerce-checkout-actions-block button:focus {
  outline: 2px solid var(--bs-primary) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.2) !important;
}

/* Estado activo/presionado */
.woocommerce-checkout #place_order:active,
#place_order:active,
button[name='woocommerce_checkout_place_order']:active,
input[name='woocommerce_checkout_place_order']:active,
.checkout-button:active,
.wc-block-components-checkout-place-order-button:active,
.wp-block-woocommerce-checkout-actions-block button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .woocommerce-checkout #place_order,
  #place_order,
  button[name='woocommerce_checkout_place_order'],
  input[name='woocommerce_checkout_place_order'],
  .checkout-button,
  .wc-block-components-checkout-place-order-button,
  .wp-block-woocommerce-checkout-actions-block button {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 1.1rem !important;
    margin-top: 1rem !important;
  }
}

/* Icono del botón si existe */
.woocommerce-checkout #place_order svg,
#place_order svg,
button[name='woocommerce_checkout_place_order'] svg,
input[name='woocommerce_checkout_place_order'] svg,
.checkout-button svg,
.wc-block-components-checkout-place-order-button svg,
.wp-block-woocommerce-checkout-actions-block button svg {
  width: 16px !important;
  height: 16px !important;
  margin-left: 6px !important;
}

/* Estados de loading/disabled */
.woocommerce-checkout #place_order:disabled,
#place_order:disabled,
button[name='woocommerce_checkout_place_order']:disabled,
input[name='woocommerce_checkout_place_order']:disabled,
.checkout-button:disabled,
.wc-block-components-checkout-place-order-button:disabled,
.wp-block-woocommerce-checkout-actions-block button:disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Loading spinner */
.woocommerce-checkout #place_order.loading::after,
#place_order.loading::after,
button[name='woocommerce_checkout_place_order'].loading::after,
input[name='woocommerce_checkout_place_order'].loading::after,
.checkout-button.loading::after {
  content: '' !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid transparent !important;
  border-top: 2px solid white !important;
  border-radius: 50% !important;
  animation: spin 1s linear infinite !important;
  margin-left: 8px !important;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/**
 * CHECKOUT FORM FIELDS STYLING
 * Aplicar el mismo estilo que los campos del formulario de contacto/login
 */

/* Campos de texto del formulario de checkout */
.woocommerce-checkout .form-row input[type='text'],
.woocommerce-checkout .form-row input[type='email'],
.woocommerce-checkout .form-row input[type='tel'],
.woocommerce-checkout .form-row input[type='password'],
.woocommerce-checkout .form-row input[type='number'],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .input-text,
.woocommerce-checkout .select,
.woocommerce-checkout textarea,
.woocommerce-billing-fields input[type='text'],
.woocommerce-billing-fields input[type='email'],
.woocommerce-billing-fields input[type='tel'],
.woocommerce-billing-fields select,
.woocommerce-shipping-fields input[type='text'],
.woocommerce-shipping-fields input[type='email'],
.woocommerce-shipping-fields input[type='tel'],
.woocommerce-shipping-fields select,
.woocommerce-additional-fields textarea,
.checkout .form-row input,
.checkout .form-row select,
.checkout .form-row textarea {
  width: 100% !important;
  padding: 8px 16px !important;
  border: 2px solid #e9ecef !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  margin-bottom: 0.5rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: #333 !important;
  box-sizing: border-box !important;
}

/* Estados de focus para los campos */
.woocommerce-checkout .form-row input[type='text']:focus,
.woocommerce-checkout .form-row input[type='email']:focus,
.woocommerce-checkout .form-row input[type='tel']:focus,
.woocommerce-checkout .form-row input[type='password']:focus,
.woocommerce-checkout .form-row input[type='number']:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout .select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-billing-fields input:focus,
.woocommerce-billing-fields select:focus,
.woocommerce-shipping-fields input:focus,
.woocommerce-shipping-fields select:focus,
.woocommerce-additional-fields textarea:focus,
.checkout .form-row input:focus,
.checkout .form-row select:focus,
.checkout .form-row textarea:focus {
  outline: none !important;
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.1) !important;
  transform: translateY(-2px) !important;
  background: #fff !important;
}

.payment_method_redsys img,
.payment_method_ppcp-gateway img {
  display: none !important;
}

/* Estados hover para los campos */
.woocommerce-checkout .form-row input:hover,
.woocommerce-checkout .form-row select:hover,
.woocommerce-checkout .form-row textarea:hover,
.woocommerce-billing-fields input:hover,
.woocommerce-billing-fields select:hover,
.woocommerce-shipping-fields input:hover,
.woocommerce-shipping-fields select:hover,
.woocommerce-additional-fields textarea:hover,
.checkout .form-row input:hover,
.checkout .form-row select:hover,
.checkout .form-row textarea:hover {
  border-color: rgba(var(--bs-primary-rgb), 0.3) !important;
  transform: translateY(-1px) !important;
}

/* Labels de los campos del checkout */
.woocommerce-checkout .form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label,
.checkout .form-row label {
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  display: block !important;
  font-family: 'Nunito', sans-serif !important;
}

/* Campos requeridos - asterisco */
.woocommerce-checkout .form-row .required,
.checkout .form-row .required {
  color: #e74c3c !important;
  font-weight: bold !important;
}

/* Select fields específicos */
.woocommerce-checkout select,
.checkout select {
  cursor: pointer !important;
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%23333" d="M6 8L2 4h8z"/></svg>') !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding-right: 40px !important;
}

/* Textarea específico */
.woocommerce-checkout textarea,
.checkout textarea {
  resize: vertical !important;
  min-height: 80px !important;
  line-height: 1.5 !important;
}

/* Checkboxes y radio buttons del checkout */
.woocommerce-checkout .form-row input[type='checkbox'],
.woocommerce-checkout .form-row input[type='radio'],
.checkout .form-row input[type='checkbox'],
.checkout .form-row input[type='radio'] {
  width: auto !important;
  margin-right: 8px !important;
  margin-bottom: 0 !important;
  transform: scale(1.2) !important;
  accent-color: var(--bs-primary) !important;
  cursor: pointer !important;
}

/* Labels para checkboxes y radios */
.woocommerce-checkout .form-row input[type='checkbox'] + label,
.woocommerce-checkout .form-row input[type='radio'] + label,
.checkout .form-row input[type='checkbox'] + label,
.checkout .form-row input[type='radio'] + label {
  font-weight: 500 !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;
  display: inline !important;
}

/* Términos y condiciones */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.checkout .woocommerce-terms-and-conditions-wrapper {
  background: rgba(var(--bs-primary-rgb), 0.05) !important;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.1) !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  margin: 1rem 0 !important;
}

/* Política de privacidad */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.checkout .woocommerce-privacy-policy-text {
  background: rgba(var(--bs-info-rgb), 0.05) !important;
  border: 1px solid rgba(var(--bs-info-rgb), 0.1) !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  margin: 1rem 0 !important;
  font-size: 0.9rem !important;
}

/* Mensajes de error en campos */
.woocommerce-checkout .form-row.woocommerce-invalid input,
.checkout .form-row.woocommerce-invalid input {
  border-color: #e74c3c !important;
  box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1) !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid label,
.checkout .form-row.woocommerce-invalid label {
  color: #e74c3c !important;
}

/* Campos válidos */
.woocommerce-checkout .form-row.woocommerce-validated input,
.checkout .form-row.woocommerce-validated input {
  border-color: #27ae60 !important;
  box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.1) !important;
}

/* Mejoras para mobile responsive */
@media (max-width: 768px) {
  .woocommerce-checkout .form-row input,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .form-row textarea,
  .checkout .form-row input,
  .checkout .form-row select,
  .checkout .form-row textarea {
    padding: 14px 16px !important;
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
  }

  .woocommerce-checkout .form-row label,
  .checkout .form-row label {
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
  }
}

/* Separador visual entre secciones */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.checkout .woocommerce-billing-fields,
.checkout .woocommerce-shipping-fields,
.checkout .woocommerce-additional-fields {
  background: rgba(248, 249, 250, 0.5) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* Títulos de sección del checkout */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.checkout .woocommerce-billing-fields h3,
.checkout .woocommerce-shipping-fields h3,
.checkout .woocommerce-additional-fields h3 {
  color: var(--bs-primary);
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.1) !important;
}

.single-product .wapf-field-container {
  border: none;
  background: transparent;
}

.single-product .wapf-field-container:hover {
  border: none;
  background: transparent;
}

/* Tooltip y ayudas */
.wapf-tooltip,
.wapf-help {
  position: relative;
  display: inline-block;
  margin-left: 0.5rem;
  color: var(--bs-primary);
  cursor: help;
  font-size: 0.8rem;
}

.wapf-tooltip:hover::after,
.wapf-help:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  white-space: nowrap;
  z-index: 1000;
  opacity: 0;
  animation: tooltip-show 0.3s ease forwards;
}

@keyframes tooltip-show {
  to {
    opacity: 1;
  }
}

/* ========================================
 * Personalización de Etiquetas de Oferta WooCommerce
 * Usando colores del tema bebeyou
 * ======================================== */

/* Etiquetas de oferta - estilo principal */
.woocommerce-product-gallery .onsale,
.woocommerce span.onsale,
.onsale {
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  color: white !important;
  font-weight: 700 !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 2px 8px rgba(230, 188, 235, 0.4) !important;
  border: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 10 !important;
  position: relative !important;
}

/* Efecto hover para etiquetas de oferta */
.woocommerce-product-gallery .onsale:hover,
.woocommerce span.onsale:hover,
.onsale:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 4px 12px rgba(230, 188, 235, 0.6) !important;
  background: linear-gradient(
    135deg,
    var(--bs-secondary) 0%,
    var(--bs-primary) 100%
  ) !important;
}

/* Etiqueta de oferta en productos de la tienda/catálogo */
.woocommerce ul.products li.product .onsale {
  position: absolute !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  left: auto !important;
  margin: 0 !important;
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  color: white !important;
  border-radius: 50% !important;
  width: 3rem !important;
  height: 3rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 2px 8px rgba(230, 188, 235, 0.5) !important;
  border: 2px solid white !important;
  z-index: 20 !important;
}

/* Etiqueta de oferta en página de producto individual */
.single-product .woocommerce-product-gallery .onsale {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  right: auto !important;
  margin: 0 !important;
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  color: white !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 3px 10px rgba(230, 188, 235, 0.5) !important;
  border: 2px solid white !important;
  z-index: 30 !important;
  transform: rotate(-5deg) !important;
}

/* Animación suave para la etiqueta en página de producto */
.single-product .woocommerce-product-gallery .onsale:hover {
  transform: rotate(-2deg) scale(1.05) !important;
  box-shadow: 0 5px 15px rgba(230, 188, 235, 0.7) !important;
}

/* Etiquetas en productos relacionados y upsells */
.related.products .onsale,
.upsells.products .onsale,
.cross-sells .onsale {
  position: absolute !important;
  top: 0.5rem !important;
  right: 0.5rem !important;
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  color: white !important;
  border-radius: 50% !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 6px rgba(230, 188, 235, 0.4) !important;
  border: 1px solid white !important;
  z-index: 15 !important;
}

/* Etiqueta de oferta en carrito (si aplica) */
.woocommerce-cart .onsale,
.cart_item .onsale {
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  color: white !important;
  font-size: 0.7rem !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 0.25rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  margin-left: 0.5rem !important;
  display: inline-block !important;
}

/* Responsive adjustments para etiquetas de oferta */
@media (max-width: 768px) {
  .woocommerce ul.products li.product .onsale {
    width: 2.5rem !important;
    height: 2.5rem !important;
    font-size: 0.6rem !important;
    top: 0.5rem !important;
    right: 0.5rem !important;
  }

  .single-product .woocommerce-product-gallery .onsale {
    font-size: 0.7rem !important;
    padding: 0.4rem 0.8rem !important;
    top: 0.5rem !important;
    left: 0.5rem !important;
  }

  .related.products .onsale,
  .upsells.products .onsale {
    width: 2rem !important;
    height: 2rem !important;
    font-size: 0.6rem !important;
  }
}

/* Compatibilidad con WooCommerce responsive */
@media (max-width: 768px) {
  .wapf-wrapper,
  .wapf-fields-wrapper {
    padding: 1rem;
    margin: 1rem 0;
  }

  .wapf-field-container {
    padding: 0.75rem;
  }

  .wapf-field-row {
    flex-direction: column;
    gap: 0.75rem;
  }

  .wapf-field-col {
    min-width: auto;
  }

  .wapf-section-title,
  .wapf-fieldset-title {
    font-size: 1.2rem;
  }

  .wapf-input,
  .wapf-textarea,
  .wapf-select {
    font-size: 0.9rem;
    padding: 0.6rem;
  }
}

/* ========================================
 * MODERN ACCOUNT & AUTHENTICATION PAGES
 * Complementary styles for login, register, and lost password
 * ======================================== */

/* Modern page containers */
.woocommerce-account .woocommerce,
.page-template-page-login .container,
.page-template-page-registro .container,
.page-template-form-lost-password .container {
  background: transparent;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* Modern form containers */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lostpassword {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  padding: 2.5rem;
  backdrop-filter: blur(15px);
  box-shadow: var(--modern-shadow);
  position: relative;
  overflow: hidden;
}

/* Modern headings */
.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce form.login h2,
.woocommerce form.register h2,
.woocommerce form.lostpassword h2 {
  color: var(--bs-primary);
  font-family: var(--heading-font);
  text-align: center;
  margin-bottom: 2rem;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Account navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  backdrop-filter: blur(10px);
  padding: 1.5rem;
  margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 0.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  color: var(--bs-dark);
  text-decoration: none;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--bs-primary);
  color: white;
  transform: translateX(5px);
}

/* ========================================
 * MODERN SHOP & PRODUCT LISTING STYLES
 * Enhanced product cards with glassmorphism
 * ======================================== */

/* Modern shop header */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  padding: 1rem;
  backdrop-filter: blur(10px);
  margin-bottom: 2rem;
}

/* Enhanced product cards */
ul.products li.product {
  background: var(--modern-glass-bg) !important;
  border: 1px solid var(--modern-glass-border) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: var(--modern-shadow) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
  border-radius: var(--modern-border-radius) !important;
}

ul.products li.product:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 20px 40px rgba(31, 38, 135, 0.25) !important;
}

ul.products li.product img {
  transition: transform 0.3s ease !important;
  width: 100% !important;
  height: 250px !important;
  object-fit: cover !important;
}

ul.products li.product:hover img {
  transform: scale(1.05) !important;
}

/* Modern product titles and prices */
ul.products li.product .woocommerce-loop-product__title {
  color: var(--bs-secondary) !important;
  font-family: var(--heading-font) !important;
  font-weight: 600 !important;
  font-size: 1.1rem !important;
  margin: 1rem !important;
  text-align: center !important;
}

ul.products li.product .price {
  color: var(--bs-primary) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  text-align: center !important;
  margin: 0.5rem 1rem 1rem !important;
}

/* Modern add to cart buttons */
ul.products li.product .add_to_cart_button,
ul.products li.product .product_type_simple,
ul.products li.product .product_type_variable {
  background: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-secondary) 100%
  ) !important;
  border: none !important;
  color: white !important;
  padding: 10px 20px !important;
  border-radius: 25px !important;
  font-weight: 600 !important;
  text-transform: capitalize !important;
  transition: all 0.3s ease !important;
  margin: 1rem !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
}

ul.products li.product .add_to_cart_button:hover,
ul.products li.product .product_type_simple:hover,
ul.products li.product .product_type_variable:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4) !important;
  background: linear-gradient(
    135deg,
    var(--bs-secondary) 0%,
    var(--bs-primary) 100%
  ) !important;
  color: white !important;
}

/* ========================================
 * MODERN CHECKOUT PAGE ENHANCEMENTS
 * ======================================== */

/* Modern checkout layout */
.woocommerce-checkout .checkout-container {
  background: transparent;
  border-radius: var(--modern-border-radius);
  overflow: hidden;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  padding: 2rem !important;
  backdrop-filter: blur(15px);
  box-shadow: var(--modern-shadow);
  margin-bottom: 2rem;
}

/* Modern order review */
.woocommerce-checkout #order_review {
  position: sticky;
  top: 2rem;
}

/* Modern customer details styling */
.woocommerce-checkout #customer_details {
  position: relative;
  overflow: hidden;
}

.woocommerce-checkout #customer_details .col-12 {
  margin-bottom: 0;
}

.woocommerce-checkout #customer_details h3 {
  color: var(--bs-primary);
  font-family: var(--heading-font);
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 0.75rem;
}

/* Modern form fields within customer_details */
.woocommerce-checkout #customer_details .form-row {
  margin-bottom: 1.5rem;
}

.woocommerce-checkout #customer_details .form-row label {
  color: var(--bs-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: block;
  text-transform: none;
}

.woocommerce-checkout #customer_details .form-row .required {
  color: var(--bs-primary);
}

.woocommerce-checkout #customer_details input[type='text'],
.woocommerce-checkout #customer_details input[type='email'],
.woocommerce-checkout #customer_details input[type='tel'],
.woocommerce-checkout #customer_details input[type='password'],
.woocommerce-checkout #customer_details select,
.woocommerce-checkout #customer_details textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  color: var(--bs-dark);
  font-size: 1rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.woocommerce-checkout #customer_details input[type='text']:focus,
.woocommerce-checkout #customer_details input[type='email']:focus,
.woocommerce-checkout #customer_details input[type='tel']:focus,
.woocommerce-checkout #customer_details input[type='password']:focus,
.woocommerce-checkout #customer_details select:focus,
.woocommerce-checkout #customer_details textarea:focus {
  outline: none;
  border-color: var(--bs-primary);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.1),
    0 4px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

.woocommerce-checkout #customer_details .form-row input::placeholder,
.woocommerce-checkout #customer_details .form-row textarea::placeholder {
  color: rgba(108, 117, 125, 0.7);
}

/* Modern checkboxes within customer_details */
.woocommerce-checkout #customer_details input[type='checkbox'] {
  width: auto !important;
  margin-right: 0.5rem;
  transform: scale(1.2);
  accent-color: var(--bs-primary);
}

.woocommerce-checkout #customer_details .form-row-wide {
  width: 100%;
}

.woocommerce-checkout #customer_details .form-row-first,
.woocommerce-checkout #customer_details .form-row-last {
  width: calc(50% - 0.75rem);
  display: inline-block;
}

.woocommerce-checkout #customer_details .form-row-first {
  margin-right: 1.5rem;
}

/* Additional styling for billing and shipping sections */
.woocommerce-checkout #customer_details .col-12:first-child {
  margin-bottom: 2rem;
}

.woocommerce-checkout #customer_details .col-12:first-child::after {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  margin: 2rem 0;
}

/* Modern select styling */
.woocommerce-checkout #customer_details select {
  appearance: none;
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%236c757d" d="M2 0L0 2h4zm0 5L0 3h4z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 0.75rem;
  padding-right: 2.5rem;
}

/* Country/State field styling */
.woocommerce-checkout #customer_details .country-select,
.woocommerce-checkout #customer_details .state-select {
  position: relative;
}

/* Address field improvements */
.woocommerce-checkout #customer_details .address-field {
  position: relative;
}

.woocommerce-checkout #customer_details .address-field input {
  padding-left: 2.5rem;
}

/* Additional notes field styling */
.woocommerce-checkout #customer_details textarea {
  min-height: 100px;
  resize: vertical;
}

/* Responsive adjustments for customer_details */
@media (max-width: 768px) {
  .woocommerce-checkout #customer_details {
    padding: 1.5rem !important;
  }

  .woocommerce-checkout #customer_details .col-12:first-child {
    margin-bottom: 1.5rem;
  }

  .woocommerce-checkout #customer_details .col-12:first-child::after {
    margin: 1.5rem 0;
  }

  .woocommerce-checkout #customer_details .form-row-first,
  .woocommerce-checkout #customer_details .form-row-last {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }

  .woocommerce-checkout #customer_details input[type='text'],
  .woocommerce-checkout #customer_details input[type='email'],
  .woocommerce-checkout #customer_details input[type='tel'],
  .woocommerce-checkout #customer_details input[type='password'],
  .woocommerce-checkout #customer_details select,
  .woocommerce-checkout #customer_details textarea {
    padding: 0.75rem;
    font-size: 0.9rem;
  }

  .woocommerce-checkout #customer_details input[type='email'],
  .woocommerce-checkout #customer_details input[type='tel'] {
    padding-left: 2rem;
  }
}

.woocommerce-checkout .shop_table {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0.75rem;
  overflow: hidden;
  border: none;
}

.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
  border: none;
  padding: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.woocommerce-checkout .shop_table th {
  background: rgba(255, 255, 255, 0.1);
  font-weight: 600;
  color: var(--bs-primary);
}

/* ========================================
 * MODERN MY ACCOUNT PAGE STYLES
 * ======================================== */

/* Account dashboard */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  padding: 2rem;
  backdrop-filter: blur(15px);
  box-shadow: var(--modern-shadow);
}

/* Account tables */
.woocommerce-account table {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0.75rem;
  overflow: hidden;
  border: none;
}

.woocommerce-account table th,
.woocommerce-account table td {
  border: none;
  padding: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.woocommerce-account table th {
  background: rgba(255, 255, 255, 0.1);
  font-weight: 600;
  color: var(--bs-primary);
}

/* ========================================
 * MODERN ANIMATIONS AND EFFECTS
 * Global animations for all WooCommerce elements
 * ======================================== */

/* Floating animation for key elements */
@keyframes modernFloat {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* Pulse effect for loading states */
@keyframes modernPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* Shimmer effect for premium elements */
@keyframes modernShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Apply subtle floating animation to product cards */
ul.products li.product {
  animation: modernFloat 8s ease-in-out infinite;
}

ul.products li.product:nth-child(2n) {
  animation-delay: -2s;
}

ul.products li.product:nth-child(3n) {
  animation-delay: -4s;
}

/* Loading states */
.woocommerce .loading {
  animation: modernPulse 1.5s ease-in-out infinite;
}

/* Premium shimmer effect for prices */
ul.products li.product .price {
  position: relative;
  overflow: hidden;
}

ul.products li.product .price::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  background-size: 200% 100%;
  animation: modernShimmer 4s ease-in-out infinite;
  pointer-events: none;
}

/* ========================================
 * MODERN NOTICES AND ALERT STYLING
 * Enhanced messages with glassmorphism
 * ======================================== */

/* Override default notice styles with modern glassmorphism */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: var(--modern-glass-bg) !important;
  border: 1px solid var(--modern-glass-border) !important;
  border-radius: var(--modern-border-radius) !important;
  padding: 1rem 1.5rem !important;
  margin: 1rem 0 !important;
  backdrop-filter: blur(10px) !important;
  color: #333 !important;
  box-shadow: var(--modern-shadow) !important;
  position: relative;
  overflow: hidden;
}

.woocommerce-message {
  border-left: 4px solid #0f834d !important;
  background: rgba(15, 131, 77, 0.15) !important;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  border-color: var(--bs-primary) !important; /* Color primario de BebeYou */
  background: rgba(
    var(--bs-primary-rgb),
    0.05
  ) !important; /* Fondo del color primario */
  color: var(--bs-secondary) !important; /* Color secundario para el texto */
}

.woocommerce-error {
  border-color: var(--bs-primary) !important; /* Color primario de BebeYou */
  background: rgba(
    var(--bs-primary-rgb),
    0.05
  ) !important; /* Fondo del color primario */
  color: var(--bs-secondary) !important; /* Color secundario para el texto */
}

/* ========================================
 * ENHANCED SHOP TABLES WITH GLASSMORPHISM
 * ======================================== */

/* Modern shop tables */
table.shop_table_responsive {
  background: var(--modern-glass-bg) !important;
  border: 1px solid var(--modern-glass-border) !important;
  border-radius: var(--modern-border-radius) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: var(--modern-shadow) !important;
  overflow: hidden !important;
}

table.shop_table_responsive tr td {
  padding: 1rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
}

table.shop_table_responsive tr td::before {
  font-weight: 600 !important;
  color: var(--bs-primary) !important;
}

/* ========================================
 * ENHANCED RESPONSIVE GRID FOR PRODUCTS
 * Modern CSS Grid layout for better responsiveness
 * ======================================== */

/* Override default float layout with modern CSS Grid */
@media screen and (min-width: 48em) {
  ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 2rem !important;
    padding: 0 !important;
  }

  ul.products li.product {
    width: auto !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  ul.products.columns-1 {
    grid-template-columns: 1fr !important;
  }

  ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  ul.products.columns-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  ul.products.columns-5 {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}

/* ========================================
 * FIX PARA BOTÓN "VER CARRITO" EN NOTIFICACIONES
 * Hacer que el botón aparezca debajo del mensaje
 * ======================================== */

/* Hacer que las notificaciones sean flex column para apilar contenido */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

/* Específicamente para el botón "Ver carrito" */
.woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.woocommerce-notices-wrapper .woocommerce-info .button.wc-forward,
.woocommerce-notices-wrapper .woocommerce-error .button.wc-forward {
  margin-top: 0.5rem !important;
  margin-left: 0 !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
  min-width: auto !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

/* Asegurar que el texto del mensaje tenga espacio suficiente */
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
  flex-grow: 1 !important;
  margin-right: 0 !important;
}

/* Para móviles, asegurar que el botón se vea bien */
@media (max-width: 767px) {
  .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-info .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-error .button.wc-forward {
    font-size: 0.875rem !important;
    padding: 0.5rem 1rem !important;
    width: auto !important;
    text-align: center !important;
  }

  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error {
    padding: 1rem !important;
    text-align: left !important;
  }
}
ul.products.columns-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

/* ========================================
 * MODERN WIDGET ENHANCEMENTS
 * Enhanced widgets with glassmorphism styling
 * ======================================== */

/* Modern widget containers */
.widget.woocommerce {
  background: var(--modern-glass-bg);
  border: 1px solid var(--modern-glass-border);
  border-radius: var(--modern-border-radius);
  padding: 1.5rem;
  backdrop-filter: blur(10px);
  box-shadow: var(--modern-shadow);
  margin-bottom: 2rem;
}

/* Modern widget titles */
.widget.woocommerce .widget-title {
  color: var(--bs-secondary);
  font-family: var(--heading-font);
  font-weight: 600;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.2);
}

/* Modern price filter */
.widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--bs-primary) !important;
  border: 2px solid white !important;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3) !important;
}

.widget_price_filter .ui-slider .ui-slider-range {
  background: var(--bs-primary) !important;
}

/* Modern layered navigation */
.widget_layered_nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget_layered_nav ul li {
  margin-bottom: 0.5rem;
}

.widget_layered_nav ul li a {
  display: block;
  padding: 8px 12px;
  color: var(--bs-dark);
  text-decoration: none;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.1);
}

.widget_layered_nav ul li a:hover {
  background: var(--bs-primary);
  color: white;
  transform: translateX(5px);
}

/* ========================================
 * ACCESSIBILITY AND MOTION PREFERENCES
 * ======================================== */

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
  .woocommerce *,
  ul.products li.product,
  .woocommerce button,
  .woocommerce .button {
    animation: none !important;
    transition: none !important;
  }

  ul.products li.product:hover {
    transform: none !important;
  }

  .woocommerce button:hover,
  .woocommerce .button:hover {
    transform: none !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .woocommerce button,
  .woocommerce .button {
    background: var(--bs-dark) !important;
    color: var(--bs-light) !important;
    border: 2px solid var(--bs-light) !important;
  }

  ul.products li.product {
    border: 2px solid var(--bs-dark) !important;
    background: var(--bs-light) !important;
  }
}

/* ========================================
 * WOOCOMMERCE LIGHTBOX SUPPORT
 * Ensure WooCommerce native lightbox works properly
 * ======================================== */

/* Make sure the lightbox trigger is visible and clickable */
.woocommerce-product-gallery__trigger {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  z-index: 999 !important;
}

/* Ensure gallery images are clickable */
.woocommerce-product-gallery__image a {
  cursor: zoom-in !important;
  display: block !important;
}

.woocommerce-product-gallery__image img {
  cursor: zoom-in !important;
}

/* Native WooCommerce lightbox support - PhotoSwipe removed */

/* Ensure flexslider doesn't interfere */
.flex-viewport {
  position: relative !important;
}

/* Make sure WooCommerce gallery scripts can find their targets */
.woocommerce-product-gallery {
  position: relative !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
  position: relative !important;
}

/* ========================================
 * DISABLE ELEMENTOR LIGHTBOX INTERFERENCE
 * Force our lightbox to work instead
 * ======================================== */

/* Disable Elementor lightbox */
[data-elementor-open-lightbox] {
  cursor: pointer !important;
}

/* Ensure Swiper slides and Elementor images are visible */
.swiper-slide img,
.elementor-lightbox-item img,
.swiper-slide-active img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

/* Force gallery wrapper to show images */
.woocommerce-product-gallery__wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure all gallery images are clickable and visible */
.woocommerce-product-gallery__wrapper img,
.woocommerce-product-gallery img,
.product-gallery-wrapper img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  max-width: 100%;
  height: auto;
}

/* Fix Swiper container issues */
.swiper-container,
.swiper-wrapper,
.swiper-slide {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure images load properly in Swiper */
.swiper-slide img {
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
}
