/*
Theme Name: Peixoto Open Bus
Theme URI: https://peixototurismo.vaoborauai.com.br/
Author: Lufe Comunicação
Description: Tema operacional do Peixoto Open Bus, convertido do snippet consolidado do sistema. Preserva shortcodes, regras, tabelas e integrações existentes no WordPress.
Version: 1.8.27
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: peixoto-open-bus
*/

:root{--pxob-green:#006B3C;--pxob-green-dark:#004d2b;--pxob-blue:#0B4F6C;--pxob-bg:#f6f8f7;--pxob-text:#101828}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--pxob-bg);color:var(--pxob-text)}
a{color:inherit}
.pxob-site{min-height:100vh}
.pxob-content{width:100%;margin:0 auto}

/* =========================================================
   PEIXOTO OPEN BUS 1.1 — identidade visual inspirada na
   organização do tema de referência, com marca própria.
   ========================================================= */
:root{--pxob-green:#006B3C;--pxob-green-dark:#003F2D;--pxob-blue:#0B4F6C;--pxob-soft:#E6F4EC;--pxob-border:#BFE3C8;--pxob-surface:#fff;--pxob-muted:#667085;--pxob-shadow:0 18px 45px rgba(0,63,45,.10)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f4f7f5;color:#101828}
img{max-width:100%;height:auto}
.pxob-content{min-height:100vh}
body:not(.home):not(.page-template-page-login) .pxob-content{padding:clamp(14px,2.4vw,30px)}

/* Acabamento sistêmico sem alterar regras funcionais */
.pxob-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.pxob-content select,.pxob-content textarea{border-radius:12px!important;border:1.5px solid var(--pxob-border)!important;box-shadow:none;transition:.2s ease}
.pxob-content input:focus,.pxob-content select:focus,.pxob-content textarea:focus{border-color:var(--pxob-blue)!important;box-shadow:0 0 0 4px rgba(11,79,108,.10)!important;outline:none!important}
.pxob-content table{border-radius:16px;overflow:hidden}
.pxob-content button,.pxob-content .button,.pxob-content input[type=submit]{border-radius:12px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.pxob-content button:hover,.pxob-content .button:hover,.pxob-content input[type=submit]:hover{transform:translateY(-1px)}

/* Home */
body.home{background:#07140f}.pxob-access{position:relative;display:flex;min-height:100svh;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#071711,#003f2d)}
.pxob-access__photo{position:absolute;inset:0;z-index:-3;background-position:center;background-size:cover;transform:scale(1.015)}
.pxob-access:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,18,13,.97) 0%,rgba(4,24,17,.88) 38%,rgba(4,18,13,.25) 72%,rgba(4,18,13,.20)),linear-gradient(0deg,rgba(3,15,11,.75),transparent 48%)}
.pxob-access:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 25% 48%,rgba(0,107,60,.30),transparent 34%)}
.pxob-access__inner{width:min(100%,1440px);margin:auto;padding:clamp(32px,6vw,88px)}.pxob-access__panel{width:min(100%,590px);color:#fff}
.pxob-access__brand{display:flex;align-items:center;gap:14px;margin-bottom:clamp(38px,7vh,70px)}.pxob-access__brand img{width:78px;height:78px;object-fit:contain;border-radius:18px;background:#fff;padding:5px;box-shadow:0 14px 35px rgba(0,0,0,.22)}
.pxob-access__brand strong,.pxob-access__brand small{display:block}.pxob-access__brand strong{font-size:20px}.pxob-access__brand small{margin-top:4px;color:rgba(255,255,255,.58);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.pxob-access__eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#71d59f;font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.pxob-access__eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.pxob-access h1{margin:0;max-width:590px;font-size:clamp(42px,5.2vw,74px);line-height:.98;letter-spacing:-.055em}.pxob-access__description{max-width:520px;margin:24px 0 0;color:rgba(255,255,255,.73);font-size:clamp(16px,1.45vw,19px);line-height:1.65}
.pxob-access__actions{display:flex;align-items:center;gap:18px;margin-top:34px}.pxob-access__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:0 27px;border:1px solid #168e58;border-radius:14px;background:linear-gradient(135deg,#087b48,#005b35);box-shadow:0 15px 35px rgba(0,107,60,.30);color:#fff!important;text-decoration:none;font-size:15px;font-weight:850}.pxob-access__button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#0B4F6C,#073a50)}
.pxob-access__secure{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.55);font-size:12px;font-weight:650}.pxob-access__secure i{width:8px;height:8px;border-radius:50%;background:#50d890;box-shadow:0 0 0 5px rgba(80,216,144,.12)}.pxob-access__footer{margin-top:clamp(42px,8vh,88px);color:rgba(255,255,255,.40);font-size:12px}

/* Login */
body.page-template-page-login{background:#07140f}.pxob-login{display:grid;grid-template-columns:minmax(420px,42%) 1fr;min-height:100svh;background:#07140f;overflow:hidden}.pxob-login__form-side{display:flex;align-items:center;justify-content:center;padding:clamp(34px,5vw,76px);background:radial-gradient(circle at 10% 15%,rgba(0,107,60,.18),transparent 28%),linear-gradient(145deg,#0b2118,#06140f);color:#fff;box-shadow:24px 0 60px rgba(0,0,0,.24);z-index:2}.pxob-login__form-wrap{width:min(100%,440px)}
.pxob-login__brand{display:flex;align-items:center;gap:13px;margin-bottom:clamp(38px,7vh,65px)}.pxob-login__brand img{width:68px;height:68px;object-fit:contain;background:#fff;border-radius:16px;padding:4px}.pxob-login__brand strong,.pxob-login__brand small{display:block}.pxob-login__brand strong{font-size:19px}.pxob-login__brand small{margin-top:3px;color:rgba(255,255,255,.48);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.pxob-login__back{display:inline-flex;margin-bottom:26px;color:rgba(255,255,255,.55);font-size:13px;font-weight:700;text-decoration:none}.pxob-login__back:hover{color:#fff}.pxob-login h1{margin:0;font-size:clamp(34px,3.2vw,48px);line-height:1.04;letter-spacing:-.045em}.pxob-login__intro{margin:15px 0 31px;color:rgba(255,255,255,.60);font-size:15px;line-height:1.6}.pxob-login__error{margin-bottom:20px;padding:13px 15px;border:1px solid rgba(255,105,105,.24);border-radius:11px;background:rgba(255,83,83,.10);color:#ffb4b4;font-size:13px}
.pxob-login__field{display:block;margin-bottom:18px;color:rgba(255,255,255,.78);font-size:12px;font-weight:750}.pxob-login__field>div{position:relative;margin-top:8px}.pxob-login__field input{display:block;width:100%;height:54px;padding:0 48px 0 16px;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px;background:rgba(255,255,255,.06)!important;color:#fff!important;font:inherit;outline:none}.pxob-login__field input:focus{border-color:#38a66f!important;box-shadow:0 0 0 4px rgba(0,107,60,.16)!important}.pxob-login__field input::placeholder{color:rgba(255,255,255,.30)}
.pxob-login__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.45);cursor:pointer}.pxob-login__toggle:hover{background:rgba(255,255,255,.07);color:#fff}.pxob-login__options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 25px;color:rgba(255,255,255,.60);font-size:12px}.pxob-login__options a{color:#71d59f;text-decoration:none;font-weight:750}.pxob-login__options input{accent-color:#006B3C}
.pxob-login__submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;border:1px solid #087b48;border-radius:13px;background:linear-gradient(135deg,#087b48,#005b35);box-shadow:0 14px 32px rgba(0,107,60,.26);color:#fff!important;font:inherit;font-size:14px;font-weight:850;cursor:pointer}.pxob-login__submit:hover{transform:translateY(-2px);background:linear-gradient(135deg,#0B4F6C,#073a50)}.pxob-login__security{text-align:center;margin:22px 0 0;color:rgba(255,255,255,.34);font-size:11px}
.pxob-login__visual{position:relative;min-height:100svh;background:#0a2a1d center/cover no-repeat}.pxob-login__visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,13,.40),transparent 38%),linear-gradient(0deg,rgba(4,18,13,.88),transparent 55%),radial-gradient(circle at center,rgba(0,107,60,.15),transparent 55%)}.pxob-login__visual>div{position:absolute;right:clamp(30px,5vw,76px);bottom:clamp(34px,6vw,76px);left:clamp(30px,5vw,76px);z-index:1;color:#fff}.pxob-login__visual span{display:block;margin-bottom:13px;color:#71d59f;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.pxob-login__visual strong{display:block;max-width:680px;font-size:clamp(28px,3vw,48px);line-height:1.08;letter-spacing:-.04em}
.pxob-login__visual:not([style]){background-image:linear-gradient(135deg,#0a2a1d,#07140f)}.pxob-login__visual:not([style]):after{content:"";position:absolute;inset:15% 12% 20%;background:url('assets/images/logo-peixoto-open-bus.png') center/contain no-repeat;opacity:.28;filter:saturate(.8)}

@media(max-width:900px){.pxob-login{display:block}.pxob-login__form-side{min-height:100svh;padding:32px 22px;box-shadow:none}.pxob-login__visual{display:none}.pxob-access__inner{padding:28px 22px}.pxob-access__actions{align-items:stretch;flex-direction:column}.pxob-access__button{width:100%}.pxob-access__secure{justify-content:center}}
@media(max-width:520px){.pxob-access__brand{margin-bottom:28px}.pxob-access__brand img{width:62px;height:62px}.pxob-access h1{font-size:clamp(38px,12vw,54px)}.pxob-login__options{align-items:flex-start;flex-direction:column;gap:12px}}

/* =========================================================
   1.6.0 — Landing 3030 + Login 3800 / identidade Peixoto
   ========================================================= */
body.home .pxob-site,body.page-template-page-login .pxob-site{background:#06140f}
.pxob-access--3030 .pxob-access__photo{background-position:66% 52%;filter:saturate(1.03) contrast(1.03)}
.pxob-access--3030:before{background:linear-gradient(90deg,rgba(2,16,11,.97) 0%,rgba(2,24,16,.90) 34%,rgba(2,18,13,.50) 51%,rgba(2,14,10,.08) 78%),linear-gradient(0deg,rgba(2,15,10,.70),transparent 50%)}
.pxob-access--3030:after{background:radial-gradient(circle at 19% 48%,rgba(0,107,60,.38),transparent 34%),linear-gradient(180deg,rgba(11,79,108,.12),transparent 36%)}
.pxob-access--3030 .pxob-access__panel{padding:30px 0;text-shadow:0 2px 18px rgba(0,0,0,.16)}
.pxob-access--3030 .pxob-access__brand img{width:92px;height:72px;border-radius:16px;padding:8px 10px}
.pxob-access--3030 .pxob-access__brand strong{font-size:22px}.pxob-access--3030 .pxob-access__eyebrow{color:#f2c94c}
.pxob-access--3030 .pxob-access__button{border-color:rgba(242,201,76,.38);background:linear-gradient(135deg,#087b48,#005b35);box-shadow:0 18px 42px rgba(0,0,0,.28)}

.pxob-login--3800{grid-template-columns:minmax(430px,39%) 1fr;background:#06140f}
.pxob-login--3800 .pxob-login__form-side{position:relative;background:radial-gradient(circle at 0 0,rgba(11,79,108,.28),transparent 31%),radial-gradient(circle at 100% 100%,rgba(0,107,60,.18),transparent 38%),linear-gradient(145deg,#071c15,#04110d);border-right:1px solid rgba(255,255,255,.08)}
.pxob-login--3800 .pxob-login__form-side:before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#006B3C 0 45%,#f2c94c 45% 57%,#0B4F6C 57%)}
.pxob-login--3800 .pxob-login__brand{margin-bottom:46px}.pxob-login--3800 .pxob-login__brand img{width:86px;height:66px;padding:7px 9px;border-radius:15px}
.pxob-login__eyebrow{margin:0 0 12px;color:#f2c94c;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.pxob-login--3800 .pxob-login__field input{height:58px;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.13)!important}
.pxob-login--3800 .pxob-login__toggle{width:auto;padding:0 10px;font-size:11px;font-weight:800;color:#71d59f}
.pxob-login--3800 .pxob-login__submit{min-height:59px;border-color:rgba(242,201,76,.24)}
.pxob-login--3800 .pxob-login__security span{color:#55d58f;font-size:9px}
.pxob-login--3800 .pxob-login__visual{background-position:center center;isolation:isolate}
.pxob-login--3800 .pxob-login__visual:before{z-index:0;background:linear-gradient(90deg,rgba(3,17,12,.28),transparent 28%),linear-gradient(0deg,rgba(3,17,12,.92) 0%,rgba(3,17,12,.18) 46%,rgba(3,17,12,.04) 72%),linear-gradient(180deg,rgba(11,79,108,.12),transparent 35%)}
.pxob-login--3800 .pxob-login__visual:after{content:"";position:absolute;inset:0;z-index:0;box-shadow:inset 0 0 90px rgba(0,0,0,.24);pointer-events:none}
.pxob-login--3800 .pxob-login__visual-copy{bottom:clamp(42px,6vw,84px);padding-left:22px;border-left:3px solid #f2c94c}
.pxob-login--3800 .pxob-login__visual-copy span{color:#f2c94c}.pxob-login--3800 .pxob-login__visual-copy strong{max-width:580px}.pxob-login--3800 .pxob-login__visual-copy small{display:block;margin-top:15px;color:rgba(255,255,255,.62);font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1100px){.pxob-login--3800{grid-template-columns:minmax(390px,46%) 1fr}.pxob-login--3800 .pxob-login__visual{background-position:58% center}}
@media(max-width:900px){.pxob-access--3030 .pxob-access__photo{background-position:62% center}.pxob-access--3030:before{background:linear-gradient(90deg,rgba(2,16,11,.94),rgba(2,20,14,.72)),linear-gradient(0deg,rgba(2,15,10,.75),transparent)}.pxob-login--3800 .pxob-login__form-side{min-height:100svh}}

/* ============================================================
   1.6.1 — Landing institucional no modelo Belos Montes
   ============================================================ */
body.home{margin:0;background:#064d38}
body.home .pxob-site{min-height:100svh}
.pxob-access.pxob-access--3030{display:grid;grid-template-columns:minmax(0,58%) minmax(360px,42%);min-height:100svh;background:#064d38;overflow:hidden}
.pxob-access--3030 .pxob-access__photo{position:relative;inset:auto;z-index:0;min-height:100svh;transform:none;background-size:cover;background-position:58% center;filter:saturate(.96) contrast(1.02)}
.pxob-access--3030 .pxob-access__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,27,21,.18) 0%,rgba(5,27,21,.05) 45%,rgba(3,25,18,.70) 100%),linear-gradient(90deg,rgba(0,63,45,.12),rgba(11,79,108,.04))}
.pxob-access--3030:before,.pxob-access--3030:after{display:none}
.pxob-access--3030 .pxob-access__inner{position:relative;z-index:2;width:auto;max-width:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b4f6c 0%,#075b50 54%,#006b3c 100%)}
.pxob-access--3030 .pxob-access__inner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(255,255,255,.09),transparent 28%),radial-gradient(circle at 20% 85%,rgba(242,201,76,.08),transparent 30%);pointer-events:none}
.pxob-access--3030 .pxob-access__panel{position:relative;width:min(78%,520px);padding:0;color:#0f2230;text-shadow:none}
.pxob-access--3030 .pxob-access__brand,.pxob-access--3030 .pxob-access__eyebrow,.pxob-access--3030 .pxob-access__description,.pxob-access--3030 .pxob-access__secure,.pxob-access--3030 .pxob-access__footer{display:none}
.pxob-access--3030 .pxob-access__panel:before{content:"";display:block;position:absolute;left:8%;right:8%;top:0;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#f2c94c,#0b4f6c,#006b3c)}
.pxob-access--3030 .pxob-access__panel{background:#fff;border-radius:28px;box-shadow:0 28px 70px rgba(0,24,22,.25);padding:48px 44px 44px}
.pxob-access--3030 .pxob-access__panel:after{content:"";display:block;width:min(100%,330px);height:155px;margin:0 auto 42px;background:url('assets/images/logo-peixoto-open-bus.png') center/contain no-repeat;order:-1}
.pxob-access--3030 .pxob-access__panel{display:flex;flex-direction:column}
.pxob-access--3030 h1{order:1;margin:0 auto 12px;max-width:390px;text-align:center;font-size:15px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#006b3c;font-weight:850}
.pxob-access--3030 h1{font-size:0}
.pxob-access--3030 h1:after{content:"Peixoto Turismo · Gestão Operacional";font-size:12px}
.pxob-access--3030 .pxob-access__actions{order:2;display:block;margin:0}
.pxob-access--3030 .pxob-access__button{width:100%;min-height:58px;border:0;border-radius:13px;background:linear-gradient(135deg,#006b3c,#0b4f6c);box-shadow:0 14px 28px rgba(11,79,108,.20);font-size:14px;font-weight:850;color:#fff!important}
.pxob-access--3030 .pxob-access__button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#0b4f6c,#003f2d);box-shadow:0 18px 34px rgba(0,63,45,.24)}
.pxob-access--3030 .pxob-access__photo:before{content:"SISTEMA INTERNO";position:absolute;z-index:2;left:5%;top:5%;padding:8px 15px 8px 29px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(7,42,34,.72);backdrop-filter:blur(10px);color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em}
@media(min-width:901px){.pxob-access--3030 .pxob-access__photo{display:flex;align-items:flex-end}.pxob-access--3030 .pxob-access__photo:before{box-shadow:inset 18px 0 0 -12px #4ad67f}.pxob-access--3030 .pxob-access__photo{--landing-copy:"Informação e controle\A em uma única operação."}.pxob-access--3030 .pxob-access__photo:after{white-space:pre-line}}
@media(max-width:900px){.pxob-access.pxob-access--3030{display:flex;min-height:100svh}.pxob-access--3030 .pxob-access__photo{position:absolute;inset:0;min-height:100%;background-position:58% center}.pxob-access--3030 .pxob-access__photo:after{background:linear-gradient(rgba(2,24,17,.54),rgba(2,24,17,.72))}.pxob-access--3030 .pxob-access__inner{position:relative;width:100%;min-height:100svh;padding:28px 20px;background:transparent}.pxob-access--3030 .pxob-access__panel{width:min(100%,480px);padding:38px 28px 30px;border-radius:24px}.pxob-access--3030 .pxob-access__panel:after{height:125px;margin-bottom:30px}.pxob-access--3030 .pxob-access__photo:before{left:20px;top:20px}}
.pxob-access--3030 .pxob-access__panel:after,.pxob-access--3030 .pxob-access__panel:before{content:none}
.pxob-access--3030 .pxob-landing-logo{display:block;width:min(100%,370px);height:190px;object-fit:contain;margin:0 auto 44px}
.pxob-access--3030 .pxob-landing-copy{position:absolute;z-index:3;left:8%;bottom:7%;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.32)}
.pxob-access--3030 .pxob-landing-copy:before{content:"";display:block;width:40px;height:4px;margin-bottom:15px;border-radius:4px;background:#f2c94c}
.pxob-access--3030 .pxob-landing-copy span{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.pxob-access--3030 .pxob-landing-copy strong{display:block;font-size:clamp(34px,3.2vw,54px);line-height:1.02;letter-spacing:-.035em;max-width:620px}
.pxob-access--3030 .pxob-landing-copy small{display:block;margin-top:34px;font-size:9px;font-weight:800;letter-spacing:.13em;opacity:.8}
@media(max-width:900px){.pxob-access--3030 .pxob-landing-copy{display:none}.pxob-access--3030 .pxob-landing-logo{height:145px;margin-bottom:32px}}


/* ============================================================
   1.6.7 — Continuidade do fundo institucional até o rodapé VBU
   Remove as faixas claras externas entre cabeçalho/conteúdo e
   conteúdo/assinatura, sem alterar os cards ou módulos internos.
   ============================================================ */
body.logged-in:not(.wp-admin):not(.home):not(.page-template-page-login),
body.logged-in:not(.wp-admin):not(.home):not(.page-template-page-login) .pxob-site,
body.logged-in:not(.wp-admin):not(.home):not(.page-template-page-login) .pxob-content{
    background:linear-gradient(135deg,#006B3C 0%,#003F2D 68%,#0B4F6C 100%) !important;
}

/* 1.6.8 — correção definitiva aplicada também no CSS de módulos, carregado por último. */
