/* ===== HOTEL & SPA GIFT CARD – HEADER & FOOTER (all classes prefixed hsg-) ===== */
.hsg-wrapper *{box-sizing:border-box;margin:0;padding:0;font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.hsg-announcement{background:#774E47;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:8px 16px;display:none}
@media(min-width:640px){.hsg-announcement{display:block}}
.hsg-header{background:#fff;border-bottom:1px solid #EBE5E0;position:relative;z-index:999;width:100%}
.hsg-header-inner{max-width:1440px;margin:0 auto;padding:0 20px;height:80px;display:flex;align-items:center;justify-content:space-between}
@media(min-width:640px){.hsg-header-inner{padding:0 32px;height:100px}}
.hsg-logo{display:inline-flex;align-items:center;text-decoration:none}
.hsg-logo img{width:192px;height:auto;display:block}
@media(min-width:640px){.hsg-logo img{width:224px}}
.hsg-nav-desktop{display:none;align-items:center}
@media(min-width:1024px){.hsg-nav-desktop{display:flex}}
.hsg-nav-link{color:#524744;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:8px 14px;transition:opacity .2s}
.hsg-nav-link:hover{color:#774E47;opacity:.75}
.hsg-nav-divider{color:#D5C5B8;font-size:13px;user-select:none}
.hsg-btn-buy{display:inline-flex;align-items:center;gap:8px;background:#774E47;color:#fff!important;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:12px 24px;border-radius:9999px;margin-left:16px;transition:background .2s}
.hsg-btn-buy:hover{background:#633f38}
.hsg-mobile-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#774E47;border:none;color:#fff;cursor:pointer}
@media(min-width:1024px){.hsg-mobile-toggle{display:none}}
.hsg-nav-mobile{display:none;background:#fff;border-top:1px solid #EBE5E0;padding:20px}
.hsg-nav-mobile.open{display:block}
@media(min-width:1024px){.hsg-nav-mobile.open{display:none}}
.hsg-nav-mobile a{display:block;padding:12px 0;font-size:14px;font-weight:600;text-transform:uppercase;color:#774E47;text-decoration:none;border-bottom:1px solid #F3EFEA}
.hsg-nav-mobile a.hsg-btn-buy-mob{margin-top:16px;text-align:center;background:#774E47;color:#fff!important;padding:14px;border-radius:9999px;border:none}
.hsg-footer{background:#774E47;color:#fff;padding:56px 20px 36px;width:100%}
@media(min-width:640px){.hsg-footer{padding:64px 32px 40px}}
.hsg-footer-inner{max-width:1300px;margin:0 auto}
.hsg-footer-grid{display:grid;grid-template-columns:1fr;gap:36px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:48px}
@media(min-width:640px){.hsg-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.hsg-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}}
.hsg-footer-brand img{width:220px;height:auto;display:block}
.hsg-footer-brand p{margin-top:18px;font-size:13px;line-height:1.6;color:#E5DCD5;max-width:320px}
.hsg-footer-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:16px}
.hsg-footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.hsg-footer-col a{color:#E5DCD5;font-size:13px;text-decoration:none}
.hsg-footer-col a:hover{color:#fff;text-decoration:underline}
.hsg-footer-subgroup{margin-top:24px}
.hsg-footer-bottom{display:flex;flex-direction:column;gap:12px;padding-top:24px;font-size:12px;color:#E5DCD5}
@media(min-width:640px){.hsg-footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}
.hsg-footer-bottom a{color:#E5DCD5;text-decoration:none;margin-right:16px}
.hsg-footer-bottom a:hover{color:#fff;text-decoration:underline}

/* Booking account and partner links retained from the existing header. */
.hsg-booking-account-bar{background:#fff;border-bottom:1px solid #ebe5e0}
.hsg-booking-account-inner{max-width:1440px;margin:0 auto;padding:8px 20px;display:flex;justify-content:flex-end;gap:20px;align-items:center;font-size:11px;letter-spacing:.04em}
.hsg-booking-account-inner a,.hsg-booking-account-inner button{font-size:11px;color:#524744;text-decoration:none;background:none;border:0;cursor:pointer}
.hsg-booking-account-inner a:hover,.hsg-booking-account-inner button:hover{color:#774e47;text-decoration:underline}
@media(max-width:639px){.hsg-booking-account-inner{display:none}}
.hsg-nav-mobile button.hsg-mobile-account{display:block;width:100%;text-align:left;padding:12px 0;font-size:14px;font-weight:600;text-transform:uppercase;color:#774e47;background:transparent;border:0;border-bottom:1px solid #f3efea;cursor:pointer}

/* The booking navigation is slightly taller than the checkout/logo-only shell. */
@media (min-width:640px) {.hsg-booking-shell .hsg-header-inner{height:100px}}
