/*
  Booking-footer styles only.

  This file previously contained broad !important typography overrides that
  enlarged the entire public website. Public pages now keep their original,
  deliberately compact type scale from style.css and their page styles.
*/

/* Full shared footer used by the standalone booking journey. */
.booking-footer { background:#060810; color:rgba(255,255,255,.72); font-family:"DM Sans",Arial,sans-serif; }
.booking-footer .footer-top-bar { height:3px; background:#7bafd4; }
.booking-footer .footer-main { padding:72px 40px 54px; }
.booking-footer .footer-inner { width:min(1200px,100%); margin:0 auto; display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:54px; }
.booking-footer .footer-logo-apex { display:block; margin-bottom:20px; }
.booking-footer .footer-logo-apex img { display:block; width:auto; height:48px; }
.booking-footer .footer-about { max-width:290px; margin:0 0 24px; color:rgba(255,255,255,.72); font-size:15px; font-weight:400; line-height:1.75; }
.booking-footer .footer-contact-item { display:block; margin:0 0 11px; color:rgba(255,255,255,.72); font-size:14px; font-weight:400; text-decoration:none; overflow-wrap:anywhere; }
.booking-footer .footer-contact-item:hover { color:#9bc8e4 !important; }
.booking-footer .footer-col h3 { margin:0 0 20px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1); color:#8fc0df; font:700 12px/1.2 "Barlow Condensed",sans-serif; letter-spacing:2.4px; text-transform:uppercase; }
.booking-footer .footer-col h3.footer-subheading { margin-top:28px; }
.booking-footer ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.booking-footer li { margin:0; }
.booking-footer .footer-col a { color:rgba(255,255,255,.72); font-size:14px; font-weight:400; text-decoration:none; line-height:1.45; }
.booking-footer .footer-col a:hover { color:#fff !important; }
.booking-footer .footer-area-tags { display:flex; flex-wrap:wrap; gap:7px; }
.booking-footer .footer-area-tags span { padding:6px 9px; border:1px solid rgba(255,255,255,.11); border-radius:5px; background:rgba(255,255,255,.05); color:rgba(255,255,255,.68); font-size:12px; text-transform:uppercase; letter-spacing:.7px; }
.booking-footer .footer-mid { padding:22px 40px; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); }
.booking-footer .footer-mid-inner { width:min(1200px,100%); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.booking-footer .footer-trust-items { display:flex; flex-wrap:wrap; gap:20px; }
.booking-footer .footer-trust-items span { color:rgba(255,255,255,.72); font-family:"Barlow Condensed",sans-serif; font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; }
.booking-footer .footer-wa-btn { display:inline-flex; align-items:center; min-height:44px; padding:12px 20px; border-radius:7px; background:#25d366; color:#062b17; font:700 14px/1 "Barlow Condensed",sans-serif; letter-spacing:1.5px; text-decoration:none; text-transform:uppercase; }
.booking-footer .footer-legal { width:min(1200px,100%); margin:0 auto; padding:20px 40px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:13px; color:rgba(255,255,255,.72); font-size:13px; font-weight:400; }
.booking-footer .footer-legal div { display:flex; flex-wrap:wrap; gap:20px; }
.booking-footer .footer-legal a { color:rgba(255,255,255,.72); text-decoration:none; }
.booking-footer .footer-credit-strip { padding:14px 24px; border-top:1px solid rgba(255,255,255,.07); text-align:center; }
.booking-footer .footer-credit-strip a { color:rgba(255,255,255,.72); font-size:13px; font-weight:400; text-decoration:none; }

@media (max-width: 960px) {
  .booking-footer .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
}

@media (max-width: 620px) {
  .booking-footer .footer-main { padding:54px 22px 38px; }
  .booking-footer .footer-inner { grid-template-columns:1fr; gap:38px; }
  .booking-footer .footer-mid { padding:20px 22px; }
  .booking-footer .footer-trust-items { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .booking-footer .footer-wa-btn { width:100%; justify-content:center; }
  .booking-footer .footer-legal { padding:20px 22px; align-items:flex-start; flex-direction:column; }
}

/* Keep the standalone booking footer visually identical to the public site. */
.booking-footer { color:rgba(255,255,255,.35); }
.booking-footer .footer-main { padding:80px 40px 60px; }
.booking-footer .footer-inner { grid-template-columns:2.2fr 1fr 1fr 1fr; gap:60px; }
.booking-footer .footer-about { max-width:260px; color:rgba(255,255,255,.4); font-size:14px; font-weight:300; line-height:1.8; }
.booking-footer .footer-contact-item { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.5); font-size:13px; }
.booking-footer .footer-contact-icon { display:flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; border:1px solid rgba(255,255,255,.08); border-radius:6px; background:rgba(255,255,255,.05); color:#7bafd4; font-size:14px; }
.booking-footer .footer-col h3 { color:#7bafd4; font-size:11px; letter-spacing:3px; }
.booking-footer .footer-col a { color:rgba(255,255,255,.4); font-size:13px; font-weight:300; }
.booking-footer .footer-col li a { display:flex; align-items:center; gap:6px; }
.booking-footer .footer-col li a::before { content:""; width:4px; height:4px; flex:0 0 4px; border-radius:50%; background:rgba(123,175,212,.3); }
.booking-footer .footer-area-tags span { padding:4px 8px; color:rgba(255,255,255,.3); font-size:10px; font-weight:600; letter-spacing:1px; }
.booking-footer .footer-mid { padding:24px 40px; }
.booking-footer .footer-trust-item { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.4); font:600 12px/1.2 "Barlow Condensed",sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.booking-footer .footer-trust-item span { color:#7bafd4; }
.booking-footer .footer-credit-strip a { color:rgba(255,255,255,.3); font-size:12px; }
@media (max-width:960px) {
  .booking-footer .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
  .booking-footer .footer-main { padding:60px 24px 40px; }
  .booking-footer .footer-mid { padding:20px 24px; }
}
@media (max-width:620px) {
  .booking-footer .footer-inner { grid-template-columns:1fr; }
  .booking-footer .footer-trust-items { display:flex; gap:16px; }
}
