/**
 * Panel «Mis anuncios». Diseño mobile-first.
 */

.pdpes-mis-anuncios {
	margin: 1.5rem 0;
}

.pdpes-aviso {
	padding: 1rem;
	border: 1px solid #d2d2d2;
	border-radius: 8px;
	background: #f6f7f7;
}

.pdpes-estado {
	min-height: 1.25rem;
	margin: 0 0 0.5rem;
	color: #1a7f37;
	font-weight: 600;
}

.pdpes-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.pdpes-tarjeta {
	padding: 1rem;
	border: 1px solid #d2d2d2;
	border-radius: 10px;
	background: #fff;
}

.pdpes-tarjeta-cabecera {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: space-between;
}

.pdpes-titulo {
	margin: 0;
	font-size: 1.125rem;
}

.pdpes-estado-etiqueta {
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	background: #e6e6e6;
	color: #333;
}

.pdpes-estado-publish {
	background: #d6f3df;
	color: #0a5c2b;
}

.pdpes-estado-pending {
	background: #fcf0d4;
	color: #7a5600;
}

.pdpes-estado-draft,
.pdpes-estado-trash {
	background: #eceef0;
	color: #555;
}

.pdpes-meta {
	margin: 0.5rem 0 1rem;
	color: #444;
}

.pdpes-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.pdpes-btn {
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 1px solid #0a5c2b;
	border-radius: 8px;
	background: #0a5c2b;
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.pdpes-btn-ver,
.pdpes-btn-editar,
.pdpes-btn-cancelar {
	background: #fff;
	color: #0a5c2b;
}

.pdpes-btn-baja {
	border-color: #8a1f11;
	background: #fff;
	color: #8a1f11;
}

.pdpes-btn:hover,
.pdpes-btn:focus-visible {
	outline: 2px solid #0a5c2b;
	outline-offset: 2px;
}

.pdpes-form {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px dashed #d2d2d2;
	display: grid;
	gap: 0.75rem;
}

.pdpes-campo {
	margin: 0;
	display: grid;
	gap: 0.25rem;
}

.pdpes-campo label {
	font-weight: 600;
	font-size: 0.9rem;
}

.pdpes-campo input,
.pdpes-campo select {
	padding: 0.5rem;
	border: 1px solid #b9b9b9;
	border-radius: 6px;
	font-size: 1rem;
	width: 100%;
	max-width: 22rem;
}

.pdpes-form-botones {
	display: flex;
	gap: 0.5rem;
}

.pdpes-error {
	color: #8a1f11;
	font-weight: 600;
}

/* A partir de tablet, las tarjetas pueden ir en dos columnas. */
@media ( min-width: 48rem ) {
	.pdpes-lista {
		grid-template-columns: repeat( 2, 1fr );
	}
}

.pdpes-usuario {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 1rem;
	color: #333;
}

.pdpes-salir {
	color: #0a5c2b;
	font-weight: 600;
}

/* --- Fotos --- */
.pdpes-portada {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: 0.75rem;
	background: #eceef0;
}

.pdpes-fotos-contador {
	margin: 0.25rem 0 0.75rem;
	color: #666;
	font-size: 0.9rem;
}

.pdpes-bloque-fotos {
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px dashed #d2d2d2;
}

.pdpes-bloque-fotos h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.pdpes-galeria {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 110px, 1fr ) );
	gap: 0.5rem;
}

.pdpes-miniatura {
	position: relative;
	aspect-ratio: 1;
	border-radius: 6px;
	overflow: hidden;
	background: #eceef0;
}

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

.pdpes-principal {
	position: absolute;
	left: 4px;
	bottom: 4px;
	padding: 2px 6px;
	background: rgba( 10, 92, 43, 0.9 );
	color: #fff;
	font-size: 0.75rem;
	border-radius: 4px;
}

.pdpes-btn-borrar-foto {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 1.75rem;
	height: 1.75rem;
	border: 0;
	border-radius: 50%;
	background: rgba( 138, 31, 17, 0.9 );
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}

.pdpes-btn-borrar-foto:hover,
.pdpes-btn-borrar-foto:focus-visible {
	background: #8a1f11;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.pdpes-sin-fotos {
	grid-column: 1 / -1;
	color: #666;
	font-style: italic;
	margin: 0;
}

.pdpes-input-fotos {
	position: absolute;
	left: -9999px;
}

.pdpes-subir {
	margin: 0.75rem 0 0;
}

.pdpes-btn-subir {
	display: inline-block;
}

/* --- Formulario de alta y documentos legales --- */
.pdpes-alta {
	max-width: 32rem;
	margin: 1rem auto;
}

.pdpes-campo-checkbox {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.6rem;
	align-items: start;
	margin: 0.75rem 0;
}

.pdpes-campo-checkbox input[type="checkbox"] {
	margin-top: 0.25rem;
	width: 1.1rem;
	height: 1.1rem;
}

.pdpes-campo-checkbox label {
	font-size: 0.95rem;
	line-height: 1.4;
}

.pdpes-documento-legal {
	max-width: 48rem;
	margin: 1rem auto;
	line-height: 1.6;
}

.pdpes-documento-legal h2 {
	margin-top: 2rem;
}

.pdpes-legal-borrador {
	padding: 0.75rem 1rem;
	background: #fcf0d4;
	border-left: 4px solid #c69400;
	color: #5a4100;
	border-radius: 4px;
}

.pdpes-legal-fecha {
	margin-top: 2rem;
	color: #666;
	font-size: 0.9rem;
	font-style: italic;
}

.pdpes-documento-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}

.pdpes-documento-legal th,
.pdpes-documento-legal td {
	padding: 0.5rem;
	border: 1px solid #d2d2d2;
	text-align: left;
	vertical-align: top;
}

.pdpes-documento-legal th {
	background: #f6f7f7;
}

/* --- Contacto público --- */
.pdpes-contacto {
	max-width: 32rem;
	margin: 2rem 0;
	padding: 1.25rem;
	border: 1px solid #d2d2d2;
	border-radius: 10px;
	background: #fff;
}

.pdpes-contacto-titulo {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
}

.pdpes-contacto-ayuda {
	margin: 0 0 1rem;
	color: #555;
	font-size: 0.9rem;
}

.pdpes-contacto textarea {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid #b9b9b9;
	border-radius: 6px;
	font-size: 1rem;
	font-family: inherit;
	resize: vertical;
	min-height: 7rem;
}

.pdpes-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Mapa en ficha --- */
.pdpes-mapa {
	margin: 2rem 0;
	border-radius: 10px;
	overflow: hidden;
	background: #eceef0;
}

/* --- Mini-mapa en el formulario de edición --- */
.pdpes-bloque-direccion {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px dashed #d2d2d2;
}

.pdpes-bloque-direccion h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.pdpes-mini-mapa {
	margin-top: 0.75rem;
	height: 220px;
	border-radius: 8px;
	overflow: hidden;
	background: #eceef0;
}

/* ==========================================================================
   Alta y acceso: formularios en tarjeta centrada
   ========================================================================== */

.pdpes-alta-wrap,
.pdpes-login-wrap {
	max-width: 30rem;
	margin: 0 auto;
}

.pdpes-alta,
.pdpes-login-form {
	margin-top: 0;
	padding: 1.75rem;
	border: 1px solid var( --pdp-border-soft, #eee );
	border-radius: var( --pdp-radius-lg, 22px );
	background: var( --pdp-surface, #fff );
	box-shadow: var( --pdp-shadow-sm, 0 2px 8px rgba( 20, 40, 30, 0.06 ) );
}

.pdpes-alta .pdpes-campo input,
.pdpes-login-form .pdpes-campo input {
	max-width: none;
}

.pdpes-login-form .pdpes-btn,
.pdpes-alta .pdpes-btn-guardar {
	width: 100%;
	justify-content: center;
}

.pdpes-campo-ayuda {
	font-size: 0.82rem;
	color: var( --pdp-ink-muted, #5d6b64 );
}

/* Aviso de verificación de correo en el panel */
.pdpes-verificar {
	margin: 0 0 1.25rem;
	padding: 0.75rem 1rem;
	border-radius: var( --pdp-radius-sm, 8px );
	background: var( --pdp-warning-soft, #fdf1d8 );
	color: var( --pdp-warning, #8a6d1a );
	font-size: 0.95rem;
}

.pdpes-login-links {
	margin: 1rem auto 0;
	text-align: center;
	font-size: 0.92rem;
	color: var( --pdp-ink-muted, #5d6b64 );
}
.pdpes-login-links a {
	color: var( --pdp-brand, #0e6b4a );
	text-decoration: none;
}
.pdpes-login-links a:hover {
	text-decoration: underline;
}

/* Tarjeta de éxito tras pedir el alta */
.pdpes-alta-exito {
	max-width: 32rem;
	margin: 0 auto;
	text-align: center;
	padding: 2.25rem 1.75rem;
	border: 1px solid var( --pdp-brand-soft, #e4efe9 );
	border-radius: var( --pdp-radius-lg, 22px );
	background: var( --pdp-brand-tint, #f2f8f5 );
}
.pdpes-alta-exito-icono {
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	margin: 0 auto 0.85rem;
	border-radius: 50%;
	background: var( --pdp-brand, #0e6b4a );
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
}
.pdpes-alta-exito h2 {
	margin: 0 0 0.6rem;
	font-family: var( --pdp-font-display, Georgia, "Times New Roman", serif );
}
.pdpes-alta-exito p {
	margin: 0 0 0.5rem;
	color: var( --pdp-ink-soft, #38453f );
}
.pdpes-alta-exito-nota {
	font-size: 0.85rem;
	color: var( --pdp-ink-muted, #5d6b64 );
}

/* Aviso de error destacado en alta y acceso */
.pdpes-estado.pdpes-error {
	color: var( --pdp-danger, #9c2f1a );
	background: var( --pdp-danger-soft, #fbe4de );
	padding: 0.6rem 0.9rem;
	border-radius: var( --pdp-radius-sm, 8px );
}
