/*
Theme Name: Guia Walking Pad
Theme URI: https://walkingpad.com.br/
Description: Tema de blocos leve para o guia editorial independente walkingpad.com.br. Sem fontes externas, sem jQuery, CSS mínimo.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
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-walkingpad
*/

/* Base */
html { -webkit-text-size-adjust: 100%; }
body { overflow-wrap: break-word; }
img, video { max-width: 100%; height: auto; }
:where(a, button, input, summary):focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 2px; border-radius: 4px; }
.skip-link:focus { position: fixed; top: .5rem; left: .5rem; z-index: 1000; background: #fff; padding: .5rem 1rem; }

/* Header */
.wpbr-header { border-bottom: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); }
.wpbr-header .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.wpbr-tagline { font-size: .8125rem; color: var(--wp--preset--color--muted); margin: 0; }
.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; }
.wp-block-navigation .wp-block-navigation-item__content { padding-block: .5rem; }

/* Breadcrumbs (Rank Math) */
.rank-math-breadcrumb { font-size: .875rem; color: var(--wp--preset--color--muted); }
.rank-math-breadcrumb a { color: var(--wp--preset--color--muted); }
.rank-math-breadcrumb p { margin: 0; }

/* Lead / meta */
.wpbr-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); line-height: 1.5; }
.wpbr-meta { font-size: .875rem; color: var(--wp--preset--color--muted); }

/* Aviso de afiliados */
.wpbr-aviso { background: var(--wp--preset--color--warn-bg); color: var(--wp--preset--color--warn); border-radius: 10px; padding: .75rem 1rem; font-size: .9375rem; line-height: 1.5; }
.wpbr-aviso a { color: inherit; }

/* Caixas */
.wpbr-box { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.25rem; }
.wpbr-box > :first-child { margin-top: 0; }
.wpbr-box--suave { background: var(--wp--preset--color--subtle); border-color: transparent; }
.wpbr-fonte { font-size: .8125rem; color: var(--wp--preset--color--muted); }

/* Cards de modelo */
.wpbr-cards { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .wpbr-cards { grid-template-columns: repeat(2, 1fr); } }
.wpbr-card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.wpbr-card h3 { margin: 0; font-size: 1.25rem; }
.wpbr-card .wpbr-tag { align-self: flex-start; font-size: .75rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; background: var(--wp--preset--color--subtle); color: var(--wp--preset--color--accent-strong); padding: .25rem .5rem; border-radius: 6px; }
.wpbr-specs { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; font-size: .9375rem; }
.wpbr-specs dt { color: var(--wp--preset--color--muted); }
.wpbr-specs dd { margin: 0; font-weight: 600; }
.wpbr-card ul { margin: .25rem 0; padding-left: 1.1rem; }

/* Botão de oferta (plugin wpbr-ofertas) */
.wpbr-oferta { display: flex; flex-direction: column; gap: .35rem; margin-top: auto; }
.wpbr-oferta__btn { display: block; text-align: center; background: var(--wp--preset--color--accent); color: #fff !important; text-decoration: none !important; font-weight: 650; padding: .85rem 1rem; border-radius: 10px; min-height: 48px; }
.wpbr-oferta__btn:hover { background: var(--wp--preset--color--accent-strong); }
.wpbr-oferta__btn--neutro { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent-strong) !important; border: 2px solid var(--wp--preset--color--accent); }
.wpbr-oferta__nota { font-size: .8125rem; color: var(--wp--preset--color--muted); text-align: center; margin: 0; }

/* Tabelas responsivas: vira cards abaixo de 600px */
.wp-block-table { overflow-x: visible; }
.wp-block-table table { border-collapse: collapse; width: 100%; background: var(--wp--preset--color--surface); }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--line); padding: .55rem .65rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--wp--preset--color--subtle); }
.wp-block-table figcaption { font-size: .8125rem; color: var(--wp--preset--color--muted); }
@media (max-width: 600px) {
	.wpbr-tabela-cards table, .wpbr-tabela-cards tbody, .wpbr-tabela-cards tr, .wpbr-tabela-cards td { display: block; width: 100%; box-sizing: border-box; }
	.wpbr-tabela-cards thead th { width: 1px; padding: 0; }
	.wpbr-tabela-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.wpbr-tabela-cards tr { border: 1px solid var(--wp--preset--color--line); border-radius: 12px; margin-bottom: .75rem; overflow: hidden; }
	.wpbr-tabela-cards td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); display: grid; grid-template-columns: 42% 1fr; gap: .5rem; }
	.wpbr-tabela-cards td:last-child { border-bottom: 0; }
	.wpbr-tabela-cards td::before { content: attr(data-label); font-weight: 650; color: var(--wp--preset--color--muted); }
	.wpbr-tabela-cards td:first-child { background: var(--wp--preset--color--subtle); font-weight: 750; grid-template-columns: 1fr; }
	.wpbr-tabela-cards td:first-child::before { display: none; }
	/* Tabelas sem a classe: rolagem só dentro da figura, nunca na página */
	.wp-block-table:not(.wpbr-tabela-cards) { overflow-x: auto; }
}

/* Detalhes / FAQ */
.wp-block-details { border: 1px solid var(--wp--preset--color--line); border-radius: 10px; padding: .75rem 1rem; background: var(--wp--preset--color--surface); }
.wp-block-details summary { font-weight: 650; cursor: pointer; min-height: 32px; }

/* Footer */
.wpbr-footer { border-top: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); font-size: .9375rem; }
.wpbr-footer a { color: var(--wp--preset--color--contrast); }
.wpbr-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.wpbr-footer li a { display: inline-block; padding-block: .35rem; }
