/*
Theme Name: Hello Elementor Child
Theme URI: https://example.com/hello-elementor-child
Description: Tema hijo de Hello Elementor
Author: Tu Nombre
Author URI: https://example.com
Template: hello-elementor
Version: 1.0.0
*/

/*----------------------------------------
  Cinzel Decorative - para títulos
----------------------------------------*/
@font-face {
  font-family: "Cinzel Decorative";
  src: url("fonts/Cinzel_Decorative/CinzelDecorative-Regular.ttf")
    format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Cinzel Decorative";
  src: url("fonts/Cinzel_Decorative/CinzelDecorative-Bold.ttf")
    format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Cinzel Decorative";
  src: url("fonts/Cinzel_Decorative/CinzelDecorative-Black.ttf")
    format("truetype");
  font-weight: 900;
  font-style: normal;
}

/*----------------------------------------
  Quicksand - para textos normales
----------------------------------------*/
@font-face {
  font-family: "Quicksand";
  src: url("fonts/Quicksand/Quicksand-VariableFont_wght.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}

/* Aplicar a todos los títulos */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Quicksand", sans-serif !important;
  font-weight: 900 !important;
}

/* Párrafos y textos normales */
body,
p,
li,
span {
  font-family: "Quicksand", sans-serif !important;
}

:root {
  --primario: #fbbb18;
}

body a {
	color: var(--primario) !important;
}

@media (max-width: 768px) {
  main {
    padding: 0px 25px !important;
  }
}

main {
  padding: 28px 120px;
  max-width: 100vw;
}

/* Header básico */
.site-header {
  box-sizing: border-box;
  background: #fff;
  padding: 10px 15px !important;
  border-bottom: 1px solid #eee;
  position: sticky !important;
  top: 0;
  z-index: 800;
  button {
    color: var(--primario);
  }
}

.header-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hamburger {
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0px;
}

/* Logo centrado */
.site-logo a {
  display: flex;
  height: 100%;
  align-items: center;
}
.site-logo img {
  max-height: 40px;
}

/* Menú lateral (oculto por defecto) */
#menu-toggle {
	color: var(--primario);
}

#menu-toggle:hover {
	color:#fff !important;
	background: var(--primario) !important;
}

.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 60%;
  max-width: 480px;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
  transition: left 0.3s ease;
  padding: 20px;
  z-index: 840;

  button {
    color: var(--primario);
  }
	
}

.mobile-menu.active {
  left: 0;
}

.mobile-menu-list a {
  display: block; /* Hace que el link ocupe toda la fila */
  padding: 5px 20px; /* Aumenta el área clicable */
  margin: 8px 0; /* Espacio entre botones */
  color: var(--primario); /* Texto blanco */
  text-align: left;
  border-radius: 32px; /* Bordes redondeados */
  text-decoration: none; /* Quita subrayado */
  font-size: 18px;
  font-weight: bold;
}

.mobile-menu-list a:hover {
  background: var(--primario); /* Un dorado más oscuro */
  color: #fff !important;
}

.mobile-menu .close-btn {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  margin-bottom: 20px;
}

/* Overlay oscuro detrás del menú */
.menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 820;
}

.menu-overlay.active {
  display: block;
}

/* Estilo lista menú */
.mobile-menu-list {
  list-style: none;
  padding: 0;
}

.mobile-menu-list li {
  margin: 15px 0;
}

.mobile-menu-list a {
  text-decoration: none;
  font-size: 18px;
  color: #333;
}

/*Ocultar títulos*/
.site-title,
.entry-title,
.wp-element-caption {
  display: none;
}

.wp-block-group {
  display: inline;
}

/*Galería*/
.onsale {
  transform: translateY(20px);
}
.woocommerce-product-gallery {
  margin: 0 !important;
}

.flex-control-thumbs {
  img {
    max-height: 60px;
    max-width: 60px;
  }
}

/*Mostrar titulo producto*/
.woocommerce div.product .product_title {
  display: block !important;
  font-size: 32px !important;
  margin: 0;
}

.wc-block-grid__product-link,
.wc-block-grid__product-title,
.wc-block-components-product-name {
  color: #333 !important;
  text-decoration: none !important;
}

/*Reviews*/
.woocommerce-product-rating {
  margin: 0 !important;
}

.woocommerce-review-link {
  color: #333 !important;
  font-size: small;
}

@font-face {
  font-family: "star";
  src: url(".../fonts/star.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

.wc-block-review-list-item__item {
  margin: 8px 0px !important;
}

.woocommerce .star-rating span,
.wc-block-review-list-item__item span {
  font-family: star !important;
  font-size: 1em;
  line-height: 1;
  display: inline-block;
}
.woocommerce .star-rating span::before,
.wc-block-review-list-item__item::before span {
  font-family: star !important;
}

.valoraciones {
  margin-bottom: 16px !important;
}

.wp-block-woocommerce-all-reviews {
  position: relative;
  padding-top: 42px;
}

.wc-block-review-sort-select {
  position: absolute;
  opacity: 70%;
  width: 100%;
  transform: translateY(-110%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  label {
    font-size: 0.9rem;
    transform: translateX(0.6rem);
  }

  select {
    width: 12rem;
    height: 2em;
    font-size: 0.85rem;
    text-align: left;
    padding: 2px 6px;
    background: none;
    border-radius: 16px;
  }
}

.wc-block-review-list {
  padding: 0;
}

.wc-block-review-list-item__info {
  display: flex !important;
  margin: 0 !important;
}

.wc-block-review-list-item__image {
  display: none !important;
}

.wc-block-review-list-item__product a {
  color: var(--primario) !important;
  text-decoration: none !important;
}

.wc-block-review-list-item__author {
  font-weight: 800 !important;
}

.wc-block-review-list-item__published-date {
  display: none;
}

/*Ocultar meta producto*/
.product_meta,
.woocommerce-tabs.wc-tabs-wrapper {
  display: none !important;
}

.price {
  margin: 0 !important;
}

/*Botones añadidos a quantity*/
.quantity {
  display: flex;
  justify-content: center;
  align-items: center;
}

.quantity input.qty {
  width: 40px !important;
  padding: 2px 10px !important;
  height: 30px;
  text-align: center;
  margin: 0 5px;
}

.quantity-button {
  background-color: var(--primario) !important;
  color: #fff !important;
  border: none !important;
  font-size: 16px !important;
  padding: 2px 10px !important;
  cursor: pointer !important;
  border-radius: 100% !important;
}

/*Ocultar arrows input*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}

form,
.summary {
  margin-bottom: 16px !important;
}

/* Botón añadir al carrito y comprar ahora estilo dorado */
.single_add_to_cart_button,
.comprar-ahora,
.added_to_cart {
  box-sizing: border-box;
  padding: 12px 20px !important;
  text-align: center !important;
  display: inline-block !important;
}

.single_add_to_cart_button,
.added_to_cart {
  background-color: transparent !important;
  color: var(--primario) !important;
  border: 2px solid var(--primario) !important;
  border-radius: 60px !important;
}

.single_add_to_cart_button:hover {
  color: #fff !important;
  background-color: var(--primario) !important;
}

.added_to_cart {
  text-align: center;

  margin: 0 !important;
  text-decoration: none !important;
}

.comprar-ahora {
  background-color: var(--primario) !important;
  color: #fff !important;
  border: 4px solid var(--primario) !important;
  border-radius: 60px !important;
}
.comprar-ahora:hover {
  color: #8b8b8bff !important;
  background-color: hsla(46, 65%, 80%, 1) !important;
  border: 4px solid hsla(46, 65%, 80%, 1) !important;
}

.woocommerce div.product form.cart, .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important; /* Espacio entre elementos */
  flex-wrap: wrap !important;
}


.variations {
margin: 0px !important;

	tbody tr th, tbody tr td {
		padding: 8px 15px 0px 15px;
		background: none !important;
	}
	
	select {
		padding: 0px 8px;
		border-radius: 12px !important;
	}
}

/* Responsive móvil: apilar elementos en columna */
@media (max-width: 768px) {
  /* El formulario usa flex, lo forzamos a columna */
  .woocommerce div.product form.cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important; /* Espacio entre elementos */
  }

  /* Quantity ocupa ancho completo y centrado */
  .woocommerce div.product form.cart .quantity {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  /* Botones ocupan ancho completo */
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .comprar-ahora {
    width: 100% !important;
    margin-left: 0 !important; /* Eliminar margen lateral */
  }
}

.onsale {
  background-color: red !important;
}

/*Accordion*/

.wp-block-woocommerce-accordion-group {
  border-radius: 12px;
  margin: 16px 50px;
}

@media (max-width: 1999px) {
.wp-block-woocommerce-accordion-group {
  margin: 0px;
}

  }

.wp-block-woocommerce-accordion-item {
  margin: 0px;
  padding: 10px 10px;
  max-width: 95vw;
  overflow: hidden;

  button {
    padding: 5px 15px;
    border-radius: 12px;

    span {
      display: flex;
      align-items: center;
      gap: 10px;
    }
  }
  button:hover {
    background-color: rgba(126, 126, 126, 1) !important;
  }
  button:focus {
    background-color: rgb(201, 201, 201) !important;
  }

  .accordion-content__wrapper {
    padding: 10px;
  }
}

/*Imagenes Infografías*/
.wp-block-image {
  img {
    border-radius: 10px;
  }
}

/*Grilla de valoraciones / Reseñas*/
.cr-reviews-grid {
  padding: 0 !important;
  border: none !important;
}

.cr-reviews-grid-inner {
gap: 16px;
}

.cr-review-card {
  position: relative;
  margin: 0px 0px 12px !important;
	padding: 12px !important;
}

@media (max-width: 550px) {
  footer {
    padding: 28px 25px !important;
  }
}

.image-row {
  overflow: hidden;
  max-height: 300px;
	border-radius: 10px !important;
}

@media (max-width: 768px) {
.image-row {
  max-height: 150px;
}
}

.image-row img {
  transform: translateY(-40%);
	border-radius: 10px !important;
}

.media-row-count {
  display: none !important;
}

.top-row {
  margin: 4px 20px !important;
  padding: 6px 0 !important;
  border: none !important;
}

.middle-row {
	margin: 0 !important;
	border-radius: 10px !important;
}

.rating-row {
  padding: 0 !important;
  position: absolute;
  right: 0px;
  transform: translateX(20%) translateY(-140%) scale(60%);
}

@media (max-width: 550px) {
	.rating-row { 
		transform: translateY(-140%) scale(80%);
	}
}

.reviewer-verified {
  display: none !important;
}

.review-content {
  margin: 0 !important;
}

.datetime {
  display: none;
}

/*Footer*/

footer {
  padding: 28px 120px !important;
  background: rgba(243, 243, 243, 1);
  width: 100vw !important;
  box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.05) inset;
}

@media (max-width: 768px) {
  footer {
    padding: 28px 25px !important;
  }
}

.site-footer {
  ul {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(2, auto);
    justify-content: space-between !important;
  }

  a {
    color: var(--primario);
    padding: 2px 10px !important;
  }

  .footer-separator {
    margin: 20px auto;
    border: 0;
    height: 1px;
    width: 80%;
    background: rgba(0, 0, 0, 0.1);
  }

  .footer-bottom p {
    text-align: center;
    font-size: 0.85rem;
    color: var(--primario);
    margin: 10px 0 0;
  }
}

/*Plugin Side Cart*/
/*Ocultar modal circular pie de pagina*/
.xoo-wsc-basket {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

/*Carrito del menu principal*/
.xoo-wsc-sc-cont {
  background: #fff !important;
  padding: 8px 8px 4px;
  border: 1px solid rgba(100, 100, 100, 1);
  border-radius: 48px;
  opacity: 80%;
  z-index: 900;
}

.xoo-wsc-menu-item:hover {
  opacity: 100%;
}

.xoo-wsc-sc-subt {
  display: none;
}

/*Menu carrito lateral*/
.xoo-wsc-btn {
  border-radius: 32px !important;
  background-color: var(--primario) !important;
	color: #fff !important;
}

.xoo-wsc-btn:hover {
	border: 1px solid #fff !important;
	color: #fff !important;
}

/*Pagina Carrito y Checkout*/
.wc-block-cart {
  max-width: 100vw;
  padding: 10px;
  align-items: center;
  position: relative;
}

.wc-block-components-main {
  padding: 10px;
  max-width: 90vw;
}

.wc-block-cart-link {
  color: #333;
}

.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wp-block-woocommerce-cart-order-summary-coupon-form-block {
  display: none;
}

.wc-block-checkout__sidebar p a {
	color:#333;
}

/* Botones */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-container a,
.wc-block-grid__product-add-to-cart a {
  background-color: var(--primario) !important;
  color: #fff !important;
  border: 4px solid var(--primario) !important;
  border-radius: 60px !important;
  text-decoration: none !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-container a:hover {
  color: #8b8b8bff !important;
  background-color: hsla(46, 65%, 80%, 1) !important;
  border: 4px solid hsla(46, 65%, 80%, 1) !important;
}
