/* style.css - identidade visual KGS Facility (versão consolidada) */
/* Substitua todo o conteúdo antigo por este arquivo */

:root{
  --bg:#0b1220;
  --surface:#0f2436;
  --muted:#9fb0c9;
  --primary:#0f4a66;
  --accent:#D4AF37;
  --accent-2:#f0b429;
  --success:#2e8b57;
  --danger:#c94a4a;
  --glass: rgba(255,255,255,0.03);
  --radius:12px;
  --max-width:1200px;
  --text:#eaf2ff;
  --muted-bg:#0b1b2b;
  --card-border: rgba(255,255,255,0.04);
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --font-heading: "Cinzel", serif;
}

/* Reset e base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family:var(--font-sans);
  background:linear-gradient(180deg,var(--bg),#04102a);
  color:var(--text);
  margin:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  -webkit-font-feature-settings: "liga" 1;
}

/* Tipografia */
h1,h2,h3,h4,h5{font-family:var(--font-heading); color:var(--accent); margin-top:0}
h1{font-size:2.25rem}
h2{font-size:1.6rem}
h3{font-size:1.25rem}
p,ul,ol,li{color:var(--text); margin:0 0 0.75rem 0}
.lead{color:var(--muted); font-size:1.05rem}

/* Layout container */
.container{max-width:var(--max-width); margin:0 auto; padding:0 16px}

/* Navbar */
.navbar{
  background:linear-gradient(90deg,var(--surface), #0b2b3d);
  box-shadow:0 6px 18px rgba(2,6,23,0.45);
  border-bottom:1px solid rgba(255,255,255,0.02);
}
.navbar .container{display:flex;align-items:center;gap:16px}
.navbar .navbar-brand{ color:var(--accent); font-weight:700; font-size:1.15rem; text-decoration:none }
.navbar .nav-link{ color:var(--text); opacity:0.92; margin-right:8px }
.navbar .nav-link:hover{ color:var(--accent) }
.navbar .btn-shop{
  background:linear-gradient(180deg,var(--accent),var(--accent-2));
  color:#071733;
  font-weight:700;
  border-radius:10px;
  padding:8px 14px;
  border:none;
  box-shadow:0 6px 18px rgba(240,180,41,0.12);
}

/* Hero */
.hero{ padding:60px 0 }
.hero-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 8px 30px rgba(2,6,23,0.5);
  border:1px solid var(--card-border);
}
.cta-hero{ background: linear-gradient(135deg, rgba(212,175,55,0.06), rgba(240,180,41,0.03)); border-radius:14px; padding:18px; }

/* Services */
.services .card{
  background:var(--surface);
  border-radius:12px;
  padding:20px;
  border:1px solid var(--card-border);
  color:var(--text);
  min-height:160px;
}
.services .icon{
  width:56px;height:56px;border-radius:10px;background:var(--glass);display:flex;align-items:center;justify-content:center;margin-bottom:12px;
  font-size:22px;color:var(--accent);
}

/* Cards de produto */
.card-product{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:12px;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  border:1px solid var(--card-border);
  display:flex;
  flex-direction:column;
  height:100%;
}
.card-product:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(2,6,23,0.6)}
.card-product img{object-fit:cover;height:220px;width:100%}
.card-product .body{padding:16px; display:flex; flex-direction:column; gap:8px; flex:1}
.card-product h5{margin:0; color:var(--text)}
.card-product p{margin:0; color:var(--muted)}

/* Tabs */
.nav-tabs .nav-link{color:var(--muted); border:none; margin-right:8px}
.nav-tabs .nav-link.active{color:#071733;background:var(--accent);border-radius:8px}

/* Contact */
.contact-card{background:var(--surface);padding:20px;border-radius:12px;border:1px solid var(--card-border); color:var(--text)}
.form-control{background:transparent; border:1px solid rgba(255,255,255,0.06); color:var(--text)}
.form-control::placeholder{color:rgba(255,255,255,0.45)}
/* btn-outline-light — sempre visível */
.btn-outline-light,
.btn-outline-light:link,
.btn-outline-light:visited {
  border:2px solid #eaf2ff !important;
  color:#eaf2ff !important;
  background:transparent !important;
  font-weight:600;
}
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active {
  background:#eaf2ff !important;
  color:#071733 !important;
  border-color:#eaf2ff !important;
}

/* btn-shop global — sempre visível */
.btn-shop,
.btn-shop:link,
.btn-shop:visited {
  background:linear-gradient(180deg,var(--accent),var(--accent-2)) !important;
  color:#071733 !important;
  font-weight:700;
  border-radius:10px;
  border:none !important;
  box-shadow:0 4px 14px rgba(212,175,55,0.25);
}
.btn-shop:hover,
.btn-shop:focus,
.btn-shop:active {
  background:linear-gradient(180deg,var(--accent-2),var(--accent)) !important;
  color:#071733 !important;
  box-shadow:0 6px 20px rgba(212,175,55,0.40);
}

/* btn-outline-warning (cards e produtos) — sempre visível */
.btn-outline-warning,
.btn-outline-warning:link,
.btn-outline-warning:visited {
  border:2px solid var(--accent) !important;
  color:var(--accent) !important;
  background:transparent !important;
  font-weight:600;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
  background:var(--accent) !important;
  color:#071733 !important;
  border-color:var(--accent) !important;
}

/* Footer */
footer{
  background:linear-gradient(180deg,var(--surface),var(--bg));
  padding:36px 0;
  color:var(--muted);
  border-top:1px solid rgba(255,255,255,0.02);
}
footer a{color:var(--accent)}

/* Utilities */
.text-muted{color:var(--muted)}
.small{font-size:0.9rem}
.rounded{border-radius:12px}

/* Accessibility focus */
a:focus, button:focus, .form-control:focus { outline:3px solid rgba(212,175,55,0.12); outline-offset:3px; box-shadow:none }

/* Image overlay helper */
.img-overlay{
  position:relative;
  overflow:hidden;
  border-radius:12px;
}
.img-overlay img{display:block; width:100%; height:auto}
.img-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,18,32,0.18), rgba(15,36,54,0.18));
  pointer-events:none;
}

/* Responsive tweaks */
@media (max-width:991px){
  .hero{padding:36px 0}
  .hero-card{padding:20px}
  .card-product img{height:180px}
}
@media (max-width:575px){
  .navbar .btn-shop{padding:6px 10px; font-size:0.95rem}
  .hero{padding:24px 0}
  h1{font-size:1.6rem}
}

/* Performance and print */
img{max-width:100%;height:auto;display:block}
@media print{ body{background:#fff;color:#000} .navbar, footer{display:none} }

/* Small helpers for contrast testing */
.contrast-ok{ color:var(--text) }
.muted-2{ color:rgba(255,255,255,0.6) }

/* End of file */
