/* Red & Black theme for Dieller Bus */
:root{
  --bg-dark: #0b0b0b;
  --bg-mid: #141414;
  --accent-red: #E10B00;
  --accent-red-soft: #ff3b3b;
  --muted: #bfbfbf;
  --glass: rgba(255,255,255,0.03);
  --glass-2: rgba(255,255,255,0.02);
}

*{box-sizing:border-box}
body{
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background: linear-gradient(180deg, var(--bg-dark), #0f0f0f 40%);
  color: #fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin:0;
}

/* Subtle animated background: diagonal stripes */
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image: linear-gradient(135deg, rgba(255,255,255,0.02) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.02) 75%, transparent 75%, transparent);
  background-size: 56.57px 56.57px;
  pointer-events:none;
  z-index:0;
}

.site-header{
  background: linear-gradient(180deg, rgba(0,0,0,0.6), transparent);
  padding:18px 0;
  position:sticky;top:0;z-index:40;
  border-bottom:1px solid rgba(255,255,255,0.02);
}
.brand{font-weight:800;color:#fff;font-size:1.45rem;text-decoration:none}
.brand-accent{color:var(--accent-red);margin-left:6px;font-weight:900}
.brand-img-small{width:44px;height:44px;border-radius:8px;object-fit:cover;margin-right:10px}

.navbar .btn-cta{background:var(--accent-red);border:2px solid rgba(255,255,255,0.03);box-shadow:0 8px 20px rgba(225,11,0,0.12);color:#fff}
.navbar .profile{border:1px solid rgba(255,255,255,0.04);color:#fff}

.hero{position:relative;padding:80px 0 60px;overflow:hidden}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(225,11,0,0.06), rgba(0,0,0,0.6));mix-blend-mode:overlay;z-index:0}
.hero-inner{position:relative;z-index:2;display:flex;align-items:center;gap:40px}

.hero-left{flex:1;color:#fff;text-align:left}
.eyebrow{color:var(--accent-red-soft);font-weight:700;letter-spacing:1px;margin-bottom:12px}
.title{font-size:3.2rem;font-weight:900;margin:0 0 12px;text-shadow:0 8px 30px rgba(0,0,0,0.7)}
.lead{color:var(--muted);font-size:1.05rem;margin-bottom:18px}

.hero-ctas .btn{margin-right:12px}
.btn-book{background:linear-gradient(90deg,var(--accent-red),var(--accent-red-soft));border:none;padding:12px 22px;border-radius:8px;font-weight:700}
.btn-book:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(225,11,0,0.25)}
.btn-details{border:1px solid rgba(255,255,255,0.08);padding:10px 18px;border-radius:8px}

.hero-right{width:320px}
.card-card{background:linear-gradient(180deg,var(--bg-mid),#111);padding:18px;border-radius:14px;display:flex;gap:12px;align-items:center;border:1px solid rgba(255,255,255,0.03)}
.brand-img{width:92px;height:92px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,0.04)}
.card-info h3{margin:0;color:var(--accent-red);font-weight:800}
.card-info p{margin:0;color:var(--muted)}

.features{padding:50px 0}
.feature{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:28px;border-radius:12px;border:1px solid rgba(255,255,255,0.02);height:100%}
.feature .icon{font-size:28px;margin-bottom:10px}
.feature h4{color:var(--accent-red);font-weight:800}
.feature p{color:var(--muted)}

.cta{padding:40px 0}
.cta-block{background:linear-gradient(90deg, rgba(225,11,0,0.08), rgba(0,0,0,0.6));padding:30px;border-radius:16px;text-align:center;border:1px solid rgba(255,255,255,0.02)}
.btn-cta-large{background:var(--accent-red);color:#fff;padding:12px 26px;border-radius:10px;font-weight:800}

.site-footer{padding:18px 0;border-top:1px solid rgba(255,255,255,0.02);color:var(--muted)}
.site-footer a{color:var(--accent-red-soft);text-decoration:none}
.site-footer h5{color:#fff;font-weight:800}
.site-footer .muted-small{color:var(--muted);font-size:0.95rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:6px 0}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.02);padding-top:12px}

/* Floating contact */
.fab-contact{position:fixed;right:18px;bottom:18px;background:var(--accent-red);color:#fff;padding:12px 14px;border-radius:999px;box-shadow:0 14px 40px rgba(225,11,0,0.22);z-index:60;border:none}

/* generic container max-width */
.container{max-width:1180px}

/* responsive */
@media (max-width:991px){
  .hero-inner{flex-direction:column;align-items:flex-start}
  .hero-right{width:100%}
  .title{font-size:2.6rem}
}
@media (max-width:576px){
  .title{font-size:2.1rem}
  .lead{font-size:0.98rem}
  .brand{font-size:1.2rem}
}

/* small animations */
.btn-book{transition:transform .25s ease, box-shadow .25s ease}
.brand:hover{transform:scale(1.03);transition:transform .2s}

/* accessibility focus styles */
.btn:focus{outline:3px solid rgba(225,11,0,0.25);outline-offset:2px}
