.premium-footer {
    background: radial-gradient(ellipse at top left, rgba(199, 169, 119, .09), transparent 65%), #30271e;
    border-top: 1px solid rgba(199, 169, 119, .3);
}
.premium-footer .footer-shell { max-width: 1180px; padding-top: 58px; padding-bottom: 26px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .85fr .85fr 1.15fr; gap: 42px; }
.footer-brand-link { display: inline-flex; margin-bottom: 20px; }
.premium-footer .footer-brand-logo { display: block; width: 176px; height: auto; object-fit: contain; }
.footer-brand p { max-width: 290px; font-size: .9rem; line-height: 1.8; margin-bottom: 22px; }
.premium-footer .footer-title { font-family: 'Manrope', sans-serif; color: #dcc49f; font-size: .72rem; font-weight: 700; letter-spacing: 1.8px; margin: 8px 0 22px; }
.premium-footer .text-muted-soft, .premium-footer .footer-links { color: #d3c9bc; }
.premium-footer .footer-links { gap: 12px; font-size: .86rem; }
.premium-footer .footer-links a { color: #e3d9cc; }
.premium-footer .footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.premium-footer .footer-booking { display: inline-flex; align-items: center; gap: 14px; padding: 11px 17px; color: #f5eee2; border-color: #8c7960; background: transparent; font-size: .8rem; box-shadow: none; }
.premium-footer .footer-booking:hover { background: rgba(255,255,255,.08); border-color: #dcc49f; }
.footer-booking svg { width: 17px; height: 17px; }
.footer-newsletter-description { font-size: .83rem; line-height: 1.7; margin-bottom: 17px; }
.footer-email-field { position: relative; }
.footer-email-field > svg { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: #dcc49f; pointer-events: none; }
.premium-footer .footer-newsletter .form-control,
.premium-footer .footer-newsletter .form-control:disabled { height: 48px; padding: 12px 14px 12px 43px; font-size: .87rem; background: #3b3228; border: 1px solid #87735b; border-radius: 10px; color: #fff; -webkit-text-fill-color: #fff; opacity: 1; }
.premium-footer .footer-newsletter .form-control::placeholder { color: #f5eee2; -webkit-text-fill-color: #f5eee2; opacity: 1; }
.premium-footer .footer-newsletter .btn:disabled { background: #c7a977; color: #30271e; opacity: 1; box-shadow: none; font-size: .82rem; padding: 12px 16px; border-radius: 10px; }
.footer-newsletter-status { display: block; font-size: .71rem; color: #c9bcaa; margin-top: 10px; }
.premium-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-top: 42px; padding-top: 23px; border-color: #655440; font-size: .74rem; color: #d3c9bc; }
.footer-credit { display: flex; align-items: center; gap: 12px; }
.footer-credit a { display: inline-flex; padding: 5px 0; }
.footer-credit img { display: block; width: 158px; height: auto; }
.premium-footer a:focus-visible { outline: 2px solid #dcc49f; outline-offset: 5px; border-radius: 4px; }
@media (max-width: 991.98px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 44px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-newsletter-block { grid-column: 1 / -1; max-width: 440px; }
    .premium-footer .footer-shell { padding-top: 42px; }
}
@media (max-width: 575.98px) {
    .premium-footer .footer-shell { padding: 36px 22px 28px; }
    .footer-grid { gap: 32px 22px; }
    .premium-footer .footer-title { margin-top: 0; margin-bottom: 17px; }
    .premium-footer .footer-links { font-size: .8rem; }
    .premium-footer .footer-bottom { margin-top: 32px; align-items: flex-start; flex-direction: column; gap: 16px; }
    .footer-credit { flex-wrap: wrap; }
    .footer-credit img { width: 145px; }
}
