/* ============================================================
   Shannon Cabs – Custom Theme Styles
   Extracted from index.html inline <style>
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Poppins',sans-serif;color:#222;background:#fff;overflow-x:hidden}
a {text-decoration: none;}

/* ── TOPBAR ── */
.topbar{background:#145c32;padding:7px 0;font-size:.78rem}
.topbar span{color:rgba(255,255,255,.7);margin-right:20px}
.topbar a{color:rgba(255,255,255,.7);text-decoration:none;margin-right:18px}
.topbar a:hover{color:#f5c518}

/* ── NAVBAR ── */
.navbar{background:#fff!important;padding:14px 0;box-shadow:0 2px 20px rgba(0,0,0,.08)}
.logo-img img {
  width: 100%;
  max-width: 70px;
}
.nav-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo-ring{
  width:52px;height:52px;background:#f5c518;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.55rem;
  box-shadow:0 4px 12px rgba(245,197,24,.35)
}
.logo-txt .n{font-size:1.15rem;font-weight:800;color:#1b5e38;letter-spacing:.05em;line-height:1}
.logo-txt .s{font-size:.58rem;color:#888;letter-spacing:.18em;text-transform:uppercase}
.navbar-nav .nav-link{color:#333!important;font-size:.88rem;font-weight:500;padding:6px 14px!important;transition:.2s}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:#1b5e38!important}
.btn-nc{
  background:#1b5e38;color:#fff!important;font-size:.83rem;font-weight:600;
  padding:8px 12px;border-radius:8px;text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;transition:.2s
}
.btn-nc:hover{background:#155030;color:#fff!important}
.btn-nw{
  background:#25d366;color:#fff!important;font-size:.83rem;font-weight:600;
  padding:8px 12px;border-radius:8px;text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;transition:.2s
}
.btn-nw:hover{background:#1cb956;color:#fff!important}
.btn-ne{
  background:#f5c518;color:#1a1a1a!important;font-size:.83rem;font-weight:600;
  padding:8px 12px;border-radius:8px;text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;transition:.2s
}
.btn-ne:hover{background:#ddb010;color:#1a1a1a!important}


/* ── HERO ── */
.hero{
  background:linear-gradient(118deg,#0f4024 0%,#1b5e38 45%,#2c7a4b 100%);
  padding:70px 0 100px;position:relative;overflow:hidden
}
.hero-geo{
  position:absolute;right:-60px;top:-60px;
  width:420px;height:420px;border-radius:50%;
  background:rgba(245,197,24,.06);pointer-events:none
}
.hero-geo2{
  position:absolute;right:80px;bottom:-80px;
  width:280px;height:280px;border-radius:50%;
  background:rgba(255,255,255,.04);pointer-events:none
}
.hero-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(245,197,24,.15);border:1px solid rgba(245,197,24,.35);
  color:#f5c518;font-size:.72rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:18px
}
.hero-chip i{font-size:.65rem}
.hero h1{
  font-size:clamp(2.3rem,5vw,3.4rem);font-weight:800;color:#fff;
  line-height:1.14;margin-bottom:14px
}
.hero h1 em{color:#f5c518;font-style:normal}
.hero-sub{font-size:1.2rem;color:rgba(255,255,255,.68);margin-bottom:32px;line-height:1.7}
.btn-hc{
  background:#f5c518;color:#1a1a1a;font-weight:700;font-size:.88rem;
  padding:12px 26px;border-radius:9px;border:none;
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;box-shadow:0 6px 24px rgba(245,197,24,.4);transition:.2s
}
.btn-hc:hover{background:#ddb010;color:#1a1a1a;transform:translateY(-2px)}
.btn-hw{
  background:rgba(255,255,255,.12);color:#fff;font-weight:600;font-size:.88rem;
  padding:12px 26px;border-radius:9px;border:2px solid rgba(255,255,255,.3);
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;backdrop-filter:blur(4px);transition:.2s
}
.btn-hw:hover{background:rgba(255,255,255,.2);color:#fff}
.hero-stats-row{
  display:flex;gap:32px;margin-top:36px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14)
}
.hstat .v{font-size:1.6rem;font-weight:800;color:#f5c518;line-height:1}
.hstat .l{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:2px}

/* hero booking card */
.hero-card{
  background:#fff;border-radius:18px;
  padding:30px 26px;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
  position:relative;z-index:5
}
.hero-card-title{font-size:1.05rem;font-weight:700;color:#1a1a1a;margin-bottom:4px}
.hero-card-sub{font-size:.77rem;color:#888;margin-bottom:20px}
.hc-label{font-size:.75rem;font-weight:600;color:#444;margin-bottom:5px}
.hc-input-wrap{position:relative;margin-bottom:14px}
.hc-input-wrap i{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:.9rem;color:#1b5e38;z-index:2
}
.hc-input-wrap input,.hc-input-wrap select,.hc-input-wrap textarea{
  width:100%;border:1.5px solid #e2ebe6;border-radius:9px;
  padding:10px 10px 10px 36px;font-size:.84rem;
  font-family:'Poppins',sans-serif;color:#444;
  background:#f8faf9;outline:none;appearance:none
}
.hc-input-wrap input:focus,.hc-input-wrap select:focus{border-color:#1b5e38;background:#fff}
.hc-input-wrap textarea{padding-left:36px;resize:none}
.btn-hbook{
  width:100%;background:#1b5e38;color:#fff;font-weight:700;
  font-size:.92rem;padding:13px;border-radius:9px;border:none;
  cursor:pointer;transition:.2s;display:flex;align-items:center;
  justify-content:center;gap:8px;
  box-shadow:0 6px 20px rgba(27,94,56,.3)
}
.btn-hbook:hover{background:#155030;transform:translateY(-1px)}
.hc-divider{
  text-align:center;font-size:.72rem;color:#aaa;
  margin:14px 0;display:flex;align-items:center;gap:10px
}
.hc-divider::before,.hc-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.14);}
.btn-hwa{
  width:100%;background:#25d366;color:#fff;font-weight:700;
  font-size:.9rem;padding:12px;border-radius:9px;border:none;
  cursor:pointer;transition:.2s;display:flex;align-items:center;
  justify-content:center;gap:8px
}
.btn-hwa:hover{background:#1cb956}

/* ── TRUST STRIP ── */
.trust-strip{background:#f7faf8;padding:18px 0;border-bottom:1px solid #e8f0ea}
.trust-item{display:flex;align-items:center;gap:10px}
.trust-icon{
  width:36px;height:36px;background:#1b5e38;border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;flex-shrink:0
}
.trust-item span{font-size:.8rem;font-weight:600;color:#333}

/* ── SECTION TITLE ── */
.sec-eyebrow{
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:#1b5e38;margin-bottom:6px
}
.sec-h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:#1a1a1a;line-height:1.2}
.sec-lead{font-size:.87rem;color:#777;line-height:1.7;margin-top:8px}

/* ── SERVICES ── */
.sec-services{padding:72px 0 60px}
.svc-card{
  border-radius:16px;padding:30px 22px;height:100%;
  border:1.5px solid #e8f0ea;background:#fff;
  transition:.25s;position:relative;overflow:hidden
}
.svc-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#1b5e38,#f5c518);
  transform:scaleX(0);transition:.3s;transform-origin:left
}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(27,94,56,.12)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-num{
  font-size:3rem;font-weight:800;color:rgba(27,94,56,.07);
  position:absolute;top:12px;right:16px;line-height:1
}
.svc-ic{
  width:58px;height:58px;background:#f0f7f3;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;margin-bottom:16px;transition:.25s
}
.svc-card:hover .svc-ic{background:#1b5e38;transform:scale(1.1)}
.svc-card h5{font-size:.95rem;font-weight:700;color:#1a1a1a;margin-bottom:7px}
.svc-card p{font-size:.8rem;color:#777;line-height:1.65;margin:0}

/* ── WHY CHOOSE US ── */
.sec-why{padding:72px 0;background:#0f3d22}
.why-img-wrap{position:relative}
.why-img-box{
  border-radius:20px;overflow:hidden;
  /* background:linear-gradient(140deg,#1b5e38,#2d7d4e); */
  height:400px;display:flex;align-items:center;justify-content:center;font-size:8rem
}
.why-badge{
  position:absolute;bottom:-18px;right:-18px;
  background:#f5c518;border-radius:14px;padding:16px 20px;
  box-shadow:0 8px 24px rgba(0,0,0,.2)
}
.why-badge .bv{font-size:1.5rem;font-weight:800;color:#1a1a1a;line-height:1}
.why-badge .bl{font-size:.7rem;color:#555;margin-top:2px}
.sec-why .sec-h2{color:#fff}
.sec-why .sec-eyebrow{color:#f5c518}
.sec-why .sec-lead{color:rgba(255,255,255,.55)}
.wi2{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.wi2-icon{
  width:46px;height:46px;flex-shrink:0;border-radius:12px;
  background:rgba(245,197,24,.12);border:1.5px solid rgba(245,197,24,.25);
  display:flex;align-items:center;justify-content:center;
  color:#f5c518;font-size:1rem;margin-top:1px
}
.wi2 h6{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:3px}
.wi2 p{font-size:.8rem;color:rgba(255,255,255,.55);margin:0;line-height:1.6}

/* ── HOW IT WORKS ── */
.sec-how{padding:72px 0;background:#f7faf8}
.how-step{
  background:#fff;border-radius:16px;padding:30px 22px;
  text-align:center;position:relative;border:1.5px solid #e8f0ea;
  height:100%;transition:.25s
}
.how-step:hover{box-shadow:0 12px 32px rgba(27,94,56,.1);transform:translateY(-4px)}
.step-badge{
  width:34px;height:34px;background:#1b5e38;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.78rem;font-weight:700;
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  box-shadow:0 4px 12px rgba(27,94,56,.3)
}
.how-icon{
  width:80px;height:80px;background:#f0f7f3;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:2.2rem;margin:10px auto 16px
}
.how-step h6{font-size:.92rem;font-weight:700;color:#1b5e38;margin-bottom:7px}
.how-step p{font-size:.79rem;color:#777;line-height:1.65;margin:0}
.how-connector{
  position:absolute;top:50%;right:-22px;
  width:44px;height:2px;background:linear-gradient(90deg,#1b5e38,transparent);
  z-index:2;display:none
}
@media(min-width:768px){.how-connector{display:block}}

/* ── CONTACT SECTION ── */
.sec-contact{padding:72px 0;background:#fff}
.contact-form-card{
  background:#fff;border-radius:20px;
  border:1.5px solid #e8f0ea;
  padding:36px 32px;height:100%;
  box-shadow:0 8px 40px rgba(0,0,0,.07)
}
.cf-title{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin-bottom:4px}
.cf-sub{font-size:.8rem;color:#888;margin-bottom:26px}
.cf-label{font-size:.76rem;font-weight:600;color:#444;margin-bottom:5px;display:block}
.cf-field{position:relative;margin-bottom:16px}
.cf-field i{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:#1b5e38;font-size:.88rem;z-index:2
}
.cf-field.ta-field i{top:14px;transform:none}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;border:1.5px solid #e0eae6;border-radius:10px;
  padding:11px 12px 11px 38px;font-size:.84rem;
  font-family:'Poppins',sans-serif;color:#333;
  background:#f8faf9;outline:none;appearance:none;transition:.2s
}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{
  border-color:#1b5e38;background:#fff;
  box-shadow:0 0 0 3px rgba(27,94,56,.08)
}
.cf-field textarea{resize:vertical;min-height:110px;padding-left:38px}
.btn-cf-submit{
  width:100%;background:#1b5e38;color:#fff;font-weight:700;
  font-size:.92rem;padding:14px;border-radius:10px;border:none;
  cursor:pointer;transition:.2s;
  display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 6px 22px rgba(27,94,56,.28)
}
.btn-cf-submit:hover{background:#155030;transform:translateY(-1px)}
.contact-info-card{
  background:#0f3d22;border-radius:20px;
  padding:36px 30px;height:100%
}
.ci-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:4px}
.ci-sub{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:28px}
.ci-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.ci-ic{
  width:44px;height:44px;flex-shrink:0;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.95rem
}
.ci-ic.g{background:#1b5e38;border:1.5px solid rgba(255,255,255,.15)}
.ci-ic.w{background:#25d366}
.ci-ic.r{background:#e74c3c}
.ci-ic.y{background:#f5c518;color:#333}
.ci-txt strong{display:block;font-size:.9rem;font-weight:600;color:#fff;margin-bottom:2px}
.ci-txt span{font-size:.78rem;color:rgba(255,255,255,.5)}
.map-box{
  border-radius:14px;overflow:hidden;
  height:160px;background:linear-gradient(135deg,#1b5e38,#2d7d4e);
  display:flex;align-items:center;justify-content:center;
  font-size:3.5rem;margin-top:24px;
  border:2px solid rgba(255,255,255,.1)
}
.social-row{display:flex;gap:10px;margin-top:24px}
.soc-btn{
  width:38px;height:38px;border-radius:9px;border:1.5px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.65);font-size:.9rem;text-decoration:none;transition:.2s
}
.soc-btn:hover{background:rgba(255,255,255,.12);color:#f5c518;border-color:rgba(245,197,24,.4)}

/* ── TESTIMONIALS ── */
.sec-test{padding:72px 0;background:#f0f7f3}
.test-card{
  background:#fff;border-radius:16px;padding:28px 24px;
  border:1.5px solid #ddeee4;height:100%
}
.stars{color:#f5c518;font-size:.85rem;margin-bottom:12px}
.test-card p{font-size:.84rem;color:#555;line-height:1.7;font-style:italic;margin-bottom:16px}
.test-author{display:flex;align-items:center;gap:12px}
.test-av{
  width:42px;height:42px;border-radius:50%;background:#1b5e38;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.9rem;font-weight:700;flex-shrink:0
}
.test-author strong{display:block;font-size:.85rem;font-weight:700;color:#1a1a1a}
.test-author span{font-size:.74rem;color:#888}

/* ── FOOTER ── */
.footer{background:#0d2b18;padding:52px 0 16px}
.f-logo-row{display:flex;align-items:center;gap:11px;margin-bottom:10px;justify-content:center;}
.f-logo-badge{
  width:46px;height:46px;background:#f5c518;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem
}
.f-bn{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:.05em;line-height:1}
.f-bs{font-size:.58rem;color:rgba(255,255,255,.4);letter-spacing:.15em;text-transform:uppercase}
.f-desc{font-size:.8rem;color:rgba(255,255,255,.38);line-height:1.7;margin-top:8px;margin-bottom:20px}
.f-col h6{
  font-size:.73rem;font-weight:700;color:rgba(255,255,255,.4);
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px
}
.f-col {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.f-col a{
  display:block;color:rgba(255,255,255,.62);font-size:.82rem;
  text-decoration:none;margin-bottom:0px;transition:.2s
}
.f-col a:hover{color:#f5c518}
.f-contact-item{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.f-ci-ic{
  width:32px;height:32px;border-radius:7px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.78rem
}
.f-ci-ic.g{background:#1b5e38}
.f-ci-ic.w{background:#f0b504}
.f-ci-txt{font-size:.81rem;color:rgba(255,255,255,.62)}
.f-newsletter input{
  width:100%;border:1.5px solid rgba(255,255,255,.12);
  border-radius:8px;padding:10px 14px;font-size:.82rem;
  font-family:'Poppins',sans-serif;color:#fff;
  background:rgba(255,255,255,.07);outline:none;margin-bottom:8px
}
.f-newsletter input::placeholder{color:rgba(255,255,255,.3)}
.f-newsletter input:focus{border-color:rgba(245,197,24,.5)}
.btn-fn{
  width:100%;background:#f5c518;color:#1a1a1a;font-weight:700;
  font-size:.82rem;padding:10px;border-radius:8px;border:none;cursor:pointer;transition:.2s
}
.btn-fn:hover{background:#ddb010}
hr.fhr{border-color:rgba(255,255,255,.07);margin:15px 0 0px}
.f-copy{font-size:.73rem;color:rgba(255,255,255,.25);text-align:center;margin-top:10px}

/* ── PAYMENT CARDS ── */
.f-payments{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:12px 20px;
  padding:0px 0 4px;
  margin-bottom:4px;
}
.f-payments-label{
  font-size:.75rem;color:rgba(255,255,255,.4);
  font-weight:500;letter-spacing:.04em;
  white-space:nowrap;
}
.f-payments-icons{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.f-payments-icons i{
  font-size:2rem;color:rgba(255,255,255,.55);
  transition:.2s;
}
.f-payments-icons i.fa-cc-visa{color:#1a1f71cc}
.f-payments-icons i.fa-cc-mastercard{color:#eb001bcc}
.f-payments-icons i.fa-cc-amex{color:#007bc1cc}
.f-payments-icons i.fa-cc-discover{color:#f76f20cc}
.f-payments-icons i.fa-cc-paypal{color:#009cdecc}
.f-payments-icons i:hover{transform:translateY(-2px);opacity:1;filter:brightness(1.3)}

/* ── FLOATING WA ── */
.fwa{
  position:fixed;bottom:95px;right:24px;
  width:54px;height:54px;background:#25d366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.55rem;text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.5);z-index:999;
  animation:wapulse 2.5s infinite
}
@keyframes wapulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.5)}
  50%{box-shadow:0 4px 32px rgba(37,211,102,.75)}
}

/* ── RESPONSIVE ── */
@media(max-width:991px){
  .hero{padding:50px 0 70px}
  .hero-card{margin-top:36px}
}

@media(max-width:575px){
  .hero h1{font-size:2rem;}
  .trust-item{margin-bottom:10px;}
  .f-payments {flex-direction: column;}
  .why-badge {bottom: 10px;right: 5px;}
  .f-col {gap:15px !important;}
}

.navbar-toggler:focus {
    box-shadow: none !important;
}
.f-contact-item:hover span {
    color: #f5c518 !important;
}
/*body {*/
/*  overflow-x: hidden !important;*/
/*}*/