/*
Theme Name: Festiva Child
Theme URI: http://demo.bravisthemes.com/festiva
Author: Bravis-Themes
Template: festiva
Version: 1.0.0
*/

/* ============================= */
/* RESET GENERAL */
/* ============================= */

html {
  scroll-behavior: auto !important;
}

body {
  overflow-x: hidden;
}

body, .elementor-section {
  scroll-snap-type: none !important;
}

/* ============================= */
/* PRODUCT PAGE */
/* ============================= */

body.single-product {
  background-color: #0B0F1A;
}

/* CONTENEDOR */
body.single-product div.product {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

/* COLUMNA DERECHA */
body.single-product .summary {
  max-width: 500px;
}

/* TÍTULO */
body.single-product .product_title {
  color: #ffffff !important;
  font-size: 36px;
  font-weight: 700;
}

/* TEXTOS */
body.single-product .summary,
body.single-product .summary p,
body.single-product .summary span,
body.single-product .summary li,
body.single-product .woocommerce-product-details__short-description {
  color: #FFFFFF !important;
  opacity: 1 !important;
  line-height: 1.6;
}

/* PRECIO (LIMPIO Y ÚNICO) */
body.single-product .price,
body.single-product .price * {
  color: #E12671 !important;
  font-size: 34px !important;
  font-weight: 800 !important;
}

/* LABEL */
body.single-product label {
  color: #cccccc !important;
}

/* ============================= */
/* QUANTITY (CONTROL PRINCIPAL) */
/* ============================= */

body.single-product .quantity {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
}

body.single-product .quantity input.qty {
  background: #FFFFFF !important;
  color: #000 !important;
  border: 3px solid #E12671 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  height: 60px !important;
  width: 100px !important;
  border-radius: 12px !important;
  text-align: center;
}

/* BOTONES + - */
body.single-product .quantity .plus,
body.single-product .quantity .minus {
  background: #E12671 !important;
  color: #FFFFFF !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  cursor: pointer;
}

/* ============================= */
/* BOTÓN PRINCIPAL */
/* ============================= */

body.single-product .single_add_to_cart_button {
  width: 100%;
  background: #E12671 !important;
  color: #FFFFFF !important;
  padding: 18px !important;
  border-radius: 50px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 1px;
  border: none !important;
  box-shadow: 0 10px 25px rgba(225, 38, 113, 0.4);
  transition: all 0.25s ease;
}

body.single-product .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(225, 38, 113, 0.6);
}

/* ============================= */
/* LIMPIEZA WOOCOMMERCE */
/* ============================= */

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
  display: none !important;
}

/* ============================= */
/* FIX IMAGEN (CRÍTICO) */
/* ============================= */

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image:hover img {
  opacity: 1 !important;
  filter: none !important;
}

.zoomImg {
  opacity: 0 !important;
  display: none !important;
}

.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image,
.flex-viewport {
  background: transparent !important;
}

/* ============================= */
/* CHECKOUT */
/* ============================= */

body.woocommerce-checkout {
  background: #0B0F1A;
}

/* CONTENEDOR */
body.woocommerce-checkout .woocommerce {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* GRID */
body.woocommerce-checkout .woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 30px;
}

/* FORM */
body.woocommerce-checkout .col2-set {
  width: 100%;
}

/* RESUMEN */
body.woocommerce-checkout #order_review {
  background: #121629;
  padding: 25px;
  border-radius: 12px;
  border: 1px solid #222;
}

/* TITULOS */
body.woocommerce-checkout h3,
body.woocommerce-checkout label {
  color: #ffffff !important;
}

/* INPUTS */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  background: #121629 !important;
  color: #ffffff !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
}

/* TOTAL */
body.woocommerce-checkout .order-total .amount {
  color: #E12671 !important;
  font-size: 26px;
  font-weight: 800;
}

/* BOTÓN FINAL */
#place_order {
  background: #E12671 !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 50px;
  padding: 16px;
}

/* OCULTAR CANTIDAD EN CHECKOUT */
body.woocommerce-checkout .product-quantity {
  display: none !important;
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 768px) {
  body.woocommerce-checkout .woocommerce-checkout {
    grid-template-columns: 1fr;
  }
}
/* ========================================== */
/* 🔥 ELIMINAR BOTÓN VOLVER AL CARRITO TOTAL */
/* ========================================== */

.woocommerce-checkout a.button.wc-backward,
.woocommerce-checkout .return-to-shop,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .cart-empty,
.woocommerce-checkout .wc-backward {
    display: none !important;
}
/* ============================================================ */
/* 🧨 OPERACIÓN LIMPIEZA FINAL: VOLVER AL CARRITO               */
/* ============================================================ */

/* Método definitivo: sacar el botón del viewport */
body.woocommerce-checkout a[href*="carrito"],
body.woocommerce-checkout a[href*="cart"],
body.woocommerce-checkout .wc-backward {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* ============================================================ */
/* 🚀 BOTÓN PRO CHECKOUT (CONVERSIÓN ALTA)                     */
/* ============================================================ */

#place_order,
.woocommerce-checkout #payment #place_order,
button#place_order.button.alt {

    /* COLOR PRINCIPAL (IDENTIDAD + CONVERSIÓN) */
    background: linear-gradient(135deg, #E12671, #ff3d8f) !important;
    color: #FFFFFF !important;

    /* TAMAÑO (MÓVIL-FIRST) */
    width: 100% !important;
    padding: 22px !important;
    font-size: 20px !important;
    font-weight: 900 !important;

    /* FORMA */
    border-radius: 14px !important;
    border: none !important;

    /* VISUAL (CLICKABLE REAL) */
    box-shadow: 0 10px 30px rgba(225, 38, 113, 0.4) !important;

    /* UX */
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;

    /* ESPACIADO */
    margin-top: 25px !important;

    /* TRANSICIÓN */
    transition: all 0.25s ease !important;
}

/* HOVER (PC) */
#place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(225, 38, 113, 0.6) !important;
}

/* CLICK (MÓVIL - MUY IMPORTANTE) */
#place_order:active {
    transform: scale(0.97) !important;
}

/* TEXTO INTERNO (EVITA AZUL DE TEMA) */
#place_order,
#place_order * {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* ESPACIO VISUAL (RESPIRACIÓN) */
.woocommerce-checkout #payment {
    padding-bottom: 20px !important;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 768px) {
    #place_order {
        font-size: 18px !important;
        padding: 20px !important;
    }
}
/* ============================================================ */
/* 🚀 FIX REAL BOTÓN CHECKOUT BLOQUES (DEFINITIVO)              */
/* ============================================================ */

.wc-block-components-button.wc-block-components-checkout-place-order-button {
    background: linear-gradient(135deg, #E12671, #ff3d8f) !important;
    color: #FFFFFF !important;
    width: 100% !important;
    padding: 22px !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 10px 30px rgba(225, 38, 113, 0.4) !important;
}

/* TEXTO INTERNO */
.wc-block-components-checkout-place-order-button__text {
    color: #FFFFFF !important;
    font-weight: 900 !important;
    font-size: 20px !important;
}

/* HOVER */
.wc-block-components-button.wc-block-components-checkout-place-order-button:hover {
    background: #ff3d8f !important;
}