:root{
  --avis-red:#d40000;
  --avis-dark:#1a1a1a;
  --stc-purple:#d40000;
  --bg-light:#f7f7f9;
  --white:#ffffff;
  --gray-border:#e2e2e6;
  --text-muted:#6b6b70;
  --radius:10px;
  --shadow:0 4px 16px rgba(0,0,0,0.08);
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Segoe UI',Arial,Helvetica,sans-serif;
  background:var(--bg-light);
  color:var(--avis-dark);
  line-height:1.55;
}
img{max-width:100%;display:block;}
a{color:inherit;    text-decoration: none;}
.social-links { margin-top: 15px; display: flex; justify-content: center; gap: 16px; }
.social-links a {
    color: var(--white);
    background: rgba(255,255,255,.1);
    width: 38px; height: 38px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px;
}
/* Facebook */
.social-links a:nth-child(1):hover {
    background: #1877F2;
    color: #fff;
}

/* Instagram */
.social-links a:nth-child(2):hover {
    background: linear-gradient(
        45deg,
        #F58529,
        #DD2A7B,
        #8134AF,
        #515BD4
    );
    color: #fff;
}

/* YouTube */
.social-links a:nth-child(3):hover {
    background: #FF0000;
    color: #fff;
}

/* WhatsApp */
.social-links a:nth-child(4):hover {
    background: #25D366;
    color: #fff;
}
.contact-strip a:hover{
color: #999;
}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---------------- Top Brand Bar ---------------- */
.brand-bar{
  background:#d4002a;
  border-bottom:3px solid #a40000;
  padding:15px 0;
	background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,.04) 0, rgba(255,255,255,.04) 100%);
	background-image: linear-gradient(to top, rgba(0,0,0,.04) 0, rgba(255,255,255,.04) 100%);
}
.brand-bar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.brand-logos{display:flex;align-items:center;gap:18px;}
.brand-logos img{height:35px;width:auto;}
.brand-divider{width:1px;height:32px;background:var(--gray-border);}
.brand-bar .tagline{font-size:18px;color:var(--white);}

/* ---------------- Banner ---------------- */
.banner{
  position:relative;
  background-size:cover;
  background-position:center;
  color:var(--white);
  min-height:420px;
  display:flex;
  align-items:center;
}
.banner::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(0,0,0,0.72),rgba(92,45,145,0.55));
}
.banner .container{position:relative;z-index:1;}
.banner h1{font-size:clamp(28px,4.5vw,46px);margin:0 0 12px;font-weight:800;}
.banner p.subhead{font-size:clamp(15px,2vw,20px);margin:0 0 22px;opacity:0.95;}
.offer-pill{
  display:inline-block;background:var(--avis-red);color:#fff;
  padding:6px 16px;border-radius:30px;font-size:15px;font-weight:600;
  margin-bottom:16px;letter-spacing:.3px;
}
.cta-btn{
  display:inline-block;background:var(--avis-red);color:#fff;
  padding:15px 30px;border-radius:8px;font-weight:700;font-size:16px;
  text-decoration:none;border:none;cursor:pointer;transition:.2s;
}
.cta-btn:hover{background:#a80000;}
.cta-btn.secondary{background:var(--stc-purple);}
.cta-btn.secondary:hover{background:#431f6b;}

/* ---------------- Promo Section ---------------- */
.section{padding:56px 0;}
.section-title{
  font-size:clamp(22px,3vw,30px);
  font-weight:800;margin:0 0 8px;
  text-align:center;
}
.section-sub{text-align:center;color:var(--text-muted);max-width:680px;margin:0 auto 36px;}
.promo-card{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:30px;text-align:center;
  border-top:5px solid var(--avis-red);
}
.promo-card .valid-dates{
  display:inline-block;margin-top:16px;font-size:16px;font-weight:700;
  color:var(--avis-red);background:#f5f5f5;padding:6px 15px;border-radius:20px;
}

/* ---------------- Airport Info ---------------- */
.info-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items: stretch;}
@media(max-width:768px){
	.dateblock{display:block!important;}
	.brand-bar .container {
    display: flex;
    align-items: center!important;
    justify-content: center!important;
    flex-wrap: wrap;
    gap: 12px;
}
.brand-bar .tagline {
    font-size: 13px!important;
    color: var(--white);
    text-align: center!important;
}
    .contact-strip .container
 {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        justify-content: space-between;
        flex-direction: column !important;
        align-items: center!important;
        text-align: center!important;
    }
}
@media(min-width:768px){
	.info-grid{grid-template-columns:1.1fr .9fr;}}
.info-box{background:var(--white);padding:26px 30px;border-radius:var(--radius);box-shadow:var(--shadow);}

/* ---------------- Vehicles ---------------- */
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;}
.vehicle-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  border:2px solid transparent;cursor:pointer;transition:.15s;
}
.vehicle-card:hover{transform:translateY(-3px);}
.vehicle-card.selected{border-color:var(--avis-red);}
.vehicle-card .img-wrap{background:#eee;overflow:hidden;}
.vehicle-card .img-wrap img{width:100%;height:100%;object-fit:cover;}
.vehicle-card .body{padding:15px 16px;}
.vehicle-card h4{margin:0 0 4px;font-size:16px;}
.vehicle-card p{margin:0;font-size:15px;color:var(--text-muted);}
.vehicle-card .radio-row{display:flex;align-items:center;gap:8px;margin-top:10px;}

/* ---------------- Booking Form ---------------- */
.booking-wrap{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:32px;
}
.form-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:640px){.form-grid.two-col{grid-template-columns:1fr 1fr;}}
.form-field label{display:block;font-size:15px;font-weight:700;margin-bottom:6px;color:var(--avis-dark);}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:11px 12px;border:1px solid var(--gray-border);border-radius:7px;
  font-size:15px;font-family:inherit;background:#fff;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--avis-red);box-shadow:0 0 0 3px rgba(212,0,0,0.1);
}
.captcha-field{margin-top:18px;}
.captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.captcha-row .captcha-question{
  background:#f1f1f4;border:1px solid var(--gray-border);border-radius:7px;
  padding:11px 15px;font-size:15px;white-space:nowrap;
}
.captcha-row input[type=number]{width:100px;flex:none;}
.captcha-row button{
  width:42px;height:42px;border-radius:7px;border:1px solid var(--gray-border);
  background:#fff;font-size:18px;cursor:pointer;line-height:1;color:var(--text-muted);
  transition:.15s;
}
.captcha-row button:hover{background:#f1f1f4;color:var(--avis-dark);transform:rotate(90deg);}

.fare-box{
  margin-top:10px;background:#fff6f6;border:1px dashed var(--avis-red);border-radius:10px;
  padding:18px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.fare-box .label{font-size:15px;color:var(--text-muted);}
.fare-box .amount{font-size:28px;font-weight:800;color:var(--avis-red);}
.form-msg{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:15px;display:none;}
.form-msg.success{display:block;background:#e9f8ee;color:#1a7d3c;border:1px solid #b6e6c4;}
.form-msg.error{display:block;background:#fdeaea;color:#a41c1c;border:1px solid #f3b8b8;}
.submit-row{margin-top:22px;text-align:right;}
@media(max-width:640px){.submit-row{text-align:stretch;}.submit-row .cta-btn{width:100%;}}

/* ---------------- Terms ---------------- */
.terms-box{text-align: center;background:var(--white);padding:26px 30px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:15px;color:var(--text-muted);}

/* ---------------- Contact / Footer ---------------- */
.contact-strip{background:var(--avis-dark);color:#fff;padding:36px 0;}
.contact-strip .container{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;}
.contact-strip .item{font-size:15px;}
.contact-strip .item strong{display:block;color:var(--avis-red);margin-bottom:4px;font-size:15px;text-transform:uppercase;letter-spacing:.5px;}
footer{background:#0f0f0f;color:#fff;text-align:center;padding:18px 0;font-size:15px;}

.spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:6px;}
@keyframes spin{to{transform:rotate(360deg);}}
