/* ===== Portal — páginas de empreendimentos, bairros e listagens (Central de Lançamentos) =====
   Carrega depois de /blog/estilo-blog.css e reaproveita os mesmos tokens (--sea, --gold, --navy...). */

.p-wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.p-hero{max-width:1080px;margin:0 auto;padding:28px 24px 8px;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;}
.p-hero-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;box-shadow:var(--shadow);display:block;}
.p-tag{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sea-deep);margin:0 0 10px;}
.p-hero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(26px,4vw,38px);line-height:1.22;color:var(--ink);margin:0 0 14px;}
.p-lead{font-size:16px;line-height:1.7;color:var(--ink);margin:0 0 20px;}
.p-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px;}
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:13px;padding:13px 20px;border-radius:999px;text-decoration:none;transition:.25s;white-space:nowrap;}
.p-btn:hover{transform:translateY(-2px);}
.p-btn-primary{background:linear-gradient(135deg,#f2dda0 0%,var(--gold) 60%,#a3822f 100%);color:var(--navy);}
.p-btn-wa{background:#25d366;color:#fff;}
.p-btn-ghost{border:1.5px solid var(--sea-deep);color:var(--sea-deep);background:transparent;}
.p-note{font-size:12px;color:var(--ink-soft);margin:12px 0 0;line-height:1.55;}

.p-sec{max-width:1080px;margin:0 auto;padding:34px 24px 6px;}
.p-sec h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(22px,3vw,28px);color:var(--ink);margin:0 0 14px;line-height:1.25;}
.p-sec h3{font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:var(--ink);margin:22px 0 8px;}
.p-sec p{font-size:15.5px;line-height:1.75;color:var(--ink);margin:0 0 16px;max-width:760px;}
.p-sec a:not(.p-btn):not(.p-card){color:var(--terra);font-weight:700;text-decoration:underline;}
.p-sec ul{margin:0 0 16px;padding-left:20px;max-width:760px;}
.p-sec li{font-size:15.5px;line-height:1.7;margin-bottom:6px;}

.p-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0 0 10px;}
.p-fact{background:var(--sand-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.p-fact dt{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sea-deep);margin:0 0 5px;}
.p-fact dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink);}

.p-table{width:100%;border-collapse:collapse;background:var(--sand-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 10px;font-size:14px;}
.p-table th,.p-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;}
.p-table th{background:#f1e9d4;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);}
.p-table tr:last-child td{border-bottom:0;}
.p-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.p-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;}
.p-chips li{margin:0;font-size:13px;padding:7px 13px;background:var(--sand-2);border:1px solid var(--line);border-radius:999px;color:var(--ink);}

.p-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0 0 10px;}
.p-gallery figure{margin:0;}
.p-gallery img{width:100%;height:170px;object-fit:cover;border-radius:12px;display:block;box-shadow:var(--shadow);}
.p-gallery figcaption{font-size:12px;color:var(--ink-soft);margin-top:6px;line-height:1.4;}

.p-faq{max-width:760px;}
.p-faq .q{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--ink);margin:22px 0 6px;}
.p-faq .a{font-size:15px;line-height:1.7;color:var(--ink);margin:0;}

.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:0 0 10px;}
.p-card{display:flex;flex-direction:column;background:var(--sand-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;}
.p-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px -16px rgba(15,42,58,.32);}
.p-card img{width:100%;height:170px;object-fit:cover;display:block;}
.p-card-body{padding:15px 17px 18px;display:flex;flex-direction:column;flex:1;}
.p-card-body .p-tag{margin:0 0 6px;}
.p-card-body h3{font-family:'Fraunces',serif;font-weight:600;font-size:18px;line-height:1.3;margin:0 0 6px;color:var(--ink);}
.p-card-body p{font-size:13px;line-height:1.55;color:var(--ink-soft);margin:0 0 12px;}
.p-card-price{margin-top:auto;font-size:12.5px;color:var(--ink-soft);}
.p-card-price b{color:var(--ink);font-size:14px;}
.p-card-go{margin-top:8px;font-size:12px;font-weight:800;color:var(--terra);}

.p-legal{max-width:1080px;margin:26px auto 0;padding:0 24px;font-size:11.5px;line-height:1.6;color:var(--ink-soft);}
.p-cta-band{max-width:1080px;margin:34px auto 0;padding:0 24px;}
.p-cta-band .ctabox{margin:0;}

.footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px;max-width:760px;margin:0 auto 22px;text-align:left;}
.footer-links h4{font-family:'Fraunces',serif;font-size:14px;color:var(--gold);margin:0 0 9px;font-weight:600;}
.footer-links a{display:block;color:#dfe7e6;font-size:12.5px;line-height:1.35;text-decoration:none;padding:4px 0;}
.footer-links a:hover{color:var(--gold);text-decoration:underline;}

@media(max-width:820px){
  .p-hero{grid-template-columns:1fr;gap:20px;padding-top:20px;}
  .p-hero-img{aspect-ratio:16/10;}
}
@media(max-width:480px){
  .p-cta-row{flex-direction:column;}
  .p-btn{width:100%;white-space:normal;text-align:center;}
  .p-table{font-size:13px;}
  .p-table th,.p-table td{padding:9px 10px;}
}

.p-aviso{margin:18px auto 0;max-width:1032px;background:#fff4dc;border:1px solid #e2c57a;border-left:5px solid var(--terra);border-radius:12px;padding:16px 20px;}
.p-aviso strong{display:block;font-family:'Fraunces',serif;font-size:16px;color:var(--ink);margin-bottom:6px;}
.p-aviso p{margin:0;font-size:14px;line-height:1.65;color:var(--ink);}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .p-aviso{background:#33260f;border-color:#8a6b2a;}
  :root:not([data-theme="light"]) .p-table th{background:#1d3340;}
}
:root[data-theme="dark"] .p-aviso{background:#33260f;border-color:#8a6b2a;}
:root[data-theme="dark"] .p-table th{background:#1d3340;}

/* ---------- Formulário de captação ---------- */
.p-form{max-width:560px;margin:8px 0 0;}
.p-form label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 6px;}
.p-form input[type=text],.p-form input[type=tel],.p-form input[type=email],.p-form select,.p-form textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--sand-2);border:1px solid var(--line);border-radius:12px;padding:13px 14px;-webkit-user-select:text;user-select:text;}
.p-form textarea{min-height:88px;resize:vertical;}
.p-form input:focus,.p-form select:focus,.p-form textarea:focus{outline:2px solid var(--sea);outline-offset:1px;}
.p-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.p-consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 18px;}
.p-consent input{margin-top:3px;flex-shrink:0;width:18px;height:18px;}
.p-consent label{margin:0;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.55;color:var(--ink-soft);}
.p-consent a{color:var(--terra);font-weight:700;text-decoration:underline;}
.p-form .p-btn{width:100%;border:0;cursor:pointer;font-family:inherit;}
.p-form .p-btn:disabled{opacity:.6;cursor:wait;}
.p-form-msg{max-width:560px;margin-top:14px;padding:16px 18px;border-radius:12px;background:#e3f3e6;border:1px solid #9fd0a8;font-size:14.5px;line-height:1.6;color:#1d3a24;}
.p-form-err{background:#fde8e4;border-color:#e3a79b;color:#5a2116;}
.p-form-msg a{font-weight:700;text-decoration:underline;color:inherit;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .p-form-msg{background:#173021;border-color:#2f6b45;color:#d7f0de;}
  :root:not([data-theme="light"]) .p-form-err{background:#3a1d18;border-color:#8a3f30;color:#f6d7d0;}
}
