/*
  HOSPITALITY TYCOON — SHARED COMPACT FOOTER OVERRIDES
  Load this stylesheet AFTER each page's embedded <style> block.
  Targets the footer structures currently used across the site:
  .ht-footer, .footer, plain corporate footer, and .ht-premium-footer.
*/

/* ===== Shared footer spacing and typography ===== */
footer.ht-footer,
.ht-footer {
  padding: 32px 20px 12px;
}

.ht-footer .ht-footer-inner {
  gap: 26px;
}

.ht-footer .ht-footer-brand {
  gap: 10px;
}

.ht-footer .ht-footer-emblem {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
}

.ht-footer .ht-footer-brand-name {
  font-size: 22px;
  line-height: 1;
}

.ht-footer .ht-footer-divider {
  margin-top: 5px;
  margin-bottom: 4px;
}

.ht-footer .ht-footer-tagline {
  font-size: 8px;
  letter-spacing: 1.8px;
}

.ht-footer .ht-footer-button {
  min-height: 35px;
  margin-top: 12px;
  padding: 0 13px;
  font-size: 8px;
}

.ht-footer h4 {
  margin: 0 0 8px;
  font-size: 9px;
  line-height: 1.3;
  letter-spacing: 1.7px;
}

.ht-footer .ht-footer-links {
  gap: 4px;
}

.ht-footer .ht-footer-links a {
  font-size: 10.5px;
  line-height: 1.5;
}

.ht-footer .ht-footer-contact {
  gap: 3px;
}

.ht-footer .ht-footer-label {
  margin-top: 3px;
  font-size: 7px;
  line-height: 1.2;
}

.ht-footer .ht-footer-contact a,
.ht-footer .ht-footer-contact p {
  margin: 0;
  font-size: 10.5px;
  line-height: 1.5;
}

.ht-footer .ht-footer-description {
  margin-top: 8px;
  font-size: 10.5px;
  line-height: 1.5;
}

.ht-footer .ht-footer-bottom {
  margin-top: 22px;
  padding-top: 11px;
  gap: 12px;
  font-size: 8px;
  line-height: 1.5;
}

.ht-footer .ht-footer-bottom-right {
  gap: 7px;
}

/* ===== Enquiry and About Us footer: <footer class="footer"> ===== */
footer.footer {
  padding-top: 30px;
  padding-bottom: 12px;
}

footer.footer .footer-top {
  padding-top: 0;
  padding-bottom: 22px;
}

footer.footer .footer-grid {
  gap: 26px;
  padding-bottom: 0;
}

footer.footer .footer-brand {
  gap: 10px;
  margin-bottom: 7px;
}

footer.footer .footer-brand img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

footer.footer .footer-name,
footer.footer .footer-brand-name {
  font-size: 22px;
  line-height: 1.1;
}

footer.footer .footer-line {
  width: 125px;
  margin: 5px 0;
}

footer.footer .footer-tag {
  font-size: 8px;
  line-height: 1.4;
  letter-spacing: 1.7px;
}

footer.footer .footer-grid h4 {
  margin: 0 0 8px;
  font-size: 9px;
  line-height: 1.3;
  letter-spacing: 1.7px;
}

footer.footer .footer-links {
  gap: 4px;
}

footer.footer .footer-links a,
footer.footer .footer-contact a,
footer.footer .footer-contact span {
  margin: 0 0 4px;
  font-size: 10.5px;
  line-height: 1.5;
}

footer.footer .footer-brand + p,
footer.footer .footer-grid > div > p {
  margin: 7px 0 0;
  font-size: 10.5px;
  line-height: 1.5;
}

footer.footer .footer-main {
  padding: 30px 24px 22px;
  gap: 26px;
}

footer.footer .footer-main .footer-brand img {
  width: 52px;
  height: 52px;
}

footer.footer .goldline {
  width: 125px;
  margin: 5px 0 7px;
}

footer.footer .footer-bottom {
  margin-top: 0;
  padding: 10px 20px;
  font-size: 8px;
  line-height: 1.5;
}

/* ===== Corporate Hotel Desk page: plain <footer> with .fg and .fb ===== */
body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) {
  padding: 32px 5vw 13px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg {
  gap: 25px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg > div {
  gap: 5px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg .brand {
  gap: 10px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg .brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg .bn {
  font-size: 22px;
  line-height: 1.1;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg .rule {
  margin: 5px 0;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg .tag {
  font-size: 8px;
  letter-spacing: 1.7px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .footer-copy {
  margin-top: 8px;
  font-size: 10.5px;
  line-height: 1.5;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) h4 {
  margin: 0 0 8px;
  font-size: 9px;
  line-height: 1.3;
  letter-spacing: 1.7px;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) a {
  margin: 4px 0;
  font-size: 10.5px;
  line-height: 1.5;
}

body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fb {
  margin-top: 22px;
  padding-top: 11px;
  font-size: 8.5px;
  line-height: 1.5;
}

/* ===== Premium footer, if used by a page ===== */
.ht-premium-footer {
  padding: 42px 0 12px;
}

.ht-premium-footer-main {
  gap: 30px;
  padding: 0 24px 26px;
}

.ht-premium-footer-brand {
  max-width: 350px;
}

.ht-premium-footer-logo {
  width: 220px;
}

.ht-premium-footer-brand p {
  margin-top: 9px;
  font-size: 10.5px;
  line-height: 1.5;
}

.ht-premium-footer-button {
  margin-top: 12px;
  min-height: 34px;
  padding: 0 13px;
  font-size: 8px;
}

.ht-premium-footer-column {
  gap: 5px;
}

.ht-premium-footer-column h4 {
  margin-bottom: 7px;
  font-size: 9px;
  letter-spacing: .17em;
}

.ht-premium-footer-column a,
.ht-premium-footer-contact a,
.ht-premium-footer-contact p {
  font-size: 10px;
  line-height: 1.5;
}

.ht-premium-footer-contact {
  gap: 3px;
}

.ht-premium-footer-bottom {
  padding: 10px 24px 0;
  font-size: 8px;
}

/* ===== Responsive sizes ===== */
@media (max-width: 900px) {
  .ht-footer {
    padding: 28px 18px 10px;
  }

  .ht-footer .ht-footer-inner {
    gap: 20px;
  }

  footer.footer .footer-grid {
    gap: 20px;
  }

  footer.footer .footer-main {
    padding: 26px 20px 18px;
    gap: 20px;
  }

  .ht-premium-footer {
    padding: 30px 0 10px;
  }

  .ht-premium-footer-main {
    gap: 22px;
    padding: 0 20px 20px;
  }
}

@media (max-width: 600px) {
  .ht-footer {
    padding: 24px 16px 9px;
  }

  .ht-footer .ht-footer-inner {
    gap: 17px;
  }

  .ht-footer .ht-footer-emblem {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  .ht-footer .ht-footer-bottom {
    margin-top: 17px;
    padding-top: 9px;
    flex-direction: column;
    align-items: flex-start;
  }

  footer.footer .footer-top {
    padding-bottom: 17px;
  }

  footer.footer .footer-grid {
    gap: 17px;
  }

  footer.footer .footer-main {
    padding: 24px 16px 16px;
    gap: 17px;
  }

  footer.footer .footer-bottom {
    text-align: center;
    font-size: 8px;
  }

  body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) {
    padding: 24px 18px 10px;
  }

  body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fg {
    gap: 17px;
  }

  body > footer:not(.ht-footer):not(.footer):not(.ht-premium-footer) .fb {
    margin-top: 16px;
    padding-top: 9px;
    flex-direction: column;
    gap: 6px;
  }

  .ht-premium-footer {
    padding: 25px 0 8px;
  }

  .ht-premium-footer-main {
    grid-template-columns: 1fr;
    gap: 17px;
    padding: 0 16px 17px;
  }

  .ht-premium-footer-logo {
    width: 180px;
  }

  .ht-premium-footer-bottom {
    padding: 9px 16px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }
}
