/* Diretório, presença e publicidade. Usa as variáveis de modelo.css. */

/* Página anunciar.html */
.anun-hero{padding-block:56px 8px;max-width:820px}
.anun-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-1.2px;color:var(--navy);margin:0 0 18px}
.anun-lead{font-size:17px;line-height:1.55;color:var(--ink);margin:0 0 18px}
.anun-aviso{font-size:14px;line-height:1.5;color:var(--ink);background:var(--teal-light);border-radius:10px;padding:14px 16px;margin:0}
#tipos,#formatos,#pre-registo{padding-block:56px}
.familia{margin-top:34px}
.familia h3{font-size:19px;color:var(--navy);margin:0 0 14px}
.tipo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.tipo-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #dfe5db;border-radius:12px;background:#fff;min-width:0}
.tipo-card h4{margin:0;font-size:17px;color:var(--ink)}
.tipo-card p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.tipo-card .tipo-ex{font-size:13px;color:var(--teal)}
.tipo-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:4px 0 0;font-size:13px}
.tipo-card dt{font-weight:600;color:var(--ink)}
.tipo-card dd{margin:0;color:var(--muted)}
.tipo-card .text-link{margin:auto 0 0;max-width:none;min-height:44px;font-size:14px}

.tabela-wrap:focus-visible{outline:3px solid #f0c24b;outline-offset:2px}
.tabela-wrap{overflow-x:auto;margin-top:22px;border:1px solid #dfe5db;border-radius:12px;background:#fff}
table.formatos{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
table.formatos caption{text-align:left;padding:16px 18px 6px;font-weight:600;color:var(--navy)}
table.formatos th,table.formatos td{text-align:left;vertical-align:top;padding:12px 18px;border-top:1px solid #e7ece6;line-height:1.45}
table.formatos thead th{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
table.formatos tbody th{color:var(--ink);white-space:nowrap}
table.formatos td{color:var(--muted)}
#formatos h3{font-size:19px;color:var(--navy);margin:34px 0 10px}
.regras{margin:0;padding-left:20px;font-size:14px;line-height:1.6;color:var(--ink);max-width:760px}

.registo-form{display:grid;grid-template-columns:1fr;gap:16px;max-width:820px;margin-top:22px;padding:22px;border:1px solid #dfe5db;border-radius:14px;background:#fff}
.campo{display:flex;flex-direction:column;gap:7px;min-width:0}
.campo label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}
.campo label input[type=checkbox]{width:20px;height:20px;margin:0 8px 0 0;vertical-align:-4px;accent-color:var(--teal)}
.campo input[type=text],.campo input[type=tel],.campo input[type=email],.campo select,.campo textarea{font:inherit;font-size:16px;min-height:48px;padding:10px 12px;border:1px solid #b9c7c1;border-radius:9px;background:#fff;color:var(--ink);width:100%;box-sizing:border-box}
.campo textarea{min-height:96px;resize:vertical}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:3px solid #f0c24b;outline-offset:1px}
.campo option:disabled{color:#8a9599}
.campo label a{color:var(--teal);text-decoration:underline}
.form-nota{margin:0;font-size:13px;line-height:1.5;color:var(--muted);min-height:1em}
.registo-acoes{display:flex;flex-wrap:wrap;gap:12px}
.registo-acoes .button{font-size:15px;min-height:48px}

/* Perfis publicados na página da ilha */
.perfil-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:13px}
.perfil-card{display:flex;flex-direction:column;gap:9px;padding:22px 21px;border-radius:12px;border:1px solid #dfe5db;background:#fff;min-width:0}
.perfil-card h3{margin:0;font-size:17px}
.perfil-tipo{font-size:12px;color:var(--muted);margin:0}
.selo-verificado{align-self:flex-start;font-size:11px;font-weight:600;color:#0b5852;background:var(--teal-light);border-radius:999px;padding:3px 10px}

/* Zonas de publicidade */
.pub-zona{margin-block:28px}
.pub-titulo{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0 0 10px}
.pub-grid{display:grid;grid-template-columns:1fr;gap:12px}
.pub-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px dashed #b9c7c1;border-radius:12px;background:#fffdf6}
.pub-card img{width:100%;height:auto;border-radius:8px}
.pub-card h3{margin:0;font-size:16px}
.pub-card p{margin:0;font-size:14px;color:var(--muted)}
.pub-rotulo{font-size:11px!important;font-weight:600;letter-spacing:.4px;color:#6b5a1e!important}

@media (min-width:700px){
  .tipo-grid,.perfil-grid,.pub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .registo-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:28px}
  .campo-largo{grid-column:1/-1}
}
@media (min-width:1040px){
  .tipo-grid,.perfil-grid,.pub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:520px){
  .anun-hero{padding-top:36px}
  #tipos,#formatos,#pre-registo{padding-block:40px}
  .registo-form{padding:18px}
}

/* Enviar um rascunho à CVDN (modelo.js) */
.send-box{margin:22px 0 6px;padding:20px;border:1px solid #b9d3c9;border-radius:12px;background:var(--teal-light);gap:14px}
.send-box h3{margin:0;font-size:17px;color:var(--navy)}
.send-box>p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}
.send-box .form-grid{display:grid;grid-template-columns:1fr;gap:14px}
.send-box .checkbox-label a{color:var(--teal);text-decoration:underline}
.send-box .detail-actions{margin:0}
@media (min-width:700px){.send-box .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Página sobre.html */
.legal-header{height:72px;display:flex;align-items:center}
.sobre{max-width:860px;padding-block:48px 72px}
.sobre h1{font-size:clamp(30px,4.6vw,46px);line-height:1.12;letter-spacing:-1.2px;color:var(--navy);margin:0 0 16px}
.sobre h2{font-size:clamp(22px,3vw,28px);color:var(--navy);margin:48px 0 14px;letter-spacing:-.4px}
.sobre h3{font-size:17px;margin:0;color:var(--ink)}
.sobre p,.sobre li{font-size:15px;line-height:1.65;color:var(--ink)}
.sobre-lead{font-size:17px!important;color:var(--ink);max-width:720px}
.sobre-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.sobre-ctas .button{min-height:48px}
.sobre-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:13px}
.sobre-grid li{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #dfe5db;border-radius:12px;background:#fff;min-width:0}
.sobre-grid p{margin:0;font-size:14px;color:var(--muted)}
.sobre-grid .text-link{margin-top:auto;min-height:44px;font-size:14px;max-width:none}
.sobre-lista{padding-left:22px;margin:0}
.sobre-lista li{margin-bottom:10px}
.sobre-tags{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.sobre-tags li{font-size:13px;line-height:1.3;padding:8px 12px;border-radius:999px;background:var(--teal-light);color:#0b5852}
.sobre-dl{display:grid;grid-template-columns:1fr;gap:4px 18px;margin:0;padding:20px;border:1px solid #dfe5db;border-radius:12px;background:#fff}
.sobre-dl dt{font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-top:10px}
.sobre-dl dt:first-child{margin-top:0}
.sobre-dl dd{margin:0;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.sobre a:not(.button){color:var(--teal)}
.sobre-nota{font-size:14px!important;color:var(--muted)!important;margin-top:16px}
@media (min-width:700px){
  .sobre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sobre-dl{grid-template-columns:200px 1fr;padding:26px}
  .sobre-dl dt{margin-top:0;padding-top:3px}
}
.busca-404{flex:1 1 240px;min-height:48px;padding:10px 14px;font:inherit;font-size:16px;border:1px solid #b9c7c1;border-radius:9px;background:#fff;color:var(--ink)}
.busca-404:focus-visible{outline:3px solid #f0c24b;outline-offset:1px}
.sobre p a:not(.button):not(.text-link),.sobre dd a{text-decoration:underline;text-underline-offset:3px}
.sobre-lang{margin:-6px 0 10px;font-size:14px}

/* Ligações de contacto na identificação: alvo de toque de 24 px */
.sobre-dl dd a { display: inline-block; min-height: 24px; padding: 2px 0; line-height: 20px; }
