/* Base */
:root{
  --bg:#000000;          /* Preto base */
  --bg-2:#111111;        /* Antracite */
  --text:#E5E5E5;        /* Texto claro */
  --muted:#BDBDBD;       /* Texto secundário */
  --border:#2A2A2A;      /* Bordas subtis */
  --accent:#E10600;      /* Vermelho motorsport (pode trocar para #0AA1FF) */
}

html,body{background-color:var(--bg);color:var(--text);} 
/* Compensa a navbar fixa para que o topo da primeira secção não fique escondido */
body{padding-top:4.5rem;}

/* Fontes – PORSCHA (placeholder). Substituir o ficheiro quando fornecido. */
@font-face{
  font-family:'Porscha';
  src: local('Porscha'),
       url('../../911porschav3.ttf') format('truetype');
  font-display: swap;
}

/* Navbar */
.navbar{background:rgba(0,0,0,0.9)!important;}
.navbar .nav-link{color:var(--muted);} 
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--text);} 
.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent);} 
.btn-accent:hover{filter:brightness(0.9);} 
.brand-text{font-family:'Porscha', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;font-size:1.25rem;letter-spacing:.15em;color:#e0e0e0}
/* Versão inline para títulos/textos */
.brand-inline{font-family:'Porscha', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;letter-spacing:.12em}

/* Header minimal (sem imagem) */
.hero-minimal{padding-top:5.25rem;padding-bottom:.75rem;background:#000;border-bottom:1px solid var(--border);} /* 5.25rem compensa navbar fixa */

/* Content blocks */
.bg-dark{background-color:var(--bg-2)!important;}
.border-secondary{border-color:var(--border)!important;}
.text-secondary-200{color:#D6D6D6!important;}
.text-secondary-400{color:#9A9A9A!important;}
.card{border-width:1px;}

/* Mapa: overlay mobile */
.map-figure{position:relative}
.map-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.6));padding:1rem}
.map-overlay h5,.map-overlay .h5{color:#fff}
.map-overlay p{color:#eaeaea}

/* Ícones sociais (contactos) */
.contact-social .social-icon{width:28px;height:28px;display:block}
.contact-social a{opacity:.9;transition:opacity .2s ease}
.contact-social a:hover{opacity:1}

/* Back to top */
.back-to-top{position:fixed;right:16px;bottom:16px;display:none;z-index:1030}
.back-to-top.show{display:block}

/* Forms */
.form-control, .form-select{background:#0E0E0E;border-color:var(--border);color:var(--text);} 
.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(225,6,0,.15);} 

/* Contactos - estética */
.section-title{position:relative;display:inline-block}
.section-title::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);opacity:.9}
.contact-card{box-shadow:0 8px 24px rgba(0,0,0,.35);max-width:420px;width:100%}
.contact-card.compact{max-width:340px;padding:.5rem!important;text-align:center}
.contact-card.compact .contact-list{margin-bottom:.125rem!important}
.contact-card.compact .contact-social{gap:.25rem;margin-bottom:0}
.contact-card.compact .contact-list .mb-1{margin-bottom:0!important}
.contact-card.compact .contact-hours-block li + li{margin-top:1px}
.contact-list li{line-height:1.6}
.contact-hours{display:inline-block;padding:.25rem .5rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.03);color:#d9d9d9;font-size:.9rem}
/* Horário em múltiplas linhas */
.contact-hours-block{list-style:none}
.contact-hours-block li{line-height:1.35;color:#d0d0d0}
.contact-hours-block li:first-child,.contact-hours-block li:nth-child(4){color:#ffffff}
.contact-hours-block li + li{margin-top:2px}

/* Utilities */
.rounded-3{border-radius:1rem!important}

