@charset "UTF-8";

/*
Theme Name: Oliveira DW
Theme URI: https://oliveiradw.com/
Author: oliveiradw.com
Author URI: https://oliveiradw.com/
Description: Tema WordPress da Oliveira DW, especializado em criação de sites e lojas WordPress. Home voltada para conversão, serviços vendidos com WooCommerce e planos por assinatura (mensal, trimestral, semestral, anual ou período customizado) com PIX e cartão via PagBank/PagSeguro e Mercado Pago. Sem seções de depoimentos ou portfólio.
Version: 1.13.0
Requires at least: 6.5
Tested up to: 7.1
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: odw
Tags: business, e-commerce, custom-logo, custom-menu, featured-images, translation-ready
*/

/**
 * Este arquivo é o reset/base do tema e é carregado ANTES do bundle do
 * Tailwind (assets/css/theme.min.css). A ordem das camadas declarada aqui
 * vale para o documento inteiro: theme < base < reset < components < utilities.
 *
 * O WooCommerce não usa @layer, então os overrides dele ficam FORA de layer,
 * no fim de assets/src/css/theme.css (CSS sem layer vence CSS em layer).
 */

@layer theme, base, reset, components, utilities;

@layer reset {
	/* Caixa */
	*,
	*::before,
	*::after {
		box-sizing: border-box;
		margin: 0;
		padding: 0;
		border: 0 solid;
	}

	html {
		-webkit-text-size-adjust: 100%;
		tab-size: 4;
		scroll-behavior: smooth;
		scroll-padding-top: 6rem;
	}

	body {
		min-height: 100vh;
		line-height: 1.6;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		text-rendering: optimizeLegibility;
	}

	/* Tipografia */
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: inherit;
		font-weight: inherit;
		line-height: 1.2;
	}

	b,
	strong {
		font-weight: bolder;
	}

	small {
		font-size: 80%;
	}

	sub,
	sup {
		position: relative;
		font-size: 75%;
		line-height: 0;
		vertical-align: baseline;
	}

	sub {
		bottom: -0.25em;
	}

	sup {
		top: -0.5em;
	}

	code,
	kbd,
	samp,
	pre {
		font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
		font-size: 1em;
	}

	hr {
		height: 0;
		color: inherit;
		border-top-width: 1px;
	}

	/* Links e listas */
	a {
		color: inherit;
		text-decoration: inherit;
	}

	ul,
	ol,
	menu {
		list-style: none;
	}

	/* Mídia */
	img,
	svg,
	video,
	canvas,
	audio,
	iframe,
	embed,
	object {
		display: block;
		vertical-align: middle;
	}

	img,
	video {
		max-width: 100%;
		height: auto;
	}

	/* Tabelas */
	table {
		border-collapse: collapse;
		border-color: inherit;
		text-indent: 0;
	}

	/* Formulários */
	button,
	input,
	optgroup,
	select,
	textarea {
		font: inherit;
		color: inherit;
		letter-spacing: inherit;
		background-color: transparent;
	}

	button,
	[type="button"],
	[type="reset"],
	[type="submit"] {
		cursor: pointer;
		background-image: none;
	}

	button:disabled,
	[type="button"]:disabled,
	[type="reset"]:disabled,
	[type="submit"]:disabled {
		cursor: default;
	}

	textarea {
		resize: vertical;
	}

	::placeholder {
		opacity: 1;
	}

	[hidden] {
		display: none !important;
	}

	/* Foco e seleção */
	:focus-visible {
		outline: 2px solid var(--color-brand, #2a9d8f);
		outline-offset: 2px;
	}

	::selection {
		background-color: rgb(42 157 143 / 0.3);
	}

	/* WordPress — classes exigidas pelo core */
	.screen-reader-text {
		position: absolute !important;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.screen-reader-text:focus {
		position: fixed;
		top: 1rem;
		left: 1rem;
		z-index: 100000;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0.75rem 1rem;
		overflow: visible;
		clip: auto;
		clip-path: none;
		white-space: normal;
		border-radius: 0.5rem;
		background-color: #0f172a;
		color: #f2f2f2;
		text-decoration: none;
	}

	.alignleft {
		float: left;
		margin: 0.5rem 1.5rem 1rem 0;
	}

	.alignright {
		float: right;
		margin: 0.5rem 0 1rem 1.5rem;
	}

	.aligncenter {
		display: block;
		margin-right: auto;
		margin-left: auto;
	}

	.wp-caption {
		max-width: 100%;
	}

	.wp-caption-text,
	.gallery-caption {
		margin-top: 0.5rem;
		font-size: 0.8125rem;
		color: #64748b;
	}

	.sticky,
	.bypostauthor {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
