/*
Theme Name: OCA+
Theme URI: https://ocamais.codespec.cloud
Description: Tema filho do BeTheme com a marca OCA+ (landing institucional B2B). Tokens de design-system/projects/oca-ui/tokens/oca.tokens.json.
Author: OCA+
Template: betheme
Version: 1.0.0
Text Domain: oca-plus
Requires PHP: 8.3
*/

@font-face{font-family:Bitter;font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/Bitter-Medium.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/OpenSans-Regular.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/OpenSans-SemiBold.woff2) format("woff2")}

:root{
  --oca-forest-50:#F2FBF3;--oca-forest-100:#DCF6DE;--oca-forest-200:#ADEBB3;--oca-forest-500:#58855C;
  --oca-forest-600:#456F48;--oca-forest-700:#325A35;--oca-forest-900:#0D3311;
  --oca-sage-50:#F5F8F5;--oca-sage-100:#E3EBE4;--oca-sage-200:#C0D1C1;
  --oca-neutral-50:#F6F8F6;--oca-neutral-200:#D8DFDA;--oca-neutral-600:#566159;--oca-neutral-700:#3A443D;--oca-neutral-900:#161F18;
  --oca-red-700:#B42318;--oca-red-50:#FEF3F2;
  --oca-font-title:Bitter,Georgia,serif;--oca-font-text:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --oca-radius:14px;--oca-radius-sm:8px;--oca-max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--oca-neutral-700);font:400 1rem/1.65 var(--oca-font-text);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--oca-font-title);font-weight:500;color:var(--oca-forest-900);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.6vw,3.2rem)}h2{font-size:clamp(1.55rem,3vw,2.2rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}a{color:var(--oca-forest-600)}a:hover{color:var(--oca-forest-900)}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--oca-forest-900);outline-offset:3px;border-radius:4px}
.oca-skip{position:absolute;left:-999px;top:0;background:var(--oca-forest-900);color:#fff;padding:.75rem 1rem;z-index:100}
.oca-skip:focus{left:0}
.oca-wrap{max-width:var(--oca-max);margin:0 auto;padding:0 1.25rem}
.oca-section{padding:clamp(3rem,7vw,5.5rem) 0}
.oca-section--tint{background:var(--oca-sage-50)}
.oca-eyebrow{font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--oca-forest-600);margin:0 0 .75rem}
.oca-lead{font-size:1.15rem;color:var(--oca-neutral-600);max-width:62ch}
.oca-head{max-width:720px;margin-bottom:2.5rem}

/* Botões: texto branco sobre forest 600 (5,8:1) */
.oca-btn{display:inline-block;padding:.85rem 1.5rem;border-radius:999px;border:2px solid var(--oca-forest-600);background:var(--oca-forest-600);color:#fff;font:600 1rem/1.2 var(--oca-font-text);text-decoration:none;cursor:pointer;min-height:44px}
.oca-btn:hover{background:var(--oca-forest-700);border-color:var(--oca-forest-700);color:#fff}
.oca-btn--ghost{background:transparent;color:var(--oca-forest-600)}
.oca-btn--ghost:hover{background:var(--oca-forest-50);color:var(--oca-forest-900);border-color:var(--oca-forest-900)}
.oca-btn[disabled]{opacity:.65;cursor:progress}
.oca-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

/* Cabeçalho */
.oca-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--oca-neutral-200)}
.oca-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.oca-brand img{display:block;width:auto;height:40px}
.oca-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.5rem}
.oca-nav a{color:var(--oca-neutral-900);text-decoration:none;font-weight:600;padding:.5rem 0;border-bottom:2px solid transparent}
.oca-nav a:hover,.oca-nav .current-menu-item>a{border-bottom-color:var(--oca-forest-500)}
.oca-nav .oca-nav__cta a{background:var(--oca-forest-600);color:#fff;border-radius:999px;padding:.6rem 1.2rem;border:0}
.oca-nav .oca-nav__cta a:hover{background:var(--oca-forest-700)}
.oca-menu-toggle{display:none;background:none;border:2px solid var(--oca-forest-600);color:var(--oca-forest-600);border-radius:var(--oca-radius-sm);padding:.5rem .9rem;font:600 .95rem var(--oca-font-text);min-height:44px;cursor:pointer}
@media (max-width:860px){
  .oca-menu-toggle{display:inline-block}
  .oca-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--oca-neutral-200);padding:1rem 1.25rem}
  .oca-nav.is-open{display:block}
  .oca-nav ul{flex-direction:column;align-items:flex-start;gap:.5rem}
}

/* Hero */
.oca-hero{background:linear-gradient(180deg,var(--oca-forest-50),#fff);padding:clamp(3rem,7vw,5.5rem) 0}
.oca-hero__grid{display:grid;gap:3rem;grid-template-columns:1.15fr .85fr;align-items:center}
@media (max-width:900px){.oca-hero__grid{grid-template-columns:1fr}}
.oca-panel{background:#fff;border:1px solid var(--oca-sage-200);border-radius:var(--oca-radius);padding:1.5rem;box-shadow:0 12px 32px rgba(13,51,17,.08)}
.oca-panel h2{font-size:1.1rem;margin-bottom:1rem}
.oca-checklist{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.oca-checklist li{display:flex;gap:.75rem;align-items:flex-start}
.oca-checklist .oca-tag{flex:none;font-size:.75rem;font-weight:600;border-radius:999px;padding:.15rem .6rem;background:var(--oca-forest-100);color:var(--oca-forest-900);border:1px solid var(--oca-forest-500)}
.oca-checklist .oca-tag--todo{background:#fff;border-style:dashed}

/* Cartões e grades */
.oca-grid{display:grid;gap:1.25rem}
.oca-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.oca-grid--4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.oca-card{background:#fff;border:1px solid var(--oca-sage-200);border-radius:var(--oca-radius);padding:1.5rem}
.oca-card h3{margin-bottom:.4rem}.oca-card p{margin:0;color:var(--oca-neutral-600)}
.oca-card__title{font-size:1.25rem}
.oca-card__num{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--oca-forest-100);border:1px solid var(--oca-forest-500);color:var(--oca-forest-900);font-weight:600;margin-bottom:.75rem}
.oca-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.oca-note{border-left:4px solid var(--oca-forest-500);background:var(--oca-forest-50);padding:1rem 1.25rem;border-radius:0 var(--oca-radius-sm) var(--oca-radius-sm) 0;margin:2rem 0 0}
.oca-band{background:var(--oca-forest-900);color:#fff;text-align:center}
.oca-band h2{color:#fff}.oca-band p{color:var(--oca-forest-100);margin-inline:auto}
.oca-band .oca-btn{background:#fff;color:var(--oca-forest-900);border-color:#fff}
.oca-band .oca-btn:hover{background:var(--oca-forest-100)}
.oca-band .oca-actions{justify-content:center}
.oca-list{padding-left:1.2rem}.oca-list li{margin-bottom:.5rem}

/* Páginas de texto */
.oca-page-head{background:var(--oca-forest-50);padding:clamp(2.5rem,5vw,4rem) 0}
.oca-prose{max-width:760px}.oca-prose h2{margin-top:2rem;font-size:1.5rem}

/* Formulário */
.oca-form{display:grid;gap:1.1rem;max-width:720px}
.oca-form__row{display:grid;gap:1.1rem;grid-template-columns:1fr 1fr}
@media (max-width:640px){.oca-form__row{grid-template-columns:1fr}}
.oca-field label{display:block;font-weight:600;margin-bottom:.3rem;color:var(--oca-neutral-900)}
.oca-field input,.oca-field select,.oca-field textarea{width:100%;font:inherit;color:var(--oca-neutral-900);padding:.7rem .85rem;border:2px solid var(--oca-neutral-600);border-radius:var(--oca-radius-sm);background:#fff;min-height:44px}
.oca-field textarea{min-height:120px;resize:vertical}
.oca-field input[aria-invalid=true],.oca-field textarea[aria-invalid=true]{border-color:var(--oca-red-700)}
.oca-field small{display:block;color:var(--oca-neutral-600);margin-top:.25rem}
.oca-field .oca-error{color:var(--oca-red-700);font-weight:600}
.oca-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.oca-status{border-radius:var(--oca-radius-sm);padding:1rem 1.25rem;margin-top:.5rem}
.oca-status:empty{display:none}
.oca-status--ok{background:var(--oca-forest-50);border:2px solid var(--oca-forest-600);color:var(--oca-forest-900)}
.oca-status--err{background:var(--oca-red-50);border:2px solid var(--oca-red-700);color:#7A271A}

/* Rodapé */
.oca-footer{background:var(--oca-neutral-50);border-top:1px solid var(--oca-neutral-200);padding:2.5rem 0;font-size:.95rem}
.oca-footer__grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start}
.oca-footer img{height:36px;width:auto}
.oca-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1.25rem}
.oca-footer__legal{margin-top:1.5rem;color:var(--oca-neutral-600)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.oca-field--check label{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.oca-field--check input{width:auto;margin-top:.3rem}
