
#wh-footer{
--wh-granite:#353431;
--wh-granite-deep:#2c2b29;
--wh-granite-soft:#403e3a;
--wh-gold:#b9975b;
--wh-gold-light:#d2b777;
--wh-cream:#f7f4f0;
--wh-text:#cbc5bd;
--wh-muted:#958e86;
--wh-border:rgba(185,151,91,.17);
--wh-white:rgba(255,253,251,.94);
width:100%!important;
margin:0!important;
padding:0!important;
background:
radial-gradient(circle at 82% 8%,rgba(185,151,91,.10),transparent 28%),
linear-gradient(145deg,#3b3a37 0%,#353431 48%,#2d2c2a 100%)!important; 
color:var(--wh-text);
position:relative;
overflow:hidden;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

#wh-footer:before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:1px;
background:linear-gradient(
90deg,
transparent,
rgba(185,151,91,.65),
transparent
);
opacity:.55;
}

#wh-footer *{
box-sizing:border-box;
}

#wh-footer a{
text-decoration:none!important;
}


/* =======================================================
   INNER
   ======================================================= */

#wh-footer .wh-footer__inner{
width:min(1180px,calc(100% - 44px));
margin:0 auto!important;
padding:58px 0 0!important;
}


/* =======================================================
   TOP BRAND STRIP
   ======================================================= */

#wh-footer .wh-footer__topline{
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
margin:0 0 46px!important;
padding:0 0 24px!important;
border-bottom:1px solid rgba(255,255,255,.07);
}

#wh-footer .wh-footer__topline-label{
display:flex;
align-items:center;
gap:11px;
font-size:9px;
font-weight:700;
letter-spacing:.20em;
line-height:1;
text-transform:uppercase;
color:rgba(247,244,240,.52);
}

#wh-footer .wh-footer__topline-label:before{
content:"";
width:30px;
height:1px;
background:var(--wh-gold);
opacity:.8;
}

#wh-footer .wh-footer__topline-note{
margin:0;
font-size:11px;
line-height:1.5;
color:rgba(247,244,240,.42);
text-align:right;
}


/* =======================================================
   MAIN GRID
   ======================================================= */

#wh-footer .wh-footer__content{
display:grid;
grid-template-columns:minmax(270px,1.45fr) minmax(150px,.75fr) minmax(170px,.85fr) minmax(250px,1.1fr);
gap:48px;
padding:0 0 44px!important;
margin:0!important;
}


/* =======================================================
   TITLES
   ======================================================= */

#wh-footer .wh-footer__title{
display:flex;
align-items:center;
gap:9px;
margin:0 0 19px!important;
padding:0!important;
color:var(--wh-white);
font-family:Georgia,"Times New Roman",serif;
font-size:14px;
font-weight:500;
line-height:1.4;
letter-spacing:.10em;
text-transform:uppercase;
}

#wh-footer .wh-footer__title-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:50%;
background:rgba(185,151,91,.08);
border:1px solid rgba(185,151,91,.16);
color:var(--wh-gold);
}

#wh-footer .wh-footer__title-icon svg{
width:12px;
height:12px;
}


/* =======================================================
   LINKS
   ======================================================= */

#wh-footer .wh-footer__links{
list-style:none!important;
margin:0!important;
padding:0!important;
}

#wh-footer .wh-footer__links li{
list-style:none!important;
margin:0 0 8px!important;
padding:0!important;
}

#wh-footer .wh-footer__links li:last-child{
margin-bottom:0!important;
}

#wh-footer .wh-footer__links a{
display:inline-flex;
align-items:center;
gap:8px;
color:var(--wh-text);
font-size:12.5px;
line-height:1.45!important;
transition:
color .22s ease,
transform .22s ease;
}

#wh-footer .wh-footer__links a:before{
content:"";
width:4px;
height:4px;
border-radius:50%;
background:rgba(185,151,91,.45);
flex-shrink:0;
transition:
background .22s ease,
transform .22s ease;
}

#wh-footer .wh-footer__links a:hover{
color:var(--wh-gold-light);
transform:translateX(3px);
}

#wh-footer .wh-footer__links a:hover:before{
background:var(--wh-gold);
transform:scale(1.4);
}


/* =======================================================
   BRAND COLUMN
   ======================================================= */

#wh-footer .wh-footer__brand{
max-width:430px;
margin:0!important;
padding:0!important;
}

#wh-footer .wh-footer__logo{
display:inline-flex;
align-items:center;
gap:11px;
margin:0 0 19px!important;
padding:0!important;
color:var(--wh-white);
}

#wh-footer .wh-footer__logo img{
display:block;
width:48px!important;
height:48px!important;
object-fit:contain;
margin:0!important;
filter:drop-shadow(0 4px 12px rgba(0,0,0,.16));
}

#wh-footer .wh-footer__logo span{
color:var(--wh-white);
font-family:Georgia,"Times New Roman",serif;
font-size:28px;
font-weight:400;
line-height:1;
letter-spacing:.01em;
}

#wh-footer .wh-footer__description{
max-width:415px;
margin:0 0 20px!important;
padding:0!important;
color:#b9b3ac;
font-size:12.5px;
line-height:1.78;
}

#wh-footer .wh-footer__description strong{
color:#ded8d1;
font-weight:600;
}


/* =======================================================
   CONTACT
   ======================================================= */

#wh-footer .wh-footer__contact{
display:grid;
gap:9px;
margin:0!important;
padding:0!important;
}

#wh-footer .wh-footer__contact a{
display:flex;
align-items:flex-start;
gap:10px;
color:#c8c1b9;
font-size:12px;
line-height:1.5;
transition:color .22s ease;
}

#wh-footer .wh-footer__contact a:hover{
color:var(--wh-gold-light);
}

#wh-footer .wh-footer__contact-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;
height:28px;
flex:0 0 28px;
border-radius:9px;
background:rgba(255,255,255,.045);
border:1px solid rgba(255,255,255,.07);
color:var(--wh-gold);
}

#wh-footer .wh-footer__contact-icon svg{
width:13px;
height:13px;
}


/* =======================================================
   FEATURED BOOKING CARD
   ======================================================= */

#wh-footer .wh-footer__booking{
align-self:start;
padding:20px;
border:1px solid rgba(185,151,91,.18);
border-radius:20px;
background:
linear-gradient(
145deg,
rgba(255,255,255,.045),
rgba(255,255,255,.018)
);
box-shadow:
0 12px 32px rgba(0,0,0,.10),
inset 0 1px 0 rgba(255,255,255,.04);
}

#wh-footer .wh-footer__booking-label{
display:block;
margin:0 0 8px;
font-size:9px;
font-weight:700;
letter-spacing:.18em;
line-height:1;
text-transform:uppercase;
color:var(--wh-gold);
}

#wh-footer .wh-footer__booking h3{
margin:0 0 8px;
font-family:Georgia,"Times New Roman",serif;
font-size:23px;
font-weight:500;
line-height:1.22;
color:var(--wh-white);
}

#wh-footer .wh-footer__booking p{
margin:0 0 16px;
font-size:11.5px;
line-height:1.65;
color:#aaa39b;
}

#wh-footer .wh-footer__booking-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
min-height:44px;
padding:0 16px;
border-radius:999px;
background:var(--wh-gold);
border:1px solid rgba(210,183,119,.25);
color:#332f29;
font-size:11px;
font-weight:800;
letter-spacing:.10em;
text-transform:uppercase;
transition:
background .22s ease,
transform .22s ease,
box-shadow .22s ease;
}

#wh-footer .wh-footer__booking-button:hover{
background:var(--wh-gold-light);
color:#332f29;
transform:translateY(-2px);
box-shadow:0 10px 22px rgba(185,151,91,.18);
}

#wh-footer .wh-footer__booking-button svg{
width:15px;
height:15px;
}


/* =======================================================
   SOCIAL
   ======================================================= */

#wh-footer .wh-footer__social{
display:flex;
align-items:center;
gap:8px;
margin:18px 0 0!important;
padding:0!important;
}

#wh-footer .wh-footer__social a{
width:34px;
height:34px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.09);
border-radius:50%;
background:rgba(255,255,255,.025);
color:#aaa39b;
transition:
color .22s ease,
border-color .22s ease,
background .22s ease,
transform .22s ease;
}

#wh-footer .wh-footer__social a:hover{
color:var(--wh-gold-light);
border-color:rgba(185,151,91,.38);
background:rgba(185,151,91,.07);
transform:translateY(-2px);
}

#wh-footer .wh-footer__social svg{
width:15px;
height:15px;
fill:currentColor;
}


/* =======================================================
   BOTTOM
   ======================================================= */

#wh-footer .wh-footer__bottom{
width:100%;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin:0!important;
padding:17px 0 16px!important;
border-top:1px solid var(--wh-border);
}

#wh-footer .wh-footer__bottom-left,
#wh-footer .wh-footer__bottom-right{
display:flex;
align-items:center;
gap:15px;
}

#wh-footer .wh-footer__bottom p{
margin:0!important;
padding:0!important;
color:var(--wh-muted);
font-size:10.5px;
line-height:1.5;
}

#wh-footer .wh-footer__bottom a{
color:#aaa39b;
text-decoration:none!important;
transition:color .22s ease;
}

#wh-footer .wh-footer__bottom a:hover{
color:var(--wh-gold-light);
}

#wh-footer .wh-footer__bottom-separator{
width:3px;
height:3px;
border-radius:50%;
background:rgba(185,151,91,.5);
}


/* =======================================================
   TABLET
   ======================================================= */

@media(max-width:980px){

#wh-footer .wh-footer__content{
grid-template-columns:1.2fr 1fr 1fr;
gap:40px 30px;
}

#wh-footer .wh-footer__brand{
grid-column:1/-1;
max-width:680px;
}

#wh-footer .wh-footer__booking{
grid-column:3;
grid-row:2;
}

}


/* =======================================================
   MOBILE
   ======================================================= */

@media(max-width:680px){

#wh-footer .wh-footer__inner{
width:calc(100% - 30px);
padding-top:45px!important;
}

#wh-footer .wh-footer__topline{
display:block;
margin-bottom:34px!important;
padding-bottom:20px!important;
}

#wh-footer .wh-footer__topline-note{
margin-top:10px;
text-align:left;
font-size:10.5px;
}

#wh-footer .wh-footer__content{
grid-template-columns:1fr 1fr;
gap:34px 24px;
padding-bottom:34px!important;
}

#wh-footer .wh-footer__brand{
grid-column:1/-1;
max-width:none;
}

#wh-footer .wh-footer__booking{
grid-column:1/-1;
grid-row:auto;
}

#wh-footer .wh-footer__title{
font-size:12px;
letter-spacing:.08em;
}

#wh-footer .wh-footer__links li{
margin-bottom:7px!important;
}

#wh-footer .wh-footer__links a{
font-size:12px;
}

#wh-footer .wh-footer__logo img{
width:45px!important;
height:45px!important;
}

#wh-footer .wh-footer__logo span{
font-size:26px;
}

#wh-footer .wh-footer__description{
font-size:12px;
line-height:1.75;
}

#wh-footer .wh-footer__bottom{
flex-direction:column;
align-items:flex-start;
gap:8px;
padding:15px 0 14px!important;
}

#wh-footer .wh-footer__bottom-left,
#wh-footer .wh-footer__bottom-right{
flex-wrap:wrap;
gap:8px 12px;
}

}


/* =======================================================
   SMALL PHONES
   ======================================================= */

@media(max-width:390px){

#wh-footer .wh-footer__content{
grid-template-columns:1fr;
}

#wh-footer .wh-footer__brand,
#wh-footer .wh-footer__booking{
grid-column:auto;
}

#wh-footer .wh-footer__booking{
padding:18px;
}

}
 


