/*
Theme Name: Recanto do Ancião
Theme URI: https://www.recantodoanciao.com.br/
Author: Safelogic Tecnologia e Marketing
Author URI: https://www.safelogic.com.br
Description: Tema de blocos sob medida para o Recanto do Ancião José Segatto (Aracruz/ES). Acessível, responsivo e com layout travado para edição simples pela equipe.
Version: 1.3.3
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: recanto
*/

/* Complementos que o theme.json não cobre. Cores e fontes vêm sempre dos presets. */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
	padding: 12px 16px;
	z-index: 100000;
}

/* Barra superior: links brancos sobre azul escuro (12,69:1) */
.recanto-topbar a,
.recanto-topbar a:hover { color: #fff; }

/* Header fixo */
.recanto-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 4px solid var(--wp--preset--color--sky);
}
.admin-bar .recanto-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .recanto-header { top: 46px; } }
/* O WordPress aplica padding padrão a grupos com fundo; no topo e no header queremos o nosso. */
.wp-block-group.recanto-topbar,
.wp-block-group.recanto-header { padding-top: 0; padding-bottom: 0; }
.recanto-topbar p { margin: 0; }
.recanto-header .recanto-logo { margin: 0; }
/* Logo principal (SVG oficial) no header branco: preto 20,5:1, faixa azul 3,52:1, coração 3,77:1,
   texto preto sobre a faixa 5,83:1 (gráficos ≥ 3:1) */
.recanto-header .recanto-logo img { height: 80px !important; width: auto !important; }
/* Logo monocromático branco (SVG oficial) no rodapé azul: 7,79:1 */
.recanto-footer .recanto-logo-rodape { margin: 0 0 24px; }
.recanto-footer .recanto-logo-rodape img { height: 72px !important; width: auto !important; max-width: 100%; align-self: flex-start; object-fit: contain; }
.recanto-header .wp-block-navigation__responsive-container-open {
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 10px;
	padding: 0 14px;
	font-weight: 700;
	align-items: center;
}
@media (max-width: 599px) {
	.recanto-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; }
}
@media (max-width: 699px) {
	.recanto-header { position: static; }
	/* 200×50 no celular; em telas muito estreitas (320 px) diminui sem deformar */
	.recanto-header .recanto-logo img { width: 200px !important; max-width: 100%; height: auto !important; }
	.recanto-footer .recanto-logo-rodape img { height: 56px !important; }
	.recanto-topbar .recanto-topbar-tel { display: none; }
	.recanto-topbar .wp-block-group { justify-content: center !important; gap: 16px !important; }
}
.recanto-header .wp-block-navigation__responsive-container-open,
.recanto-header .wp-block-navigation__responsive-container-close {
	min-width: 48px;
	min-height: 48px;
	justify-content: center;
}
.recanto-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.25rem;
	padding: 12px 0;
}
.recanto-header .wp-block-button__link { white-space: nowrap; }

/* Hero com overlay legível */
.recanto-hero.wp-block-cover .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg, rgba(4,54,82,.92) 0%, rgba(4,54,82,.80) 55%, rgba(4,54,82,.45) 100%) !important; }
@media (max-width: 699px) {
	.recanto-hero.wp-block-cover .wp-block-cover__background { background: rgba(4,54,82,.85) !important; }
}

/* Cards */
.recanto-card {
	border-top: 6px solid var(--wp--preset--color--primary);
	box-shadow: 0 2px 10px rgba(4,54,82,.10);
	height: 100%;
}
.recanto-card.is-accent { border-top-color: var(--wp--preset--color--accent); }
.recanto-card.is-sky { border-top-color: var(--wp--preset--color--sky); }
.recanto-card > .wp-block-buttons { margin-top: auto; }
.wp-block-group.recanto-post-card { box-shadow: 0 2px 10px rgba(4,54,82,.10); overflow: hidden; height: 100%; padding: 0; }
.recanto-post-card .wp-block-post-featured-image { margin: 0; }
.recanto-post-card .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; }
.recanto-post-card .wp-block-post-title a { text-decoration: none; }
.recanto-post-card .wp-block-post-title a:hover { text-decoration: underline; }

/* Números */
.recanto-numero { font-family: var(--wp--preset--font-family--heading); font-size: 3rem; line-height: 1; font-weight: 700; margin-bottom: 8px; }

/* Parceiros */
.recanto-parceiros .wp-block-post-template { gap: 16px; }
.recanto-parceiro {
	border: 2px solid #D5E6EE;
	min-height: 96px;
	text-align: center;
	justify-content: center;
}
.recanto-parceiro img { max-height: 64px; width: auto; margin: 0 auto; object-fit: contain; }
/* Linhas equilibradas: "Loja Maçônica / Dom Pedro I" em vez de deixar uma palavra sozinha */
.recanto-parceiro .wp-block-post-title { text-wrap: balance; }
/* Nome com link para o site do parceiro: sublinhado para se distinguir dos que não têm link */
.recanto-parceiro .wp-block-post-title a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.recanto-parceiro .wp-block-post-title a:hover,
.recanto-parceiro .wp-block-post-title a:focus-visible { text-decoration-thickness: 2px; }

/* Passos numerados */
.recanto-passos { counter-reset: passo; list-style: none; padding-left: 0; }
.recanto-passos > li { counter-increment: passo; position: relative; min-height: 52px; padding: 10px 0 0 68px; margin-bottom: 16px; overflow-wrap: anywhere; }
.recanto-passos > li::before {
	content: counter(passo);
	position: absolute; left: 0; top: 0;
	width: 52px; height: 52px; border-radius: 50%;
	background: var(--wp--preset--color--primary); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.4rem;
}

/* Lista "O que doar" */
.wp-block-group.recanto-itens { align-items: start !important; }
.recanto-itens .wp-block-details { border: 2px solid #D5E6EE; border-radius: 10px; padding: 12px 24px; background: #fff; }
.recanto-itens .wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.25rem; color: var(--wp--preset--color--primary-dark); min-height: 44px; display: flex; align-items: center; cursor: pointer; }

/* Galeria com estilo "Carrossel" (scroll-snap, sem dependências) */
.wp-block-gallery.is-style-carrossel {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 16px !important;
	padding-bottom: 12px;
	scrollbar-color: var(--wp--preset--color--primary) var(--wp--preset--color--soft);
}
.wp-block-gallery.is-style-carrossel > .wp-block-image {
	flex: 0 0 85% !important;
	width: 85% !important;
	scroll-snap-align: center;
	margin: 0 !important;
}
@media (min-width: 900px) {
	.wp-block-gallery.is-style-carrossel > .wp-block-image { flex-basis: 60% !important; width: 60% !important; }
}
.wp-block-gallery.is-style-carrossel > .wp-block-image img { aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; width: 100%; height: auto; }
.recanto-carrossel-controles { display: flex; gap: 12px; justify-content: flex-end; margin-top: 8px; }
.recanto-carrossel-controles button {
	min-width: 52px; min-height: 52px; border-radius: 50%;
	border: 2px solid var(--wp--preset--color--primary);
	background: #fff; color: var(--wp--preset--color--primary);
	font-size: 1.5rem; cursor: pointer;
}
.recanto-carrossel-controles button:hover { background: var(--wp--preset--color--soft); }

/* WhatsApp flutuante (só celular) */
.recanto-wa-float {
	position: fixed; right: 16px; bottom: 16px; z-index: 60;
	background: #0B6B3A; color: #fff !important; border-radius: 999px;
	min-height: 52px; padding: 0 20px; display: inline-flex; align-items: center;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; text-decoration: none;
	box-shadow: 0 6px 16px rgba(0,0,0,.25);
}
.recanto-wa-float:hover { background: #08542D; }
@media (min-width: 1080px) { .recanto-wa-float { display: none; } }

/* Rodapé */
.recanto-footer a { color: #fff; }
.recanto-footer .wp-block-list { list-style: none; padding-left: 0; }

/* Metadados */
.recanto-meta { color: #4A4A4A; font-size: 1rem; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.wp-block-gallery.is-style-carrossel { scroll-behavior: auto; }
}
