/* =========================================================
   Shunshig V1.6 refinements
   Merged into V1.7 to keep the original cascade order.
   ========================================================= */

.navbar .nav-link-submenu{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;line-height:1}.navbar .nav-dropdown-icon{display:inline-flex;width:12px;height:12px;margin:0;align-items:center;justify-content:center;flex:0 0 12px;line-height:1;transform-origin:center}.navbar .nav-dropdown-icon i{display:block;width:12px;height:12px;font-size:.58rem;line-height:12px;text-align:center}.navbar .luxury-hover-dropdown:hover .nav-dropdown-icon,.navbar .luxury-hover-dropdown:focus-within .nav-dropdown-icon{transform:rotate(180deg)}
.news-detail-content .news-share-actions{margin-top:8px;margin-bottom:24px}.news-detail-content .news-detail-meta{margin-bottom:10px}
.google-map-embed{position:relative;min-height:598px}.google-map-embed iframe{height:500px}.contact-map-overlay{position:absolute;right:20px;bottom:20px;left:20px;max-width:410px;padding:20px 22px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(4,25,144,.95),rgba(48,48,198,.92));color:#fff;box-shadow:0 24px 50px rgba(0,12,56,.28);backdrop-filter:blur(12px)}.contact-map-overlay strong{display:block;margin:12px 0 5px;font-family:var(--font-heading);font-size:1.15rem}.contact-map-overlay p{margin:0;color:rgba(255,255,255,.76);font-size:.76rem;line-height:1.65}.contact-map-badge{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.1em}
.apartment-detail-sections{display:grid;gap:22px;margin-top:28px}.apartment-detail-section{display:block!important;opacity:1!important;transform:none!important}.apartment-section-heading{margin-bottom:22px}.apartment-section-heading h2{margin:10px 0 0;font-size:clamp(1.45rem,2.4vw,2rem)}
.youtube-video-card{overflow:hidden;border:1px solid rgba(27,37,171,.13);background:#000;box-shadow:0 20px 46px rgba(0,12,56,.16)}.youtube-video-card iframe,.layout-video-grid iframe,.modal iframe{border:0}.youtube-video-caption{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(135deg,#041990,#3030c6);color:#fff;font-size:.75rem}
.property-gallery-main-label{position:absolute;top:20px;left:20px;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;background:rgba(0,8,23,.76);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.08em;backdrop-filter:blur(10px)}.property-gallery-video-button{top:auto;right:24px;bottom:24px;left:auto;display:inline-flex;width:auto;height:auto;min-height:72px;align-items:center;gap:14px;padding:10px 20px 10px 10px;border:1px solid rgba(255,255,255,.3);border-radius:0;background:linear-gradient(135deg,rgba(4,25,144,.96),rgba(48,48,198,.94));color:#fff;box-shadow:0 24px 55px rgba(0,8,35,.32);transform:none;backdrop-filter:blur(12px)}.property-gallery-video-button:hover{transform:translateY(-4px)}.property-video-play-icon{position:relative;display:grid;width:50px;height:50px;place-items:center;flex:0 0 50px;border-radius:50%;background:#fff;color:#1b25ab}.property-video-play-icon:after{position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.3);border-radius:50%;content:"";animation:propertyVideoPulse 1.8s infinite}.property-video-play-copy{text-align:left}.property-video-play-copy small,.property-video-play-copy strong{display:block}.property-video-play-copy small{margin-bottom:4px;color:rgba(255,255,255,.66);font-size:.58rem;letter-spacing:.13em}.property-video-play-copy strong{color:#fff;font-size:.78rem}.gallery-thumbnail-type{position:absolute;right:7px;bottom:7px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:6px 8px;background:rgba(0,8,23,.76);color:#fff;font-size:.55rem;font-weight:800;letter-spacing:.07em;backdrop-filter:blur(8px)}.gallery-thumbnail-type.video{background:linear-gradient(135deg,#041990,#3030c6)}
.project-layout-grid .layout-card{display:block;min-width:0;height:100%}.project-layout-grid .layout-card-image img{height:350px}@keyframes propertyVideoPulse{0%{opacity:.8;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.18)}}
@media(max-width:767.98px){.contact-map-overlay{right:12px;bottom:12px;left:12px;padding:16px}.property-gallery-video-button{right:12px;bottom:12px;min-height:58px;padding-right:14px}.property-video-play-icon{width:40px;height:40px;flex-basis:40px}.project-layout-grid .layout-card-image img{height:420px}}

/* =========================================================
   Shunshig V1.7 gallery and navigation refinements
   ========================================================= */

/* Keep the submenu item on exactly the same baseline as other links. */

@media (min-width: 1400px) {
    .navbar-nav > .nav-item {
        display: flex;
        align-items: center;
    }

    .navbar .nav-link-submenu {
        display: flex;
        min-height: 0;
        height: auto;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0.7rem 0.75rem !important;
        line-height: normal;
    }

    .navbar .nav-link-submenu > span:first-child {
        display: inline-block;
        line-height: inherit;
    }

    .navbar .nav-dropdown-icon {
        display: inline-flex;
        width: 11px;
        height: 11px;
        margin: 0;
        align-items: center;
        justify-content: center;
        flex: 0 0 11px;
        transform: translateY(0);
    }

    .navbar .nav-dropdown-icon i {
        display: block;
        width: 11px;
        height: 11px;
        font-size: 0.56rem;
        line-height: 11px;
        text-align: center;
    }

    .navbar
    .luxury-hover-dropdown:hover
    .nav-dropdown-icon,
    .navbar
    .luxury-hover-dropdown:focus-within
    .nav-dropdown-icon {
        transform: rotate(180deg);
    }
}

/* All project media visible at once. */

.project-visible-gallery {
    padding: 28px 0 18px;
    background: #ffffff;
}

.project-media-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}

.project-media-card {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 0;
    border: 0;
    background: #000713;
    box-shadow: 0 16px 38px rgba(0, 18, 70, 0.12);
    text-align: left;
}

button.project-media-card {
    cursor: zoom-in;
}

.project-media-card:nth-child(1) {
    grid-column: span 7;
    grid-row: span 2;
    min-height: 554px;
}

.project-media-card:nth-child(2),
.project-media-card:nth-child(3) {
    grid-column: span 5;
}

.project-media-card:nth-child(4),
.project-media-card:nth-child(5) {
    grid-column: span 6;
}

.project-media-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.project-media-card:hover img {
    transform: scale(1.025);
}

.project-media-caption {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    padding: 10px 12px;
    background: rgba(0, 8, 23, 0.72);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    backdrop-filter: blur(10px);
}

.project-media-video-card {
    display: flex;
    min-height: 330px;
    flex-direction: column;
}

.project-media-video-card .ratio {
    flex: 1;
}

.project-media-video-card iframe {
    border: 0;
}

.project-video-caption {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #041990, #3030c6);
    color: #ffffff;
    font-size: 0.74rem;
}

/* All layout images and videos visible at once. */

.layout-visible-media-grid {
    display: grid;
    height: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
    background: #f5f7fc;
}

.layout-visible-media-card {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    padding: 0;
    border: 0;
    background: #000713;
    box-shadow: 0 10px 26px rgba(0, 18, 70, 0.10);
    text-align: left;
}

button.layout-visible-media-card {
    cursor: zoom-in;
}

.layout-visible-media-primary {
    grid-column: 1 / -1;
    min-height: 390px;
}

.layout-visible-media-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.layout-visible-media-card:hover img {
    transform: scale(1.025);
}

.layout-visible-media-primary img {
    object-fit: contain;
    background: linear-gradient(145deg, #1b25ab, #000c29);
}

.layout-visible-video-card {
    min-height: 250px;
}

.layout-visible-video-card iframe {
    border: 0;
}

.layout-virtual-tour-frame {
    overflow: hidden;
    min-height: 520px;
    border: 1px solid rgba(27, 37, 171, 0.13);
    background: #000713;
    box-shadow: 0 20px 46px rgba(0, 12, 56, 0.16);
}

.layout-virtual-tour-frame iframe {
    display: block;
    width: 100%;
    height: 620px;
    border: 0;
}

.layout-visible-media-caption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    left: 10px;
    padding: 9px 11px;
    background: rgba(0, 8, 23, 0.72);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    backdrop-filter: blur(9px);
}

.layout-video-caption {
    position: static;
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #041990, #3030c6);
}

/* Enlarged images can be closed by clicking the image or dark area. */

#propertyGalleryModal .modal-body,
#layoutImageGalleryModal .modal-body {
    cursor: zoom-out;
}

#propertyGalleryModal .gallery-modal-image,
#layoutImageGalleryModal .gallery-modal-image {
    cursor: zoom-out;
    user-select: none;
}

@media (max-width: 991.98px) {
    .project-media-card:nth-child(1) {
        grid-column: 1 / -1;
        min-height: 470px;
    }

    .project-media-card:nth-child(2),
    .project-media-card:nth-child(3),
    .project-media-card:nth-child(4),
    .project-media-card:nth-child(5) {
        grid-column: span 6;
    }

    .layout-visible-media-grid {
        grid-template-columns: 1fr;
    }

    .layout-visible-media-primary {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .project-visible-gallery {
        padding-top: 16px;
    }

    .project-media-grid {
        grid-template-columns: 1fr;
    }

    .project-media-card:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
        min-height: 270px;
    }

    .project-media-card:nth-child(1) {
        min-height: 360px;
    }

    .project-media-video-card {
        min-height: 300px;
    }

    .layout-visible-media-card,
    .layout-visible-media-primary {
        min-height: 280px;
    }

    .layout-visible-video-card {
        min-height: auto;
    }

    .layout-virtual-tour-frame {
        min-height: 420px;
    }

    .layout-virtual-tour-frame iframe {
        height: 420px;
    }
}


/* V1.15 described YouTube video caption */

.project-video-caption {
    align-items: flex-start;
}

.project-video-caption > i {
    margin-top: 2px;
    font-size: 1rem;
}

.project-video-caption > div {
    min-width: 0;
}

.project-video-caption strong {
    display: block;
    font-size: 0.75rem;
}

.project-video-caption p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.66rem;
    line-height: 1.55;
}

/* V1.16 gallery captions */
.project-media-caption { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.project-media-caption strong { font-size: .72rem; }
.project-media-caption small { display: block; font-size: .61rem; line-height: 1.45; opacity: .78; }


/* =========================================================
   V1.17 fullscreen YouTube modal
   ========================================================= */

button.project-media-video-card {
    cursor: zoom-in;
}

.project-video-thumbnail {
    position: relative;
    display: block;
    min-height: 230px;
    flex: 1;
    overflow: hidden;
}

.project-video-thumbnail img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.project-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 50%;
    background: rgba(0, 8, 23, 0.72);
    color: #ffffff;
    font-size: 1.25rem;
    place-items: center;
    transform: translate(-50%, -50%);
    transition:
        transform 220ms ease,
        background-color 220ms ease;
    backdrop-filter: blur(8px);
}

.project-media-video-card:hover
.project-video-play {
    background: #d60000;
    transform:
        translate(-50%, -50%)
        scale(1.06);
}

.gallery-modal-video-wrap {
    max-width: 1320px;
}

.gallery-modal-video-frame {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #000000;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
}

.gallery-modal-video-frame iframe {
    border: 0;
}

.gallery-modal-video-caption {
    padding: 17px 2px 0;
    color: #ffffff;
}

.gallery-modal-video-caption h2 {
    margin: 0;
    font-size: clamp(1.05rem, 2vw, 1.55rem);
}

.gallery-modal-video-caption p {
    max-width: 900px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    line-height: 1.65;
}

#propertyGalleryModal
.gallery-modal-video-wrap {
    cursor: default;
}

#propertyGalleryModal
.gallery-modal-video-frame {
    cursor: default;
}

@media (max-width: 767.98px) {
    .project-video-play {
        width: 58px;
        height: 58px;
        font-size: 1rem;
    }

    .gallery-modal-video-wrap {
        padding-right: 0;
        padding-left: 0;
    }
}
