
/* A5 Hotels responsive enhancements */
img{max-width:100%;height:auto;}
html{overflow-x:hidden;}
body{overflow-x:hidden;}
.a5-blue-card{height:100%;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.08);}
.a5-blue-card img{width:100%;height:280px;object-fit:cover;display:block;}
.a5-blue-card .a5-blue-card-body{padding:28px;}
.a5-blue-card h3{margin-bottom:10px;}
.a5-blue-gallery img{width:100%;height:230px;object-fit:cover;border-radius:10px;}
.a5-blue-gallery .gallery-item{margin-bottom:24px;}
.a5-blue-info{background:#f7f5f1;border-radius:14px;padding:28px;}
.a5-blue-info i{width:26px;}
.a5-blue-hero{min-height:430px;background-position:center;background-size:cover;display:flex;align-items:center;}
.a5-blue-hero .hero-overlay{background:rgba(0,0,0,.48);padding:70px 0;width:100%;}
@media (max-width:991px){
  .a5-blue-hero{min-height:360px;}
  .a5-blue-card img{height:230px;}
  .a5-blue-gallery img{height:210px;}
  .header-three .logo img{max-height:58px;width:auto;}
}
@media (max-width:767px){
  .section-title h2{font-size:30px;line-height:1.2;}
  .a5-blue-hero{min-height:300px;}
  .a5-blue-hero .hero-overlay{padding:50px 0;}
  .a5-blue-card img{height:210px;}
  .a5-blue-gallery img{height:190px;}
  .a5-blue-info{padding:20px;}
  .container{width:100%;max-width:100%;padding-left:15px;padding-right:15px;}
}
@media (max-width:480px){
  .a5-blue-gallery img{height:180px;}
  .top-btn{font-size:12px;}
}

/* Hotel A5 Blue 16-photo gallery */
.a5-blue-gallery .gallery-link{display:block;overflow:hidden;border-radius:10px;}
.a5-blue-gallery img{transition:transform .35s ease;}
.a5-blue-gallery .gallery-link:hover img{transform:scale(1.04);}

/* Hotel A5 Blue gallery lightbox + content */
.a5-blue-feature{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid #eee;border-radius:10px;background:#fff;height:100%;}
.a5-blue-feature>i{font-size:25px;line-height:1;color:#c49a55;margin-top:4px;min-width:28px;text-align:center;}
.a5-blue-feature h4{font-size:18px;margin:0 0 6px;}
.a5-blue-feature p{font-size:14px;margin:0;line-height:1.6;}
.a5-blue-gallery .gallery-link{position:relative;display:block;overflow:hidden;border-radius:12px;background:#111;box-shadow:0 8px 24px rgba(0,0,0,.10);}
.a5-blue-gallery .gallery-thumb{position:relative;overflow:hidden;}
.a5-blue-gallery .gallery-thumb img{display:block;width:100%;height:245px;object-fit:cover;transition:transform .35s ease,opacity .35s ease;}
.a5-blue-gallery .gallery-zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);opacity:0;transition:opacity .25s ease;color:#fff;font-size:30px;}
.a5-blue-gallery .gallery-link:hover .gallery-thumb img{transform:scale(1.05);opacity:.92;}
.a5-blue-gallery .gallery-link:hover .gallery-zoom{opacity:1;}
.mfp-bg{z-index:99998;}
.mfp-wrap{z-index:99999;}
.mfp-content{max-width:96vw;}
.a5-blue-lightbox .mfp-img{max-height:88vh !important;max-width:92vw !important;padding:0;}
.a5-blue-lightbox .mfp-figure:after{display:none;}
.a5-blue-lightbox .mfp-title{color:#fff;text-align:center;font-size:15px;padding-top:10px;}
.a5-blue-lightbox .mfp-close{font-size:42px;opacity:1;right:5px;top:0;}
.a5-blue-lightbox .mfp-arrow{opacity:1;width:70px;}
.a5-blue-lightbox .mfp-arrow:before{border-top-width:14px;border-bottom-width:14px;}
@media (max-width:767px){
  .a5-blue-gallery .gallery-thumb img{height:210px;}
  .a5-blue-lightbox .mfp-img{max-width:96vw !important;max-height:78vh !important;}
  .a5-blue-lightbox .mfp-arrow{width:52px;}
  .a5-blue-lightbox .mfp-arrow-left{left:0;}
  .a5-blue-lightbox .mfp-arrow-right{right:0;}
}

/* =========================================================
   A5 HOTELS - FINAL RESPONSIVE HEADER / MOBILE NAVIGATION
   ========================================================= */
.a5-site-header { position:relative; z-index:10000; }
.a5-main-header { background:#17130f; }
.a5-nav-row {
    min-height:78px; display:flex; align-items:center; gap:28px; position:relative;
}
.a5-brand { display:flex; align-items:center; flex:0 0 auto; text-decoration:none; }
.a5-brand img {
    display:block; width:245px; height:auto; max-height:42px; object-fit:contain;
}
.a5-desktop-nav { flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
.a5-desktop-nav .main-menu { width:auto; }
.a5-desktop-nav .main-menu ul {
    display:flex; align-items:center; justify-content:center; gap:2px; margin:0; padding:0; list-style:none;
}
.a5-desktop-nav .main-menu li { display:block; margin:0; }
.a5-desktop-nav .main-menu li a {
    display:flex; align-items:center; min-height:78px; padding:0 13px;
    color:#fff; font-size:13px; font-weight:600; text-transform:uppercase;
    text-decoration:none; white-space:nowrap; letter-spacing:.15px;
    transition:color .2s ease, background .2s ease;
}
.a5-desktop-nav .main-menu li a:hover,
.a5-desktop-nav .main-menu li a:focus { color:#e8a84c; }
.a5-desktop-action { flex:0 0 auto; }
.a5-desktop-action .top-btn {
    display:inline-flex; align-items:center; justify-content:center; min-height:42px;
    padding:0 18px; border-radius:5px; background:#d88935; color:#fff;
    font-size:12px; font-weight:700; text-transform:uppercase; text-decoration:none;
    transition:background .2s ease, transform .2s ease;
}
.a5-desktop-action .top-btn:hover { background:#b86d22; color:#fff; transform:translateY(-1px); }
.a5-mobile-toggle { display:none; }
.a5-mobile-menu { display:none; }

@media (max-width:1199px) and (min-width:992px){
    .a5-nav-row { gap:12px; }
    .a5-brand img { width:215px; }
    .a5-desktop-nav .main-menu li a { padding:0 8px; font-size:12px; }
    .a5-desktop-action .top-btn { padding:0 12px; }
}

@media (max-width:991px){
    .a5-main-header { background:#17130f; box-shadow:0 4px 18px rgba(0,0,0,.20); }
    .a5-nav-row { min-height:68px; justify-content:space-between; gap:12px; }
    .a5-brand { min-width:0; max-width:calc(100% - 68px); }
    .a5-brand img { width:210px; max-width:100%; max-height:36px; }
    .a5-desktop-nav, .a5-desktop-action { display:none !important; }
    .a5-mobile-toggle {
        display:flex; flex:0 0 46px; width:46px; height:44px; padding:0;
        border:1px solid rgba(255,255,255,.25); border-radius:7px;
        background:#d88935; align-items:center; justify-content:center; flex-direction:column;
        cursor:pointer; position:relative; z-index:10003; box-shadow:0 3px 10px rgba(0,0,0,.20);
        -webkit-appearance:none; appearance:none;
    }
    .a5-mobile-toggle span {
        display:block; width:23px; height:2px; margin:3px 0; border-radius:3px;
        background:#fff; transition:transform .22s ease, opacity .18s ease;
    }
    .a5-mobile-toggle.is-open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
    .a5-mobile-toggle.is-open span:nth-child(2){ opacity:0; }
    .a5-mobile-toggle.is-open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

    .a5-mobile-menu {
        display:block; position:absolute; top:100%; left:15px; right:15px;
        background:#fff; border-radius:0 0 12px 12px; overflow:hidden;
        box-shadow:0 15px 35px rgba(0,0,0,.24); border:1px solid #eee;
        max-height:0; opacity:0; visibility:hidden; transform:translateY(-8px);
        transition:max-height .28s ease, opacity .2s ease, transform .2s ease, visibility .2s ease;
        z-index:10002;
    }
    .a5-mobile-menu.is-open { max-height:calc(100vh - 75px); opacity:1; visibility:visible; transform:translateY(0); overflow-y:auto; }
    .a5-mobile-menu nav { padding:6px 0; }
    .a5-mobile-menu nav a {
        display:flex; align-items:center; gap:14px; width:100%; min-height:49px;
        padding:0 18px; color:#2b241e; background:#fff; border-bottom:1px solid #eee;
        text-decoration:none; font-size:14px; font-weight:600; text-transform:uppercase;
        letter-spacing:.15px;
    }
    .a5-mobile-menu nav a:last-child { border-bottom:0; }
    .a5-mobile-menu nav a i { width:20px; text-align:center; color:#d88935; font-size:15px; }
    .a5-mobile-menu nav a:hover, .a5-mobile-menu nav a:focus { background:#fbf5ed; color:#b86d22; }
    .a5-mobile-menu nav .a5-mobile-reservation {
        margin:7px 10px; width:calc(100% - 20px); min-height:45px; border:0; border-radius:6px;
        background:#d88935; color:#fff; justify-content:center;
    }
    .a5-mobile-menu nav .a5-mobile-reservation i { color:#fff; }
    body.a5-menu-open { overflow:hidden; }
}

@media (max-width:480px){
    .a5-nav-row { min-height:64px; }
    .a5-brand img { width:195px; max-height:34px; }
    .a5-mobile-toggle { flex-basis:44px; width:44px; height:42px; }
    .a5-mobile-menu { left:10px; right:10px; }
}

/* Keep the original theme from creating a second mobile menu. */
@media (max-width:991px){ .a5-site-header .mobile-menu, .a5-site-header .mean-container { display:none !important; } }
