/* base.css — partilhado pelo site, área de cliente e painel. As cores e fontes vêm de marca.js (core.js > aplicarTema). */
:root{
  --fundo:#F6F1EA; --fundo2:#EDE5D9; --texto:#2B2420; --suave:#76695F; --destaque:#A07A4E; --destaque-escuro:#6E5235; --linha:#DDD1C1;
  --branco:#FFFDF9; --ok:#4E6B45; --ok-suave:#E3EBDD; --erro:#9A3B30; --erro-suave:#F6DCD6;
  --f-titulo:'Cormorant Garamond',Georgia,serif; --f-texto:'DM Sans',system-ui,sans-serif;
  --maxw:1200px; --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--f-texto);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:400;line-height:1.04;letter-spacing:-.005em;margin:0}
h1 em,h2 em,h3 em{font-style:italic;color:var(--destaque-escuro)}
p{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--destaque);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.etq{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--destaque-escuro);font-weight:500}
.etq::before{content:"";width:28px;height:1px;background:var(--destaque)}
.marca-nome{font-family:var(--f-titulo);font-size:28px;font-weight:500;letter-spacing:.04em}

/* topo */
.topo{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--fundo) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.topo.rolou{border-bottom-color:var(--linha)}
.topo .barra{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.topo .logo img{height:42px;width:auto}
.menu{display:flex;gap:30px;font-size:15px;color:var(--suave)}
.menu a{position:relative;padding:4px 0;transition:color .2s}
.menu a:hover{color:var(--texto)}
.menu a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--destaque);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu a:hover::after{transform:scaleX(1)}
.topo-acoes{display:flex;align-items:center;gap:10px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 26px;font-size:15px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease);white-space:nowrap;background:none}
.btn-escuro{background:var(--texto);color:var(--fundo)}
.btn-escuro:hover{background:var(--destaque-escuro);transform:translateY(-2px)}
.btn-destaque{background:var(--destaque);color:#fff}
.btn-destaque:hover{background:var(--destaque-escuro);transform:translateY(-2px)}
.btn-linha{border-color:var(--linha)}
.btn-linha:hover{border-color:var(--texto)}
.btn-pq{padding:10px 18px;font-size:14px}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn .seta{transition:transform .25s var(--ease)}
.btn:hover .seta{transform:translateX(3px)}

/* campos */
.campo{display:grid;gap:6px}
.campo label,.campo .rot{font-size:13px;color:var(--suave)}
.inp{border:1px solid var(--linha);background:var(--fundo);border-radius:6px;padding:12px 14px;font-size:16px;width:100%;transition:border-color .2s}
.inp:focus{outline:none;border-color:var(--destaque)}
textarea.inp{min-height:110px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1px solid var(--linha);border-radius:999px;padding:9px 15px;font-size:14px;transition:all .2s}
.chips input:checked+span{background:var(--texto);color:var(--fundo);border-color:var(--texto)}
.chips input:focus-visible+span{outline:2px solid var(--destaque);outline-offset:2px}
.erro{color:var(--erro);font-size:14px;min-height:1.3em}

/* entrada 3D das secções */
.r3{opacity:0}
.r3.on{animation:sobe3d 1s var(--ease) both}
@keyframes sobe3d{from{transform:perspective(1200px) rotateX(12deg) translateY(44px);opacity:0}to{transform:none;opacity:1}}

/* rodapé */
.rodape{padding:64px 0 36px;border-top:1px solid var(--linha)}
.rodape-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.rodape h4{font-family:var(--f-texto);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--suave);font-weight:500;margin-bottom:14px}
.rodape a,.rodape p{display:block;font-size:15px;margin-bottom:8px}
.rodape a:hover{color:var(--destaque-escuro)}
.rodape .frase{font-family:var(--f-titulo);font-size:30px;line-height:1.1}
.dominio{display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding:9px 16px;border:1px solid var(--linha);border-radius:999px;background:var(--branco);font-size:14px}
.dominio i{width:8px;height:8px;border-radius:50%;background:var(--destaque)}
.rodape-fim{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;font-size:13px;color:var(--suave)}

.aviso{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--texto);color:var(--fundo);padding:12px 22px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:all .35s var(--ease);z-index:300;max-width:92vw;text-align:center}
.aviso.on{opacity:1;transform:translate(-50%,0)}
.demo-barra{background:var(--texto);color:var(--fundo);font-size:13px;text-align:center;padding:7px 16px}
.demo-barra a{text-decoration:underline}

@media (max-width:920px){ .menu{display:none} .wrap{padding:0 20px} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .r3,.r3.on{opacity:1;animation:none} *{transition-duration:.01ms!important} }
