/**
 * Estilos públicos del plugin Reestructuración AV Plastics.
 * Minimal — pensado para integrarse con cualquier tema.
 */

/* Utility: ocultar de forma resistente a temas que sobrescriben [hidden]
   (DIVI suele aplicar display: block !important a elementos con [hidden]). */
.avp-is-hidden { display: none !important; }

.avp-portal { max-width: 720px; margin: 0 auto; }
.avp-portal__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid #e5e7eb;
}
.avp-portal__greeting { margin: 0; font-size: .95rem; color: #374151; }

.avp-tabs {
	display: flex;
	gap: .25rem;
	border-bottom: 1px solid #d1d5db;
	margin-bottom: 1.25rem;
}
.avp-tabs__tab {
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: .65rem 1.1rem;
	margin-bottom: -1px;
	cursor: pointer;
	font: inherit;
	color: #4b5563;
}
.avp-tabs__tab:hover { color: #135e96; }
.avp-tabs__tab[aria-selected="true"],
.avp-tabs__tab.is-active {
	color: #135e96;
	border-bottom-color: #2271b1;
	font-weight: 600;
}
.avp-tabs__tab:focus-visible { outline: 2px solid #2271b1; outline-offset: 2px; }
.avp-tabs__panel { padding-top: .25rem; }

.avp-form { max-width: 640px; margin: 0 auto; }
.avp-form__inner { display: flex; flex-direction: column; gap: 1rem; }
.avp-form__row { display: flex; flex-direction: column; gap: .35rem; }
.avp-form__row--two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .avp-form__row--two { grid-template-columns: 1fr; } }
.avp-form label { font-weight: 600; font-size: .9rem; }
.avp-form input,
.avp-form select,
.avp-form textarea {
	width: 100%;
	padding: .55rem .7rem;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	font: inherit;
}
.avp-form input:focus,
.avp-form select:focus,
.avp-form textarea:focus { outline: 2px solid #2271b1; outline-offset: 1px; }
.avp-required { color: #d63638; }
.avp-form__actions { display: flex; gap: .5rem; }
.avp-btn {
	display: inline-block;
	padding: .6rem 1.1rem;
	border-radius: 4px;
	border: 1px solid transparent;
	cursor: pointer;
	font: inherit;
}
.avp-btn--primary { background: #2271b1; color: #fff; }
.avp-btn--primary:hover { background: #135e96; }
.avp-btn--link { background: transparent; color: #2271b1; padding: .6rem 0; }
.avp-btn--link:hover { text-decoration: underline; }
.avp-btn[disabled] { opacity: .6; cursor: progress; }
.avp-form__feedback {
	min-height: 1.2em;
	margin: 0;
	font-size: .9rem;
}
.avp-form__feedback--info { color: #2271b1; }
.avp-form__feedback--success { color: #008a20; }
.avp-form__feedback--error { color: #d63638; }

/* Articles list */
.avp-articles { max-width: 720px; margin: 0 auto; }
.avp-articles__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.avp-articles__item { padding: 1rem 0; border-bottom: 1px solid #e5e7eb; }
.avp-articles__title { margin: 0 0 .25rem; font-size: 1.25rem; }
.avp-articles__link { color: #135e96; text-decoration: none; }
.avp-articles__link:hover { text-decoration: underline; }
.avp-articles__meta { font-size: .85rem; color: #6b7280; margin-bottom: .5rem; }
.avp-articles__excerpt p { margin: 0; }
.avp-articles__pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 1.5rem; gap: 1rem; }
.avp-articles--locked, .avp-articles--empty { padding: 2rem; text-align: center; background: #f9fafb; border-radius: 6px; }
