/* Premios Gastronómicos Recetas Argentinas — estilos públicos (con prefijo para convivir con Avada). */

.pgra {
	--pgra-primary: #2f7fc1;
	--pgra-accent: #f6b40e;
	--pgra-text: #1f2933;
	--pgra-muted: #5f6b76;
	--pgra-border: #e3e7eb;
	--pgra-bg-soft: #f6f8fa;
	--pgra-radius: 12px;
	--pgra-cols: 3;
	color: var(--pgra-text);
	line-height: 1.5;
}
.pgra *, .pgra *::before, .pgra *::after { box-sizing: border-box; }
.pgra img { max-width: 100%; height: auto; }
.pgra [hidden] { display: none !important; }
.pgra .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.pgra-intro { font-size: 1.15em; margin: 0 0 1.25em; }
.pgra-meta { color: var(--pgra-muted); font-size: .92em; margin: .25em 0; }
.pgra-fecha { font-size: .9em; margin: .25em 0 .75em; }
.pgra-vacio { padding: 1em; background: var(--pgra-bg-soft); border-radius: var(--pgra-radius); color: var(--pgra-muted); }
.pgra-aviso { padding: .85em 1em; background: #fff8e6; border-left: 4px solid var(--pgra-accent); border-radius: 6px; margin: 1em 0; }
.pgra-aviso--admin { background: #fdecea; border-color: #d63638; }
.pgra-seccion { margin: 2em 0; }
.pgra-seccion > h2, .pgra-votacion > h2, .pgra-resultados > h2, .pgra-nominar > h2 { margin: 0 0 .75em; }
.pgra-enlace { color: var(--pgra-primary); font-weight: 600; text-decoration: none; }
.pgra-enlace:hover { text-decoration: underline; }
.pgra-volver { margin-top: 2em; }

/* Botones */
.pgra-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	min-height: 44px; padding: .6em 1.2em; border: 2px solid var(--pgra-primary); border-radius: 999px;
	background: var(--pgra-primary); color: #fff !important; font-weight: 700; font-size: 1em; line-height: 1.2;
	text-decoration: none !important; cursor: pointer; transition: background-color .15s, opacity .15s;
}
.pgra-btn:hover:not(:disabled) { filter: brightness(.93); }
.pgra-btn:focus-visible { outline: 3px solid var(--pgra-accent); outline-offset: 2px; }
.pgra-btn:disabled { opacity: .55; cursor: not-allowed; }
.pgra-btn--secundario { background: #fff; color: var(--pgra-primary) !important; }
.pgra-btn--chico { min-height: 36px; padding: .35em .9em; font-size: .88em; }

/* Estado */
.pgra-estado {
	display: inline-block; padding: .2em .7em; border-radius: 999px; font-size: .78em; font-weight: 700;
	text-transform: uppercase; letter-spacing: .03em; background: var(--pgra-bg-soft); color: var(--pgra-muted);
}
.pgra-estado--votacion { background: #e6f4ea; color: #1e7b34; }
.pgra-estado--nominaciones { background: #e8f1fb; color: #1b5e9c; }
.pgra-estado--finalizada { background: #f1ecfb; color: #5b3aa0; }
.pgra-estado--programada { background: #fff4d6; color: #8a6100; }

/* Filtros */
.pgra-filtros {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75em;
	padding: 1em; background: var(--pgra-bg-soft); border-radius: var(--pgra-radius); margin-bottom: 1.5em; align-items: end;
}
.pgra-filtro label { display: block; font-weight: 600; font-size: .9em; margin-bottom: .3em; }
.pgra-filtro select, .pgra-campo input, .pgra-campo select, .pgra-campo textarea, .pgra-buscador input {
	width: 100%; min-height: 44px; padding: .5em .7em; border: 1px solid #c9d0d6; border-radius: 8px; background: #fff; font-size: 16px; color: inherit;
}
.pgra-filtro select:disabled { background: #eef1f4; }
.pgra-cargando { opacity: .5; transition: opacity .2s; }

/* Tarjetas de encuestas */
.pgra-grilla-encuestas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25em; }
.pgra-encuesta-tarjeta { display: flex; flex-direction: column; border: 1px solid var(--pgra-border); border-radius: var(--pgra-radius); overflow: hidden; background: #fff; }
.pgra-encuesta-tarjeta__img { display: block; aspect-ratio: 16 / 9; background: var(--pgra-bg-soft); overflow: hidden; }
.pgra-encuesta-tarjeta__img img, .pgra-encuesta-tarjeta__img .pgra-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pgra-encuesta-tarjeta__cuerpo { padding: 1em; display: flex; flex-direction: column; flex: 1; gap: .2em; }
.pgra-encuesta-tarjeta__cuerpo .pgra-btn { margin-top: auto; align-self: flex-start; }
.pgra-encuesta-tarjeta__titulo { font-size: 1.15em; margin: .4em 0 0; line-height: 1.3; }
.pgra-encuesta-tarjeta__titulo a { color: inherit; text-decoration: none; }

.pgra-img--vacia {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 80px;
	background: linear-gradient(135deg, var(--pgra-primary), var(--pgra-accent)); color: #fff; font-size: 2.2em; font-weight: 800;
}

/* Cabecera de encuesta */
.pgra-cabecera { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25em; margin-bottom: 1.5em; }
@media (min-width: 768px) {
	.pgra-cabecera { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
	.pgra-cabecera:not(:has(.pgra-cabecera__img)) { grid-template-columns: 1fr; }
}
.pgra-cabecera__img { border-radius: var(--pgra-radius); overflow: hidden; }
.pgra-cabecera__img img { width: 100%; display: block; }
.pgra-cabecera__img--logo { max-width: 220px; }
.pgra-cabecera__titulo { margin: .3em 0; }
.pgra-datos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6em 1em; margin: 1em 0; }
.pgra-datos dt { font-size: .8em; text-transform: uppercase; letter-spacing: .04em; color: var(--pgra-muted); margin: 0; }
.pgra-datos dd { margin: 0; font-weight: 600; }

/* Compartir */
.pgra-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; margin-top: .75em; }
.pgra-compartir__label { font-weight: 600; font-size: .9em; }
.pgra-compartir__btn {
	display: inline-flex; align-items: center; min-height: 40px; padding: .35em .9em; border-radius: 999px; border: 1px solid var(--pgra-border);
	background: #fff; color: var(--pgra-text) !important; font-size: .9em; font-weight: 600; text-decoration: none !important; cursor: pointer;
}
.pgra-compartir__btn--wa { border-color: #25d366; }
.pgra-compartir__btn--fb { border-color: #1877f2; }
.pgra-compartir__btn--x { border-color: #111; }
.pgra-compartir__ok { font-size: .85em; color: #1e7b34; }

/* Candidatos */
.pgra-buscador { margin: 0 0 1em; }
.pgra-buscador label { display: block; font-weight: 600; margin-bottom: .3em; }
.pgra-candidatos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9em; }
@media (min-width: 600px) { .pgra-candidatos { grid-template-columns: repeat(min(var(--pgra-cols), 3), minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pgra-candidatos { grid-template-columns: repeat(var(--pgra-cols), minmax(0, 1fr)); } }
.pgra-candidato { display: flex; flex-direction: column; border: 2px solid var(--pgra-border); border-radius: var(--pgra-radius); overflow: hidden; background: #fff; transition: border-color .15s; }
.pgra-candidato__img { aspect-ratio: 1 / 1; background: var(--pgra-bg-soft); }
.pgra-candidatos--horizontal .pgra-candidato__img { aspect-ratio: 4 / 3; }
.pgra-candidato__img img, .pgra-candidato__img .pgra-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pgra-candidato__cuerpo { padding: .75em; display: flex; flex-direction: column; flex: 1; gap: .3em; }
.pgra-candidato__nombre { font-size: 1.02em; margin: 0; line-height: 1.25; }
.pgra-candidato__ciudad { margin: 0; color: var(--pgra-muted); font-size: .88em; }
.pgra-candidato .pgra-btn--votar { margin-top: auto; width: 100%; }
.pgra-candidato--elegido { border-color: var(--pgra-accent); }
.pgra-candidato--votado { border-color: #1e7b34; box-shadow: 0 0 0 3px rgba(30, 123, 52, .15); }
.pgra-candidato--votado .pgra-btn--votar { background: #1e7b34; border-color: #1e7b34; opacity: 1; }
.pgra-mas { text-align: center; margin: 1em 0; }

.pgra-mensaje { padding: .85em 1em; border-radius: 8px; margin: 0 0 1em; font-weight: 600; background: var(--pgra-bg-soft); }
.pgra-mensaje--ok { background: #e6f4ea; color: #1e5e2f; }
.pgra-mensaje--error { background: #fdecea; color: #8a1f11; }

.pgra-confirmar {
	position: sticky; bottom: 0; z-index: 50; margin-top: 1em; padding: 1em; background: #fff; border: 2px solid var(--pgra-accent);
	border-radius: var(--pgra-radius); box-shadow: 0 -6px 20px rgba(0, 0, 0, .12); text-align: center;
}
.pgra-confirmar p { margin: 0 0 .6em; font-weight: 700; }
.pgra-privacidad { font-size: .82em; color: var(--pgra-muted); margin-top: 1.25em; }
.pgra-privacidad a { color: var(--pgra-primary); }
.pgra-consentimiento { font-size: 1.1em; color: var(--pgra-text); }
.pgra-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Formulario */
.pgra-nominar { padding: 1.25em; border: 1px solid var(--pgra-border); border-radius: var(--pgra-radius); background: #fff; margin: 1.5em 0; }
.pgra-campo { margin-bottom: 1em; }
.pgra-campo label { display: block; font-weight: 600; margin-bottom: .3em; }
.pgra-campo input[readonly] { background: #eef1f4; }
.pgra-campo-fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 1em; }
.pgra-req { color: #b32d2e; }
.pgra-campo :focus-visible, .pgra-filtro :focus-visible, .pgra-buscador :focus-visible { outline: 3px solid var(--pgra-accent); outline-offset: 1px; }

/* Resultados */
.pgra-totales { list-style: none; margin: 0 0 1.25em; padding: 0; display: flex; flex-wrap: wrap; gap: .5em 1.5em; }
.pgra-podio { list-style: none; margin: 0 0 1.5em; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1em; }
.pgra-podio__item { position: relative; text-align: center; padding: 1.25em 1em; border-radius: var(--pgra-radius); background: var(--pgra-bg-soft); border-top: 6px solid #9aa3ad; }
.pgra-podio__item--1 { border-top-color: #d4a017; background: #fff9e6; }
.pgra-podio__item--3 { border-top-color: #a8642e; }
.pgra-podio__img { width: 96px; height: 96px; margin: .5em auto; border-radius: 50%; overflow: hidden; }
.pgra-podio__img img, .pgra-podio__img .pgra-img { width: 100%; height: 100%; object-fit: cover; }
.pgra-podio__pos { margin: 0; font-weight: 700; text-transform: uppercase; font-size: .85em; color: var(--pgra-muted); }
.pgra-podio__nombre { margin: .2em 0; font-size: 1.15em; }
.pgra-medalla {
	display: inline-flex; align-items: center; justify-content: center; width: 2em; height: 2em; border-radius: 50%;
	font-weight: 800; color: #fff; background: #9aa3ad; font-size: .9em; flex: none;
}
.pgra-medalla--1 { background: #d4a017; }
.pgra-medalla--3 { background: #a8642e; }
.pgra-tabla-wrap { overflow-x: auto; }
.pgra-tabla { width: 100%; border-collapse: collapse; }
.pgra-tabla th, .pgra-tabla td { padding: .6em .5em; border-bottom: 1px solid var(--pgra-border); text-align: left; vertical-align: middle; }
.pgra-tabla th { font-size: .85em; text-transform: uppercase; color: var(--pgra-muted); }
.pgra-barra { position: relative; display: block; min-width: 90px; height: 1.5em; background: var(--pgra-bg-soft); border-radius: 4px; overflow: hidden; }
.pgra-barra::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--pct); background: var(--pgra-primary); opacity: .25; }
.pgra-barra span { position: relative; padding: 0 .4em; font-size: .85em; font-weight: 600; line-height: 1.5em; }

/* Ganadores y rankings */
.pgra-ganadores { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; }
.pgra-ganador { display: flex; gap: .9em; align-items: center; padding: .9em; border: 1px solid var(--pgra-border); border-radius: var(--pgra-radius); background: #fff; }
.pgra-ganador__img { position: relative; width: 72px; height: 72px; flex: none; border-radius: 50%; }
.pgra-ganador__img img, .pgra-ganador__img .pgra-img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.pgra-ganador__img .pgra-medalla { position: absolute; right: -4px; bottom: -4px; width: 1.8em; height: 1.8em; border: 2px solid #fff; }
.pgra-ganador__cat { margin: 0; font-size: .82em; color: var(--pgra-muted); }
.pgra-ganador__nombre { margin: .1em 0 .2em; font-size: 1.05em; }
.pgra-ganador__nombre a { color: inherit; text-decoration: none; }
.pgra-rankings { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1em; }
.pgra-ranking { padding: 1em; border: 1px solid var(--pgra-border); border-radius: var(--pgra-radius); }
.pgra-ranking h3 { font-size: 1.05em; margin: 0 0 .5em; }
.pgra-ranking__lista { list-style: none; margin: 0; padding: 0; }
.pgra-ranking__lista li { display: flex; align-items: center; gap: .5em; padding: .3em 0; }
.pgra-lista { padding-left: 1.2em; }
.pgra-lista--historial { list-style: none; padding: 0; }
.pgra-lista--historial li { display: flex; align-items: center; gap: .5em; flex-wrap: wrap; padding: .4em 0; border-bottom: 1px solid var(--pgra-border); }

/* Chips y categorías */
.pgra-chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.pgra-chips a { display: inline-block; padding: .45em 1em; border: 1px solid var(--pgra-border); border-radius: 999px; text-decoration: none; color: var(--pgra-text); font-weight: 600; }
.pgra-chips a:hover { border-color: var(--pgra-primary); color: var(--pgra-primary); }
.pgra-categorias { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75em; }
.pgra-categoria { display: flex; flex-direction: column; align-items: center; gap: .5em; padding: 1em; border: 1px solid var(--pgra-border); border-radius: var(--pgra-radius); text-decoration: none; color: var(--pgra-text); text-align: center; font-weight: 600; }
.pgra-categoria .pgra-img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; font-size: 1.4em; min-height: 0; }

/* Paginación */
.pgra-paginacion ul { list-style: none; display: flex; flex-wrap: wrap; gap: .4em; padding: 0; margin: 1em 0; justify-content: center; }
.pgra-paginacion a, .pgra-paginacion span { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--pgra-border); border-radius: 8px; text-decoration: none; }
.pgra-paginacion span[aria-current] { background: var(--pgra-primary); color: #fff; border-color: var(--pgra-primary); }

@media (prefers-reduced-motion: reduce) {
	.pgra * { transition: none !important; scroll-behavior: auto !important; }
}
.pgra .pgra-img.pgra-img--vacia { display: flex !important; align-items: center; justify-content: center; }
.pgra-encuesta-tarjeta__cuerpo .pgra-estado { align-self: flex-start; }
.pgra-encuesta-tarjeta__img, .pgra-encuesta-tarjeta__img:hover { text-decoration: none !important; }

/* Valoración con estrellas */
.pgra-ayuda { color: var(--pgra-muted); margin: -.25em 0 1em; }
.pgra-estrellas { display: grid; grid-template-columns: repeat(5, 44px); justify-content: center; gap: 4px 6px; margin: .25em 0 .5em; }
@media (min-width: 560px) { .pgra-estrellas { grid-template-columns: repeat(10, 44px); } }
.pgra-estrella { width: 44px; height: 44px; padding: 0; border: 0; background: none; font-size: 34px; line-height: 1; color: #c9d0d6; cursor: pointer; transition: transform .1s, color .1s; }
.pgra-estrella--on { color: #f5b301; }
.pgra-estrella:focus-visible { outline: 3px solid var(--pgra-primary); border-radius: 6px; }
.pgra-estrella:active { transform: scale(.9); }
.pgra-estrellas-valor { margin: 0 0 .6em !important; font-weight: 600; }
.pgra-mi-valoracion { margin: 0; color: #f5b301; letter-spacing: 0; font-size: .78em; white-space: nowrap; overflow: hidden; }
.pgra-media { font-weight: 700; color: var(--pgra-text); }
.pgra-barra--estrellas::before { background: #f5b301; opacity: .4; }
.pgra-fila-separador td { background: var(--pgra-bg-soft); font-size: .85em; color: var(--pgra-muted); font-weight: 600; }

/* Top 5 durante la votación */
.pgra-top { margin: 0 0 1.75em; padding: 1em 1.1em; border: 2px solid var(--pgra-primary); border-radius: var(--pgra-radius); background: #fff; }
.pgra-top__cabecera { display: flex; align-items: baseline; justify-content: space-between; gap: .5em; flex-wrap: wrap; margin-bottom: .4em; }
.pgra-top__cabecera h2 { margin: 0; font-size: 1.25em; }
.pgra-top__nota { font-size: .78em; color: var(--pgra-muted); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.pgra-top__lista { list-style: none; margin: 0 0 .6em; padding: 0; }
.pgra-top__item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6em; padding: .5em 0; border-bottom: 1px solid var(--pgra-border); }
.pgra-top__item:last-child { border-bottom: 0; }
.pgra-top__nombre { font-weight: 700; line-height: 1.25; }
.pgra-top__dato { font-size: .85em; color: var(--pgra-muted); text-align: right; white-space: nowrap; }
.pgra-top__vacio { margin: .25em 0 .6em; color: var(--pgra-muted); }
.pgra-top__enlace { display: inline-block; font-weight: 700; color: var(--pgra-primary) !important; text-decoration: none !important; padding: .35em 0; }
.pgra-top__enlace:hover { text-decoration: underline !important; }
.pgra-medalla--4 { background: var(--pgra-primary); }
.pgra-volver--arriba { margin: 0 0 1em; }
@media (max-width: 420px) { .pgra-top__item { grid-template-columns: auto 1fr; } .pgra-top__dato { grid-column: 2; text-align: left; } }
