/* Shared footer refinement for the booking product and public pages. */
.home-shell .footer,
.search-shell .footer {
    display: grid;
    width: 100%;
    min-height: 292px;
    grid-template-columns: minmax(260px, 1.5fr) minmax(300px, 1fr) auto;
    gap: 56px;
    margin: 96px 0 0;
    padding: 58px max(32px, calc((100% - 1360px) / 2)) 24px;
    color: #afb1bf;
    background:
        radial-gradient(circle at 84% 14%, rgba(82, 102, 235, .20), transparent 24%),
        var(--mercury-onyx);
}

.home-shell .footer:before, .search-shell .footer:before { content: none; }
.home-shell .footer .brand, .search-shell .footer .brand { margin-bottom: 16px; }
.home-shell .footer p, .search-shell .footer p { max-width: 290px; margin: 0; color: #a7a9b8; font-size: 13px; line-height: 1.65; }
.home-shell .footer-links, .search-shell .footer-links { display: grid; grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 11px 30px; align-content: start; padding-top: 8px; }
.home-shell .footer-links a, .search-shell .footer-links a { color: #d8d9e2; font-size: 13px; font-weight: 500; }
.home-shell .footer-links a:before, .search-shell .footer-links a:before { margin-right: 8px; color: #7e8afa; content: "↗"; }
.home-shell .footer-end, .search-shell .footer-end { display: flex; min-width: 182px; align-items: flex-end; flex-direction: column; justify-content: space-between; padding: 8px 0 3px; text-align: right; }
.home-shell .footer-end > span, .search-shell .footer-end > span { display: inline-block; padding: 7px 10px; border: 1px solid #454654; border-radius: 999px; color: #dfe1eb; background: rgba(255,255,255,.03); font-size: 10px; font-weight: 700; letter-spacing: .09em; }
.home-shell .footer-end small, .search-shell .footer-end small { max-width: 160px; color: #878998; font-size: 11px; line-height: 1.55; }

.public-footer {
    position: relative;
    overflow: hidden;
    border-top: 1px solid #303141;
    background:
        radial-gradient(circle at 89% 20%, rgba(82, 102, 235, .24), transparent 24%),
        var(--mercury-onyx);
}

.public-footer:before {
    position: absolute;
    top: -190px;
    right: -90px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(157,167,255,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(157,167,255,.035);
    content: "";
}

.public-footer-grid { position: relative; z-index: 1; grid-template-columns: 1.55fr .85fr .95fr 1.15fr; gap: 52px; padding-top: 66px; padding-bottom: 60px; }
.public-footer .public-brand { margin-bottom: 16px; }.public-footer p { color: #a9abb9; font-size: 13px; line-height: 1.7; }.public-footer strong { margin-bottom: 4px; color: #9da7ff; font-size: 10px; letter-spacing: .13em; }.public-footer a, .public-footer span { color: #d5d6df; font-size: 13px; }.public-footer-grid > div:not(:first-child) { gap: 12px; }.public-footer-grid > div:not(:first-child) a:hover { color: #fff; }.public-footer-grid > div:not(:first-child) a:not(.footer-cta a):before { margin-right: 7px; color: #7d8bff; content: "↗"; }
.footer-cta { align-items: flex-start; justify-content: center; padding: 24px; border: 1px solid rgba(157,167,255,.23); border-radius: 14px; background: rgba(255,255,255,.045); }.footer-cta > span { max-width: 155px; color: #fff; font-family: "Inter", sans-serif; font-size: 20px; font-weight: 500; line-height: 1.15; }.footer-cta a { margin-top: 20px; padding: 11px 16px; border-radius: 8px; color: #fff; background: var(--mercury-cobalt); font-size: 12px; font-weight: 700; }.footer-cta a:hover { background: #6978f2; }.public-footer-bottom { position: relative; z-index: 1; padding: 19px 0; border-color: #363746; color: #8d8f9e; }.public-footer-bottom span { color: #8d8f9e; font-size: 10px; }

@media (max-width: 850px) {
    .home-shell .footer, .search-shell .footer { grid-template-columns: 1fr 1fr; gap: 34px; padding-left: 40px; padding-right: 40px; }.home-shell .footer-end, .search-shell .footer-end { align-items: flex-start; text-align: left; }.public-footer-grid { grid-template-columns: 1fr 1fr; gap: 38px; }.footer-cta { grid-column: span 2; }
}

@media (max-width: 560px) {
    .home-shell .footer, .search-shell .footer { grid-template-columns: 1fr; gap: 30px; margin-top: 72px; padding: 46px 24px 25px; }.home-shell .footer-links, .search-shell .footer-links { grid-template-columns: 1fr 1fr; }.home-shell .footer-end, .search-shell .footer-end { gap: 22px; }.public-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; padding-top: 48px; padding-bottom: 44px; }.footer-cta { grid-column: span 2; padding: 21px; }.public-footer-bottom { padding: 17px 0; }
}
