/*
Theme Name: A por mí
Description: Tema de bloques para A por mí. Bienestar emocional, encuentros, talleres y acompañamiento.
Author: A por mí
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: apormi
*/

/* Base */
body { -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: 3px solid #F5B642; outline-offset: 3px; border-radius: 6px; }

/* Sin espacios entre cabecera, secciones y pie */
.wp-site-blocks > *,
.apm-main > * { margin-block-start: 0; margin-block-end: 0; }

/* Secciones */
.apm-row { padding-top: clamp(56px, 7vw, 92px); padding-bottom: clamp(56px, 7vw, 92px); }
.apm-tira { padding-top: 0; padding-bottom: clamp(56px, 7vw, 92px); }
.apm-intro { text-align: center; margin-bottom: 44px; }
.apm-intro > * { margin-left: auto !important; margin-right: auto !important; }
.apm-row > .wp-block-columns + .wp-block-columns { margin-top: clamp(24px, 4vw, 56px); }

/* Columnas: celdas a igual altura cuando hay tarjetas */
.apm-c3 > .wp-block-column,
.apm-c2:not(.apm-arriba) > .wp-block-column { display: flex; flex-direction: column; }
.apm-c3 > .wp-block-column > .wp-block-group,
.apm-c2:not(.apm-arriba) > .wp-block-column > .wp-block-group { flex: 1; }
.wp-block-columns.apm-arriba { align-items: flex-start !important; }
.apm-estrecho { max-width: 880px; margin-left: auto !important; margin-right: auto !important; }

/* Tira de 4 fotos: 2 x 2 en móvil */
.apm-c4.wp-block-columns { gap: 16px; }
@media (max-width: 781px) {
	.apm-c4.wp-block-columns > .wp-block-column { flex-basis: calc(50% - 8px) !important; flex-grow: 0; }
	.apm-foto-primero.wp-block-columns > .wp-block-column:first-child { order: 2; }
}

/* Textos de apoyo */
.apm-etiqueta { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--terracota); }
.apm-descriptor { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--teal); }
.apm-descriptor mark { padding-inline: 4px; }
.apm-medida { max-width: 58ch; }
.apm-cita { font-size: clamp(28px, 3.6vw, 42px); font-weight: 600; line-height: 1.22; letter-spacing: -.01em; color: var(--wp--preset--color--teal); text-wrap: balance; }
.apm-cierre-texto { max-width: 58ch; margin: 40px auto 0 !important; text-align: center; font-weight: 500; color: var(--wp--preset--color--teal); }
.apm-cierre-texto.apm-normal { font-weight: 400; color: var(--wp--preset--color--texto); }
.apm-destacado { font-weight: 600; color: var(--wp--preset--color--teal); }
.apm-nota { font-size: 15px; font-style: italic; }
.apm-verbos { font-size: 16px; font-weight: 600; line-height: 2; }
.apm-verbos mark { padding-inline: 2px; }
.apm-pendiente { font-size: 13.5px; border: 1px dashed var(--wp--preset--color--durazno); border-radius: 12px; padding: 10px 14px; background: #fff; }

/* Fotos */
.wp-block-image.apm-foto img { width: 100%; height: auto; border-radius: 20px; }
.apm-pos-15 img { object-position: 50% 15%; }
.apm-pos-30 img { object-position: 50% 30%; }
.apm-pos-35 img { object-position: 50% 35%; }
.apm-pos-40 img { object-position: 50% 40%; }
.apm-pos-55 img { object-position: 50% 55%; }
.apm-pos-60 img { object-position: 50% 60%; }
.apm-pos-izq img { object-position: 42% 50%; }

/* Tarjetas "para quién" */
.apm-pq { border-radius: 20px; padding: 26px 26px 28px; }
.apm-pq > * { margin-block-start: 8px; }
.apm-pq::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; margin-bottom: 16px; }
.apm-linea-terracota::before { background: var(--wp--preset--color--terracota); }
.apm-linea-sol::before { background: var(--wp--preset--color--sol); }
.apm-linea-teal::before { background: var(--wp--preset--color--teal); }
.apm-pq p, .apm-tarjeta p, .apm-caja p { font-size: 15.5px; line-height: 1.65; }

/* Tarjetas de propuestas */
.apm-tarjeta { border-radius: 20px; overflow: hidden; transition: transform .25s; }
.apm-tarjeta:hover { transform: translateY(-4px); }
.apm-tarjeta > .wp-block-image { margin: 0; }
.apm-tarjeta > .wp-block-image img { width: 100%; height: auto; display: block; }
.apm-txt { padding: 22px 26px 28px; margin-block-start: 0 !important; }
.apm-txt > * { margin-block-start: 8px; }
.apm-tipo { display: inline-block; font-size: 11px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; line-height: 1.4 !important; margin: 0; }
.apm-tipo-terracota { background: var(--wp--preset--color--durazno-claro); color: var(--wp--preset--color--terracota); }
.apm-tipo-sol { background: var(--wp--preset--color--sol-claro); color: #9A6A10; }
.apm-tipo-teal { background: var(--wp--preset--color--teal-claro); color: var(--wp--preset--color--teal); }

/* Banda */
.apm-banda { text-align: center; }
.apm-banda h2 { font-size: clamp(28px, 3.6vw, 42px); }
.apm-banda p { color: var(--wp--preset--color--teal); }

/* Sección verde azulado */
.apm-oscuro h2, .apm-oscuro h3 { color: #fff; }
.apm-oscuro .apm-etiqueta { color: var(--wp--preset--color--durazno); }
.apm-oscuro p, .apm-oscuro li { color: #E1EEED; }

/* Listas con punto amarillo */
.apm-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.apm-lista li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; }
.apm-lista li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--sol); margin-top: 9px; }

/* Cajas de preguntas */
.apm-faq > * + * { margin-block-start: 14px; }
.apm-caja { border-radius: 20px; padding: 22px 26px; }
.apm-caja > * + * { margin-block-start: 6px; }
.apm-caja h3 { font-size: 17px; }
.apm-bonus { padding: 28px; }
.apm-bonus > * + * { margin-block-start: 14px; }

/* Botones */
.wp-block-button .wp-block-button__link { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid transparent; transition: transform .2s, background-color .2s; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-terra .wp-block-button__link { background: var(--wp--preset--color--terracota); border-color: var(--wp--preset--color--terracota); color: #fff; }
.is-style-terra .wp-block-button__link:hover { background: #B85133; border-color: #B85133; }
.is-style-teal .wp-block-button__link { background: var(--wp--preset--color--teal); border-color: var(--wp--preset--color--teal); color: #fff; }
.is-style-teal .wp-block-button__link:hover { background: #0E5E65; border-color: #0E5E65; }
.is-style-borde .wp-block-button__link { background: transparent; border-color: var(--wp--preset--color--teal); color: var(--wp--preset--color--teal); }
.is-style-borde .wp-block-button__link:hover { background: rgba(11, 79, 85, .06); }
.is-style-blanco .wp-block-button__link { background: #fff; border-color: #fff; color: var(--wp--preset--color--teal); }

/* Cabecera fija */
.apm-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .apm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .apm-header { top: 46px; } }
.apm-menu { box-shadow: 0 1px 0 #F0E3DA; padding-top: 10px; padding-bottom: 10px; }
.apm-menu-in { gap: 20px; }
.apm-logo { margin: 0; flex: 0 0 auto; }
.apm-logo img { height: 54px; width: auto; }
.apm-nav { font-size: 14px; font-weight: 500; gap: 26px; }
.apm-nav a:hover { color: var(--wp--preset--color--terracota); }

/* Pie */
.apm-pie { padding-top: 40px; padding-bottom: 40px; font-size: 14px; }
.apm-pie-in { gap: 20px; align-items: center; }
.apm-logo-pie { margin: 0; flex: 0 0 190px; }
.apm-logo-pie img { width: 190px; height: auto; }
.apm-legal a { text-decoration: none; margin-right: 18px; }
.apm-legal a:hover { text-decoration: underline; }

/* Formulario: estilos para Contact Form 7, WPForms y formularios HTML normales */
.apm-form { border-radius: 20px; padding: 30px; box-shadow: 0 20px 50px -30px rgba(11, 79, 85, .35); }
.apm-form label { display: block; font-size: 14.5px; font-weight: 600; color: var(--wp--preset--color--teal); }
.apm-form input[type="text"],
.apm-form input[type="email"],
.apm-form input[type="tel"],
.apm-form textarea,
.apm-form select { width: 100%; box-sizing: border-box; margin-top: 6px; font-family: inherit; font-size: 16px; color: var(--wp--preset--color--teal); padding: 13px 15px; border-radius: 12px; border: 1.5px solid #E8DAD0; background: #fff; }
.apm-form input:focus, .apm-form textarea:focus { outline: none; border-color: var(--wp--preset--color--teal); }
.apm-form textarea { min-height: 100px; height: 120px; resize: vertical; }
.apm-form input[type="checkbox"] { accent-color: var(--wp--preset--color--teal); width: 18px; height: 18px; }
.apm-form .wpcf7-list-item-label, .apm-form .apm-check { font-weight: 400; font-size: 13.5px; color: var(--wp--preset--color--texto); }
.apm-form input[type="submit"], .apm-form button[type="submit"] { font-family: inherit; font-weight: 600; font-size: 15px; min-height: 50px; padding: 15px 30px; border-radius: 30px; border: 2px solid var(--wp--preset--color--terracota); background: var(--wp--preset--color--terracota); color: #fff; cursor: pointer; }
.apm-form input[type="submit"]:hover, .apm-form button[type="submit"]:hover { background: #B85133; border-color: #B85133; }
.apm-form .wpcf7-response-output { border-radius: 12px; font-size: 14.5px; background: var(--wp--preset--color--teal-claro); border: 0 !important; margin: 16px 0 0 !important; padding: 12px 14px !important; }

/* Páginas normales (privacidad, aviso legal) */
.apm-pagina { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(56px, 7vw, 92px); }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
	html { scroll-behavior: auto; }
}
