/*
Theme Name: Essenti Odontologia
Theme URI: https://essentiodontologia.com.br
Author: Essenti Odontologia
Author URI: https://essentiodontologia.com.br
Description: Tema WordPress editorial e minimalista para a Essenti Odontologia (Mandaguari-PR). 100% compatível com Elementor e Elementor Pro (Theme Builder). Identidade sóbria e sofisticada — títulos serifados (Fraunces), texto em Inter, dourado #E9D493 usado em fios e detalhes, chumbo #5F5F61, muito espaço em branco. Foco em conversão para WhatsApp, blog para SEO e experiência mobile.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: essenti
Tags: elementor, dental, business, blog, editorial, minimal, custom-colors, custom-menu, custom-logo, featured-images, translation-ready, full-width-template, responsive
*/

/* =========================================================================
   ESSENTI ODONTOLOGIA — Design Tokens (visual editorial e minimalista)
   Dourado em fios/detalhes · Chumbo em textos · Branco predominante
   ========================================================================= */
:root {
    /* Cores */
    --essenti-gold: #E9D493;          /* Dourado — fios, rótulos, detalhes */
    --essenti-gold-soft: #F3EBCF;     /* Dourado suave — fundos pontuais */
    --essenti-gold-ink: #A3853F;      /* Dourado escurecido — texto/sublinhado em fundo claro */
    --essenti-charcoal: #5F5F61;      /* Chumbo — marca, menus */
    --essenti-ink: #37373B;           /* Tinta principal — títulos e texto forte */
    --essenti-ink-soft: #74747A;      /* Texto secundário */
    --essenti-white: #FFFFFF;         /* Branco — fundo predominante */
    --essenti-warm: #F7F5EF;          /* Off-white quente — seções alternadas */
    --essenti-line: #E7E2D6;          /* Fio/hairline (neutro puxado ao dourado) */

    /* Tipografia */
    --essenti-font-heading: "Fraunces", Georgia, "Times New Roman", serif;
    --essenti-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Estrutura */
    --essenti-container: 1180px;
    --essenti-measure: 62ch;
    --essenti-radius: 0px;            /* minimalismo: cantos retos */
    --essenti-transition: 0.28s ease;
    --essenti-section-y: clamp(56px, 8vw, 104px);
    --essenti-pad: clamp(20px, 5vw, 72px);
}

/* =========================================================================
   Reset / Base
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--essenti-font-body);
    font-size: 17px;
    line-height: 1.7;
    color: var(--essenti-ink);
    background-color: var(--essenti-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--essenti-font-heading);
    color: var(--essenti-ink);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.01em;
    margin: 0 0 0.5em;
    text-wrap: balance;
}

h1 { font-size: clamp(2.4rem, 5.5vw, 4rem); line-height: 1.05; }
h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
h3 { font-size: clamp(1.3rem, 3vw, 1.6rem); }
h4 { font-size: 1.2rem; }

p { margin: 0 0 1.3em; }

a { color: var(--essenti-ink); text-decoration: none; transition: color var(--essenti-transition); }
a:hover { color: var(--essenti-gold-ink); }

img { max-width: 100%; height: auto; display: block; }

ul, ol { padding-left: 1.2em; }

blockquote {
    margin: 1.8em 0;
    padding: 0.4em 0 0.4em 1.4em;
    border-left: 2px solid var(--essenti-gold);
    font-family: var(--essenti-font-heading);
    font-size: 1.25rem;
    font-style: italic;
    color: var(--essenti-ink);
}

hr { border: 0; height: 1px; background: var(--essenti-line); margin: 2.4em 0; }

/* Rótulo / eyebrow */
.essenti-eyebrow {
    font-family: var(--essenti-font-body);
    font-size: 0.72rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--essenti-gold-ink);
    font-weight: 600;
}

/* Acessibilidade */
.screen-reader-text {
    border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
    height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
    position: absolute !important; word-wrap: normal !important;
}
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100000;
    background: var(--essenti-ink); color: #fff; padding: 12px 20px; }
.skip-link:focus { left: 0; color: #fff; }
:focus-visible { outline: 2px solid var(--essenti-gold-ink); outline-offset: 3px; }
