/* =========================================================
   Mi cuenta · Una Vida de Luz
   Menú horizontal en botones + contenido en tarjeta
   ========================================================= */
.woocommerce-account {
	--c-papel: #F0EAE0; --c-papel-2: #e8dfd2; --c-arena: #c4b49a; --c-marron: #7e6346; --c-oscuro: #4a3728; --c-dorado: #C9A96E;
	--c-line: rgba(126, 99, 70, .2);
	--c-ui: Quicksand, system-ui, -apple-system, sans-serif;
	--c-title: "Playfair Display", Georgia, serif;
	--c-body: "Cormorant Garamond", Georgia, serif;
}

/* Título de la página */
.woocommerce-account .wp-block-post-title {
	text-align: center; font-size: clamp(1.9rem, 5vw, 2.6rem) !important;
	margin: 0 auto 1.25rem !important; padding-top: clamp(.5rem, 2vw, 1.5rem);
}

/* Contenedor: ancho cómodo y una sola columna */
.woocommerce-account .woocommerce:not(.wc-block-store-notices) {
	max-width: 1040px !important; width: 100%; margin: 0 auto 5rem !important;
	display: block !important; font-family: var(--c-body); color: var(--c-oscuro);
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { display: none !important; }

/* ---------- Menú: botones horizontales ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important; width: auto !important; margin: 0 0 1.5rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem;
	background: none !important; border: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li::before,
.woocommerce-account .woocommerce-MyAccount-navigation li::marker { content: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: inline-flex; align-items: center; min-height: 42px; padding: .55em 1.25em !important; line-height: 1.2 !important;
	background: #fff; border: 1px solid var(--c-line); border-radius: 999px;
	font-family: var(--c-ui) !important; font-size: .82rem !important; font-weight: 600; letter-spacing: .04em;
	color: var(--c-oscuro) !important; text-decoration: none !important; white-space: nowrap;
	transition: background .2s, border-color .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color: var(--c-dorado); background: var(--c-papel); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--c-oscuro); border-color: var(--c-oscuro); color: var(--c-papel) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	background: transparent; border-color: transparent; color: var(--c-marron) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: transparent; text-decoration: underline !important; }

/* ---------- Contenido en tarjeta ---------- */
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important; width: auto !important; min-width: 0;
	background: #fff; border: 1px solid var(--c-line); border-radius: 20px;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	font-size: 1.12rem; line-height: 1.6;
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend {
	font-family: var(--c-title); font-weight: 400; color: var(--c-oscuro); font-size: 1.5rem; line-height: 1.2; margin: 0 0 1rem;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.uvdl-btn):not(.uvdl-card) { color: var(--c-marron); text-underline-offset: 3px; }

/* Formularios */
.woocommerce-account form .form-row { margin: 0 0 1.1rem !important; padding: 0 !important; }
.woocommerce-account form .form-row-first,
.woocommerce-account form .form-row-last { width: calc(50% - .6rem) !important; }
.woocommerce-account form .form-row label {
	display: block; font-family: var(--c-ui); font-size: .8rem; font-weight: 600; letter-spacing: .03em; color: var(--c-marron); margin-bottom: .35rem; line-height: 1.3;
}
.woocommerce-account form .form-row .required { color: var(--c-dorado); text-decoration: none; }
.woocommerce-account form input.input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select,
.woocommerce-account form textarea {
	width: 100% !important; min-height: 48px; padding: .7rem 1rem !important;
	font-family: var(--c-ui) !important; font-size: 1rem !important; color: var(--c-oscuro) !important;
	background: var(--c-papel) !important; border: 1px solid transparent !important; border-radius: 12px !important; box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
	outline: none; background: #fff !important; border-color: var(--c-dorado) !important; box-shadow: 0 0 0 3px rgba(201, 169, 110, .25) !important;
}
.woocommerce-account form .password-input { display: block; position: relative; }
.woocommerce-account form .show-password-input { top: 50% !important; transform: translateY(-50%); right: .9rem !important; }
.woocommerce-account form em,
.woocommerce-account form .description { display: block; font-family: var(--c-ui); font-size: .78rem; font-style: normal; color: var(--c-marron); margin-top: .35rem; }
.woocommerce-account fieldset { border: 0; border-top: 1px solid var(--c-line); border-radius: 0; padding: 1.4rem 0 .2rem; margin: 1.8rem 0 1rem; min-width: 0; }
.woocommerce-account fieldset legend { float: left; width: 100%; font-size: 1.25rem; padding: 0; margin: 0 0 1rem; }
.woocommerce-account fieldset legend + * { clear: both; }
.woocommerce-account .clear { clear: both; }

/* Botones */
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button[type="submit"] {
	display: inline-flex !important; align-items: center; justify-content: center; min-height: 46px;
	background: var(--c-oscuro) !important; color: var(--c-papel) !important; border: 0 !important; border-radius: 999px !important;
	padding: .75em 1.8em !important; font-family: var(--c-ui) !important; font-size: .8rem !important; font-weight: 600 !important;
	letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; line-height: 1.2 !important;
}
.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce button[type="submit"]:hover { background: var(--c-dorado) !important; color: var(--c-oscuro) !important; }

/* Tabla de pedidos */
.woocommerce-account table.shop_table {
	width: 100%; border: 1px solid var(--c-line) !important; border-radius: 14px !important; border-collapse: separate !important; border-spacing: 0; overflow: hidden; margin: 0 0 1rem;
	font-family: var(--c-ui); font-size: .9rem;
}
.woocommerce-account table.shop_table th {
	background: var(--c-papel); font-weight: 600; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--c-marron); padding: .9rem 1rem !important; border: 0 !important; text-align: left;
}
.woocommerce-account table.shop_table td { padding: .9rem 1rem !important; border: 0 !important; border-top: 1px solid var(--c-line) !important; vertical-align: middle; }
.woocommerce-account table.shop_table .button { min-height: 36px; padding: .45em 1.1em !important; font-size: .72rem !important; margin: .15rem .25rem .15rem 0; }
.woocommerce-account mark { background: var(--c-papel); color: var(--c-oscuro); padding: .1em .4em; border-radius: 6px; }

/* Avisos */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .wc-block-components-notice-banner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem;
	background: var(--c-papel) !important; border: 1px solid var(--c-line) !important; border-left: 3px solid var(--c-dorado) !important; border-radius: 12px !important;
	padding: 1rem 1.2rem !important; margin: 0 0 1.4rem !important; font-family: var(--c-ui); font-size: .92rem; color: var(--c-oscuro) !important; list-style: none;
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before { display: none !important; }
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button { order: 2; float: none !important; }

/* Avisos de bloque (WooCommerce nuevo): ícono + texto + botón chico */
.woocommerce-account .wc-block-components-notice-banner { align-items: flex-start !important; flex-wrap: nowrap !important; justify-content: flex-start !important; }
.woocommerce-account .wc-block-components-notice-banner > svg {
	flex: none; width: 22px !important; height: 22px !important; padding: 3px; margin-top: .1rem;
	background: var(--c-dorado) !important; fill: #fff !important; border-radius: 50%;
}
.woocommerce-account .wc-block-components-notice-banner__content {
	flex: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; min-width: 0;
}
.woocommerce-account .wc-block-components-notice-banner__content .button,
.woocommerce-account .wc-block-components-notice-banner__content .wc-forward {
	order: 2; float: none !important; opacity: 1 !important; margin: 0 !important;
	min-height: 36px !important; padding: .45em 1.1em !important; font-size: .7rem !important; white-space: normal; text-align: center; max-width: 100%;
	background: transparent !important; color: var(--c-oscuro) !important; border: 1px solid var(--c-oscuro) !important;
}
.woocommerce-account .wc-block-components-notice-banner__content .button:hover { background: var(--c-oscuro) !important; color: var(--c-papel) !important; }

/* Direcciones */
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; border: 1px solid var(--c-line); border-radius: 16px; padding: 1.2rem; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 1.2rem; }
.woocommerce-account address { font-style: normal; line-height: 1.6; }

/* ---------- Login / registro (sin sesión) ---------- */
.woocommerce-account:not(.logged-in) .woocommerce:not(.wc-block-store-notices) { max-width: 920px !important; }
.woocommerce-account .u-columns.col2-set { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1.4rem; }
.woocommerce-account .u-columns.col2-set::before, .woocommerce-account .u-columns.col2-set::after { display: none !important; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none !important; width: auto !important; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
	background: #fff; border: 1px solid var(--c-line) !important; border-radius: 20px !important; padding: clamp(1.25rem, 4vw, 2rem) !important; margin: 0 !important;
}
.woocommerce-account .u-columns h2 { font-family: var(--c-title); font-weight: 400; font-size: 1.6rem; margin: 0 0 1rem; text-align: center; }
.woocommerce-account .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: .5rem; font-family: var(--c-ui); font-size: .85rem; margin: 0 0 1rem; }
.woocommerce-account .woocommerce-form-login .button { width: 100%; }
.woocommerce-account .lost_password { font-family: var(--c-ui); font-size: .85rem; text-align: center; margin: 1rem 0 0; }

/* ---------- Escritorio (inicio de la cuenta) ---------- */
.uvdl-dash { display: grid; gap: 1.6rem; }
.uvdl-dash__hello .uvdl-dash__eyebrow { font-family: var(--c-ui); font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--c-marron); margin: 0 0 .4rem; }
.uvdl-dash__hello h2 { font-size: clamp(1.7rem, 4vw, 2.2rem) !important; margin: 0 0 .3rem !important; }
.uvdl-dash__hello p { margin: 0; }
.uvdl-dash__resume {
	display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; gap: 1.2rem; align-items: center;
	background: var(--c-papel); border-radius: 16px; padding: 1rem; text-decoration: none !important; color: var(--c-oscuro) !important;
}
.uvdl-dash__resume-img { aspect-ratio: 16 / 10; border-radius: 10px; background: radial-gradient(ellipse at 70% 30%, rgba(201, 169, 110, .55), transparent 60%), var(--c-papel-2) center / cover no-repeat; }
.uvdl-dash__resume small { display: block; font-family: var(--c-ui); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--c-marron); }
.uvdl-dash__resume strong { display: block; font-family: var(--c-title); font-weight: 400; font-size: 1.25rem; line-height: 1.25; margin: .2rem 0 .5rem; }
.uvdl-dash__bar { height: 6px; background: rgba(196, 180, 154, .45); border-radius: 99px; overflow: hidden; max-width: 320px; }
.uvdl-dash__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--c-marron), var(--c-dorado)); }
.uvdl-dash__go { display: inline-flex; align-items: center; min-height: 44px; padding: .6em 1.4em; background: var(--c-oscuro); color: var(--c-papel); border-radius: 999px; font-family: var(--c-ui); font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.uvdl-dash__resume:hover .uvdl-dash__go { background: var(--c-dorado); color: var(--c-oscuro); }
.uvdl-dash__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.uvdl-dash__card {
	display: grid; gap: .25rem; padding: 1.2rem; border: 1px solid var(--c-line); border-radius: 16px;
	text-decoration: none !important; color: var(--c-oscuro) !important; transition: border-color .2s, transform .2s;
}
.uvdl-dash__card:hover { border-color: var(--c-dorado); transform: translateY(-2px); }
.uvdl-dash__card svg { width: 1.6rem; height: 1.6rem; color: var(--c-dorado); margin-bottom: .4rem; }
.uvdl-dash__card strong { font-family: var(--c-title); font-weight: 400; font-size: 1.2rem; }
.uvdl-dash__card span { font-family: var(--c-ui); font-size: .8rem; color: var(--c-marron); }

/* ---------- Responsive ---------- */
@media (max-width: 782px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 -1rem 1.2rem !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none;
		padding: .2rem 1rem .4rem !important; scroll-snap-type: x proximity;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { scroll-snap-align: start; flex: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 38px; padding: .45em 1.05em; font-size: .78rem !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::after { content: ""; flex: 0 0 .5rem; }
	.woocommerce-account .woocommerce-MyAccount-content { border-radius: 16px; font-size: 1.05rem; }
	.woocommerce-account form .form-row-first,
	.woocommerce-account form .form-row-last { width: 100% !important; float: none !important; }

	/* Pedidos como tarjetas en móvil */
	.woocommerce-account table.shop_table_responsive thead { display: none; }
	.woocommerce-account table.shop_table_responsive,
	.woocommerce-account table.shop_table_responsive tbody { display: block; border: 0 !important; }
	.woocommerce-account table.shop_table_responsive tr { display: block; border: 1px solid var(--c-line); border-radius: 14px; margin-bottom: .8rem; overflow: hidden; }
	.woocommerce-account table.shop_table_responsive td { display: flex !important; justify-content: space-between; gap: 1rem; text-align: right !important; border-top: 1px solid var(--c-line) !important; }
	.woocommerce-account table.shop_table_responsive tr td:first-child { border-top: 0 !important; background: var(--c-papel); }
	.woocommerce-account table.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; color: var(--c-marron); text-align: left; float: none !important; }
	.woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions { justify-content: flex-end; }
	.woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before { display: none; }

	.uvdl-dash__grid { grid-template-columns: 1fr; }
	.uvdl-dash__card { grid-template-columns: auto 1fr; column-gap: .9rem; align-items: center; }
	.uvdl-dash__card svg { grid-row: span 2; margin: 0; }
	.uvdl-dash__resume { grid-template-columns: 96px minmax(0, 1fr); }
	.uvdl-dash__go { grid-column: 1 / -1; justify-content: center; }
}

/* Si la página Mi cuenta se arma con Elementor: el bloque de la cuenta queda centrado y con aire */
.woocommerce-account .elementor-widget .woocommerce:not(.wc-block-store-notices) { padding: 0 clamp(1rem, 4vw, 1.5rem); box-sizing: border-box; }
.woocommerce-account .woocommerce-MyAccount-navigation br,
.woocommerce-account .woocommerce-MyAccount-content .uvdl-card br { display: none; }
