/*
 * Clasificados Argentinos - Estilos del front
 * Tema moderno tipo Minifolio: oscuro, acento #1E505C, transiciones suaves
 */

:root {
	--au-radius: 14px;
	--au-radius-sm: 10px;
	--au-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
	--au-shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(30, 80, 92, 0.15);
	--au-primary: #1E505C;
	--au-primary-hover: #2A6B7A;
	--au-primary-glow: rgba(30, 80, 92, 0.25);
	--au-border: rgba(255, 255, 255, 0.08);
	--au-border-focus: rgba(30, 80, 92, 0.5);
	--au-bg: #111113;
	--au-bg-card: #1a1a1e;
	--au-bg-input: #0f0f11;
	--au-text: #f4f4f5;
	--au-text-muted: #a1a1aa;
	--au-accent: #42ecf5;
	--au-success: #1E505C;
	--au-success-bg: rgba(30, 80, 92, 0.12);
	--au-error: #58f8ff;
	--au-error-bg: rgba(88, 248, 255, 0.12);
	--au-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Contenedor global del plugin: fondo oscuro donde esté el shortcode */
.au-form-wrap,
.au-listado-wrap,
.au-panel-mis-productos,
.au-form-carga-wrap {
	--au-bg-local: var(--au-bg);
}

/* ——— Formulario ——— */
.au-form-wrap.au-form-modern,
.au-form-wrap.au-form-registro {
	max-width: 640px;
	margin: 0 auto 2rem;
}

.au-social-sep {
	border: none;
	border-top: 1px solid var(--au-border);
	margin: 1rem 0;
}

.au-social-login {
	display: flex;
	justify-content: center;
}

.au-form-desc {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	color: var(--au-text-muted);
	line-height: 1.5;
}

/* Login + Registro en 2 columnas */
.au-form-wrap.au-login-registro-modern {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto 2rem;
	padding: 0 1rem;
	box-sizing: border-box;
}

.au-login-registro-modern .au-login-registro-grid {
	display: grid;
	grid-template-columns: 50% 50%;
	gap: 1.5rem;
	align-items: start;
	width: 100%;
}

.au-login-registro-modern .au-login-registro-col {
	min-width: 0;
	width: 100%;
}

.au-login-registro-modern .au-form-section.au-login-card,
.au-login-registro-modern .au-form-section.au-registro-card {
	margin-bottom: 0;
	padding: 1.75rem 2rem;
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius);
	box-shadow: var(--au-shadow);
	transition: box-shadow var(--au-transition), border-color var(--au-transition), transform var(--au-transition);
}

.au-login-registro-modern .au-form-section.au-login-card:hover,
.au-login-registro-modern .au-form-section.au-registro-card:hover {
	box-shadow: var(--au-shadow-hover);
	border-color: rgba(30, 80, 92, 0.2);
	transform: translateY(-2px);
}

.au-login-registro-modern .au-registro-card .au-form-wrap.au-form-registro {
	max-width: none;
	margin: 0;
}

.au-login-registro-modern .au-registro-card .au-form-wrap .au-form-section {
	background: transparent;
	box-shadow: none;
	margin-bottom: 0;
	padding: 0;
	border-radius: 0;
	border: none;
}

.au-login-registro-modern .au-registro-card .au-form-wrap .au-form-section:hover {
	box-shadow: none;
	transform: none;
}

.au-login-registro-modern .au-registro-card .au-form-section-title {
	margin-top: 0;
}

.au-login-registro-modern #au-login-form label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--au-text-muted);
	margin-bottom: 0.4rem;
}

.au-login-registro-modern #au-login-form input[type="text"],
.au-login-registro-modern #au-login-form input[type="password"] {
	width: 100%;
	max-width: 100%;
	padding: 0.75rem 1rem;
	margin-bottom: 1.25rem;
	font-size: 1rem;
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius-sm);
	background: var(--au-bg-input);
	color: var(--au-text);
	transition: border-color var(--au-transition), box-shadow var(--au-transition);
}

.au-login-registro-modern #au-login-form input[type="text"]:focus,
.au-login-registro-modern #au-login-form input[type="password"]:focus {
	outline: none;
	border-color: var(--au-border-focus);
	box-shadow: 0 0 0 3px var(--au-primary-glow);
}

.au-login-registro-modern #au-login-form .login-remember {
	margin-bottom: 1rem;
	color: var(--au-text-muted);
}

.au-login-registro-modern #au-login-form input[type="submit"] {
	width: 100%;
	padding: 0.85rem 1.25rem;
	background: var(--au-primary);
	color: #fff;
	border: none;
	border-radius: var(--au-radius-sm);
	cursor: pointer;
	font-weight: 600;
	font-size: 1rem;
	transition: background var(--au-transition), transform var(--au-transition), box-shadow var(--au-transition);
}

.au-login-registro-modern #au-login-form input[type="submit"]:hover {
	background: var(--au-primary-hover);
	transform: translateY(-2px);
	box-shadow: 0 4px 20px var(--au-primary-glow);
}

@media (max-width: 768px) {
	.au-login-registro-modern .au-login-registro-grid {
		grid-template-columns: 1fr;
	}
}

.au-form.au-form-carga {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.au-form-section {
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius);
	box-shadow: var(--au-shadow);
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.25rem;
	transition: box-shadow var(--au-transition), border-color var(--au-transition), transform var(--au-transition);
}

.au-form-section:hover {
	box-shadow: var(--au-shadow-hover);
	border-color: rgba(30, 80, 92, 0.15);
}

.au-form-section-title {
	margin: 0 0 1.25rem;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--au-text);
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--au-border);
}

.au-field {
	margin-bottom: 1.25rem;
}

.au-field:last-child,
.au-extra-fields .au-field:last-child {
	margin-bottom: 0;
}

.au-field label,
.au-field .au-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--au-text-muted);
	margin-bottom: 0.4rem;
}

.au-input,
.au-select {
	width: 100%;
	max-width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	line-height: 1.4;
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius-sm);
	background: var(--au-bg-input);
	color: var(--au-text);
	transition: border-color var(--au-transition), box-shadow var(--au-transition);
}

.au-input::placeholder {
	color: var(--au-text-muted);
	opacity: 0.7;
}

.au-input:focus,
.au-select:focus {
	outline: none;
	border-color: var(--au-border-focus);
	box-shadow: 0 0 0 3px var(--au-primary-glow);
}

.au-select option {
	background: var(--au-bg-card);
	color: var(--au-text);
}

.au-textarea {
	min-height: 100px;
	resize: vertical;
}

.au-info-extra-wrap { margin-top: 0.5rem; }
.au-label-info-extra { display: block; font-weight: 600; color: var(--au-text); margin-bottom: 0.35rem; }

/* + info del producto: textarea HTML en el front (sin editor visual) */
.au-info-extra-shell {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.25rem;
}
.au-form-carga .au-info-extra-shell textarea.au-info-extra-plain {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	box-sizing: border-box;
}
.au-info-extra-plain {
	min-height: 240px;
	resize: vertical;
	background: var(--au-bg-input);
	color: var(--au-text);
	border: 1px solid var(--au-border);
}
.au-details-info-extra { border: 1px solid var(--au-border); border-radius: var(--au-radius-sm); overflow: hidden; }
.au-summary-info-extra { padding: 0.6rem 0.9rem; cursor: pointer; font-weight: 500; color: var(--au-accent); list-style: none; }
.au-summary-info-extra::-webkit-details-marker { display: none; }
.au-details-info-extra[open] .au-summary-info-extra { border-bottom: 1px solid var(--au-border); }
.au-details-info-extra .au-textarea { margin: 0.75rem 0.9rem 0.9rem; width: calc(100% - 1.8rem); box-sizing: border-box; }
.au-editor-hint { margin: 0 0 0.5rem; font-size: 0.875rem; color: var(--au-text-muted); line-height: 1.4; }

/* Salida de [au_mas_info] / au_get_mas_info_formatted(): renglones y espacios */
.au-mas-info {
	margin: 0.75rem 0;
	line-height: 1.55;
	color: inherit;
}
.au-mas-info--plaintext {
	white-space: pre-wrap;
	word-break: break-word;
}
.au-mas-info--html p {
	margin: 0 0 0.75em;
}
.au-mas-info--html p:last-child {
	margin-bottom: 0;
}
.au-mas-info--html ul,
.au-mas-info--html ol {
	margin: 0 0 0.75em 1.25em;
	padding: 0;
}

.au-required { color: var(--au-error); }

.au-field-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.au-radio, .au-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 400;
	cursor: pointer;
	color: var(--au-text-muted);
}

.au-radio input, .au-checkbox input {
	width: auto;
	margin: 0;
}

.au-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.au-precio-hint {
	font-size: 0.8125rem;
	color: var(--au-text-muted);
	margin: 0.35rem 0 0;
	line-height: 1.4;
}

.au-precio-moneda {
	grid-template-columns: 2fr 1fr;
}

.au-tipo-precio-fieldset {
	border: 0;
	margin: 0 0 1rem;
	padding: 0;
}
.au-tipo-precio-fieldset > .au-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: var(--au-text);
}
.au-tipo-precio-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	margin-top: 0.25rem;
}
.au-radio-inline {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	cursor: pointer;
	font-weight: 500;
	color: var(--au-text-muted);
}
.au-tipo-precio-hint {
	margin-top: 0.5rem;
	color: #58f8ff;
}

.au-panel-usuario__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}
.au-panel-usuario__navbtn {
	text-decoration: none;
}
.au-panel-usuario__title {
	margin: 0 0 0.75rem;
}
.au-favs__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.65rem;
}
.au-favs__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius-sm);
	background: rgba(255,255,255,0.03);
}
.au-favs__link {
	color: var(--au-text);
	text-decoration: none;
	font-weight: 600;
}
.au-favs__link:hover {
	text-decoration: underline;
}
/*
 * Favoritos: todo el aspecto del shortcode [au_favorito_btn] (sin depender de .au-btn / Elementor).
 * Personalizá en tu tema con:
 *   .au-fav-btn-wrap { --au-fav-color: #fff; ... }
 * o con #tu-id { --au-fav-font-size: 0.95rem; }
 */
.au-fav-btn-wrap {
	--au-fav-font-family: inherit;
	--au-fav-font-size: 1rem;
	--au-fav-font-weight: 600;
	--au-fav-line-height: 1.4;
	--au-fav-padding: 0.35rem 0;
	--au-fav-margin: 0;
	--au-fav-radius: 0;
	--au-fav-color: var(--au-text, #f4f4f5);
	--au-fav-bg: transparent;
	--au-fav-border: none;
	--au-fav-decoration: none;
	--au-fav-color-hover: var(--au-accent, #42ecf5);
	--au-fav-bg-hover: transparent;
	--au-fav-color-on: #666666;
	--au-fav-bg-on: transparent;
	--au-fav-border-on: none;
	--au-fav-color-on-hover: #888888;
	--au-fav-bg-on-hover: transparent;
	--au-fav-focus-ring: rgba(30, 80, 92, 0.35);
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}
/* Por encima de enlaces de tarjeta/listado para que el clic no abra el aviso */
.au-fav-btn-wrap .au-fav-btn {
	position: relative;
	z-index: 20;
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: var(--au-fav-margin);
	padding: var(--au-fav-padding);
	font-family: var(--au-fav-font-family);
	font-size: var(--au-fav-font-size);
	font-weight: var(--au-fav-font-weight);
	line-height: var(--au-fav-line-height);
	color: var(--au-fav-color);
	background: var(--au-fav-bg);
	border: var(--au-fav-border);
	border-radius: var(--au-fav-radius);
	box-shadow: none;
	text-decoration: var(--au-fav-decoration);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}
.au-fav-btn-wrap a.au-fav-btn {
	text-decoration: var(--au-fav-decoration);
}
.au-fav-btn-wrap .au-fav-btn:hover:not(:disabled) {
	color: var(--au-fav-color-hover);
	background: var(--au-fav-bg-hover);
}
.au-fav-btn-wrap .au-fav-btn:focus {
	outline: none;
	box-shadow: 0 0 0 2px var(--au-fav-focus-ring);
}
.au-fav-btn-wrap .au-fav-btn:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}
.au-fav-btn-wrap .au-fav-btn--on {
	color: var(--au-fav-color-on);
	background: var(--au-fav-bg-on);
	border: var(--au-fav-border-on);
	box-shadow: none;
}
.au-fav-btn-wrap .au-fav-btn--on:hover:not(:disabled) {
	color: var(--au-fav-color-on-hover);
	background: var(--au-fav-bg-on-hover);
}

.au-precio-ofertas-badge {
	max-height: 2.75rem;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}
.au-item-precio--ofertas,
.au-precio--ofertas {
	margin: 0.35rem 0 0;
	line-height: 0;
}
.au-item-precio--ofertas-text,
.au-precio--ofertas-text {
	font-weight: 600;
	margin: 0.35rem 0 0;
	color: var(--au-text);
}

/* Comparación Mercado Libre (precio) */
.au-ml-price-hint-wrap {
	margin-top: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: var(--au-radius-sm);
	background: var(--au-bg-input);
	border: 1px solid var(--au-border);
}
.au-ml-price-hint {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0 0 0.35rem;
}
.au-ml-price-hint-note {
	margin: 0;
	font-size: 0.8rem;
	color: var(--au-text-muted);
	line-height: 1.4;
}
.au-ml-price-hint--loading {
	color: var(--au-text-muted);
	font-weight: 500;
}
.au-ml-price-hint--ok {
	color: #6ee7b7;
}
.au-ml-price-hint--warn {
	color: #fbbf24;
}
.au-ml-price-hint--info {
	color: var(--au-accent);
}
.au-ml-price-hint--muted {
	color: var(--au-text-muted);
	font-weight: 500;
}

@media (max-width: 520px) {
	.au-field-row { grid-template-columns: 1fr; }
}

.au-subcategoria-wrap {
	overflow: hidden;
}

.au-extra-fields {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

/* Zona de subida */
.au-upload-zone {
	position: relative;
	border: 2px dashed var(--au-border);
	border-radius: var(--au-radius-sm);
	background: var(--au-bg-input);
	padding: 1.5rem;
	text-align: center;
	transition: border-color var(--au-transition), background var(--au-transition), box-shadow var(--au-transition);
}

.au-upload-zone:hover,
.au-upload-zone.au-has-files,
.au-upload-zone.au-drag-over {
	border-color: var(--au-primary);
	background: var(--au-success-bg);
	box-shadow: 0 0 0 3px var(--au-primary-glow);
}

.au-file-input {
	position: absolute;
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
}

.au-upload-label {
	cursor: pointer;
	display: block;
}

.au-upload-icon {
	font-size: 2rem;
	display: block;
	margin-bottom: 0.5rem;
	color: var(--au-accent);
}

.au-upload-text {
	display: block;
	font-weight: 500;
	color: var(--au-text-muted);
}

.au-upload-zone small {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.8rem;
	color: var(--au-text-muted);
	opacity: 0.8;
}

.au-images-hint {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: #555;
}

.au-videos-hint {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: #555;
}

/* Hero de archivo de categoría ([au_categoria_hero]); el fondo lo pone el shortcode inline. */
.au-categoria-hero {
	width: 100%;
	min-height: 280px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: var(--au-radius);
}

.au-videos-field {
	margin-top: 1.25rem;
}

.au-current-videos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.au-thumb-video .au-thumb-media {
	display: block;
	width: 120px;
	height: 80px;
	border-radius: var(--au-radius-sm);
	overflow: hidden;
	border: 1px solid var(--au-border);
	background: #111;
}

.au-thumb-video-preview {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.au-video-compress-status {
	margin-top: 0.5rem;
	font-size: 0.9rem;
	color: var(--au-text-muted);
}

@keyframes au-video-compress-blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.28;
	}
}

@keyframes au-video-zone-blink {
	0%,
	100% {
		border-color: var(--au-border);
		box-shadow: none;
	}
	50% {
		border-color: var(--au-primary);
		box-shadow: 0 0 0 3px var(--au-primary-glow);
	}
}

.au-video-compress-status.au-is-compressing {
	animation: au-video-compress-blink 0.85s ease-in-out infinite;
	color: var(--au-primary);
	font-weight: 600;
}

.au-upload-zone-videos.au-is-compressing {
	animation: au-video-zone-blink 0.85s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.au-video-compress-status.au-is-compressing,
	.au-upload-zone-videos.au-is-compressing {
		animation: none;
		opacity: 1;
	}
}

.au-videos-wrap {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 1rem 0;
}

.au-video-item {
	max-width: 100%;
	overflow: hidden;
	border-radius: var(--au-radius-sm);
	/* Aísla capas de composición para que el scroll no repinte todo el bloque. */
	isolation: isolate;
}

.au-video-player {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(52vh, 480px);
	border-radius: var(--au-radius-sm);
	background: #000;
	object-fit: contain;
	/* Composición en GPU: menos tirones al hacer scroll con el video en vista. */
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

@media (max-width: 782px) {
	.au-videos-wrap {
		gap: 0.75rem;
	}

	.au-video-player {
		max-height: min(42vh, 320px);
	}
}

@media (max-width: 480px) {
	.au-video-player {
		max-height: min(38vh, 280px);
	}
}

.au-current-principal-wrap {
	margin-bottom: 1.25rem;
}

.au-current-images-wrap {
	margin-top: 1rem;
}

.au-current-images-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--au-text-muted);
	margin-bottom: 0.5rem;
}

.au-current-images {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.au-current-images .au-thumb {
	position: relative;
	display: inline-block;
}

.au-thumb-actions {
	position: absolute;
	top: -10px;
	right: -10px;
	display: flex;
	gap: 4px;
	z-index: 2;
}

.au-current-images .au-thumb img {
	border-radius: var(--au-radius-sm);
	max-width: 80px;
	height: auto;
	border: 1px solid var(--au-border);
	display: block;
}

.au-new-images-wrap {
	margin-top: 1rem;
}

.au-new-images {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.au-new-images .au-thumb {
	position: relative;
	display: inline-block;
}

.au-new-images .au-thumb img {
	border-radius: var(--au-radius-sm);
	max-width: 80px;
	height: auto;
	border: 1px solid var(--au-border);
	display: block;
}

.au-new-thumb-actions {
	position: absolute;
	top: -10px;
	right: -10px;
	display: flex;
	gap: 4px;
	z-index: 2;
}

.au-btn-remove-new-image,
.au-btn-crop-new-image {
	width: 22px;
	height: 22px;
	padding: 0;
	line-height: 1;
	font-size: 1.1rem;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0.95;
	transition: opacity var(--au-transition), transform var(--au-transition);
}

.au-btn-remove-new-image {
	background: var(--au-error);
	color: #fff;
}

.au-btn-crop-new-image {
	background: var(--au-primary);
	color: #fff;
}

.au-btn-remove-new-image:hover,
.au-btn-crop-new-image:hover {
	opacity: 1;
	transform: scale(1.03);
}

.au-new-images-hint {
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: var(--au-text-muted);
	opacity: 0.9;
}

/* ——— Modal recorte imágenes (solo lado del cliente) ——— */
.au-crop-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
}

.au-crop-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.au-crop-panel {
	position: relative;
	max-width: 980px;
	width: 96vw;
	margin: 6vh auto 0;
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius);
	box-shadow: var(--au-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	max-height: 80vh;
}

.au-crop-header {
	padding: 0.75rem 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--au-border);
}

.au-crop-body {
	padding: 1rem;
	overflow: auto;
}

.au-crop-aspect-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.au-crop-aspect-row label {
	font-size: 0.9rem;
	color: var(--au-text-muted);
}

.au-crop-preview {
	width: 100%;
	background: var(--au-bg-input);
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius-sm);
	padding: 0.5rem;
}

.au-crop-preview img {
	max-width: 100%;
	display: block;
	max-height: 55vh;
	object-fit: contain;
}

.au-crop-preview-note {
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: var(--au-text-muted);
	opacity: 0.9;
	text-align: center;
}

.au-crop-footer {
	padding: 0.75rem 1rem;
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
	border-top: 1px solid var(--au-border);
}


.au-btn-remove-image {
	width: 22px;
	height: 22px;
	padding: 0;
	line-height: 1;
	font-size: 1.2rem;
	border: none;
	border-radius: 50%;
	background: var(--au-error);
	color: #fff;
	cursor: pointer;
	opacity: 0.9;
	transition: opacity var(--au-transition);
}
.au-btn-remove-image:hover {
	opacity: 1;
	background: var(--au-error);
}

.au-btn-crop-image {
	width: 22px;
	height: 22px;
	padding: 0;
	line-height: 1;
	font-size: 1.1rem;
	border: none;
	border-radius: 50%;
	background: var(--au-primary);
	color: #fff;
	cursor: pointer;
	opacity: 0.95;
	transition: opacity var(--au-transition), transform var(--au-transition);
}

.au-btn-crop-image:hover {
	opacity: 1;
	transform: scale(1.03);
}

/* Botón */
.au-form-actions {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.au-form-cancel-link {
	margin: 0 0 1rem 0;
}
.au-form-cancel-link .au-btn {
	background: transparent;
	color: var(--au-text-muted);
	border: 1px solid var(--au-border);
}
.au-form-cancel-link .au-btn:hover {
	background: var(--au-bg-input);
	color: var(--au-text);
}

.au-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	border: none;
	border-radius: var(--au-radius-sm);
	cursor: pointer;
	transition: background var(--au-transition), transform var(--au-transition), box-shadow var(--au-transition);
}

.au-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.au-btn-primary {
	background: var(--au-primary);
	color: #fff;
}

.au-btn-primary:hover:not(:disabled) {
	background: var(--au-primary-hover);
	transform: translateY(-2px);
	box-shadow: 0 4px 20px var(--au-primary-glow);
}

.au-btn-submit {
	min-width: 200px;
}

.au-btn-loading {
	display: none;
}

.au-form.au-loading .au-btn-loading { display: inline; }
.au-form.au-loading .au-btn-text { display: none; }

.au-form-message {
	display: none;
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: var(--au-radius-sm);
	font-size: 0.95rem;
	transition: opacity var(--au-transition);
}

.au-message-success {
	background: var(--au-success-bg);
	color: var(--au-accent);
	border: 1px solid rgba(30, 80, 92, 0.3);
}

.au-message-error {
	background: var(--au-error-bg);
	color: var(--au-error);
	border: 1px solid #58f8ff;
}

/* ——— Filtros catálogo (columna) ——— */
.au-filtros-clasificados {
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	border-radius: var(--au-radius);
	padding: 1.25rem 1.35rem;
	box-shadow: var(--au-shadow);
	margin-bottom: 1.5rem;
}

.au-filtros-title {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--au-text);
}

.au-filtros-block {
	margin-bottom: 1.35rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--au-border);
}

.au-filtros-block:last-of-type {
	border-bottom: none;
	margin-bottom: 0.75rem;
	padding-bottom: 0;
}

.au-filtros-subtitle {
	margin: 0 0 0.65rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--au-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.au-filtros-label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.88rem;
	color: var(--au-text-muted);
}

.au-filtros-cat-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.au-filtros-cat-label {
	margin-bottom: 0.25rem;
}

.au-filtros-cat-panel {
	margin-top: 0.15rem;
}

.au-filtros-cat-sub {
	list-style: none;
	margin: 0.35rem 0 0.5rem 0.85rem;
	padding: 0;
	border-left: 2px solid var(--au-border);
	padding-left: 0.75rem;
}

.au-filtros-radio-label {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.92rem;
	color: var(--au-text);
	cursor: pointer;
	line-height: 1.35;
}

.au-filtros-radio-label input {
	margin-top: 0.2rem;
	flex-shrink: 0;
	accent-color: var(--au-primary);
}

.au-filtros-range-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-top: 0.35rem;
}

.au-filtros-range-label {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.82rem;
	color: var(--au-text-muted);
}

.au-filtros-range-label input[type="range"] {
	width: 100%;
	accent-color: var(--au-primary);
}

.au-filtros-precio-valores {
	margin: 0.65rem 0 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--au-accent);
}

.au-filtros-actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: stretch;
	margin-top: 0.5rem;
}

.au-filtros-actions .au-btn {
	width: 100%;
	box-sizing: border-box;
	justify-content: center;
	margin: 0;
	font-family: inherit;
	line-height: 1.25;
	-webkit-appearance: none;
	appearance: none;
}

#contenido-productos.au-listado-ajax-loading,
.au-listado-ajax-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

/* ——— Listado ——— */
.au-listado {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}

.au-item {
	border-radius: var(--au-radius);
	overflow: hidden;
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	box-shadow: var(--au-shadow);
	transition: box-shadow var(--au-transition), transform var(--au-transition), border-color var(--au-transition);
}

.au-item:hover {
	box-shadow: var(--au-shadow-hover);
	transform: translateY(-4px);
	border-color: rgba(30, 80, 92, 0.2);
}

.au-item-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.au-item-image {
	aspect-ratio: 4/3;
	background: var(--au-bg-input);
	overflow: hidden;
}

.au-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--au-transition);
}

.au-item:hover .au-item-image img {
	transform: scale(1.03);
}

.au-item-image.au-no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--au-text-muted);
	font-size: 0.9rem;
}

.au-item-content { padding: 1.25rem; }

.au-item-title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--au-text);
	line-height: 1.3;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.au-item-cat-icon {
	flex-shrink: 0;
	line-height: 0;
}

.au-item-cat-icon img {
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 6px;
}

.au-item-precio {
	font-weight: 700;
	font-size: 1.2rem;
	color: var(--au-accent);
	margin: 0;
}

.au-item-localidad {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	color: var(--au-text-muted);
}

/* ——— Panel mis productos (25% sidebar + 75% contenido) ——— */
.au-panel-mis-productos {
	max-width: 1200px;
	margin: 0 auto;
}

.au-panel-mis-productos-grid {
	display: grid;
	grid-template-columns: 25% 1fr;
	gap: 1.5rem;
	align-items: start;
}

.au-panel-sidebar {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	position: sticky;
	top: 1rem;
}

.au-panel-sidebar .au-btn-nav {
	width: 100%;
	text-align: center;
	justify-content: center;
}

/* "Vender Usado" — destacado en rojo */
.au-panel-sidebar .au-btn-nav-cargar.au-btn-primary {
	background: #c62828;
	color: #fff;
}

.au-panel-sidebar .au-btn-nav-cargar.au-btn-primary:hover:not(:disabled) {
	background: #b71c1c;
	color: #fff;
	box-shadow: 0 4px 20px rgba(198, 40, 40, 0.35);
}

.au-panel-sidebar__sep {
	height: 1px;
	margin: 0.35rem 0;
	background: var(--au-border);
	opacity: 0.85;
}

.au-panel-sidebar .au-btn-logout {
	text-decoration: none;
	text-align: center;
	margin-top: 0.5rem;
	background: transparent;
	color: var(--au-text-muted);
	border: 1px solid var(--au-border);
}

.au-panel-sidebar .au-btn-logout:hover {
	background: var(--au-error-bg);
	color: var(--au-error);
	border-color: var(--au-error);
}

.au-panel-content {
	min-width: 0;
}

.au-panel-content .au-panel-pane {
	display: none;
}

.au-panel-content .au-panel-pane.au-active {
	display: block;
}

.au-form-carga-wrap.au-panel-pane {
	margin-bottom: 0;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

.au-form-carga-wrap.au-panel-pane .au-form-wrap {
	max-width: none;
}

.au-mis-productos-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.au-total-en-venta {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--au-border);
	font-size: 1rem;
	color: var(--au-text-muted);
}
.au-total-en-venta strong {
	color: var(--au-accent);
	margin-right: 0.35rem;
}

/* Tablet y más angosto: panel en una columna, botones al 100 % en una sola columna */
@media (max-width: 1024px) {
	.au-panel-mis-productos-grid {
		grid-template-columns: 1fr;
	}
	.au-panel-sidebar {
		flex-direction: column;
		flex-wrap: nowrap;
		position: static;
		width: 100%;
	}
	.au-panel-sidebar .au-btn-nav,
	.au-panel-sidebar .au-btn-logout {
		width: 100%;
		max-width: 100%;
		flex: none;
		min-width: 0;
		box-sizing: border-box;
	}
}

/* Mobile: mismo layout (una columna, botones al 100 %) con refuerzo por temas / contenedores angostos */
@media (max-width: 768px) {
	.au-panel-mis-productos {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.au-panel-mis-productos-grid {
		grid-template-columns: 1fr;
		width: 100%;
		min-width: 0;
	}
	.au-panel-sidebar {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
	}
	.au-panel-sidebar .au-btn-nav,
	.au-panel-sidebar .au-btn-logout {
		width: 100%;
		max-width: 100%;
		flex: none;
		align-self: stretch;
		min-width: 0;
		box-sizing: border-box;
	}
}

.au-mi-producto {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-radius: var(--au-radius-sm);
	background: var(--au-bg-card);
	border: 1px solid var(--au-border);
	box-shadow: var(--au-shadow);
	transition: box-shadow var(--au-transition), opacity var(--au-transition), transform var(--au-transition);
}

.au-mi-producto:hover {
	box-shadow: var(--au-shadow-hover);
	border-color: rgba(30, 80, 92, 0.15);
}

.au-mi-producto.au-removing {
	opacity: 0;
	transform: scale(0.98);
}

.au-mi-producto.au-mi-producto-disabled {
	opacity: 0.5;
}

.au-mi-producto.au-mi-producto-disabled:hover {
	transform: none;
	box-shadow: var(--au-shadow);
}

.au-mi-producto-image {
	flex: 0 0 80px;
}

.au-mi-producto-image img {
	max-width: 80px;
	height: auto;
	border-radius: var(--au-radius-sm);
	border: 1px solid var(--au-border);
}

.au-mi-producto-image .au-no-image {
	display: block;
	width: 80px;
	height: 60px;
	background: var(--au-bg-input);
	text-align: center;
	line-height: 60px;
	font-size: 0.8rem;
	color: var(--au-text-muted);
	border-radius: var(--au-radius-sm);
}

.au-mi-producto-info { flex: 1; min-width: 150px; }

.au-mi-producto-info h4 {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	flex-wrap: wrap;
}

.au-mi-producto-cat-icon img {
	width: 32px;
	height: 32px;
	object-fit: cover;
	border-radius: 6px;
}

.au-mi-producto-info h4 a {
	text-decoration: none;
	color: var(--au-text);
	transition: color var(--au-transition);
}

.au-mi-producto-info h4 a:hover {
	color: var(--au-accent);
}

.au-mi-producto-info .au-precio {
	margin: 0;
	font-weight: 700;
	color: var(--au-accent);
}

.au-status {
	display: inline-block;
	padding: 0.25rem 0.6rem;
	border-radius: 8px;
	font-size: 0.8rem;
	font-weight: 500;
	margin-top: 0.25rem;
}

.au-status-publish {
	background: var(--au-success-bg);
	color: var(--au-accent);
}

.au-status-pending {
	background: rgba(245, 158, 11, 0.15);
	color: #f59e0b;
}

.au-mi-producto-actions {
	display: flex;
	gap: 0.5rem;
}

.au-btn-small {
	padding: 0.45rem 0.85rem;
	font-size: 0.875rem;
}

.au-btn-delete {
	background: transparent;
	color: var(--au-error);
	border: 1px solid #58f8ff;
}

.au-btn-delete:hover {
	background: var(--au-error-bg);
	color: var(--au-error);
	border-color: var(--au-error);
}

.au-message {
	padding: 1rem 1.25rem;
	border-radius: var(--au-radius-sm);
}

.au-message.au-info {
	background: var(--au-success-bg);
	border-left: 4px solid var(--au-accent);
	color: var(--au-accent);
}

.au-message.au-info.au-listado-sin-resultados {
	color: #333333;
}

.au-message.au-error {
	background: var(--au-error-bg);
	border-left: 4px solid var(--au-error);
	color: var(--au-text);
}

.au-antispam {
	position: absolute;
	left: -9999px;
	opacity: 0;
	pointer-events: none;
}

/* Animación de aparición para mensajes y elementos dinámicos */
.au-form-message.au-visible,
.au-message.au-visible {
	display: block;
	animation: auFadeIn 0.3s ease forwards;
}

@keyframes auFadeIn {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Loading state del formulario */
.au-form.au-loading .au-form-section {
	pointer-events: none;
	opacity: 0.85;
}
