:root{
  --verde-900:#0f2b22; --verde-700:#1c4a37; --verde-500:#2f6b4f; --verde-300:#7fa08e;
  --dourado:#b8862e; --dourado-claro:#d9ab5c;
  --creme:#f6f2e7; --creme-alt:#efe8d8; --branco:#fbf9f3; --tinta:#1b2420; --tinta-suave:#4a534c;
  --linha:rgba(27,36,32,0.12); --sombra:0 20px 50px -20px rgba(15,43,34,0.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scrollbar-gutter:stable;}
body{ margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--creme); color:var(--tinta); font-family:'IBM Plex Sans',sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.serif{ font-family:'Fraunces',serif; font-weight:600; letter-spacing:-0.01em; }
.mono{ font-family:'IBM Plex Mono',monospace; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
a{ color:inherit; }
img,svg{ display:block; }
button{ font-family:'IBM Plex Sans',sans-serif; }
ul{ list-style:none; margin:0; padding:0; }

/* ---- NAV ---- */
nav.top{ position:sticky; top:0; z-index:60; background:rgba(246,242,231,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--linha); }
nav.top .wrap{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:88px; }
.logo{ display:flex; align-items:center; gap:12px; text-decoration:none; justify-self:start; }
.logo-mark{ width:54px; height:54px; }
.nav-links{ display:flex; align-items:center; gap:28px; font-size:15.5px; font-weight:500; justify-self:center; }
.nav-links > a{ text-decoration:none; color:var(--tinta-suave); transition:color .15s; }
.nav-links > a:hover, .nav-links > a.active{ color:var(--verde-900); }
@media (max-width:860px){ .nav-links{ display:none; } nav.top .wrap{ grid-template-columns:1fr auto; } }

/* ---- HERO ---- */
.hero{ position:relative; overflow:hidden; padding:80px 0 96px; }
.hero .wrap{ position:relative; text-align:center; max-width:760px; }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--verde-700); margin-bottom:20px; font-weight:500; }
.eyebrow::before{ content:''; width:16px; height:1px; background:var(--dourado); }
.hero .eyebrow{ justify-content:center; }
h1.hero-title{ font-size:54px; line-height:1.12; margin:0 0 22px; color:var(--verde-900); }
h1.hero-title em{ font-style:normal; color:var(--dourado); }
.hero-sub{ font-size:18.5px; line-height:1.65; color:var(--tinta-suave); max-width:580px; margin:0 auto; }

/* ---- PAGE HEADER ---- */
.page-header{ padding:64px 0 40px; text-align:center; }
.page-header .eyebrow{ justify-content:center; }
.page-header h1{ font-size:44px; color:var(--verde-900); margin:14px 0 12px; }
.page-header p{ font-size:16.5px; color:var(--tinta-suave); max-width:580px; margin:0 auto; line-height:1.6; }

section{ padding:88px 0; }
.section-head{ max-width:640px; margin:0 auto 48px; text-align:center; }
.section-head.left{ text-align:left; margin:0 0 44px; }
.section-head .eyebrow{ justify-content:center; }
.section-head.left .eyebrow{ justify-content:flex-start; }
.section-head h2{ font-size:36px; color:var(--verde-900); margin:14px 0 14px; line-height:1.18; }
.section-head p{ font-size:16.5px; color:var(--tinta-suave); line-height:1.6; margin:0; }

/* ---- BENEFÍCIOS ---- */
.beneficios{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.beneficio{ background:var(--branco); border:1px solid var(--linha); border-radius:16px; box-shadow:var(--sombra); text-align:center; padding:36px 26px; }
.beneficio .ico-wrap{ width:78px; height:78px; border-radius:50%; background:linear-gradient(150deg,var(--verde-700),var(--verde-900)); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.beneficio h4{ font-size:17px; margin:0 0 10px; color:var(--verde-900); }
.beneficio p{ font-size:14.5px; color:var(--tinta-suave); line-height:1.65; margin:0; }
@media (max-width:800px){ .beneficios{ grid-template-columns:1fr; gap:32px; } }

/* ---- GRUPO / INSTITUCIONAL (usado em quem-somos.html) ---- */
.institu-bg{ background:var(--branco); border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); }
.galeria{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:56px; }
.galeria div{ aspect-ratio:1/1; border-radius:10px; position:relative; overflow:hidden; }
.galeria div span{ position:absolute; bottom:8px; left:9px; right:9px; color:rgba(255,255,255,0.75); font-size:10.5px; font-family:'IBM Plex Mono',monospace; line-height:1.3; }
.g1{ background:linear-gradient(155deg,#2a5a44,#0f2b22);} .g2{ background:linear-gradient(155deg,#1c4a37,#12332a);}
.g3{ background:linear-gradient(155deg,#b8862e,#7a5a1f);} .g4{ background:linear-gradient(155deg,#234f3b,#0f2b22);}
.g5{ background:linear-gradient(155deg,#2a5a44,#173b2c);} .g6{ background:linear-gradient(155deg,#3a6650,#12332a);}
@media (max-width:860px){ .galeria{ grid-template-columns:repeat(3,1fr); } }

.institu-content{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.institu-content p{ font-size:16px; line-height:1.75; color:var(--tinta-suave); margin:0 0 16px; }
.quote-card{ background:var(--creme); border-radius:16px; padding:32px; border-left:3px solid var(--dourado); }
.quote-card p{ font-family:'Fraunces',serif; font-size:19px; font-style:italic; color:var(--verde-900); line-height:1.55; margin:0 0 18px; font-weight:500; }
.quote-card .autor{ font-size:13.5px; color:var(--tinta-suave); font-family:'IBM Plex Sans',sans-serif; font-style:normal; }
.quote-card .autor b{ color:var(--tinta); display:block; font-size:14.5px; margin-bottom:2px; }
@media (max-width:860px){ .institu-content{ grid-template-columns:1fr; } }

/* ---- QUEM SOMOS: faixa de frase + cartões da marca ---- */
.frase-banner{ background:linear-gradient(150deg,var(--verde-700),var(--verde-900)); color:var(--branco); text-align:center; padding:96px 0; }
.frase-banner .eyebrow{ color:var(--dourado-claro); justify-content:center; }
.frase-banner .eyebrow::before{ background:var(--dourado-claro); }
.frase-banner h1{ font-size:46px; line-height:1.22; margin:16px auto 0; max-width:760px; }
.frase-banner p{ font-size:17px; line-height:1.6; color:rgba(255,255,255,0.72); max-width:560px; margin:20px auto 0; }

/* ---- ONDE ESTAMOS (home) ---- */
.onde-estamos{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.onde-estamos h2{ margin:0 0 16px; }
.onde-estamos .onde-endereco{ font-size:16px; color:var(--tinta-suave); line-height:1.7; margin:0 0 28px; }
.mapa-embed{ border-radius:16px; overflow:hidden; box-shadow:var(--sombra); aspect-ratio:16/9; }
@media (max-width:860px){ .onde-estamos{ grid-template-columns:1fr; } }

/* ---- COTAS (cards) ---- */
.cotas-head{ display:flex; justify-content:center; margin-bottom:36px; }
.cotas-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cota-card{ background:var(--branco); border:1px solid var(--linha); border-radius:16px; overflow:hidden; box-shadow:var(--sombra); display:flex; flex-direction:column; }
.cota-card .top{ padding:20px 22px; background:linear-gradient(150deg,var(--verde-700),var(--verde-900)); color:var(--branco); }
.cota-card .top .badge{ display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding:3px 9px; border-radius:999px; background:rgba(255,255,255,0.15); margin-bottom:12px; font-weight:600; }
.cota-card .top .valor{ font-family:'IBM Plex Mono',monospace; font-size:25px; font-weight:600; }
.cota-card .top .valor small{ display:block; font-size:11.5px; font-family:'IBM Plex Sans',sans-serif; font-weight:500; color:rgba(255,255,255,0.6); margin-top:2px; letter-spacing:.03em; }
.cota-card .body{ padding:20px 22px; flex:1; display:flex; flex-direction:column; gap:10px; }
.cota-card .linha{ display:flex; justify-content:space-between; font-size:14.5px; color:var(--tinta-suave); border-bottom:1px dashed var(--linha); padding-bottom:9px; }
.cota-card .linha b{ color:var(--tinta); font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:14px; }
.cota-card .cta{ margin:6px 22px 22px; background:var(--verde-900); color:var(--branco); border:none; padding:13px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; transition:background .15s; }
.cota-card .cta:hover{ background:var(--verde-700); }
.cota-card .cta-reservada{ margin:6px 22px 22px; display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(168,40,28,0.12); color:#a8281c; padding:13px; border-radius:8px; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
@media (max-width:900px){ .cotas-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .cotas-grid{ grid-template-columns:1fr; } }
.ver-mais{ text-align:center; margin-top:40px; }
.btn-primary{ display:inline-block; background:var(--verde-900); color:var(--branco); border:none; padding:16px 32px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; text-decoration:none; transition:background .15s, transform .15s; }
.btn-primary:hover{ background:var(--verde-700); transform:translateY(-1px); }

/* ---- TABELA COMPLETA (cotas.html) ---- */
.segmento-toggle{ display:flex; gap:12px; margin-bottom:24px; }
.segmento-btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 20px; border:none; border-radius:12px; background:var(--branco); color:var(--tinta-suave); font-size:15px; font-weight:600; cursor:pointer; box-shadow:var(--sombra); transition:background .15s, color .15s, box-shadow .15s; }
.segmento-btn:hover{ color:var(--verde-900); }
.segmento-btn.active{ background:var(--verde-900); color:var(--branco); box-shadow:none; }
@media (max-width:600px){ .segmento-toggle{ flex-direction:column; } }

/* Filtros: botão que abre um menu suspenso, em vez de campos sempre visíveis */
.filtros-wrap{ position:relative; display:inline-block; margin-bottom:36px; }
.filtros-toggle{ display:inline-flex; align-items:center; gap:10px; background:var(--branco); border:1px solid var(--linha); border-radius:10px; padding:13px 20px; font-size:14.5px; font-weight:600; color:var(--tinta); cursor:pointer; box-shadow:var(--sombra); }
.filtros-toggle:hover{ border-color:var(--verde-500); }
.filtros-menu{ position:absolute; top:calc(100% + 10px); left:0; z-index:20; display:none; flex-direction:column; gap:16px; background:var(--branco); border:1px solid var(--linha); border-radius:14px; box-shadow:var(--sombra); padding:22px; min-width:250px; }
.filtros-menu.aberto{ display:flex; }
.filtros-menu .campo{ display:flex; flex-direction:column; gap:6px; }
.filtros-menu label{ font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--tinta-suave); font-weight:600; }
.filtros-menu input, .filtros-menu select{ border:1.5px solid var(--linha); border-radius:8px; padding:10px 12px; font-size:14.5px; font-family:'IBM Plex Sans',sans-serif; background:var(--creme); outline:none; }
.filtros-menu input:focus, .filtros-menu select:focus{ border-color:var(--verde-500); }

.tabela-secao{ margin-bottom:36px; }
.tabela-secao:last-child{ margin-bottom:0; }
.tabela-secao-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.tabela-secao-head h3{ font-size:20px; color:var(--verde-900); margin:0; }
.tabela-secao-head .contagem{ font-size:13px; color:var(--tinta-suave); font-family:'IBM Plex Mono',monospace; }

.tabela-wrap{ background:var(--branco); border:1px solid var(--linha); border-radius:16px; overflow-x:auto; overflow-y:hidden; box-shadow:var(--sombra); }
table.cotas-tabela{ width:100%; border-collapse:collapse; table-layout:fixed; }
table.cotas-tabela thead th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--tinta-suave); font-weight:600; padding:14px 12px; background:var(--creme-alt); border-bottom:1px solid var(--linha); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
table.cotas-tabela thead th:first-child{ padding-left:18px; }
table.cotas-tabela tbody td{ padding:15px 12px; font-size:15px; border-bottom:1px solid var(--linha); vertical-align:middle; white-space:normal; line-height:1.4; word-break:break-word; }
table.cotas-tabela tbody td:first-child{ padding-left:18px; }
table.cotas-tabela tbody tr:last-child td{ border-bottom:none; }
table.cotas-tabela tbody tr:hover{ background:var(--creme); }
table.cotas-tabela tbody tr.linha-reservada{ background:rgba(168,40,28,0.1); }
table.cotas-tabela tbody tr.linha-reservada:hover{ background:rgba(168,40,28,0.16); }
.tag-reservada-acao{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; font-weight:700; color:#a8281c; background:rgba(168,40,28,0.14); padding:9px 14px; border-radius:7px; white-space:nowrap; }
/* Larguras fixas — sempre as mesmas nas duas tabelas (Imóvel/Automóvel), não dependem do conteúdo */
table.cotas-tabela th:nth-child(1), table.cotas-tabela td:nth-child(1){ width:13%; white-space:nowrap; }
table.cotas-tabela th:nth-child(2), table.cotas-tabela td:nth-child(2){ width:13%; white-space:nowrap; }
table.cotas-tabela th:nth-child(3), table.cotas-tabela td:nth-child(3){ width:30%; }
table.cotas-tabela th:nth-child(4), table.cotas-tabela td:nth-child(4){ width:16%; }
table.cotas-tabela th:nth-child(5), table.cotas-tabela td:nth-child(5){ width:13%; white-space:nowrap; }
table.cotas-tabela th:nth-child(6), table.cotas-tabela td:nth-child(6){ width:15%; }
.tabela-acoes{ display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:nowrap; }

/* ---- TABELA EM CARTÕES NO MOBILE ---- */
@media (max-width:720px){
  .tabela-wrap{ overflow-x:visible; }
  table.cotas-tabela{ table-layout:auto; }
  table.cotas-tabela thead{ display:none; }
  table.cotas-tabela, table.cotas-tabela tbody, table.cotas-tabela tr, table.cotas-tabela td{ display:block; width:auto; }
  table.cotas-tabela th:nth-child(n), table.cotas-tabela td:nth-child(n){ width:auto; white-space:normal; }
  table.cotas-tabela tbody tr{ padding:16px 18px; border-bottom:1px solid var(--linha); }
  table.cotas-tabela tbody tr:hover{ background:none; }
  table.cotas-tabela tbody td{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:7px 0 !important; border:none; }
  table.cotas-tabela tbody td::before{ content:attr(data-label); flex-shrink:0; font-size:11px; text-transform:uppercase; letter-spacing:.04em; font-weight:600; color:var(--tinta-suave); }
  table.cotas-tabela tbody td:last-child{ display:block; margin-top:10px; padding-top:0 !important; }
  table.cotas-tabela tbody td:last-child::before{ content:none; }
  .tabela-acoes{ flex-wrap:wrap; justify-content:flex-start; }
}
.valor-mono{ font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--verde-900); }
.badge-segmento{ display:inline-block; font-size:11.5px; padding:3px 9px; border-radius:6px; background:rgba(184,134,46,0.12); color:var(--dourado); font-weight:600; }
.tabela-btn{ background:var(--verde-900); color:var(--branco); border:none; padding:9px 16px; border-radius:7px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.tabela-btn:hover{ background:var(--verde-700); }
.tabela-btn-remove{ background:transparent; border:1px solid var(--linha); color:var(--tinta-suave); padding:8px 10px; border-radius:7px; font-size:12px; cursor:pointer; line-height:1; }
.tabela-btn-remove:hover{ border-color:#c0524a; color:#c0524a; }
.tabela-empty{ text-align:center; padding:60px 20px; color:var(--tinta-suave); font-size:14.5px; }

/* Ícones de segmento (casa/carro) nos botões de toggle e nas tabelas */
.segmento-icone{ flex-shrink:0; }
.segmento-secao-icone{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:8px; background:var(--creme-alt); color:var(--verde-700); margin-right:8px; }

/* ---- CADASTRO (formulário na própria tabela) ---- */
.cadastro-box{ background:var(--verde-900); border-radius:16px; padding:28px 30px; margin-bottom:32px; color:var(--branco); }
.cadastro-box .cad-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; cursor:pointer; }
.cadastro-box h3{ font-size:17px; margin:0; display:flex; align-items:center; gap:10px; }
.cadastro-box .cad-toggle{ display:flex; align-items:center; justify-content:center; flex-shrink:0; background:rgba(255,255,255,0.12); border:none; color:var(--branco); width:30px; height:30px; border-radius:8px; cursor:pointer; font-size:16px; line-height:1; }
.cadastro-box .cad-note{ font-size:13px; color:rgba(255,255,255,0.55); margin:6px 0 0; }
.cad-form{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:22px; }
.cad-form .campo{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.cad-form .campo.span2{ grid-column:span 2; }
.cad-form label{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:rgba(255,255,255,0.6); }
.cad-form input, .cad-form select{ width:100%; border:1.5px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.06); color:var(--branco); border-radius:8px; padding:10px 12px; font-size:14px; font-family:'IBM Plex Sans',sans-serif; outline:none; }
.cad-form input::placeholder{ color:rgba(255,255,255,0.35); }
.cad-form input:focus, .cad-form select:focus{ border-color:var(--dourado-claro); }
.cad-form select option{ color:#111; }
.cad-submit{ grid-column:1/-1; background:var(--dourado); color:var(--verde-900); border:none; padding:12px; border-radius:8px; font-size:14px; font-weight:700; cursor:pointer; margin-top:4px; }
.cad-submit:hover{ background:var(--dourado-claro); }
@media (max-width:900px){ .cad-form{ grid-template-columns:1fr 1fr; } .cad-form .campo.span2{ grid-column:span 2; } }
@media (max-width:600px){ .cad-form{ grid-template-columns:1fr; } .cad-form .campo.span2{ grid-column:span 1; } }

/* ---- PÁGINA DE LOGIN ---- */
.login-wrap{ min-height:calc(100vh - 88px); display:flex; align-items:center; justify-content:center; padding:60px 20px; }
.login-card{ width:100%; max-width:400px; background:var(--branco); border:1px solid var(--linha); border-radius:16px; padding:36px 32px; box-shadow:var(--sombra); }
.login-card .eyebrow{ justify-content:center; }
.login-card h1{ font-size:25px; color:var(--verde-900); margin:12px 0 6px; text-align:center; }
.login-card .login-sub{ font-size:14.5px; color:var(--tinta-suave); text-align:center; margin:0 0 26px; line-height:1.5; }
.login-card .form-submit{ margin-top:10px; }
.login-card .form-error{ font-size:13px; color:#b3261e; text-align:center; margin:14px 0 0; }
.login-card .voltar{ display:block; text-align:center; font-size:13px; color:var(--tinta-suave); margin-top:22px; text-decoration:none; }
.login-card .voltar:hover{ color:var(--verde-900); }

/* ---- ESTRUTURADO ---- */
.estruturado-sec{ background:var(--verde-900); color:var(--branco); text-align:center; }
.estruturado-sec .section-head h2{ color:var(--branco); }
.estruturado-sec .section-head p{ color:rgba(255,255,255,0.68); }
.estruturado-sec .eyebrow{ color:var(--dourado-claro); }
.estruturado-sec .eyebrow::before{ background:var(--dourado-claro); }

/* ---- FOOTER ---- */
footer{ margin-top:auto; background:var(--verde-900); color:rgba(255,255,255,0.55); padding:48px 0 28px; font-size:13.5px; border-top:1px solid rgba(255,255,255,0.08); }
footer .wrap{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px; }
footer .disclaimer{ max-width:640px; line-height:1.8; letter-spacing:.02em; color:rgba(255,255,255,0.42); margin-top:16px; }
footer .disclaimer .mono{ font-size:12px; color:rgba(255,255,255,0.34); }
footer .cols{ display:flex; flex-wrap:wrap; gap:40px 56px; }
footer .cols h5{ color:rgba(255,255,255,0.85); font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 14px; }
footer .cols a{ display:flex; align-items:center; gap:9px; text-decoration:none; margin-bottom:9px; color:rgba(255,255,255,0.6); }
footer .cols a:hover{ color:var(--branco); }
footer .cols a svg{ flex-shrink:0; opacity:.85; }
.bottom-line{ border-top:1px solid rgba(255,255,255,0.1); margin-top:36px; padding-top:20px; text-align:center; color:rgba(255,255,255,0.38); }

/* ---- MODAL: DETALHE + CADASTRO DE LEAD / EDIÇÃO DE COTA ---- */
.overlay{ position:fixed; inset:0; background:rgba(15,43,34,0.55); backdrop-filter:blur(3px); display:none; align-items:center; justify-content:center; z-index:100; padding:20px; }
.overlay.active{ display:flex; }
.modal{ background:var(--branco); border-radius:18px; max-width:520px; width:100%; max-height:88vh; overflow-y:auto; box-shadow:0 30px 70px -20px rgba(0,0,0,0.4); }
.modal-head{ background:linear-gradient(150deg,var(--verde-700),var(--verde-900)); color:var(--branco); padding:26px 28px; position:relative; }
.modal-head .close{ position:absolute; top:16px; right:18px; background:rgba(255,255,255,0.12); border:none; color:var(--branco); width:28px; height:28px; border-radius:50%; cursor:pointer; font-size:15px; line-height:1; }
.modal-head .badge{ display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding:3px 9px; border-radius:999px; background:rgba(255,255,255,0.15); margin-bottom:10px; font-weight:600; }
.modal-head .valor{ font-family:'IBM Plex Mono',monospace; font-size:27px; font-weight:600; }
.modal-body{ padding:26px 28px; }
.modal-specs{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-bottom:24px; }
.modal-specs div{ font-size:13px; }
.modal-specs div span{ display:block; color:var(--tinta-suave); text-transform:uppercase; font-size:11px; letter-spacing:.04em; margin-bottom:3px; }
.modal-specs div b{ font-family:'IBM Plex Mono',monospace; font-size:14.5px; color:var(--tinta); }
.modal-divider{ border:none; border-top:1px solid var(--linha); margin:0 0 22px; }
.modal-body h4{ font-size:16px; margin:0 0 4px; color:var(--verde-900); }
.modal-body .lead{ font-size:13.5px; color:var(--tinta-suave); margin:0 0 18px; line-height:1.5; }
.form-field{ margin-bottom:14px; }
.form-field label{ display:block; font-size:12.5px; font-weight:600; color:var(--tinta-suave); margin-bottom:6px; }
.form-field input, .form-field select{ width:100%; border:1.5px solid var(--linha); border-radius:8px; padding:11px 13px; font-size:15px; font-family:'IBM Plex Sans',sans-serif; background:var(--creme); outline:none; transition:border-color .15s; }
.form-field input:focus, .form-field select:focus{ border-color:var(--verde-500); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-submit{ width:100%; background:var(--dourado); color:var(--verde-900); border:none; padding:14px; border-radius:8px; font-size:15px; font-weight:700; cursor:pointer; margin-top:6px; }
.form-submit:hover{ background:var(--dourado-claro); }
.form-danger{ width:100%; background:transparent; border:1.5px solid #c0524a; color:#c0524a; padding:13px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; margin-top:10px; }
.form-danger:hover{ background:rgba(192,82,74,0.08); }
.form-reservar{ width:100%; background:transparent; border:1.5px solid var(--dourado); color:var(--dourado); padding:13px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; margin-top:10px; }
.form-reservar:hover{ background:rgba(184,134,46,0.08); }
.form-note{ font-size:11.5px; color:var(--tinta-suave); text-align:center; margin-top:12px; line-height:1.5; }
.form-error{ font-size:13px; color:#b3261e; text-align:center; margin-top:12px; }
.thanks{ text-align:center; padding:20px 0; }
.thanks .check{ width:52px; height:52px; border-radius:50%; background:var(--verde-500); color:var(--branco); display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 18px; }
.thanks h4{ font-size:19px; color:var(--verde-900); margin:0 0 10px; }
.thanks p{ font-size:14.5px; color:var(--tinta-suave); line-height:1.6; max-width:340px; margin:0 auto; }
