/* Shared navigation and footer; page-specific styles must not alter these components. */
#site-header{position:relative;z-index:20;display:block;width:100%;max-width:none;height:86px;min-height:86px;margin:0;padding:0;border:0;color:#fff;background:linear-gradient(110deg,#19161e,#2b242e 75%,#211c26);font-family:Arial,Helvetica,sans-serif;line-height:1.3;overflow:visible}
#site-header .site-header-inner{position:relative;display:flex;align-items:center;gap:24px;width:calc(100% - 7%);max-width:1420px;height:86px;margin:0 auto;padding:0}
#site-header .brand{display:flex;flex-shrink:0;align-items:center;gap:15px;margin:0;padding:0 25px 0 0;border:0;border-right:1px solid #ffffff50;color:#fff;white-space:nowrap}
#site-header .brand img{display:block;width:60px;height:60px;object-fit:contain;flex-shrink:0}
#site-header .brand>span{display:block}
#site-header .brand strong{display:block;font-size:15px;font-weight:700;line-height:1.2;letter-spacing:-.4px;margin:0}
#site-header .brand small{display:block;font-size:11px;font-weight:400;line-height:1.3;letter-spacing:0;margin:3px 0 0}
#site-header nav{position:static;display:flex;flex:1;align-items:center;justify-content:center;gap:23px;width:auto;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;white-space:nowrap;font-size:12px;line-height:1.3}
#site-header nav a{position:relative;display:block;padding:11px 0;margin:0;font-size:inherit;font-weight:400;color:#fff;text-decoration:none;line-height:1.3}
#site-header nav a:after{position:absolute;content:'';height:3px;left:0;bottom:3px;width:0;background:#c4f512;transition:width .18s}
#site-header nav a.active:after{width:100%}
@media(hover:hover) and (pointer:fine){#site-header nav a:hover:after{width:100%}}
#site-header nav a.active{font-weight:700}
#site-header .accor{display:block;flex-shrink:0;width:45px;font-family:Georgia,serif;font-size:31px;font-weight:400;line-height:.8;letter-spacing:-3px;text-align:center;margin:0;padding:0}
#site-header .accor small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1;letter-spacing:3px;font-weight:400;margin:8px 0 0}
#site-header .booking{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:10px;min-width:0;margin:0;padding:11px 18px;border:1px solid transparent;border-radius:24px;background:#c4f512;color:#101010;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;text-decoration:none}
#site-header .booking>span{font-size:18px;line-height:14px}
@media(hover:hover) and (pointer:fine){#site-header .booking:hover{background:#d3ff42}}
#site-header .menu-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0;width:40px;height:40px;border:1px solid #ffffff70;border-radius:8px;background:transparent;color:white;font-size:23px;font-weight:400;line-height:1;cursor:pointer}
#site-header :is(a,button):focus-visible,#site-footer a:focus-visible{outline:3px solid #c4f512;outline-offset:5px}
#site-footer{display:block;margin:0;padding:20px 0 12px;width:100%;background:#17131b;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.3}
#site-footer .site-footer-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;justify-content:normal;gap:25px;width:calc(100% - 7%);max-width:1420px;min-height:50px;margin:0 auto;padding:0}
#site-footer .brand{display:flex;flex-shrink:0;align-items:center;gap:14px;padding:0 23px 0 0;margin:0;border:0;border-right:1px solid #ffffff40;white-space:nowrap;color:white}
#site-footer .brand img{display:block;width:50px;height:50px;object-fit:contain}
#site-footer .brand>span{display:block}
#site-footer .brand strong{display:block;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:-.4px;margin:0}
#site-footer .brand small{display:block;font-size:10px;font-weight:400;line-height:1.3;letter-spacing:0;margin:3px 0 0}
#site-footer nav{display:flex;align-items:center;justify-content:center;gap:23px;width:auto;margin:0;padding:0;order:0;font-size:11px;white-space:nowrap;flex-wrap:nowrap}
#site-footer nav a{position:relative;display:block;font-size:inherit;line-height:1.3;padding:8px 0;color:white;text-decoration:none}
#site-footer nav a:after{content:'';position:absolute;left:0;bottom:2px;height:2px;width:0;background:#c4f512;transition:width .18s}
#site-footer nav a.active:after,#site-footer nav a:hover:after{width:100%}
#site-footer nav a.active{font-weight:700}
#site-footer .accor{display:block;width:47px;font-family:Georgia,serif;font-size:31px;line-height:.8;font-weight:400;letter-spacing:-3px;text-align:center;margin:0;padding:0}
#site-footer .accor small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:400;line-height:1;letter-spacing:3px;margin-top:8px}
#site-footer .address{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:auto;padding:0;margin:0;font-size:11px;font-weight:400;line-height:1.35;color:white;text-decoration:none;order:0;white-space:nowrap}
#site-footer .address svg{width:24px;height:24px;flex-shrink:0}
#site-footer .address:hover>span{text-decoration:underline;text-underline-offset:3px}
#site-footer .demo-note{display:block;font-size:9px;font-weight:400;line-height:1.5;color:#afa7b5;text-align:center;letter-spacing:0;max-width:1420px;margin:15px auto 0;padding:0 18px}
@media(max-width:1199px) and (min-width:960px){
 #site-header .site-header-inner{gap:17px}
 #site-header .brand{gap:13px;padding-right:20px}
 #site-header .brand strong{font-size:14px}
 #site-header .brand small{font-size:10px}
 #site-header nav{font-size:11px;gap:19px}
 #site-header .accor{width:42px;font-size:29px}
 #site-header .booking{padding:10px 15px;font-size:11px;gap:9px}
 #site-footer .site-footer-inner{gap:19px}
 #site-footer .brand{gap:11px;padding-right:17px}
 #site-footer .brand strong{font-size:12px}
 #site-footer .brand small{font-size:9px}
 #site-footer nav{gap:17px;font-size:10px}
 #site-footer .address{font-size:10px;gap:8px}
 #site-footer .accor{width:42px;font-size:29px}
}
@media(max-width:959px){
 #site-header,#site-header .site-header-inner{height:80px;min-height:80px}
 #site-header .site-header-inner{gap:17px}
 #site-header .brand{border:0;padding-right:0}
 #site-header .brand img{width:56px;height:56px}
 #site-header .brand strong{font-size:15px}
 #site-header .brand small{font-size:11px}
 #site-header .menu-toggle{display:flex;margin-left:auto}
 #site-header .accor{display:none}
 #site-header .booking{margin:0;padding:11px 18px;font-size:12px}
 #site-header nav{display:none;position:absolute;top:72px;left:0;right:0;flex:none;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:15px 20px;border:1px solid #ffffff19;border-radius:12px;background:#211b27;box-shadow:0 15px 30px #0007;font-size:15px;white-space:normal;z-index:30}
 #site-header nav.open{display:flex}
 #site-header nav a{padding:12px 0}
 #site-header nav a:after{width:0;bottom:6px}
 #site-header nav a.active:after{width:32px}
 @media(hover:hover) and (pointer:fine){#site-header nav a:hover:after{width:32px}}
 #site-footer{padding:25px 0 15px}
 #site-footer .site-footer-inner{grid-template-columns:1fr auto;gap:24px 20px;max-width:650px;min-height:0}
 #site-footer .brand{border:0;padding:0;gap:15px;justify-self:start}
 #site-footer .brand strong{font-size:14px}
 #site-footer .brand small{font-size:11px}
 #site-footer .accor{grid-column:2;grid-row:1;width:47px;font-size:31px;justify-self:end}
 #site-footer nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;justify-content:center;width:100%;gap:7px 23px;font-size:12px;order:0}
 #site-footer .address{grid-column:1/-1;grid-row:3;justify-content:center;width:100%;font-size:12px;gap:12px;order:0;white-space:normal}
 #site-footer .address br{display:none}
 #site-footer .address>span{max-width:100%;line-height:1.4}
 #site-footer .demo-note{font-size:9px;line-height:1.6;margin-top:23px;padding-inline:20px}
}
@media(max-width:600px){
 #site-header,#site-header .site-header-inner{height:80px;min-height:80px}
 #site-header .site-header-inner,#site-footer .site-footer-inner{width:calc(100% - 36px)}
 #site-header .site-header-inner{gap:14px}
 #site-header .brand{gap:0}
 #site-header .brand>span{display:none}
 #site-header .brand img{width:52px;height:52px}
 #site-header .booking{padding:10px 14px;font-size:11px;gap:10px}
 #site-header .booking>span{font-size:17px}
 #site-header .menu-toggle{width:38px;height:38px;font-size:22px}
 #site-footer .brand img{width:48px;height:48px}
 #site-footer .brand strong{font-size:13px}
 #site-footer .brand small{font-size:10px}
 #site-footer nav{gap:7px 21px}
 #site-footer .address{font-size:11px}
}
@media(max-width:359px){#site-header .site-header-inner{gap:10px}#site-header .brand img{width:47px;height:47px}#site-header .booking{font-size:10px;padding:10px 12px;gap:8px}#site-footer nav{gap:6px 18px;font-size:11px}}
/* The active underline never shifts the navigation labels. */
#site-header nav a.active,#site-footer nav a.active{font-weight:400}

/* Official ALL Accor artwork; retain its proportions and clear space. */
#site-header .accor,#site-footer .accor{width:56px;line-height:0;letter-spacing:normal;font-size:0}
#site-header .accor-logo,#site-footer .accor-logo{display:block;width:100%;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
