.hidden {
  display: none !important;
}

#subscription-form .form-group,
#subscription-form label,
#subscription-form input,
#subscription-form select,
#subscription-form button,
#subscription-form textarea {
    display: block;
    width: 100%;
    max-width: 500px;
		border-radius: 6px;
		border-color: #F3E5F8;
}

#paso-1 {
		margin-top: 10px;
}


#paso-1 label {
		margin-top: 10px !important;
}

#paso-1 button {
		margin-top: 20px;
}


#paso-1.active,
#paso-2.active {
    display: block;
}

#subscription-form {
		max-width: 500px;
}
#subscription-form input,
#subscription-form select,
#subscription-form textarea {
    padding: 0.4em 0.6em;
    font-size: 0.95em;
    line-height: 1.2em;
    height: auto;
		font-weight: 600;
		color: #6B1D8A;
}

#precio-output {
		margin-bottom: 20px;
}

.radio-toggle-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2em;
  margin-bottom: 1.5em;
	margin-left: auto;
	margin-right: auto;
  width: 100%;
  max-width: 500px;
}
.radio-toggle {
  flex: 1 1 auto;
  text-align: center;
  position: relative;
  cursor: pointer;
  font-family: 'Raleway', sans-serif;
  width: auto;
}
.radio-toggle input[type="radio"] {
  display: none !important;
}
.radio-toggle span {
  min-width: 140px;
  text-align: center;
  display: inline-block;
  padding: 0.6em 1.4em;
  border-radius: 999px;
  border: 2px solid #6b1d8a;
  color: #6b1d8a;
  font-weight: 600;
  transition: all 0.2s ease;
}
.radio-toggle span:hover {
  background-color: #f3e5f8;
  color: #6b1d8a;
  border-color: #6b1d8a;
}
.radio-toggle input[type="radio"]:checked + span {
  background-color: #6b1d8a;
  color: white;
}

.ivy-error-text {
  font-size: 0.9em;
  color: #b00020;
  margin-top: 0.2em;
  display: block;
  font-family: 'Raleway', sans-serif;
}

#ivy-error-message {
  color: #b00020;
  background: #fcebea;
  border: 1px solid #f5c6cb;
  padding: 1em;
  margin-bottom: 1em;
  border-radius: 5px;
  font-family: 'Raleway', sans-serif;
  font-size: 1em;
}

input:invalid,
select:invalid {
  border-color: #b00020 !important;
  background-color: #fcebea !important;
}

#volver-a-paso-1 {
  background: none;
  color: #6B1D8A;
  font-weight: bold;
  margin-top: 1em;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  font-family: 'Raleway', sans-serif;
}

/* Margen superior */
.woocommerce-notices-wrapper {
	margin-top: 0.5rem;
}

/* Quitar borde superior violeta y darle mejor contraste */
.woocommerce-message {
	border-top: none !important;
	background-color: #f4f4f4; /* o blanco, o un color suave que combine */
	color: #333;
	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
	border-radius: 6px;
}

/* Estilo base del botón de notificación */
.woocommerce-message .button.wc-forward {
    background-color: #fff !important;
    color: #6B1A86 !important;
    border: 1.5px solid #6B1A86 !important;
    border-radius: 30px !important;
    padding: 10px 24px !important;
    font-weight: 600;
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    box-shadow: 0 0 0 1px rgba(107, 26, 134, 0.1);
    transition: all 0.3s ease;
}

/* Hover: fondo violeta y texto blanco */
.woocommerce-message .button.wc-forward:hover {
    background-color: #6B1A86 !important;
    color: #fff !important;
    border-color: #6B1A86 !important;
}

/* Estilizado general del contenedor del carrito */
.woocommerce-cart-form {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  margin-top: 2em;
	margin-bottom: 1em;
  overflow-x: auto;
}

/* Estilizado de la tabla interna */
.woocommerce-cart-form table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border-radius: 6px !important;
  overflow: hidden;
	margin-bottom: 0 !important;
}

/* Filas alternadas para mayor claridad */
.woocommerce-cart-form tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Cabecera de tabla */
.woocommerce-cart-form thead th {
  background-color: #6c1b8d;
  color: white;
  padding: 1em;
  text-align: left;
  font-weight: 600;
  border-bottom: none;
}

/* Celdas */
.woocommerce-cart-form td {
  padding: 1em;
  vertical-align: middle;
  border-bottom: 1px solid #eee;
}

/* Imagen del producto */
.woocommerce-cart-form td.product-thumbnail img {
  border-radius: 6px;
  max-width: 80px;
  height: auto;
}

/* Botones */
.woocommerce-cart-form .button {
  background-color: #6c1b8d !important;
  color: white !important;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  text-transform: uppercase;
  font-weight: 600;
  font-family: Raleway, sans-serif;
  transition: all 0.3s ease;
  font-size: 14px;
}

.woocommerce-cart-form .button:hover {
  background-color: white !important;
  color: #6c1b8d !important;
  border: 2px solid #6c1b8d;
}

/* Cuadro de cupón */
.woocommerce-cart-form input#coupon_code {
  border-radius: 30px;
  border: 1px solid #ccc;
  padding: 8px 16px;
  font-size: 14px;
  margin-right: 10px;
}

/* Celda de acciones (update, cupón) */
.woocommerce-cart-form .actions {
  text-align: right;
  border-top: 1px solid #ddd;
  padding-top: 1em;
}

/* Contenedor principal del total del carrito */
.woocommerce .cart-collaterals .cart_totals {
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border: none;
	zoom: 1.2;
}

/* Título */
.woocommerce .cart-collaterals .cart_totals h2 {
  font-size: 1.2rem;
  border-bottom: 2px solid #e9e2f3;
  padding-bottom: 0.5rem;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	margin-bottom: 0 !important;
}

/* Tabla de totales */
.woocommerce .cart-collaterals .cart_totals table {
  width: 100%;
  border: none;
}

/* Filas de la tabla */
.woocommerce .cart-collaterals .cart_totals tr {
  border-bottom: 1px solid #e9e2f3;
}

/* Celdas */
.woocommerce .cart-collaterals .cart_totals th,
.woocommerce .cart-collaterals .cart_totals td {
  padding: 0.75rem 0;
  font-size: 14px;
}

.wc-proceed-to-checkout {
	padding: 0 !important;
}

/* Botón Finalizar compra */
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button {
  background-color: #7e0080;
  color: #fff;
  border-radius: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.3s ease;
  display: block;
  text-align: center;
	border: 2px solid #7e0080;
	padding: 0.5em !important;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
	background: transparent;
  color: #7e0080;
  border: 2px solid #7e0080;
}

/* Enlace de cambiar dirección */
.shipping-calculator-button {
  color: #7e0080;
  text-decoration: underline;
  font-size: 0.9rem;
}

/* Ajuste general al radio buttons */
.woocommerce-shipping-methods input[type="radio"] {
  accent-color: #7e0080;
}

/* checkout */
#billing_state:disabled {
    background-color: #fff !important;
    color: #000 !important;
    cursor: not-allowed;
}

.woocommerce-checkout-review-order-table tbody .cart_item td:last-child {
  width: 150px;
}

/* Unifica el estilo del botón de checkout */
#place_order.button.alt {
  background-color: #7e0080;
  color: #fff;
  border-radius: 2rem;
  padding: 0.5rem 1rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.3s ease;
  display: block;
  text-align: center;
	border: 2px solid #7e0080;
	padding: 0.5em !important;
}

#place_order.button.alt:hover {
  background: transparent;
  color: #7e0080;
  border: 2px solid #7e0080;
}

.checkout-button.button.alt.wc-forward {
	display: grid;
}

.producto-especial-del-mes {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  padding: 2rem;
  text-align: center;
  margin: 3rem auto;
  max-width: 600px;
}

.ivy-producto-especial {
  background-color: #f6edfb; /* lavanda suave */
  border-radius: 16px;
  padding: 2em;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  margin-top: 2em;
}

.ivy-contenedor-especial {
  text-align: center;
}

.ivy-contenedor-especial h3{
	font-family: "Raleway", Sans-serif !important;
	font-size: 1rem;
  font-weight: 600;
  color: #FFF8EA;
}

.ivy-producto-especial-titulo {
  font-family: var(--font-heading, 'Raleway', sans-serif);
  font-size: 1.3rem;
  font-weight: 600;
  color: #FFF8EA;
  margin-bottom: 1em;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.ivy-producto-especial-nombre {
  font-family: "Poppins", Sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: bold !important;
  color: #FFF8EA !important;
  margin-bottom: 0.5em !important;
}

.ivy-producto-especial-descripcion {
  font-family: var(--font-base, 'Lato', sans-serif);
  font-size: 1rem;
  color: #FFF8EA;
  line-height: 1.5;
  margin: 0;
}

.producto-especial-imagen img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .woolentor-product-same-height.ht-products.woocommerce.ht-row .ht-col-lg-3,
  .woolentor-product-same-height.ht-products.woocommerce.ht-row .ht-col-md-4 {
    width: 50% !important;
    flex: 0 0 50% !important;
  }
}

body {
	min-height:100vh;
}