/* ==========================================================================
   Sigillum · Carrito, checkout y Mi cuenta
   Bloques de WooCommerce (carrito y checkout) y formularios clásicos de
   Mi cuenta sobre fondo oscuro. `.wc-page` sube la especificidad sobre el CSS
   de los bloques sin recurrir a !important; `.wc-page.wc-page` duplica la clase
   a propósito para ganar un nivel más.
   Stripe calcula la apariencia de su formulario a partir de estos campos.
   ========================================================================== */

.wc-page {
	--field-bg: var(--sig-graphite);
	--field-border: rgba(232, 229, 223, 0.22);
}

.wc-page.wc-page .wp-block-woocommerce-cart,
.wc-page.wc-page .wp-block-woocommerce-checkout {
	margin: 0;
	max-width: none;
}

.wc-page.wc-page a {
	color: var(--sig-ivory);
	text-decoration-color: var(--sig-rule-gold);
}

.wc-page.wc-page a:hover {
	color: var(--sig-gold);
}

/* ---------- Títulos y paneles ---------- */

.wc-page.wc-page .wc-block-components-title,
.wc-page.wc-page .wc-block-components-checkout-step__title,
.wc-page.wc-page .wc-block-cart__totals-title,
.wc-page.wc-page .wc-block-components-checkout-order-summary__title-text,
.wc-page.wc-page .woocommerce-MyAccount-content h2,
.wc-page.wc-page .woocommerce-column__title,
.wc-page.wc-page .u-column1 > h2,
.wc-page.wc-page .u-column2 > h2 {
	font-family: var(--font-display);
	font-size: var(--step-1);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--sig-ivory);
}

.wc-page.wc-page .wc-block-cart__totals-title {
	font-size: var(--step--2);
	font-family: var(--font-sans);
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	color: var(--sig-muted);
}

.wc-page.wc-page .wc-block-components-checkout-step__description,
.wc-page.wc-page .wc-block-components-totals-item__description,
.wc-page.wc-page .wc-block-checkout__guest-checkout-notice,
.wc-page.wc-page .wc-block-components-product-metadata,
.wc-page.wc-page .wc-block-components-radio-control__secondary-label,
.wc-page.wc-page .wc-block-components-radio-control__description {
	color: var(--sig-muted);
}

.wc-page.wc-page .wc-block-components-panel__button,
.wc-page.wc-page .wc-block-components-checkout-order-summary__title {
	color: var(--sig-ivory);
	font-size: var(--step--1);
}

/* Sidebar del resumen */
.wc-page.wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-page.wc-page .wc-block-components-totals-wrapper,
.wc-page.wc-page .wc-block-components-checkout-order-summary__content,
.wc-page.wc-page .wc-block-components-panel,
.wc-page.wc-page .wc-block-cart-items,
.wc-page.wc-page .wc-block-cart-items__row,
.wc-page.wc-page .wc-block-cart-items__header {
	border-color: var(--sig-rule-light);
}

.wc-page.wc-page .wc-block-checkout__sidebar,
.wc-page.wc-page .wc-block-cart__sidebar {
	align-self: start;
}

@media (min-width: 900px) {
	.wc-page .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
	.wc-page.wc-page .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block {
		padding: var(--space-5);
		background: var(--sig-charcoal);
		border: var(--border-hair) solid var(--sig-rule-light);
	}
}

.wc-page.wc-page .wc-block-cart-items__header {
	font-size: var(--step--2);
	letter-spacing: var(--track-caps);
	color: var(--sig-muted);
}

/* ---------- Productos en carrito y resumen ---------- */

.wc-page.wc-page .wc-block-components-product-name {
	font-family: var(--font-display);
	font-size: var(--step-1);
	line-height: var(--leading-snug);
	color: var(--sig-ivory);
	text-decoration: none;
}

.wc-page.wc-page .wc-block-cart-item__image img,
.wc-page.wc-page .wc-block-components-order-summary-item__image img {
	background: var(--sig-white);
}

.wc-page.wc-page .wc-block-components-order-summary-item__quantity {
	background: var(--sig-gold);
	border-color: var(--sig-charcoal);
	color: var(--sig-black);
	box-shadow: none;
}

.wc-page.wc-page .wc-block-components-quantity-selector {
	border-color: var(--field-border);
	border-radius: var(--radius-control);
}

.wc-page.wc-page .wc-block-components-quantity-selector::after {
	border-color: var(--field-border);
}

.wc-page.wc-page .wc-block-components-quantity-selector__input,
.wc-page.wc-page .wc-block-components-quantity-selector__button {
	color: var(--sig-ivory);
}

.wc-page.wc-page .wc-block-cart-item__remove-link {
	color: var(--sig-muted);
}

.wc-page.wc-page .wc-block-cart-item__remove-link:hover {
	color: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-page.wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--font-display);
	font-size: var(--step-2);
	font-weight: 500;
}

/* ---------- Campos ---------- */

.wc-page.wc-page .wc-block-components-text-input input[type],
.wc-page.wc-page .wc-block-components-text-input textarea,
.wc-page.wc-page .wc-block-components-textarea,
.wc-page.wc-page .wc-blocks-components-select .wc-blocks-components-select__select,
.wc-page.wc-page .wc-block-components-combobox .components-combobox-control input,
.wc-page.wc-page .woocommerce-Input,
.wc-page.wc-page .woocommerce-form .input-text,
.wc-page.wc-page .woocommerce-address-fields .input-text,
.wc-page.wc-page select {
	background-color: var(--field-bg);
	border: var(--border-hair) solid var(--field-border);
	border-radius: var(--radius-control);
	color: var(--sig-ivory);
	box-shadow: none;
}

.wc-page.wc-page .wc-blocks-components-select .wc-blocks-components-select__container {
	background: var(--field-bg);
	border-radius: var(--radius-control);
}

.wc-page.wc-page .wc-block-components-text-input input[type]:focus,
.wc-page.wc-page .wc-block-components-textarea:focus,
.wc-page.wc-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-page.wc-page .woocommerce-Input:focus,
.wc-page.wc-page .woocommerce-form .input-text:focus,
.wc-page.wc-page select:focus {
	border-color: var(--sig-gold);
	outline: 1px solid var(--sig-gold);
	outline-offset: 0;
}

.wc-page.wc-page .wc-block-components-text-input label,
.wc-page.wc-page .wc-blocks-components-select .wc-blocks-components-select__label,
.wc-page.wc-page .woocommerce-form label,
.wc-page.wc-page .woocommerce-address-fields label {
	color: var(--sig-muted);
}

.wc-page.wc-page .wc-blocks-components-select .wc-blocks-components-select__expand {
	fill: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-text-input input:-webkit-autofill {
	-webkit-text-fill-color: var(--sig-ivory);
	box-shadow: 0 0 0 1000px var(--field-bg) inset;
}

/* Errores de validación: texto + borde (no solo color) */
.wc-page.wc-page .wc-block-components-validation-error,
.wc-page.wc-page .has-error label {
	color: #e0837c;
}

.wc-page.wc-page .has-error input,
.wc-page.wc-page .has-error select {
	border-color: #e0837c;
}

/* ---------- Casillas y radios ---------- */

.wc-page.wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-page.wc-page .wc-block-components-radio-control .wc-block-components-radio-control__input {
	background: var(--field-bg);
	border: var(--border-hair) solid var(--sig-muted);
}

.wc-page.wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--sig-gold);
	border-color: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--sig-black);
}

.wc-page.wc-page .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border-color: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option,
.wc-page.wc-page .wc-block-components-radio-control-accordion-option {
	box-shadow: none;
	border-color: var(--sig-rule-light);
}

.wc-page.wc-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wc-page.wc-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1px var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--sig-rule-light);
}

/* ---------- Botones ---------- */

.wc-page.wc-page .wc-block-components-button:not(.is-link),
.wc-page.wc-page .woocommerce-button,
.wc-page.wc-page .woocommerce-Button,
.wc-page.wc-page .woocommerce-form button[type="submit"],
.wc-page.wc-page .woocommerce-address-fields button[type="submit"],
.wc-page.wc-page .woocommerce-orders-table .button {
	min-height: 52px;
	padding: 0 var(--space-6);
	background: var(--sig-ivory);
	border: var(--border-hair) solid var(--sig-ivory);
	border-radius: var(--radius-control);
	color: var(--sig-black);
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: var(--track-eyebrow);
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--dur-base) var(--ease);
}

.wc-page.wc-page .wc-block-components-button:not(.is-link):hover,
.wc-page.wc-page .woocommerce-button:hover,
.wc-page.wc-page .woocommerce-Button:hover,
.wc-page.wc-page .woocommerce-form button[type="submit"]:hover {
	background: var(--sig-white);
	color: var(--sig-black);
}

.wc-page.wc-page .wc-block-components-button:not(.is-link):disabled {
	opacity: 0.5;
}

.wc-page.wc-page .wc-block-components-totals-coupon .wc-block-components-button {
	min-height: 48px;
	padding: 0 var(--space-4);
	background: transparent;
	border-color: var(--sig-gold);
	color: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-button.is-link,
.wc-page.wc-page .wc-block-components-address-card__edit,
.wc-page.wc-page .wc-block-checkout__login-prompt {
	color: var(--sig-gold);
}

.wc-page.wc-page .wc-block-components-express-payment-continue-rule {
	color: var(--sig-muted);
}

.wc-page.wc-page .wc-block-components-express-payment-continue-rule::before,
.wc-page.wc-page .wc-block-components-express-payment-continue-rule::after {
	border-color: var(--sig-rule-light);
}

.wc-page.wc-page .wc-block-components-express-payment__title-container::before,
.wc-page.wc-page .wc-block-components-express-payment__title-container::after,
.wc-page.wc-page .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
	border-color: var(--sig-rule-light);
}

/* Carga (skeleton) sobre oscuro */
.wc-page.wc-page .wc-block-components-skeleton__element {
	background: var(--sig-graphite);
}

.wc-page.wc-page .wc-block-components-address-card {
	border-color: var(--sig-rule-light);
}

/* ---------- Pedido recibido ---------- */

.wc-page.wc-page .woocommerce-order-overview,
.wc-page.wc-page .wc-block-order-confirmation-summary-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4) var(--space-7);
	margin: var(--space-6) 0;
	padding: var(--space-5) 0;
	border-block: var(--border-hair) solid var(--sig-rule-light);
	list-style: none;
}

.wc-page.wc-page .woocommerce-order-overview li,
.wc-page.wc-page .wc-block-order-confirmation-summary-list-item {
	font-size: var(--step--2);
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	color: var(--sig-muted);
}

.wc-page.wc-page .woocommerce-order-overview strong,
.wc-page.wc-page .wc-block-order-confirmation-summary-list-item__value {
	display: block;
	margin-top: var(--space-1);
	font-size: var(--step-0);
	letter-spacing: 0;
	text-transform: none;
	color: var(--sig-ivory);
}

.wc-page.wc-page table.shop_table,
.wc-page.wc-page table.woocommerce-table,
.wc-page.wc-page .wc-block-order-confirmation-totals table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--step--1);
}

.wc-page.wc-page table.shop_table th,
.wc-page.wc-page table.shop_table td,
.wc-page.wc-page table.woocommerce-table th,
.wc-page.wc-page table.woocommerce-table td,
.wc-page.wc-page .wc-block-order-confirmation-totals th,
.wc-page.wc-page .wc-block-order-confirmation-totals td {
	padding: var(--space-3) var(--space-3) var(--space-3) 0;
	border-bottom: var(--border-hair) solid var(--sig-rule-light);
	text-align: left;
	vertical-align: top;
}

/* ---------- Mi cuenta ---------- */

.wc-page.wc-page .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	gap: var(--space-7);
}

@media (min-width: 900px) {
	.wc-page .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 15rem minmax(0, 1fr);
	}
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--border-hair) solid var(--sig-rule-light);
}

.woocommerce-MyAccount-navigation li {
	border-bottom: var(--border-hair) solid var(--sig-rule-light);
}

.wc-page.wc-page .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 48px;
	font-size: var(--step--2);
	font-weight: var(--weight-ui);
	letter-spacing: var(--track-caps);
	text-decoration: none;
	text-transform: uppercase;
}

.wc-page.wc-page .woocommerce-MyAccount-navigation .is-active a {
	color: var(--sig-gold);
}

.woocommerce-MyAccount-content > * + * {
	margin-top: var(--space-4);
}

/* Acceso y registro (formularios clásicos) */
.wc-page.wc-page .u-columns.col2-set {
	display: grid;
	gap: var(--space-8);
}

@media (min-width: 900px) {
	.wc-page .u-columns.col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.wc-page.wc-page .woocommerce-form,
.wc-page.wc-page .woocommerce-address-fields,
.wc-page.wc-page .woocommerce-EditAccountForm {
	display: grid;
	gap: var(--space-4);
	max-width: 32rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.wc-page.wc-page .woocommerce-form-row,
.wc-page.wc-page .form-row {
	display: grid;
	gap: var(--space-2);
	margin: 0;
}

.wc-page.wc-page .woocommerce-Input,
.wc-page.wc-page .woocommerce-form .input-text,
.wc-page.wc-page .woocommerce-address-fields .input-text {
	width: 100%;
	min-height: 48px;
	padding: 0 var(--space-4);
}

.wc-page.wc-page .woocommerce-form-login__rememberme,
.wc-page.wc-page .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--step--1);
}

.wc-page.wc-page .woocommerce-LostPassword,
.wc-page.wc-page .woocommerce-privacy-policy-text {
	font-size: var(--step--1);
	color: var(--sig-muted);
}

.wc-page.wc-page .required {
	color: var(--sig-gold);
	text-decoration: none;
}

.wc-page.wc-page .password-input {
	position: relative;
	display: block;
}

.wc-page.wc-page .show-password-input {
	position: absolute;
	top: 50%;
	right: var(--space-3);
	width: 28px;
	height: 28px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--sig-muted);
	transform: translateY(-50%);
	cursor: pointer;
}

.wc-page.wc-page .show-password-input::after {
	content: "👁";
	font-size: 14px;
	filter: grayscale(1);
}

.wc-page.wc-page .u-column1 > h2,
.wc-page.wc-page .u-column2 > h2 {
	margin-bottom: var(--space-5);
}

/* Direcciones en pedido recibido y Mi cuenta */
.wc-page.wc-page .woocommerce-customer-details,
.wc-page.wc-page .woocommerce-order-details {
	margin-top: var(--space-7);
}

.wc-page.wc-page .woocommerce-columns--addresses {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 700px) {
	.wc-page.wc-page .woocommerce-columns--addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.wc-page.wc-page .woocommerce-column__title {
	margin-bottom: var(--space-3);
}

.wc-page.wc-page address {
	padding: var(--space-4) var(--space-5);
	border: var(--border-hair) solid var(--sig-rule-light);
	font-style: normal;
	font-size: var(--step--1);
	line-height: 1.7;
	color: var(--sig-muted);
}

.wc-page.wc-page .woocommerce-thankyou-order-received {
	font-family: var(--font-display);
	font-size: var(--step-1);
}

/* Carrito vacío: aire entre "New in store" y la cuadrícula de productos */
.wc-page.wc-page .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	margin-bottom: var(--space-7); /* 48px */
}
