.tab-secc-video{
	position: relative !important;
	width: 400px !important;
	font-size: 18px !important;
	background-size: 100% 100% !important;
	background-position: -10px -10px !important;
	background-repeat: no-repeat !important;
}

@media(max-width: 767px){
	.tab-secc-video{
		width: 280px !important;
		margin: auto !important;
	}
}
/*SLIDER TAB*/
.tab-description .elementor-image-box-wrapper{
	display: flex !important;
	flex-flow: row nowrap !important;
	text-align: left !important;
	gap: 10px !important;
}

.tab-progress{
	position: absolute !important;
	bottom:0px !important;
	top: inherit !important;
	height: 4px !important;
	width: 100px !important;
	left: 0px !important;
	right: 0px;
	background: #d3cbe4 !important;
	border-radius: 50px !important;
	overflow: hidden !important;
	margin: 0 auto !important; 
}
.tab-progress-bar{
	position: absolute !important;
	top: inherit !important;
	bottom:0px !important;
	width: 100% !important;
	left: 0px !important;
	height: 4px !important;
	background: #7e5ed5 !important;
	border-radius: 50px !important;
	transform-origin: left !important;
	transform: scaleX(0);
}

/* ================================================
   TIENDA PAGE — hero
   ================================================ */
.ti-hero {
	min-height: 70vh;
	text-align: center;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ti-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--ti-hero-blur);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	opacity: 0.1;
	pointer-events: none;
	z-index: 0;
}

.ti-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.ti-hero__title {
	margin: 0;
	color: var(--site-color-primary);
}

.ti-hero__scroll {
	color: var(--site-color-a1d799a);
	opacity: 0.5;
}

.ti-hero__scroll svg {
	width: 28px;
	height: 28px;
}

/* ================================================
   TIENDA PAGE — producto
   ================================================ */
.ti-product__inner {
	display: flex;
	align-items: center;
	gap: 50px;
	max-width: 930px;
}

.ti-product__text {
	flex: 0 0 50%;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: baseline;
}

.ti-product__badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--site-color-a1d799a);
	border: 1px solid var(--site-color-a1d799a);
	border-radius: 6px;
	padding: 4px 10px;
}

.ti-product__title {
	color: var(--site-color-primary);
}

.ti-product__desc {
	color: var(--site-color-primary);
}

.ti-product__features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ti-product__features li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.ti-product__features li img {
	width: 32px;
	height: 32px;
	object-fit: contain;
	flex-shrink: 0;
	margin-top: 2px;
}

.ti-product__features li span {
	font-size: 20px;
	color: var(--site-color-text);
	line-height: 1.4em;
	text-align: left !important;
}


/* ================================================
   TIENDA PAGE — phone mockup
   ================================================ */
.ti-product__video {
	flex: 0 0 50%;
	display: flex;
	justify-content: center;
	position: relative;
}

.ti-product__video video {
	max-width: 440px;
	width: 100%;
	border-radius: 8px;
}

.ti-phone {
	position: relative;
	width: 280px;
	background: #12102a;
	border-radius: 44px;
	border: 6px solid #3d3466;
	box-shadow:
		0 0 0 2px #6c5ce7,
		0 30px 80px rgba(100, 80, 200, 0.2);
	overflow: hidden;
}

/* Notch */
.ti-phone::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 26px;
	background: #12102a;
	border-radius: 0 0 18px 18px;
	z-index: 2;
}

.ti-phone__screen {
	width: 100%;
	overflow: hidden;
}

.ti-phone__screen video {
	width: 100%;
	display: block;
}

/* ================================================
   TIENDA PAGE — divisor
   ================================================ */
.ti-divider {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 760px;
	margin: 0 auto;
	padding: 0 30px;
	color: var(--site-color-accent);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ti-divider::before,
.ti-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--site-color-debac6c);
}

/* ================================================
   TIENDA PAGE — nota pie
   ================================================ */

.ti-footnote {
	text-align: center;
	padding: 40px 0 0 0;
	font-size: 14px;
	color: var(--site-color-accent);
}

.ti-footnote a {
	color: var(--site-color-a1d799a);
	text-decoration: underline;
}

.ti-pago {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.ti-pago__label {
	color: var(--site-color-primary);
	white-space: nowrap;
}

.ti-metodos-pago {
	max-width: 290px !important;
	width: 100%;
}

/* ================================================
   RESPONSIVE
   ================================================ */
@media (max-width: 900px) {
	.ti-product__inner {
		flex-direction: column;
		gap: 40px;
	}
	.ti-product__text {
		align-items: center;
		text-align: center;
	}
	.ti-pago {
		flex-direction: column;
	}
	.ti-product__media {
		order: -1;
	}
	.ti-phone {
		width: 240px;
	}
	.ti-product__title {
		font-size: 30px;
	}
	/* ti-hero__title hereda responsive del h1 global */
}

/* ================================================
   MY ACCOUNT PAGE
   ================================================ */

.account-page .ma-account__inner {
	max-width: 900px;
}

/* Breadcrumb */
.ma-breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 16px;
	margin-bottom: 24px;
}

.ma-breadcrumb a {
	color: var(--site-color-a1d799a);
	text-decoration: none;
}

/* Título */
.ma-title {
	font-size: 40px;
	color: var(--site-color-primary);
	text-align: center;
	margin: 0 0 40px;
}

@media (max-width: 768px) {
	.ma-title { font-size: 32px; }
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
}

/* Tabs de navegación */
.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid var(--site-color-debac6c);
	overflow: hidden;
	overflow-x: auto;
}

.woocommerce-MyAccount-navigation ul li {
	float: none !important;
	width: auto !important;
}

.woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 10px;
	font-size: 17px;
	font-weight: 400;
	color: var(--site-color-primary);
	text-decoration: none;
	border-radius: 8px 8px 0 0;
	transition: background 0.2s, color 0.2s;
	white-space: nowrap;
}

.woocommerce-MyAccount-navigation-link a:hover {
	background: var(--site-color-dd5d35a);
}

.woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--site-color-a1d799a);
	color: #fff !important;
	font-weight: 500;
}

/* Contenido */
.ma-content {
	padding: 40px 0 0;
}

/* ================================================
   ACCOUNT ADDRESSES (vista general)
   ================================================ */

/* Texto intro */
.woocommerce-Addresses ~ p,
.woocommerce-MyAccount-content > p:first-child {
	font-size: 16px;
	color: var(--site-color-text);
	margin-bottom: 24px;
}

/* Grid de direcciones */
.woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

@media (max-width: 768px) {
	.woocommerce-Addresses { grid-template-columns: 1fr; }
}

/* Header de cada dirección */
.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.woocommerce-Address-title h3 {
	font-size: 18px !important;
	font-weight: 500;
	color: var(--site-color-primary);
	margin: 0;
	letter-spacing: 0;
}

.woocommerce-Address-title .edit {
	font-size: 15px;
	color: var(--site-color-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s;
}

.woocommerce-Address-title .edit:hover {
	color: var(--site-color-a1d799a);
}

/* Card de dirección */
.woocommerce-Address address {
	background: #fff;
	border: 1px solid var(--site-color-debac6c);
	border-radius: 8px;
	padding: 20px 24px;
	font-style: normal;
	font-size: 16px;
	color: var(--site-color-text);
	line-height: 1.7em;
	min-height: 100px;
}

[data-theme="dark"] .woocommerce-Address address {
	background: #000000b5;
}

/* ================================================
   ACCOUNT ADDRESS FORM — hereda estilos del checkout
   ================================================ */
.woocommerce-address-fields .form-row {
	display: flex;
	flex-direction: column;
	padding: 8px 0 !important;
	margin: 0 !important;
	width: 100% !important;
	min-width: 100% !important;
}

.woocommerce-address-fields .form-row > label:first-child {
	font-size: 13px;
	color: var(--site-color-primary) !important;
	font-weight: 400;
	margin-bottom: 2px;
}

.woocommerce-address-fields .form-row input.input-text {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 8px 0 !important;
	width: 100% !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	color: var(--site-color-primary) !important;
	outline: none !important;
	height: auto !important;
}

.woocommerce-address-fields .form-row select {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 8px 0 !important;
	width: auto !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	color: var(--site-color-primary) !important;
	outline: none !important;
	height: auto !important;
}

.woocommerce-address-fields .select2-container {
	width: 100% !important;
}

.woocommerce-address-fields .select2-container--default .select2-selection--single {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	height: auto !important;
	padding: 5px 0 !important;
}

.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0 !important;
	color: var(--site-color-primary) !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
}

/* ================================================
   ACCOUNT DETAILS FORM — hereda estilos del checkout
   ================================================ */
.woocommerce-EditAccountForm .form-row {
	display: flex;
	flex-direction: column;
	padding: 8px 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

.woocommerce-EditAccountForm .form-row > label:first-child {
	font-size: 13px;
	color: var(--site-color-primary) !important;
	font-weight: 400;
	margin-bottom: 2px;
}

.woocommerce-EditAccountForm .form-row input.input-text,
.woocommerce-EditAccountForm .form-row input[type="password"],
.woocommerce-EditAccountForm .form-row input[type="email"],
.woocommerce-EditAccountForm .form-row input[type="text"] {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 8px 0 !important;
	width: 100% !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	color: var(--site-color-primary) !important;
	outline: none !important;
	height: auto !important;
}

/* Descripción display name */
.woocommerce-EditAccountForm #account_display_name ~ span,
.woocommerce-EditAccountForm .description {
	font-size: 14px !important;
	color: var(--site-color-accent);
	display: block;
	margin-top: 4px;
}

/* Título "Cambiar contraseña" */
.woocommerce-EditAccountForm fieldset {
	border: none;
	padding: 0;
	margin: 24px 0 0;
}

.woocommerce-EditAccountForm fieldset legend {
	font-size: 16px;
	font-weight: 500;
	color: var(--site-color-primary);
	margin-bottom: 8px;
}

/* Botón guardar cuenta */
.woocommerce-EditAccountForm .button[name="save_account_details"] {
	background: var(--site-color-a1d799a);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 12px 28px;
	font-size: 18px;
	font-weight: 500;
	font-family: var(--site-typography-primary-font-family), sans-serif;
	cursor: pointer;
	transition: opacity 0.2s;
	margin-top: 16px;
}

.woocommerce-EditAccountForm .button[name="save_account_details"]:hover {
	opacity: 0.88;
}

/* Botón guardar */
.woocommerce-address-fields .button[name="save_address"] {
	background: var(--site-color-a1d799a);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 12px 28px;
	font-size: 18px;
	font-weight: 500;
	font-family: var(--site-typography-primary-font-family), sans-serif;
	cursor: pointer;
	transition: opacity 0.2s;
	margin-top: 16px;
}

.woocommerce-address-fields .button[name="save_address"]:hover {
	opacity: 0.88;
}

/* Tabla de pedidos */
.woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-orders-table th,
.woocommerce-orders-table td {
	vertical-align: middle;
}

.woocommerce-orders-table thead th {
	font-size: 16px;
	font-weight: 500;
	color: var(--site-color-primary);
	text-align: left;
	padding: 0 16px 14px;
	border-bottom: 1px solid var(--site-color-debac6c);
	background: transparent;
}

.woocommerce-orders-table tbody td {
	font-size: 16px;
	color: var(--site-color-text);
	padding: 16px;
	border-bottom: 1px solid var(--site-color-debac6c);
	background: transparent;
	vertical-align: middle;
}

.woocommerce-orders-table tbody tr:last-child td {
	border-bottom: none;
}

/* Número de orden — link morado */
.woocommerce-orders-table__cell-order a {
	color: var(--site-color-a1d799a);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 500;
}

/* Botón "Ver" */
.woocommerce-orders-table__cell-actions .woocommerce-button {
	background: transparent;
	border: none;
	box-shadow: none;
	color: var(--site-color-primary);
	font-size: 16px;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 0;
	cursor: pointer;
	transition: color 0.2s;
}

.woocommerce-orders-table__cell-actions .woocommerce-button:hover {
	color: var(--site-color-a1d799a);
}

@media (max-width: 768px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tbody td {
		display: flex;
		justify-content: space-between;
		padding: 10px 0;
	}
	.woocommerce-orders-table tbody td::before {
		content: attr(data-title);
		font-weight: 500;
		color: var(--site-color-primary);
	}
}

.woocommerce-MyAccount-content p {
	font-size: 18px;
	color: var(--site-color-text);
	margin-bottom: 16px;
}

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

.checkout-page .ck-checkout__inner {
	max-width: 800px;
}

/* Breadcrumb */
.ck-breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 16px;
	margin-bottom: 32px;
}

.ck-breadcrumb a {
	color: var(--site-color-a1d799a);
	text-decoration: none;
}

.ck-breadcrumb span {
	color: var(--site-color-accent);
}

/* Título */
.ck-title {
	font-size: 40px;
	color: var(--site-color-primary);
	margin: 0 0 24px;
	text-align: center;
}

@media (max-width: 768px) {
	.ck-title { font-size: 32px; }
}

/* Divisor */
.ck-divider {
	border: none;
	border-top: 1px solid var(--site-color-debac6c);
	margin: 0 0 48px;
}

/* Layout: columna única */
.woocommerce-checkout .col2-set {
	width: 100%;
}

.woocommerce-checkout #customer_details .col-1 {
	width: 100%;
	float: none;
}

.woocommerce-checkout #customer_details .col-2 {
	display: none;
}

/* Headings de sección */
.woocommerce-billing-fields > h3,
#order_review_heading,
.ck-payment-title {
	font-weight: 500;
	color: var(--site-color-primary);
	letter-spacing: 0;
	margin: 0 0 28px;
	padding: 40px 0 20px;
}

.woocommerce-billing-fields > h3 {
	padding-top: 24px;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
	width: 100%;
}

/* Grid 2 columnas para los campos */
.woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.woocommerce-billing-fields__field-wrapper * {
	float: none !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
	grid-column: span 1;
}

/* Form row */
.woocommerce-checkout .form-row {
	display: flex;
	flex-direction: column;
	padding: 8px 0 !important;
	margin: 0 !important;
	width: 100% !important;
	min-width: 100% !important;
}

/* Labels */
.woocommerce-checkout .form-row > label:first-child {
	font-size: 13px;
	color: var(--site-color-primary) !important;
	font-weight: 400;
	margin-bottom: 2px;
	letter-spacing: 0;
}

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

/* Inputs y selects */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 8px 0 !important;
	/* el input debe ocupar su columna: con width:auto tomaba el ancho
	   por defecto del navegador y el texto se veia cortado */
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	color: var(--site-color-primary) !important;
	outline: none !important;
	height: auto !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
	border-bottom-color: var(--site-color-a1d799a) !important;
}

/* Select2 (país, departamento) */
.woocommerce-checkout .select2-container {
	width: 100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	height: auto !important;
	padding: 5px 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0 !important;
	color: var(--site-color-primary) !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	line-height: 1.5 !important;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50% !important;
	transform: translateY(-50%) !important;
	right: 0 !important;
}

.woocommerce table.shop_table {
	border: none;
	border-radius: 0;
}

.woocommerce table.shop_table td {
	border-top: none !important;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	font-weight: 500 !important;
	border-top: none !important;
}

/* Tabla de resumen del pedido */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 14px 20px;
	font-size: 18px;
	color: var(--site-color-text);
	border: none;
	border-bottom: 1px solid var(--site-color-debac6c);
	border-left: none !important;
	border-right: none !important;
	text-align: left;
	background: transparent;
}

.woocommerce-checkout-review-order-table thead th {
	font-size: 14px;
	font-weight: 500 !important;
	color: var(--site-color-accent);
}

.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
	color: var(--site-color-primary);
	font-weight: 400 !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-weight: 500;
	color: var(--site-color-primary);
	border-bottom: none;
}

.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}

.woocommerce-checkout-review-order-table thead .product-name,
.woocommerce-checkout-review-order-table thead .product-total {
	font-weight: 500;
}

/* Sección cupón */
.checkout_coupon {
	background: #fff;
	border: 1px solid var(--site-color-debac6c) !important;
	border-radius: 8px !important;
	padding: 20px 24px !important;
	margin: 24px 0 !important;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.checkout_coupon p {
	margin: 0;
	font-size: 16px;
}

.checkout_coupon .form-row {
	flex-direction: row !important;
	align-items: flex-end;
	gap: 12px;
}

.checkout_coupon input[name="coupon_code"] {
	flex: 1;
	border: none !important;
	border-bottom: 1px solid var(--site-color-debac6c) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 8px 0 !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	outline: none !important;
}

.checkout_coupon button[name="apply_coupon"] {
	background: var(--site-color-a1d799a);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 10px 24px;
	font-size: 16px;
	font-weight: 500 !important;
	font-family: var(--site-typography-primary-font-family), sans-serif;
	cursor: pointer;
	transition: opacity 0.2s;
	white-space: nowrap;
}

.checkout_coupon button[name="apply_coupon"]:hover {
	opacity: 0.88;
}

/* Métodos de pago */
#payment {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

#payment ul.wc_payment_methods {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	border: none !important;
}

#payment ul.wc_payment_methods li {
	border: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}

/* Fila: radio + label */
#payment ul.wc_payment_methods li > label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	color: var(--site-color-primary);
	cursor: pointer;
	padding: 0 0 0 25px;
}

#payment ul.wc_payment_methods li label img {
	height: 24px;
	width: auto;
}

/* Radio estilizado como cuadrado */
#payment input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	border: 2px solid var(--site-color-primary);
	background: transparent;
	cursor: pointer;
	margin: 0;
	transition: background 0.2s;
	position: absolute;
	top: 8px;
	left: 0;
}

#payment input[type="radio"]:checked {
	background: var(--site-color-primary);
}

/* Description box */
#payment .payment_box {
	background: var(--site-color-dd5d35a);
	border-radius: 8px;
	padding: 14px 20px;
	margin: 4px 0 8px;
	font-size: 16px;
	color: var(--site-color-text);
	line-height: 1.6em;
}

#payment .payment_box p {
	margin: 0;
	font-size: 16px;
}

[data-theme="dark"] .cr-cart,
[data-theme="dark"] .ck-checkout {
	background: #0e131e;
}

[data-theme="dark"] #add_payment_method #payment div.payment_box,
[data-theme="dark"] .woocommerce-cart #payment div.payment_box,
[data-theme="dark"] .woocommerce-checkout #payment div.payment_box {
	background: #192435 !important;
}

[data-theme="dark"] #add_payment_method #payment div.payment_box::before,
[data-theme="dark"] .woocommerce-cart #payment div.payment_box::before,
[data-theme="dark"] .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #192435;
}

/* Privacidad */
.woocommerce-terms-and-conditions-wrapper {
	margin-top: 24px;
	font-size: 14px;
	color: var(--site-color-accent);
	line-height: 1.6;
}

.woocommerce-terms-and-conditions-wrapper p {
	font-size: 14px;
	color: var(--site-color-accent);
}

.woocommerce-terms-and-conditions-wrapper a {
	color: var(--site-color-a1d799a);
}

/* Botón Realizar pedido */
#place_order {
	display: block !important;
	width: 100% !important;
	background: var(--site-color-a1d799a) !important;
	color: #fff !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	padding: 16px 32px !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: opacity 0.2s !important;
	margin-top: 32px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
}

#place_order:hover {
	opacity: 0.88 !important;
}

/* Responsive */
@media (max-width: 768px) {
	.woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.woocommerce-billing-fields__field-wrapper .form-row-wide {
		grid-column: span 1;
	}

	.checkout_coupon .form-row {
		flex-direction: column !important;
	}
}

.woocommerce-order section {
	padding: 0 0 30px 0 !important;
}

.woocommerce-order h2 {
	font-size: 28px !important;
}

.woocommerce-order h3 {
	font-size: 20px !important;
}

/* ================================================
   CUSTOMER DETAILS (THANK YOU PAGE)
   ================================================ */
.woocommerce-customer-details {
	margin: 32px 0;
}

.woocommerce-column__title {
	font-weight: 500;
	color: var(--site-color-primary);
	margin-bottom: 16px;
	letter-spacing: 0;
}

.woocommerce-customer-details address {
	background: #fff;
	border: 1px solid var(--site-color-debac6c) !important;
	border-width: 1px !important;
	border-radius: 8px;
	padding: 24px !important;
	font-style: normal !important;
	font-size: 16px !important;
	color: var(--site-color-text);
	line-height: 1.4em;
}

[data-theme="dark"] .woocommerce-customer-details address {
	background: #000000b5;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
	font-size: 14px;
}

.woocommerce-customer-details address a {
	color: var(--site-color-a1d799a);
	text-decoration: none;
}

.woocommerce-customer-details address a:hover {
	text-decoration: underline;
}

/* ================================================
   ORDER DETAILS (THANK YOU PAGE)
   ================================================ */
.woocommerce-order-details {
	margin: 32px 0;
}

.woocommerce-order-details__title {
	font-weight: 500;
	color: var(--site-color-primary);
	margin-bottom: 16px;
	letter-spacing: 0;
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--site-color-debac6c) !important;
	border-radius: 8px !important;
	overflow: hidden;
	padding: 24px;
}

[data-theme="dark"] .woocommerce-table--order-details {
	background: #000000b5;
}

/* Ocultar thead */
.woocommerce-table--order-details thead {
	display: none;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 14px 20px;
	font-size: 17px;
	color: var(--site-color-text);
	border: none;
	border-bottom: 1px dashed var(--site-color-debac6c);
	background: transparent;
	text-align: left;
}

.woocommerce-table--order-details td:last-child,
.woocommerce-table--order-details th:last-child {
	text-align: right;
}

/* Producto */
.woocommerce-table--order-details .product-name a {
	color: var(--site-color-primary);
	font-weight: 500;
	text-decoration: none;
}

/* Fila Total — morado */
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	color: var(--site-color-a1d799a);
	font-weight: 500;
	border-bottom: none;
}

/* Última fila sin borde */
.woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: 1px dashed var(--site-color-debac6c);
}

@media (max-width: 768px) {
	.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details,
	ul.wc-bacs-bank-details.order_details.bacs_details {
		flex-flow: column nowrap !important;
		border: none !important;
	}

	.woocommerce ul.order_details li {
		border: none !important;
	}
}

/* ================================================
   BACS BANK DETAILS
   ================================================ */
.woocommerce-bacs-bank-details {
	margin: 24px 0;
}


/* Lista de cuentas — card */
ul.wc-bacs-bank-details.order_details.bacs_details {
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 16px;
	background: #fff;
	border: 1px solid var(--site-color-debac6c);
	border-radius: 8px;
	padding: 24px;
	position: relative;
	margin: 10px 0 20px 0;
}

[data-theme="dark"] ul.wc-bacs-bank-details.order_details.bacs_details {
	background: #000000b5;
}

/* Título de la cuenta */
.wc-bacs-bank-details-heading {
	margin-bottom: 20px;
}

.wc-bacs-bank-details-account-name {
	font-weight: 500 !important;
}

/* Detalles: 2 columnas */
ul.wc-bacs-bank-details-account-details {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

ul.wc-bacs-bank-details-account-details li {
	font-size: 15px;
	color: var(--site-color-text);
	padding: 0 24px 0 0;
}

ul.wc-bacs-bank-details-account-details li + li {
	padding: 0 0 0 24px;
	border-left: 1px solid var(--site-color-debac6c);
}

/* Valores en morado */
ul.wc-bacs-bank-details-account-details li strong {
	display: block;
	color: var(--site-color-a1d799a);
	font-weight: 500;
	font-size: 18px;
	margin-top: 4px;
}

/* ================================================
   THANK YOU PAGE
   ================================================ */
.woocommerce-order .woocommerce-thankyou-order-received {
	text-align: center;
	margin: 0 0 20px 0;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
	background: #fff;
	border-radius: 8px;
	border: 1px solid var(--site-color-debac6c);
	list-style: none;
	padding: 24px;
	margin: 0 0 60px 0;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 16px 40px;
}

.woocommerce ul.order_details li {
	margin-right: 10px;
	padding-right: 10px;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-size: 14px;
	color: var(--site-color-text);
	line-height: 1em;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li strong {
	font-size: 16px;
	font-weight: 500;
	color: var(--site-color-primary);
	display: block;
	margin-top: 4px;
	line-height: 1em;
}

[data-theme="dark"] .woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
	background: #000000b5;
}

/* ================================================
   CART PAGE
   ================================================ */

/* --- Título --- */
.cr-hero__title {
	font-size: 40px;
	color: var(--site-color-primary);
	margin: 0 0 80px;
	text-align: center;
}

@media (max-width: 768px) {
	.cr-hero__title { font-size: 32px; }
}

.cr-hero__title .woocommerce-Price-amount {
	color: inherit;
}

/* --- Notices --- */
.cr-notices {
	margin-bottom: 16px;
}

ul.woocommerce-error,
div.woocommerce-message,
div.woocommerce-info {
	background: var(--site-color-primary);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 18px 24px 18px 55px;
	margin: 0 0 12px;
	list-style: none;
}

div.woocommerce-message::before {
	content: none;
}

[data-theme="dark"] ul.woocommerce-error,
[data-theme="dark"] div.woocommerce-message,
[data-theme="dark"] div.woocommerce-info {
	background: #16223d;
}

ul.woocommerce-error li,
div.woocommerce-message,
div.woocommerce-info {
	color: #fff;
}

div.woocommerce-message a,
div.woocommerce-info a,
ul.woocommerce-error a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: underline;
	font-size: 16px;
	display: inline-block;
	margin-top: 4px;
}

/* --- Cart container --- */
.cr-cart__inner {
	max-width: 760px;
}

/* --- Items --- */
.cr-items {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cr-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid var(--site-color-debac6c);
	border-radius: 8px;
}

.cr-item.cart_item {
	background: #fff !important;
	position: relative;
}

.cr-item__remove {
	position: absolute;
	top: 10px;
	right: -16px;
}

[data-theme="dark"] .cr-remove {
	background: #000000b5 !important;
}

[data-theme="dark"] .cr-item,
[data-theme="dark"] .cr-item.cart_item {
	background: #000000b5 !important;
}

.cr-item__img {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	border-radius: 8px;
	overflow: hidden;
}

.cr-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cr-item__img a {
	display: block;
	width: 100%;
	height: 100%;
}

.cr-item__name {
	flex: 1;
}

.cr-item__name h4 {
	color: var(--site-color-primary);
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3em;
	letter-spacing: 0;
	margin: 0;
}

.cr-item__name h4 a {
	color: inherit;
	text-decoration: none;
}

.cr-item__name .variation {
	color: var(--site-color-text);
	font-size: 16px;
}

.cr-item__qty p,
.cr-item__price p,
.cr-item__subtotal p {
	margin: 0;
	white-space: nowrap;
}

.cr-item__qty p {
	color: var(--site-color-text);
}

.cr-item__price p,
.cr-item__subtotal p {
	color: var(--site-color-primary);
}

.cr-item__remove {
	position: absolute;
	top: 10px;
	right: -16px;
	flex-shrink: 0;
}

.cr-remove {
	font-size: 24px;
	color: var(--site-color-accent);
	text-decoration: none;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	transition: color 0.2s, background 0.2s;
}

.cr-remove:hover {
	color: var(--site-color-primary);
	background: var(--site-color-dd5d35a);
}

/* --- Totales --- */
.cr-totals {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
}

.cr-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid var(--site-color-debac6c);
	font-size: 18px;
	color: var(--site-color-text);
}

.cr-totals__row--total {
	font-weight: 500;
	font-size: 20px;
	color: var(--site-color-primary);
}

.cr-totals__row--total .woocommerce-Price-amount {
	color: var(--site-color-primary);
}

/* --- Botón checkout --- */
.cr-checkout {
	display: block;
	text-align: center;
	background: var(--site-color-a1d799a);
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	padding: 16px 32px;
	border-radius: 8px;
	text-decoration: none;
	margin-top: 32px;
	transition: opacity 0.2s;
}

.cr-checkout:hover {
	color: #fff;
	opacity: 0.88;
}

/* --- Nota cupón --- */
.cr-coupon-note {
	text-align: center;
	margin-top: 16px;
	font-size: 16px !important;
	color: var(--site-color-text);
}

/* --- Carrito vacío --- */
.cr-empty__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	text-align: center;
	padding: 60px 30px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	.cr-hero {
		padding: 40px 0 24px !important;
	}

	.cr-item {
		flex-wrap: wrap;
		gap: 12px;
	}

	.cr-item__img {
		width: 60px;
		height: 60px;
	}

	.cr-item__price {
		display: none;
	}
}

/* ================================================
   LOGIN / REGISTRO
   ================================================ */
.ma-auth {
	min-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 0;
}

.ma-auth__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	max-width: 800px !important;
	width: 100%;
}

.ma-auth__box {
	width: 100%;
}

/* Paneles login / registro */
.auth-wrap {
	width: 100%;
}

.auth-panel__title {
	margin: 0 0 32px;
	text-align: center;
}

/* Hereda estilos de formularios existentes */
.auth-form .form-row {
	display: flex;
	flex-direction: column;
	padding: 8px 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

.auth-form .form-row label {
	font-size: 13px;
	color: var(--site-color-primary) !important;
	font-weight: 400;
	margin-bottom: 2px;
}

.auth-form .form-row .input-text {
	border: none !important;
	border-bottom: 1px solid var(--site-color-primary) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 8px 0 !important;
	width: 100% !important;
	font-size: 18px !important;
	font-family: var(--site-typography-primary-font-family), sans-serif !important;
	color: var(--site-color-primary) !important;
	outline: none !important;
	height: auto !important;
}

.auth-form__actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px !important;
}

.auth-btn {
	align-self: center;
}

.auth-form__note {
	font-size: 14px;
	color: var(--site-color-accent);
	margin: 8px 0;
}

.lost_password {
	margin-top: 12px !important;
	font-size: 14px;
	text-align: center;
}

.lost_password a {
	color: var(--site-color-accent);
	text-decoration: none;
}

.auth-switch {
	margin-top: 24px;
	text-align: center;
	font-size: 14px;
	color: var(--site-color-primary);
}

.auth-switch__link {
	color: var(--site-color-accent);
	text-decoration: underline !important;
	font-weight: 400;
}

.auth-switch__link:hover {
	text-decoration: underline;
}

.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
	font-size: 14px;
}

@media (max-width: 768px) {
	.auth-panel__title {
		font-size: 22px;
	}
}


/* ================================================
   NUEVA PLANTILLA DE TIENDA — tienda-invitaciones.php
   Bloques por tipo de evento (Bodas, Corporativo) con
   sus planes Express / Exclusive.
   ================================================ */

/* la regla global section{padding:70px 0 !important} obliga al !important */
.ti-evento {
	padding-top: 0 !important;
}

.ti-evento__inner {
	max-width: 1000px;
}

.ti-evento__header {
	text-align: center;
	margin-bottom: 40px;
}

/* solo separacion: el tamano y el color los da el h2 global */
.ti-evento__title {
	margin-top: 14px;
}

.ti-evento__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	align-items: stretch;
}

.ti-plan {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 34px 30px;
}

/* ---- Presentacion de la seccion: tablet + movil ----
   Introduce las dos tarjetas: el panel donde se edita la invitacion y
   como se ve en el telefono. Se recorta abajo con un desvanecido. */
.ti-showcase {
	position: relative;
	width: 100%;
	max-width: 720px;
	margin: 0 auto 36px;
	/* alto suficiente para que el movil entre completo:
	   mide 27% del ancho y su alto es 2.17 veces su ancho */
	aspect-ratio: 3 / 2;
}

.ti-showcase__tablet {
	position: absolute;
	top: 0;
	left: 0;
	width: 84%;
	padding: 5px;
	border-radius: 16px;
	background: #14131A;
	box-shadow: 0 0 0 3px #D9D2F0, 0 18px 40px rgba(20, 30, 60, .18);
}

.ti-showcase__tablet-img {
	display: block;
	width: 100%;
	height: auto;          /* respeta la proporcion del panel */
	border-radius: 12px;
}

/* el movil se apoya en la esquina inferior derecha de la tablet */
.ti-showcase__phone {
	position: absolute;
	right: 0;
	top: 8%;
	/* sin alto fijo: el marco se adapta a la portada */
	width: 27%;
	padding: 4px;
	box-sizing: border-box;
	border-radius: 26px;
	background: #14131A;
	box-shadow: 0 0 0 4px #D9D2F0, 0 18px 36px rgba(20, 30, 60, .22);
	z-index: 2;
}

.ti-showcase__lente {
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #14131A;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, .35);
	z-index: 2;
}

.ti-showcase__phone-img {
	display: block;
	width: 100%;
	height: auto;          /* el alto lo define la imagen */
	border-radius: 22px;
}

/* ---- Cabecera de la tarjeta: icono junto al titulo ---- */
.ti-plan__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

/* la bajada se alinea con el titulo, no con el icono */
.ti-plan__titulos {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

/* ---- Pie: boton y precio en la misma linea ---- */
.ti-plan__footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: auto;      /* empuja el pie al fondo de la tarjeta */
	padding-top: 20px;
	border-top: 1px dashed var(--site-color-debac6c);
}

.ti-plan__footer .ti-plan__price {
	margin: 0;
}

/* ---- Icono de cada plan ---- */
.ti-plan__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--site-color-a1d799a) 12%, transparent);
	color: var(--site-color-a1d799a);
	flex-shrink: 0;
}

.ti-plan__icono svg {
	width: 24px;
	height: 24px;
}

/* el badge es inline-block: dentro del flex de la tarjeta no debe estirarse */
.ti-plan > .ti-product__badge {
	align-self: flex-start;
}

/* bajada bajo el titulo: usa la clase .bajada global, aqui solo el margen */
.ti-plan__bajada {
	margin: -6px 0 0;
}

.ti-plan__name {
	font-size: 26px;
	line-height: 1.15;
	margin: 0;
	color: var(--site-color-primary);
}

.ti-plan__price {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	color: var(--site-color-a1d799a);
}

.ti-plan__price del {
	opacity: .55;
	font-weight: 400;
	margin-right: 6px;
}

.ti-plan__btn {
	align-self: flex-start;
}

@media (max-width: 768px) {
	/* apilados: tablet arriba a todo el ancho y el movil centrado
	   debajo, pisandola ligeramente */
	.ti-showcase {
		aspect-ratio: 20 / 25;
	}
	.ti-showcase__tablet {
		width: 100%;
	}
	.ti-showcase__phone {
		width: 42%;
		top: 27%;                    /* arranca sobre el borde de la tablet */
		right: auto;
		left: 50%;
		transform: translateX(-50%); /* centrado */
	}

	.ti-evento__grid {
		grid-template-columns: 1fr;
	}
	.ti-plan {
		padding: 26px 22px;
	}
	.ti-plan__name {
		font-size: 22px;
	}
}
