/* D'Shop — Mi cuenta */

.cuenta-pagina { padding: 48px var(--gutter) 96px; }
.cuenta-cabecera { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-4); flex-wrap: wrap; }
.cuenta-cabecera__kicker { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-suave); }
.cuenta-cabecera h1 { margin: 0; font-size: clamp(40px, 4vw, 56px); line-height: 1.04; }
.cuenta-cabecera__salir, .enlace-mayus { font-size: 13px; font-weight: 600; color: var(--tinta); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
.cuenta-avisos { margin-top: var(--space-4); max-width: 640px; }
.cuenta-avisos:empty { display: none; }

.cuenta-cuerpo { display: flex; gap: 56px; align-items: flex-start; padding-top: 40px; }
.cuenta-menu { flex: none; width: 220px; display: flex; flex-direction: column; border-top: 1px solid var(--linea); }
.cuenta-menu a { padding: 15px 14px; border-bottom: 1px solid var(--linea); border-left: 3px solid transparent; color: var(--tinta); font-size: 15px; font-weight: 500; text-decoration: none; }
.cuenta-menu a:hover { background: var(--fondo-suave); }
.cuenta-menu a[aria-current="page"] { border-left-color: var(--morado); color: var(--morado); font-weight: 700; }
.cuenta-contenido { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 72px; }

.cuenta-seccion { display: flex; flex-direction: column; gap: 24px; scroll-margin-top: var(--space-4); }
.cuenta-seccion__cabecera { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding-bottom: 14px; border-bottom: 1px solid var(--linea); }
.cuenta-seccion__cabecera h2 { margin: 0; font-size: 34px; font-weight: 700; line-height: 1.1; }
.cuenta-seccion__cuenta { font: 500 15px var(--font-sans); color: var(--tinta-suave); }
.cuenta-seccion__cabecera--pestanas { align-items: flex-end; padding-bottom: 0; }
.cuenta-seccion__cabecera--pestanas h2 { margin-bottom: 14px; }

.pestanas { display: flex; gap: 28px; }
.pestanas button { padding: 0 0 14px; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font: 600 15px var(--font-sans); color: var(--tinta-suave); cursor: pointer; }
.pestanas button:hover { color: var(--tinta); }
.pestanas button[aria-selected="true"] { color: var(--tinta); border-bottom-color: var(--tinta); }

/* Lista de deseos */
.deseos-rejilla { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.deseo { display: flex; flex-direction: column; gap: 0; }
.deseo__foto { position: relative; aspect-ratio: 5 / 7; background: var(--fondo-suave); display: grid; place-items: center; overflow: hidden; color: var(--lavanda); }
.deseo__foto a { position: absolute; inset: 0; display: grid; place-items: center; color: inherit; }
.deseo__foto img { width: 100%; height: 100%; object-fit: cover; }
.deseo__foto .marcador { width: 28%; height: auto; }
.deseo__quitar { position: absolute; z-index: 2; top: 8px; right: 8px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--radius-full); background: var(--fondo); color: var(--morado); cursor: pointer; }
.deseo__quitar:hover { background: var(--lavanda-claro); }
.deseo__insignia { position: absolute; z-index: 2; left: 12px; top: 12px; }
.deseo__datos { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 18px 4px 14px; }
.deseo__nombre { font-size: 14px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta); text-decoration: none; }
.deseo__nombre:hover { color: var(--morado); }
.deseo__precio { font-size: 13px; font-weight: 500; white-space: nowrap; }
.deseo__precio del { color: var(--tinta-suave); margin-right: 4px; }
.deseo__precio ins { text-decoration: none; font-weight: 700; color: var(--morado); }
.deseos-vacio { padding: 56px 16px; background: var(--fondo-suave); display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.deseos-vacio p { margin: 0; }

/* Mis compras */
.pedidos { display: flex; flex-direction: column; gap: 14px; }
.pedido { display: flex; flex-direction: column; gap: 18px; padding: 22px 24px; border: 1px solid var(--linea); background: var(--fondo); }
.pedido[hidden] { display: none; }
.pedido--fallido { border-color: var(--error); background: color-mix(in srgb, var(--error) 5%, var(--fondo)); }
.pedido__arriba, .pedido__abajo { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.pedido__abajo { align-items: flex-end; }
.pedido__datos { display: flex; gap: 28px; align-items: center; margin: 0; font-size: 14px; }
.pedido__datos > div { display: flex; flex-direction: column; gap: 2px; }
.pedido__datos dt { font-size: 12px; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .06em; }
.pedido__datos dd { margin: 0; }
.pedido__contenido { display: flex; gap: 16px; align-items: center; min-width: 0; }
.pedido__fotos { display: flex; gap: 8px; flex: none; }
.pedido__foto { width: 72px; height: 72px; display: grid; place-items: center; background: var(--fondo-suave); color: var(--lavanda); overflow: hidden; }
.pedido__foto img { width: 100%; height: 100%; object-fit: cover; }
.pedido__foto .marcador { width: 40%; height: auto; }
.pedido__texto { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pedido__items { font-size: 15px; font-weight: 600; }
.pedido__nota { font-size: 14px; color: var(--tinta-suave); }
.pedido--fallido .pedido__nota { color: var(--error); font-weight: 600; }
.pedido__acciones { display: flex; gap: 10px; flex: none; }

/* Pantallas de WooCommerce dentro de Mi cuenta (datos, direcciones, ver pedido) */
.cuenta-contenido h2, .cuenta-contenido h3 { font-size: 28px; }
.cuenta-contenido fieldset { border: 0; padding: 0; margin: var(--space-6) 0 0; }
.cuenta-contenido fieldset legend { padding: 0; margin-bottom: var(--space-4); font: 700 24px var(--font-display); }
.cuenta-contenido form .form-row { max-width: 560px; }
.cuenta-contenido .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.cuenta-contenido .woocommerce-Address { padding: var(--space-6); border: 1px solid var(--linea); border-radius: var(--radius-md); }
.cuenta-contenido .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); }
.cuenta-contenido .woocommerce-Address-title h2, .cuenta-contenido .woocommerce-Address-title h3 { margin: 0 0 var(--space-2); font-size: 24px; }
.cuenta-contenido address { font-style: normal; line-height: 1.6; }
.info-caja { padding: var(--space-6); background: var(--fondo-suave); border-radius: var(--radius-md); max-width: 640px; }
.info-caja p { margin: 0 0 var(--space-2); }
.info-caja p:last-child { margin: 0; }

/* Ingreso */
.ingreso { display: grid; gap: var(--space-6); max-width: 520px; margin-top: 40px; }
.ingreso--doble { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; }
.ingreso__tarjeta { padding: 32px; background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.ingreso__tarjeta h2 { margin: 0 0 var(--space-4); font-size: 30px; }
.ingreso__tarjeta form { display: grid; gap: var(--space-2); }
.ingreso__olvido { margin: var(--space-2) 0 0; font-size: 14px; }
.ingreso__nota { margin: 0 0 var(--space-4); font-size: 14px; color: var(--tinta-suave); }

@media (max-width: 1100px) { .deseos-rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.cuenta-cuerpo { flex-direction: column; gap: 32px; padding-top: 28px; }
	.cuenta-menu { width: 100%; flex-direction: row; overflow-x: auto; border-top: 0; border-bottom: 1px solid var(--linea); }
	.cuenta-menu a { flex: none; border-bottom: 3px solid transparent; border-left: 0; padding: 12px 14px; }
	.cuenta-menu a[aria-current="page"] { border-bottom-color: var(--morado); }
	.cuenta-contenido { gap: 48px; }
	.deseos-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pedido__arriba, .pedido__abajo { flex-direction: column; align-items: flex-start; }
	.pedido__acciones { flex-wrap: wrap; }
	.ingreso--doble { grid-template-columns: 1fr; }
	.cuenta-contenido .woocommerce-Addresses { grid-template-columns: 1fr; }
	.cuenta-seccion__cabecera--pestanas { flex-direction: column; align-items: flex-start; gap: 12px; }
	.cuenta-seccion__cabecera--pestanas h2 { margin-bottom: 0; }
	.pestanas { gap: 18px; overflow-x: auto; width: 100%; }
}
