/*
Theme Name: Marco Santos Marques — Luxo discreto
Theme URI: https://marcosantosmarques.com/
Author: Marco Santos Marques
Description: Tema de blocos para fotografia imobiliária, eventos e natureza. Direção visual "Luxo discreto": verde profundo, creme e dourado, Cormorant Garamond e Jost.
Version: 1.1.0
Requires at least: 6.5
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: msm-luxo-discreto
*/

/* Base */
body { -webkit-font-smoothing: antialiased; }
:where(a, button, summary):focus-visible { outline: 2px solid var(--wp--preset--color--dourado); outline-offset: 3px; }
em { font-style: italic; }

/* Cabeçalho */
.msm-header { position: sticky; top: 0; z-index: 50; }
.msm-logo { display: inline-flex; line-height: 0; }
.msm-logo svg { height: 60px; width: auto; max-width: 62vw; }
.msm-header .wp-block-navigation .wp-block-navigation__submenu-container { border: 0; padding: 12px 0; min-width: 280px; box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.msm-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 24px; }
.msm-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--dourado); }

/* Etiquetas e textos auxiliares */
.msm-eyebrow { font-size: .8125rem; letter-spacing: .3em; text-transform: uppercase; color: var(--wp--preset--color--dourado-escuro); margin-bottom: 0; }
.msm-eyebrow--claro { color: var(--wp--preset--color--dourado); }
.msm-preco { font-size: .875rem; color: var(--wp--preset--color--texto-secundario); font-weight: 400; }
.msm-link { font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; }
.msm-link a { text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.msm-secundario { color: var(--wp--preset--color--texto-secundario); }
.has-verde-background-color .msm-secundario, .has-verde-medio-background-color .msm-secundario { color: #D9DDD6; }

/* Secções */
.msm-section { padding-top: clamp(64px, 9vw, 120px); padding-bottom: clamp(64px, 9vw, 120px); }
.msm-hero { min-height: min(820px, 92vh); display: flex; flex-direction: column; justify-content: center; }
.msm-hero h1 { max-width: 16ch; margin-inline: auto; }
.msm-centro { text-align: center; }
.msm-centro > * { margin-inline: auto; }
.msm-estreito { max-width: 680px; }

/* Marcadores de imagem (substituir por imagens reais) */
.msm-ph { background: #DCD5C8; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; padding: 14px; }
.msm-ph--escuro { background: #3F4C44; }
.msm-ph--alto { min-height: 480px; }
.msm-ph__label { font-size: .75rem; color: var(--wp--preset--color--texto-secundario); margin: 0; }
.msm-ph--escuro .msm-ph__label { color: #B9C0B8; }

/* Serviços */
.msm-servico h3 { margin-top: 1rem; margin-bottom: .5rem; }
.msm-servico p { margin-top: .5rem; margin-bottom: .5rem; }
.msm-faixa { border-top: 1px solid var(--wp--preset--color--linha); border-bottom: 1px solid var(--wp--preset--color--linha); padding: 32px 0; }

/* Cartão sobreposto (empresas) e moldura (casamentos) */
.msm-cartao { background: #fff; padding: clamp(32px, 4vw, 56px); box-shadow: 0 20px 60px rgba(31,42,36,.12); }
.msm-moldura { border: 1px solid var(--wp--preset--color--linha); outline: 1px solid var(--wp--preset--color--linha); outline-offset: 10px; padding: clamp(28px, 4vw, 56px); margin: 10px; }

/* Números do processo */
.msm-passo { border-top: 1px solid var(--wp--preset--color--linha); padding-top: 24px; }
.msm-numero { font-family: var(--wp--preset--font-family--serif); font-size: 3rem; line-height: 1; color: var(--wp--preset--color--dourado-escuro); margin: 0; }

/* Pacotes */
.msm-pacote { background: #fff; border: 1px solid var(--wp--preset--color--linha); padding: 40px; display: flex; flex-direction: column; gap: 14px; }
.msm-pacote--destaque { background: var(--wp--preset--color--verde); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--verde); }
.msm-pacote--destaque .msm-eyebrow { color: var(--wp--preset--color--dourado); }
.msm-pacote .msm-valor { font-family: var(--wp--preset--font-family--serif); font-size: 2.6rem; line-height: 1.1; margin: 0; }
.msm-pacote .msm-valor small { display: block; font-family: var(--wp--preset--font-family--sans); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.msm-pacote .wp-block-buttons { margin-top: auto; }
.msm-pacote .wp-block-button, .msm-pacote .wp-block-button__link { width: 100%; text-align: center; }

/* Tabelas de preços */
.wp-block-table.msm-tabela { overflow-x: auto; }
.wp-block-table.msm-tabela table { border-collapse: collapse; width: 100%; }
.wp-block-table.msm-tabela th, .wp-block-table.msm-tabela td { border: 0; border-top: 1px solid var(--wp--preset--color--linha); padding: 18px 12px; text-align: left; vertical-align: middle; }
.wp-block-table.msm-tabela tr:last-child td { border-bottom: 1px solid var(--wp--preset--color--linha); }
.wp-block-table.msm-tabela th { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 400; color: var(--wp--preset--color--texto-secundario); border-top: 0; }
.wp-block-table.msm-tabela td:first-child { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 600; }
.wp-block-table.msm-tabela td:nth-child(n+3), .wp-block-table.msm-tabela th:nth-child(n+3) { text-align: center; }
.wp-block-table.msm-tabela td:nth-child(n+3) { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 600; white-space: nowrap; }
.wp-block-table.msm-tabela--2 td:nth-child(2) { text-align: right; font-family: var(--wp--preset--font-family--serif); font-size: 1.35rem; font-weight: 600; }
.wp-block-table.msm-tabela--2 th:nth-child(2) { text-align: right; }

/* Perguntas frequentes */
.wp-block-details { border-top: 1px solid var(--wp--preset--color--linha); padding: 18px 0; }
.wp-block-details summary { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 600; cursor: pointer; }
.wp-block-details p { color: var(--wp--preset--color--texto-secundario); }

/* Botões em fundo escuro */
.has-verde-background-color .is-style-outline .wp-block-button__link,
.has-verde-medio-background-color .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--creme); }

/* Botão flutuante WhatsApp */
.msm-whatsapp { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; border-radius: 50%; background: var(--wp--preset--color--verde); color: var(--wp--preset--color--creme); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.25); z-index: 60; }
.msm-whatsapp svg { width: 24px; height: 24px; }

@media (max-width: 781px) {
  .msm-logo svg { height: 44px; }
  .msm-hero { min-height: 640px; }
  .msm-pacote { padding: 28px; }
}

.msm-header { padding-top: 22px; padding-bottom: 22px; }
.msm-header__acoes { gap: 32px; }

.msm-footer a { color: var(--wp--preset--color--creme); }
.msm-footer a:hover { color: var(--wp--preset--color--dourado); }
.msm-footer .msm-logo svg { height: 48px; }

.msm-ph--logo { min-height: 64px; background: transparent; border: 1px dashed var(--wp--preset--color--linha); justify-content: center; align-items: center; }

.wp-block-table.msm-tabela--3 td:nth-child(2), .wp-block-table.msm-tabela--3 th:nth-child(2) { text-align: center; font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 600; }
.wp-block-table.msm-tabela--3 th:nth-child(2) { font-family: var(--wp--preset--font-family--sans); font-size: .75rem; font-weight: 400; }

.msm-galeria-titulo { font-size: clamp(4rem, 12vw, 9rem); font-style: italic; line-height: 1; }
.msm-natureza .msm-ph { background: #2B3530; }
.msm-natureza .msm-ph__label { color: #9AA59C; }
.msm-natureza .wp-block-latest-posts a { color: var(--wp--preset--color--creme); }

.msm-precos-pacotes { padding-bottom: clamp(48px, 6vw, 96px); }
.wp-block-table.msm-tabela--degressivo td:first-child { font-size: 1.15rem; }
.wp-block-table.msm-tabela--degressivo td:nth-child(2) { font-family: var(--wp--preset--font-family--sans); font-size: 1rem; font-weight: 400; text-align: left; }
.wp-block-table.msm-tabela td .msm-preco { font-family: var(--wp--preset--font-family--sans); font-size: .875rem; font-weight: 400; }

/* Contraste em fundos escuros */
.has-verde-background-color a:where(:not(.wp-block-button__link)),
.has-verde-medio-background-color a:where(:not(.wp-block-button__link)),
.msm-pacote--destaque a:where(:not(.wp-block-button__link)) { color: var(--wp--preset--color--dourado); }
.msm-pacote--destaque .msm-secundario { color: #D9DDD6; }
.msm-pacote--destaque .wp-block-button__link { background: var(--wp--preset--color--dourado); }
.msm-pacote:not(.msm-pacote--destaque) .wp-block-button__link { background: var(--wp--preset--color--verde); color: var(--wp--preset--color--creme); }
[id] { scroll-margin-top: 120px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
