/*
Theme Name: AMPA Corazonistas
Description: Tema de bloques para la AMPA del Colegio Sagrado Corazón Corazonistas Barcelona.
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: ampa
*/

/* Ajustes que theme.json no cubre */
.ampa-card {
	transition: transform .15s ease, box-shadow .15s ease;
}
.ampa-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgb(0 0 0 / .08);
}
.ampa-card a { text-decoration: none; }
.ampa-card a::after { content: ""; position: absolute; inset: 0; }
.ampa-card { position: relative; }

.ampa-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .ampa-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ampa-header { top: 0; } }

.ampa-tag {
	display: inline-block;
	padding: .2rem .7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wp-block-post-featured-image img { border-radius: 12px; }

/* Contenido migrado de la web antigua (bloque Clásico) */
.wp-block-post-content img { max-width: 100%; height: auto; }
.wp-block-post-content table:not(.wp-block-table table) {
	width: 100%;
	border-collapse: collapse;
	margin-block: 1.5rem;
}
.wp-block-post-content table:not(.wp-block-table table) td {
	padding: .75rem;
	vertical-align: middle;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* Tablas de dos columnas (logo + texto) */
.wp-block-post-content table:not(.wp-block-table table) td:first-child:nth-last-child(2) { width: 30%; text-align: center; }
.wp-block-post-content table:not(.wp-block-table table) td:not(:only-child) { text-align: center; }
.wp-block-post-content table:not(.wp-block-table table) td:first-child:nth-last-child(2) + td { text-align: left; }
@media (max-width: 600px) {
	.wp-block-post-content table:not(.wp-block-table table) td { display: block; width: auto !important; }
	.wp-block-post-content table:not(.wp-block-table table) td:first-child { border-bottom: 0; padding-bottom: 0; }
	.wp-block-post-content table:not(.wp-block-table table) img { max-width: 180px; }
}

/* Formularios (Contact Form 7) */
.wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.wpcf7 select, .wpcf7 textarea {
	width: 100%;
	padding: .7rem .9rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	font: inherit;
	background: var(--wp--preset--color--base);
}
.wpcf7 input[type=submit] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: .75rem 1.6rem;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

/* Iniciales de la junta */
.ampa-avatar {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: 0 auto;
	border-radius: 50%;
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-size: 1.3rem;
}

/* Menú móvil */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	padding: 1.25rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	padding-top: 3rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	text-align: left;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 1.15rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding-left: 1rem !important;
	font-weight: 400;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: .35rem; }

.ampa-list { padding-left: 1.1rem; margin: 0; }
.ampa-list li + li { margin-top: .5rem; }

/* Tarjetas con foto */
.ampa-card { overflow: hidden; }
.ampa-card-media { margin: 0 !important; width: 100%; }
.ampa-card-media img { display: block; width: 100%; }
.ampa-card-emoji {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--rose);
	font-size: 3.5rem;
	line-height: 1;
}

/* Galería de la portada */
.ampa-gallery.wp-block-gallery { gap: .75rem; }
.ampa-gallery img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 600px) {
	.ampa-gallery.wp-block-gallery figure.wp-block-image { width: calc(50% - .375rem) !important; }
}

/* Tarjetas de la portada: 4 → 2 → 1 columnas (nunca una sola tarjeta huérfana) */
.ampa-cards.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) { .ampa-cards.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .ampa-cards.is-layout-grid { grid-template-columns: 1fr !important; } }

/* Calendario del curso */
.ampa-calendar.is-layout-grid { gap: 1rem 2rem; margin-top: 1.5rem; }
.ampa-cal-item { padding: 1rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.ampa-cal-item p { margin: 0; }
.ampa-cal-month {
	white-space: nowrap;
	flex: 0 0 6.5rem;
	padding: .3rem .6rem;
	border-radius: 8px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}
.ampa-cal-item a { color: var(--wp--preset--color--ink); text-decoration: none; }
.ampa-cal-item a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }

/* Pie de foto «Ver en Instagram» */
.ampa-gallery figcaption.wp-element-caption {
	font-size: .8rem !important;
	padding: .4rem .6rem !important;
	background: linear-gradient(transparent, rgb(0 0 0 / .65)) !important;
}

/* Calendario del curso */
.ampa-calendar.is-layout-grid { gap: 0 2rem; margin-top: 1.5rem; }
.ampa-cal-item { padding: 1rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.ampa-cal-item p { margin: 0; }
.ampa-cal-month {
	white-space: nowrap;
	flex: 0 0 6.5rem;
	padding: .3rem .6rem;
	border-radius: 8px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}
.ampa-cal-item a { color: var(--wp--preset--color--ink); text-decoration: none; }
.ampa-cal-item a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }

/* Pie de foto «Ver en Instagram» */
.ampa-gallery figcaption.wp-element-caption { font-size: .8rem !important; }

/* Galerías «En Instagram» de cada actividad: imagen completa (carteles incluidos), sin recortar */
.ampa-instagram .ampa-gallery img { object-fit: contain !important; background: var(--wp--preset--color--sand); }
.ampa-instagram .ampa-gallery.columns-1 { max-width: 26rem; }
.ampa-instagram .ampa-gallery.columns-2 { max-width: 40rem; }

/* Gráficos de barras (bloque Tabla con estilo «Gráfico de barras», ver functions.php) */
.ampa-chart-wrap {
	--ampa-s1: #D9A13B; /* 1.ª serie (Previsto): amarillo de la marca */
	--ampa-s2: #B3202A; /* 2.ª serie (Real): rojo corporativo */
	--ampa-s3: #5B6168;
	margin-block: var(--wp--preset--spacing--40);
}
.ampa-chart { display: grid; gap: .9rem; }
.ampa-chart__legend { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin: 0 0 .25rem; padding: 0; list-style: none; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.ampa-chart__legend li { display: flex; align-items: center; gap: .45rem; }
.ampa-chart__swatch { width: .8rem; height: .8rem; border-radius: 3px; }
.ampa-chart__row { display: grid; grid-template-columns: minmax(9rem, 32%) 1fr; gap: .25rem 1rem; align-items: center; }
.ampa-chart__label { font-weight: 600; line-height: 1.3; }
.ampa-chart__note { display: block; font-weight: 400; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.ampa-chart__bars { display: grid; gap: 2px; }
.ampa-chart__bar { display: flex; align-items: center; gap: .5rem; min-height: 1.15rem; font-size: var(--wp--preset--font-size--small); }
.ampa-chart__fill { flex: 0 0 auto; width: calc(var(--w) * .75); min-width: 2px; height: .95rem; border-radius: 0 4px 4px 0; transition: filter .15s; }
.ampa-chart__bar:hover .ampa-chart__fill { filter: brightness(.88); }
.ampa-chart__value { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--wp--preset--color--ink); }
.ampa-chart__pct { color: var(--wp--preset--color--muted); }
.ampa-chart__s1 { background: var(--ampa-s1); }
.ampa-chart__s2 { background: var(--ampa-s2); }
.ampa-chart__s3 { background: var(--ampa-s3); }
.ampa-chart__row.is-total { border-top: 1px solid var(--wp--preset--color--line); padding-top: .7rem; }
.ampa-chart__row.is-total .ampa-chart__value { font-weight: 700; }
.ampa-chart__data { margin-top: 1rem; }
.ampa-chart__data summary { cursor: pointer; color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.ampa-chart__data .wp-block-table { margin-top: .75rem; }
.ampa-chart__data td:not(:first-child), .ampa-chart__data th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
	.ampa-chart__row { grid-template-columns: 1fr; }
	.ampa-chart__fill { width: calc(var(--w) * .6); }
}
@media (forced-colors: active) { .ampa-chart__fill { border: 1px solid CanvasText; } }

/* Cifras clave (página Transparencia) */
.ampa-stat { border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1rem 1.1rem; }
.ampa-stat .ampa-stat__num { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--x-large); font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ampa-stat p { margin-block: .2rem 0; }

/* Tabla de cuentas (conceptos e importes) */
.wp-block-table.ampa-cuenta table { border-collapse: collapse; }
.wp-block-table.ampa-cuenta th, .wp-block-table.ampa-cuenta td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: .6rem .25rem; text-align: left; }
.wp-block-table.ampa-cuenta thead { border: 0; }
.wp-block-table.ampa-cuenta thead th { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); border-bottom: 2px solid var(--wp--preset--color--ink); }
.wp-block-table.ampa-cuenta td:last-child, .wp-block-table.ampa-cuenta th:last-child { text-align: right; width: 8rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wp-block-table.ampa-cuenta tr:has(strong) td { background: var(--wp--preset--color--sand); }
.wp-block-table.ampa-cuenta figcaption { text-align: left; }
