/*
Theme Name: Bus Misja Premium
Theme URI: https://example.com/
Author: VelaraTech
Description: Minimalistyczny motyw premium dla firmy Bus Misja świadczącej transport busem na Podkarpaciu i w całej Polsce.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: bus-premium-gold
*/

:root {
  --bg: #080808;
  --bg-soft: #111111;
  --card: #151515;
  --gold: #d7b45a;
  --gold-light: #f0d98c;
  --text: #f7f3e9;
  --muted: #b7b1a3;
  --line: rgba(215,180,90,.22);
  --shadow: 0 24px 70px rgba(0,0,0,.35);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 96px 0; }
.eyebrow { color: var(--gold-light); text-transform: uppercase; letter-spacing: .22em; font-size: .78rem; font-weight: 700; }
h1,h2,h3 { margin: 0 0 18px; line-height: 1.08; }
h1 { font-size: clamp(2.65rem, 7vw, 5.8rem); max-width: 930px; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
p { color: var(--muted); margin: 0 0 18px; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  background: rgba(8,8,8,.76); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .04em; }
.custom-logo { max-height: 52px; width: auto; }
.logo-placeholder {
  width: 54px; height: 54px; border: 1px solid var(--gold);
  display: grid; place-items: center; border-radius: 14px; color: var(--gold-light);
  font-size: .7rem; text-align: center; line-height: 1.1;
}
.site-nav { display: flex; align-items: center; gap: 28px; font-size: .95rem; }
.site-nav a { color: #ddd6c7; transition: .2s ease; }
.site-nav a:hover { color: var(--gold-light); }
.menu-toggle { display: none; background: none; border: 1px solid var(--line); color: white; border-radius: 10px; padding: 10px 12px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border-radius: 999px;
  font-weight: 800; border: 1px solid transparent; cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-gold { color: #111; background: linear-gradient(135deg, var(--gold-light), #b88b2e); }
.btn-dark { border-color: var(--line); background: rgba(255,255,255,.03); color: var(--text); }

.hero {
  min-height: 100vh; display: flex; align-items: center; padding: 140px 0 80px;
  background:
    radial-gradient(circle at 75% 35%, rgba(215,180,90,.16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.02), transparent 40%);
  overflow: hidden;
}
.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 58px; align-items: center; }
.hero-copy p { max-width: 720px; font-size: 1.12rem; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
.hero-card {
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border: 1px solid var(--line); border-radius: 32px; padding: 28px; box-shadow: var(--shadow);
}
.van-visual {
  min-height: 430px; border-radius: 24px; position: relative; overflow: hidden;
  display: flex; align-items: end; padding: 28px;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.72)),
    radial-gradient(circle at 55% 36%, rgba(240,217,140,.22), transparent 28%),
    #171717;
}
.van-shape {
  position: absolute; width: 78%; height: 42%; left: 11%; top: 30%;
  border: 3px solid var(--gold); border-radius: 26px 56px 20px 20px;
  box-shadow: 0 0 0 10px rgba(215,180,90,.04), inset 0 0 45px rgba(215,180,90,.08);
}
.van-shape:before,.van-shape:after { content:""; position:absolute; bottom:-29px; width:58px; height:58px; border-radius:50%; background:#090909; border:4px solid var(--gold); }
.van-shape:before { left: 12%; } .van-shape:after { right: 12%; }
.van-label { position: relative; z-index: 2; }
.van-label strong { display:block; color:var(--gold-light); font-size:1.4rem; }

.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.stat { border-top: 1px solid var(--line); padding-top: 16px; }
.stat strong { display:block; color: var(--gold-light); font-size: 1.45rem; }
.stat span { color: var(--muted); font-size: .88rem; }

.section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:42px; }
.section-head p { max-width: 580px; }
.services-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.service-card {
  padding: 30px; min-height: 255px; background: var(--card);
  border: 1px solid rgba(255,255,255,.06); border-radius: var(--radius);
  transition: .25s ease; position: relative; overflow:hidden;
}
.service-card:hover { transform: translateY(-5px); border-color: var(--line); }
.service-card .number { color: var(--gold); font-size: .8rem; letter-spacing:.15em; }
.service-card h3 { margin-top: 36px; font-size: 1.42rem; }

.why-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap: 32px; }
.dark-panel, .gold-panel { border-radius: 28px; padding: 38px; }
.dark-panel { background: #121212; border: 1px solid rgba(255,255,255,.06); }
.gold-panel { background: linear-gradient(135deg,#d8b55c,#8b661e); color:#100f0b; }
.gold-panel p { color: rgba(16,15,11,.72); }
.check-list { display:grid; gap:16px; margin-top:28px; }
.check-item { display:flex; gap:14px; align-items:flex-start; }
.check-icon { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; flex:0 0 28px; background:rgba(215,180,90,.14); color:var(--gold-light); }
.gold-panel .check-icon { background: rgba(0,0,0,.13); color:#111; }

.process { display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
.process-step { padding: 26px; border-left: 1px solid var(--line); }
.process-step strong { color:var(--gold-light); font-size:2rem; }

.contact-wrap { display:grid; grid-template-columns: .85fr 1.15fr; gap:36px; align-items:start; }
.contact-info { position: sticky; top: 110px; }
.contact-card { background: #101010; border:1px solid rgba(255,255,255,.07); border-radius:28px; padding:34px; }
.contact-list { display:grid; gap:18px; margin-top:30px; }
.contact-item small { display:block; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; }
.contact-item a,.contact-item span { font-size:1.06rem; color:#fff; }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.form-field { display:grid; gap:8px; }
.form-field.full { grid-column:1 / -1; }
label { color:#eee7d8; font-size:.92rem; }
input, textarea, select {
  width:100%; border:1px solid rgba(255,255,255,.11); background:#0b0b0b;
  color:white; border-radius:14px; padding:15px 16px; outline:none; font:inherit;
}
input:focus,textarea:focus,select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(215,180,90,.1); }
textarea { min-height:150px; resize:vertical; }
.form-notice { margin:0 0 18px; padding:14px 16px; border-radius:12px; }
.form-success { background:rgba(65,170,93,.14); border:1px solid rgba(65,170,93,.35); color:#bff1ca; }
.form-error { background:rgba(220,76,76,.12); border:1px solid rgba(220,76,76,.35); color:#ffc2c2; }

.site-footer { border-top:1px solid rgba(255,255,255,.06); padding:34px 0; }
.footer-wrap { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:.9rem; }

@media (max-width: 960px) {
  .hero-grid,.why-grid,.contact-wrap { grid-template-columns:1fr; }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .process { grid-template-columns:repeat(2,1fr); }
  .contact-info { position:static; }
  .site-nav { position:absolute; top:78px; left:20px; right:20px; padding:22px; border-radius:18px; background:#111; border:1px solid var(--line); flex-direction:column; align-items:flex-start; display:none; }
  .site-nav.active { display:flex; }
  .menu-toggle { display:block; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 24px,1180px); }
  .section { padding:72px 0; }
  .services-grid,.process,.stats,.form-grid { grid-template-columns:1fr; }
  .section-head,.footer-wrap { flex-direction:column; align-items:flex-start; }
  .hero { padding-top:120px; }
  .hero-card { padding:16px; }
  .van-visual { min-height:320px; }
  .form-field.full { grid-column:auto; }
}

/* Bus Misja — logo i prezentacja marki */
.default-logo { width: 58px; height: 58px; object-fit: contain; }
.brand-showcase {
  min-height: 470px;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 28px;
  text-align: center;
  background: radial-gradient(circle at 50% 42%, rgba(240,217,140,.18), transparent 48%), #0b0b0b;
}
.brand-showcase:after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(215,180,90,.24);
  border-radius: 18px;
  pointer-events: none;
}
.brand-showcase img {
  width: min(100%, 420px);
  max-height: 360px;
  object-fit: contain;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 22px 35px rgba(0,0,0,.55));
}
.brand-showcase .van-label { margin-top: 12px; }
.brand-showcase .van-label strong { font-size: 1.55rem; }
@media (max-width: 640px) {
  .brand-showcase { min-height: 350px; padding: 18px; }
  .default-logo { width: 48px; height: 48px; }
}
