:root{
  --negro: #000;
  --negro-2: #231F20;
  --blanco: #fff;
  --violeta: #964392;
  --arena: #fbf7f5;
  --arena-suave: #fbf7f4;
  --arena-suave2:#f7eee7;
  --sol: #f1d7c2;
  --grey-ligero: #F2F2F2;
}
*, ::after, ::before {
    box-sizing: border-box;
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -.5);
  margin-left: calc(var(--bs-gutter-x) * -.5)
}

.row>* {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y)
}
.col {
  flex: 1 0 0%
}
@media (min-width: 768px) {
  .col-md-auto {
    flex:0 0 auto;
    width: auto
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%
  }
}
.content-limiter {
  max-width: 1275px !important;
}
.woocommerce ul#shipping_method{
  font-size: 14px;
}
.woocommerce table.shop_table_responsive tr td::before,
.woocommerce-page table.shop_table_responsive tr td::before{
  font-weight: 400;
  font-size: 14px;
}
.select2-container .select2-selection--single {
  height: 45px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 10px !important;
}
.select2-container--default .select2-selection--single {
  border: 1.5px solid var(--blanco);
  background-color: var(--blanco);
  border-radius: 0;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  max-width: 100% !important;
  background: #fafafa !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #000!important;
}
.select2-results__option{
  padding: 11px 7px !important;
}
.select2-container .select2-dropdown{
  border: 0 !important;
  box-shadow: 0px 1px 3px #c0c0c0;
}
@media (min-width: 599px){
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last{
    width: 49.5%;
  }
}
.woocommerce-input-wrapper{
  width: 100%;
}
.woocommerce form .form-row label {
  line-height: 1.5;
  font-size: 14px;
  margin-bottom: 2px !important;
  margin-top: 2px !important;
  font-weight: 400 !important;
  color: #818181 !important;
}
.woocommerce form .select2-container {
  margin-bottom: 3px;
}
.section-finalizar #customer_details{
  background: #f0f0f0;
}
.section-finalizar #customer_details .col-1,
.section-finalizar #customer_details .col-2{
  background: transparent !important;
  border: 0 !important;
}
#customer_details label[for="billing_address_2"],
#customer_details label[for="shipping_address_2"]{
  clip-path: none!important;
  height: auto!important;
  clip: auto!important;
  width: auto!important;
}
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2{
  float: none;
  width: 100%;
}

/* Finalizar - label efect */
.section-finalizar .woocommerce-billing-fields .form-row,
.section-finalizar .woocommerce-shipping-fields .form-row{
  position: relative;
}
.section-finalizar .woocommerce-billing-fields .form-row label,
.section-finalizar .woocommerce-shipping-fields .form-row label{
  position: absolute !important;
  top: 5px;
  left: 1px;
  z-index: 2;
  max-width: 94%;
  margin: 0;
  padding-top: 10px;
  padding-left: 10px;
  font-size: 12px !important;
  transition: transform 0.3s ease, color 0.3s ease;
  transform: translateX(0) translateY(0);
  color: #707070;
}
.section-finalizar .woocommerce-billing-fields .form-row input,
.section-finalizar .woocommerce-shipping-fields .form-row input{
  height: 50px;
  font-size: 12px !important;
  padding-bottom: 0 !important;
  padding-top: 19px !important;
  padding-left: 11px;
  border-radius: 0;
}
.section-finalizar .woocommerce-billing-fields .form-row input::placeholder,
.section-finalizar .woocommerce-shipping-fields .form-row input::placeholder{
  color: transparent !important;
}
.section-finalizar .woocommerce-billing-fields .form-row label,
.section-finalizar .woocommerce-shipping-fields .form-row label{
  transform: translateY(-8px);
}
.section-finalizar .woocommerce-billing-fields .form-row#billing_state_field label,
.section-finalizar .woocommerce-shipping-fields .form-row#shipping_state_field label,
.section-finalizar .woocommerce-billing-fields .form-row#billing_city_field label,
.section-finalizar .woocommerce-shipping-fields .form-row#shipping_city_field label,
.section-finalizar .woocommerce-billing-fields .form-row#billing_postcode_field label,
.section-finalizar .woocommerce-shipping-fields .form-row#shipping_postcode_field label{
  transform: translateY(-8px);
  pointer-events: none;
}
@media (max-width: 550px){
  .section-finalizar .woocommerce-billing-fields .form-row label,
  .section-finalizar .woocommerce-shipping-fields .form-row label{
    left: 4px;
  }
}
.section-finalizar .select2-container .select2-selection--single{
  height: 50px;
}
.section-finalizar .select2-container--default .select2-selection--single .select2-selection__rendered{
  font-size: 12px;
  color: #000;
  padding-left: 10px;
  padding-top: 20px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background-color: #964392;
}
.select2-results__option{
  padding: 10px 10px;
  font-size: 12px;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
  font-size: 12px;
  padding: 6px 5px;
}
.checkout_coupon #coupon_code{
  font-size: 12px;
  height: 42px;
  border-radius: 0;
}
#order_comments_field textarea {
  font-size: 12px;
  padding-top: 0;
  padding-left: 12px;
  padding-right: 12px;
  min-height: 50px;
}
#order_comments_field label{
  background: var(--blanco);
  color:#707070;
  margin: 0 !important;
  font-size: 12px;
  padding: 12px 10px 7px 12px;
}
/* Finalizar - label efect */

.woocommerce div.product form.cart .woocommerce-variation-description p{
  font-size: 11px;
}
.woocommerce-variation-description h4{
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 5px;
  margin-top: 0;
}
.woocommerce-variation-description *{
  color: var(--negro-2);
}
.woocommerce-variation-description{
  position: relative;
  top: -5px;
}


.section-finalizar #customer_details .col-1,
.section-finalizar #customer_details .col-2{
  width: 100%;
}
.woocommerce-checkout .checkout_coupon .form-row-first .input-text,
.section-finalizar .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper .input-text,
.section-finalizar .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper .input-text,
.section-finalizar .woocommerce-additional-fields .woocommerce-additional-fields__field-wrapper .input-text{
  background-color: var(--blanco);
  border: 0;
}
.section-finalizar .woocommerce-billing-fields h3,
.section-finalizar .checkout-column-right #order_review_heading{
  font-size: 16px !important;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 2px;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
  border: 1.5px solid #e3e3e3;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom: 1.5px solid #e3e3e3;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box{
  background-color: var(--blanco);
  color: var(--negro-2);
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
  border: 1em solid var(--blanco);
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
}
.section-finalizar #order_review table *{
  font-size: 12px!important;
}
.woocommerce-checkout #payment .form-row.place-order .woocommerce-terms-and-conditions-wrapper a{
  font-weight: 500;
}
.woocommerce-billing-fields .woocommerce-input-wrapper strong,
.woocommerce-shipping-fields .woocommerce-input-wrapper strong{
  font-weight: 400;
  padding: 27px 10px 0;
  border: 0;
  background-color: var(--blanco);
  display: table;
  width: 100%;
  border-radius: 0;
  pointer-events: none;
  font-size: 12px;
  height: 50px;
}
.section-finalizar .woocommerce-additional-fields #moova-map{
  margin: 20px 0;
}
.section-finalizar .select2-container--default .select2-selection--single {
  border: 0;
  border-radius: 0 !important;
}
@media (max-width: 991px){
  .section-finalizar .checkout-column-right #order_review_heading{
    margin: 30px 0 10px;
  }
}
@media (max-width: 600px){
  .checkout_coupon.woocommerce-form-coupon button.button{
    font-size: 12px;
    width: 100%;
  }
}
@media (max-width: 480px){
  .section-finalizar .woocommerce-billing-fields h3,
  .section-finalizar .checkout-column-right #order_review_heading {
    font-size: 16px !important;
  }
}
#order_review_heading {
  margin-top: 31px !important;
}
.section-finalizar #customer_details h3{
  border:0 !important;
}
.woocommerce form .form-row label.checkbox,
.woocommerce-page form .form-row label.checkbox{
  position: relative !important;
  padding: 0;
  color: #000 !important;
}
.woocommerce-page #customer_details .checkbox input[type="checkbox"],
.woocommerce-page .woocommerce-form__input-checkbox{
  width: 16px;
  height: 16px;
  margin: 0 5px 0 0;
  position: relative;
  top: -2px;
  accent-color: var(--negro);
}
.woocommerce-page #customer_details h3 {
  font-size: 14px;
  padding-bottom: 15px;
}
.woocommerce-page #ship-to-different-address-checkbox{
  top:1px !important;
}
.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address {
  font-weight: 500 !important;
}
.woocommerce table.shop_table td,
.woocommerce table.wishlist_table tbody td {
  padding: 15px 12px !important;
}
.woocommerce table .woocommerce-shipping-totals.shipping td{
  font-weight: 400;
}
.woocommerce table.shop_table th,
.woocommerce table.wishlist_table thead th {
  border-width: 1px !important;
}
.woocommerce-checkout-review-order {
  border-top: 1px solid #000 !important;
}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.wishlist_table .add_to_cart.button{
  -webkit-border-radius: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  background: #f0f0f0 !important;
}
#add_payment_method #payment div.payment_box p:last-child,
.woocommerce-cart #payment div.payment_box p:last-child,
.woocommerce-checkout #payment div.payment_box p:last-child,
.woocommerce-terms-and-conditions-wrapper{
  font-size: 12px;
  margin: 0;
}
.woocommerce-terms-and-conditions-wrapper a{
  text-decoration: underline;
}
.woocommerce .woocommerce-info {
  background-color: #000 !important;
}
.woocommerce form.checkout_coupon {
  background: #eeeeee !important;
}
.woocommerce-no-major-page .title-bar.outside .overlay-color {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
#add_payment_method .checkout .checkout-inline-error-message,
.woocommerce-cart .checkout .checkout-inline-error-message,
.woocommerce-checkout .checkout .checkout-inline-error-message{
  font-size: 12px !important;
}
.real-content li{
  font-weight: 400;
}
.woocommerce-NoticeGroup{
  margin-bottom: 15px;
}
@media (max-width: 600px){
  #customer_details.col2-set .col-1{
    padding-top: 30px !important;
  }
}
@media (max-width: 575px){
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last {
    width: 100% !important;
  }
}
.woocommerce-page .notices-forms {
  margin: 5px 0 15px !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  border-radius: 0 !important;
}
.wc-block-components-button:not(.is-link) {
  background: #000;
  color: #fff;
}
#wc-block-components-totals-coupon__input-coupon{
  border-radius: 0;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #000;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  margin-bottom: 5px !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  margin-bottom: 4px !important;
}
.wc-block-components-product-details.wc-block-components-product-details li {
  padding: 0 !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap>*, .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap>*, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
  margin-bottom: 5px !important;
}
@media (max-width: 1025px){
  #header .logo-container .text-logo{
    font-size: 26px;
    white-space: nowrap;
  }
}
@media (max-width: 767px){
  .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product, .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product, .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    margin-bottom: 0 !important;
  }
}
.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {
  display: none !important;
}
.post-type-archive-product article#content{
  padding: 50px 0;
}
.woocommerce-page .shop-columns-3 ul.products li.product{
  padding: 5px !important;
}
.woocommerce ul.products li.product .price{
  font-size: 16px !important;
  color: #000 !important;
}
.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image), .wc-block-grid__product .wc-block-grid__product-title {
  font-size: 13px !important;
}
.wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product {
  font-size: 12px !important;
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
    border-radius: 0;
}
.single-product.woocommerce div.product {
  padding: 50px 0 50px !important;
}
.woocommerce div.product form.cart .button{
  background: #000 !important;
  height: 45px !important;
}
.single-product.woocommerce .products_subvariant_center .product-details {
  background: #f9f8f6;
}
.woocommerce-page table.shop_attributes td {
  padding: 7px 0 !important;
}
.variations_button{
  margin-top: 0 !important;
}
.single-product.woocommerce #mid form select,
.single-product.woocommerce .product_meta select {
  height: 45px !important;
  padding-left: 10px !important;
  width: calc(100% - 15px) !important;
}
.woocommerce-page #content div.product form.cart .variations label {
  font-size: 12px;
  margin-top: 6px;
  display: block;
}
.woocommerce .quantity .qty{
  height: 45px !important;
}
@media (max-width: 575px){
  .product .upsells, .product .related {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .woocommerce div.product .product_title {
    font-size: 34px !important;
  }
  .single-product.woocommerce div.product {
    padding: 20px 0 50px !important;
  }
}

/*
 * Hero Section Styles
 * Imagen a pantalla completa con degradado, título y botón
 */

.hero-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    object-fit: cover;
}

/* Imagen de respaldo si no hay imagen destacada */
.hero-image-fallback {
    background: linear-gradient(135deg, var(--violeta) 0%, var(--negro-2) 100%);
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
    z-index: 1;
}

.hero-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2;
    width: 100%;
    color: var(--blanco);
}

.hero-content .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.hero-title {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: bold;
    margin-bottom: 2rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.2;
    color:#fff;
}

.hero-btn {
    display: inline-block;
    padding: 12px 32px;
    background: rgba(255, 255, 255, 0.2);
    color: var(--blanco);
    text-decoration: none;
    border: 2px solid var(--blanco);
    border-radius: 50px;
    font-size: 0.96rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.hero-btn:hover {
    background: var(--blanco);
    color: var(--negro-2);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    text-decoration: none;
}

/* Contenido principal */
.main-content {
    padding: 60px 0;
    min-height: 50vh;
}

.main-content .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.page-content {
    font-size: 1.1rem;
    line-height: 1.6;
}

/* Responsive para Hero Section */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }

    .hero-btn {
        padding: 10px 24px;
        font-size: 0.8rem;
    }

    .hero-content .container {
        padding: 0 15px;
    }
}
