/*
Theme Name: Guia Para Duas
Theme URI: https://guiaparaduas.com
Author: Guia Para Duas
Description: Tema em blocos do Guia Para Duas, guia de viagens para mulheres que amam mulheres. Paleta vinho e creme, títulos em fonte condensada e fotos em formato polaroid.
Version: 1.0.0
Requires at least: 6.4
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: guia-para-duas
*/

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }

/* ---------- Cabeçalho ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }

.gpd-header { padding: 0.95rem clamp(1.25rem, 4vw, 3rem); align-items: center; }
.gpd-wordmark { margin: 0; font-family: var(--wp--preset--font-family--anton); font-size: 1.7rem; line-height: 1; letter-spacing: 0.05em; text-transform: uppercase; }
.gpd-wordmark a { color: var(--wp--preset--color--creme); text-decoration: none; }
.gpd-header .wp-block-navigation { font-size: 0.9rem; font-weight: 500; }
.gpd-header .wp-block-navigation a { text-decoration: none; }
.gpd-header .wp-block-navigation a:hover,
.gpd-header .wp-block-navigation a:focus-visible { text-decoration: underline; text-underline-offset: 0.35em; }

/* ---------- Estrutura geral ---------- */
.gpd-home > *,
.gpd-main > * { margin-block-start: 0 !important; }
.gpd-section { padding: clamp(3rem, 8vw, 6.5rem) clamp(1.25rem, 5vw, 3rem); }

/* Texto claro sobre fundos escuros */
:is(.has-vinho-background-color, .has-vinho-escuro-background-color, .has-marrom-background-color, .has-rosa-antigo-background-color) :is(h1, h2, h3, h4, h5, h6) { color: var(--wp--preset--color--creme); }
:is(.has-vinho-background-color, .has-vinho-escuro-background-color, .has-marrom-background-color, .has-rosa-antigo-background-color) a:not(.wp-element-button) { color: inherit; }

/* Títulos grandes no estilo do deck */
.gpd-display { font-size: clamp(3.2rem, 9vw, 7.5rem) !important; line-height: 0.95; margin: 0; }

/* ---------- Início: capa ---------- */
.gpd-hero { text-align: center; }
.gpd-hero__title { font-size: clamp(3.4rem, 13.5vw, 11.5rem) !important; line-height: 0.92; margin: 0 0 0.25em; }
.gpd-hero__lead { max-width: 42rem; margin-inline: auto; font-size: clamp(1.05rem, 1.9vw, 1.35rem); }
.gpd-hero .wp-block-buttons { justify-content: center; }
.gpd-hero__photo { margin-top: clamp(2rem, 5vw, 3.5rem); }
.gpd-hero__photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 22px; }

/* Linha tracejada de rota com pino */
hr.gpd-route {
	border: 0; height: 40px; max-width: 900px; margin: 2.5rem auto 0;
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'><path fill='%23F0EAD2' d='M12 0C5.4 0 0 5.4 0 12c0 9 12 20 12 20s12-11 12-20C24 5.4 18.6 0 12 0zm0 17a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/></svg>") right center / 30px 40px no-repeat,
		repeating-linear-gradient(90deg, rgba(240, 234, 210, 0.65) 0 18px, transparent 18px 34px) left center / calc(100% - 46px) 5px no-repeat;
}

/* ---------- Polaroids ---------- */
.gpd-polaroid { background: #f1f0ea; padding: 0.75rem 0.75rem 0; box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28); transform: rotate(-3deg); margin: 0; }
.gpd-polaroid img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gpd-polaroid figcaption { font-family: var(--wp--preset--font-family--dancing-script); font-size: 1.6rem; line-height: 1; text-align: center; color: #2a2a2a; margin: 0; padding: 0.7rem 0 0.95rem; }
.gpd-polaroids { gap: 1.5rem; justify-content: center; align-items: flex-start; }
.gpd-polaroids .gpd-polaroid { width: min(46%, 230px); flex: 0 0 auto; }
.gpd-polaroids .gpd-polaroid:nth-child(even) { transform: rotate(3deg); margin-top: 1.25rem; }
.gpd-duo { display: flex; justify-content: center; gap: 0; }
.gpd-duo .gpd-polaroid { width: min(48%, 250px); }
.gpd-duo .gpd-polaroid:last-child { transform: rotate(3deg); margin-left: -1.5rem; margin-top: 2rem; }

/* ---------- Etiquetas (chips do deck) ---------- */
.gpd-chips { gap: 0.6rem; }
.gpd-chip { margin: 0; border: 2px solid currentColor; border-radius: 999px; padding: 0.4rem 1.1rem; font-size: 0.95rem; line-height: 1.3; }

/* ---------- Lista de seções da home (estilo "Exemplos de post") ---------- */
.gpd-index-row { border-bottom: 2px solid rgba(240, 234, 210, 0.45); padding: 1.6rem 0; gap: 0.25rem 2rem; align-items: baseline; }
.gpd-index-row:first-of-type { border-top: 2px solid rgba(240, 234, 210, 0.45); }
.gpd-index-row h3 { margin: 0; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1; }
.gpd-index-row h3 a { text-decoration: none; }
.gpd-index-row h3 a:hover { text-decoration: underline; text-underline-offset: 0.12em; }
.gpd-index-row p { margin: 0; max-width: 26rem; }

/* ---------- Cartões de indicações ---------- */
.gpd-card { height: 100%; border-top: 3px solid var(--wp--preset--color--vinho); padding-top: 1rem; }
.gpd-card .wp-block-post-featured-image { margin: 0 0 1rem; }
.gpd-card .wp-block-post-featured-image img { border-radius: 16px; }
.gpd-card__cat { margin: 0; font-size: 0.85rem; font-weight: 600; }
.gpd-card__cat a { text-decoration: none; color: var(--wp--preset--color--marrom); }
.gpd-card .wp-block-post-title { margin: 0.2rem 0 0.5rem; font-size: clamp(1.7rem, 3vw, 2.2rem); }
.gpd-card .wp-block-post-title a { text-decoration: none; }
.gpd-card .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 0.12em; }
.gpd-card .wp-block-post-excerpt { margin: 0; }

/* ---------- Número de destaque ---------- */
.gpd-stat { font-family: var(--wp--preset--font-family--anton); font-size: clamp(4rem, 14vw, 10rem); line-height: 0.9; margin: 0; color: var(--wp--preset--color--creme); }

/* ---------- Páginas e posts ---------- */
.gpd-pagehero { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.gpd-pagehero .wp-block-post-title,
.gpd-pagehero .wp-block-query-title { margin: 0; }
.gpd-pagehero .wp-block-term-description { margin-top: 0.75rem; font-size: clamp(1.1rem, 2vw, 1.4rem); max-width: 40rem; }
.gpd-pagecontent > :not(.alignfull) { padding-inline: clamp(1.25rem, 5vw, 2rem); }
.gpd-pagecontent > :first-child:not(.alignfull) { margin-top: 3rem !important; }
.gpd-pagecontent > :last-child:not(.alignfull) { margin-bottom: 4rem; }
.gpd-listing { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.wp-block-query-pagination { margin-top: 3rem; gap: 1rem; }
.wp-block-post-content figure.alignwide img { border-radius: 16px; }

/* Ficha de indicação */
.gpd-ficha { border: 2px solid var(--wp--preset--color--vinho); border-radius: 18px; padding: clamp(1.25rem, 3vw, 2rem); }
.gpd-ficha h3 { margin-top: 1.25rem; margin-bottom: 0.15rem; }
.gpd-ficha p { margin-top: 0; }

/* ---------- Rodapé ---------- */
.gpd-footer { padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 3rem); }
.gpd-footer p { margin: 0; }
.gpd-footer .gpd-wordmark { font-size: clamp(2.4rem, 7vw, 4.5rem); }
.gpd-footer .wp-block-navigation { font-size: 0.95rem; }
.gpd-footer .wp-block-navigation a { text-decoration: none; }
.gpd-footer .wp-block-navigation a:hover { text-decoration: underline; }
.gpd-footer__small { font-size: 0.85rem; opacity: 0.8; }

/* ---------- Acessibilidade ---------- */
a:focus-visible, .wp-element-button:focus-visible { outline: 3px solid var(--wp--preset--color--rosa-antigo); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

@media (max-width: 781px) {
	.gpd-duo .gpd-polaroid:last-child { margin-left: -1rem; }
}
