/* ==========================================================================
   Footer — Island Aura Travels
   ========================================================================== */

footer.site-footer{
  background:var(--primary-dd);color:#cfe4dc;padding:76px 0 26px;position:relative;overflow:hidden;
}
footer.site-footer::before{
  content:"";position:absolute;left:-120px;bottom:-140px;width:360px;height:360px;
  border-radius:50%;background:rgba(27,156,133,.10);
}
footer.site-footer .container{position:relative;z-index:2;}

.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px;
  padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.09);
}
.foot-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px;}
.foot-brand .mark{
  width:54px;height:54px;border-radius:50%;overflow:hidden;position:relative;
  background:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.9);
}
.foot-brand .mark img{position:absolute;width:165%;height:165%;left:-19.7%;top:-2.6%;object-fit:cover;}
.foot-brand .txt{font-family:'Playfair Display',serif;line-height:1.1;}
.foot-brand .txt .l1{color:#fff;font-size:21px;font-weight:700;display:block;}
.foot-brand .txt .l1 em{font-style:italic;color:var(--accent);}
.foot-brand .txt .l2{
  font-family:'Poppins',sans-serif;font-size:8.5px;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:4px;display:block;
}
.foot-desc{font-size:13.5px;color:#a9c4ba;line-height:1.85;max-width:310px;margin-bottom:20px;}

.foot-info{margin-bottom:20px;}
.foot-info a{
  display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#a9c4ba;
  line-height:1.7;margin-bottom:10px;transition:color .2s;
}
.foot-info a:hover{color:var(--accent);}
.foot-info a i{color:var(--secondary);font-size:16px;margin-top:2px;flex-shrink:0;}

.foot-social{display:flex;gap:10px;flex-wrap:wrap;}
.foot-social a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:center;
  color:#cfe4dc;font-size:17px;transition:all .25s;
}
.foot-social a:hover{background:var(--accent);border-color:var(--accent);color:#20180a;transform:translateY(-3px);}

.foot-col h4{
  color:#fff;font-size:14px;margin-bottom:18px;letter-spacing:.03em;
  font-family:'Poppins',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:12px;letter-spacing:.14em;
}
.foot-col a{
  display:block;font-size:13.5px;color:#a9c4ba;line-height:1.6;padding:6px 0;
  transition:color .2s,padding-left .2s;
}
.foot-col a:hover{color:var(--accent);padding-left:5px;}

.newsletter p{font-size:13px;color:#a9c4ba;line-height:1.7;margin-bottom:14px;}
.newsletter-box{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:100px;padding:5px;}
.newsletter-box input{
  flex:1;min-width:0;background:transparent;border:none;padding:9px 16px;
  color:#fff;font-size:13px;
}
.newsletter-box input::placeholder{color:#7fa696;}
.newsletter-box input:focus{outline:none;}
.newsletter-box button{
  background:var(--accent);color:#20180a;font-weight:600;font-size:12.5px;
  padding:10px 20px;border-radius:100px;white-space:nowrap;transition:background .2s;
}
.newsletter-box button:hover{background:#ffc422;}
.newsletter-box button:disabled{opacity:.6;cursor:not-allowed;}

.foot-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;}
.foot-badges span{
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#8fb0a3;
  border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:5px 11px;
}

.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding-top:24px;font-size:12.5px;color:#7fa696;flex-wrap:wrap;
}
.foot-bottom a:hover{color:var(--accent);}

@media(max-width:1024px){
  .foot-grid{grid-template-columns:1fr 1fr;row-gap:38px;}
  .foot-desc{max-width:100%;}
}
@media(max-width:640px){
  footer.site-footer{padding:56px 0 22px;}
  .foot-grid{grid-template-columns:1fr;row-gap:32px;}
  .foot-bottom{flex-direction:column;text-align:center;gap:8px;}
}
