/*
Theme Name: AKR Child
Template: astra
Version: 1.0
*/

/* ===============================
   AKR PROPERTY GLOBAL RESET
================================ */

html,
body {
    overflow-x: hidden !important;
}

body.single-property {
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
}

/* Hide Astra header/footer only on single property pages */
body.single-property .site-header,
body.single-property header.site-header,
body.single-property #masthead,
body.single-property .main-header-bar,
body.single-property .ast-primary-header-bar,
body.single-property .ast-mobile-header-wrap,
body.single-property .site-footer,
body.single-property footer.site-footer,
body.single-property .ast-footer-copyright,
body.single-property .ast-builder-footer-grid-columns {
    display: none !important;
}

/* Remove Astra spacing/wrappers */
body.single-property #page,
body.single-property #content,
body.single-property .site-content,
body.single-property .ast-container,
body.single-property .content-area,
body.single-property .site-main,
body.single-property article,
body.single-property .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove title/meta/navigation */
body.single-property .entry-header,
body.single-property .post-navigation,
body.single-property .comments-area,
body.single-property .ast-single-related-posts {
    display: none !important;
}

body.single-property {
    background: #000 !important;
}
/* Elementor template full width */
.single-property .elementor {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Elementor containers reset */
.single-property .elementor-section,
.single-property .elementor-container,
.single-property .elementor-column,
.single-property .elementor-widget-wrap,
.single-property .e-con,
.single-property .e-con-inner {
    max-width: 100% !important;
}

/* ===============================
   HERO
================================ */

.akr-hero-custom {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;

    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;

    display: flex !important;
    align-items: center !important;

    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.akr-dark-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    background: linear-gradient(
        90deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.55) 45%,
        rgba(0,0,0,.35) 100%
    ) !important;
}

.akr-hero-inner {
    position: relative !important;
    z-index: 2 !important;

    width: min(1320px, 90vw) !important;
    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: 80px !important;
    align-items: center !important;
}

.akr-left {
    max-width: 720px !important;
}

.akr-left h1 {
    color: #fff !important;
    font-size: clamp(54px, 7vw, 100px) !important;
    line-height: .95 !important;
    margin: 25px 0 !important;
    font-weight: 800 !important;
    letter-spacing: -3px !important;
}

.akr-location {
    color: #ddd !important;
    font-size: 18px !important;
}

.akr-badge {
    display: inline-flex !important;
    align-items: center !important;

    background: #3C6E86 !important;
    color: #fff !important;

    padding: 10px 16px !important;
    border-radius: 100px !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

.akr-glass-card {
    width: 100% !important;
    max-width: 420px !important;
    justify-self: end !important;

    background: rgba(20,20,20,.48) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;

    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 28px !important;

    padding: 42px !important;
    color: #fff !important;
}

.akr-glass-card h2 {
    color: #fff !important;
    font-size: 42px !important;
    margin-bottom: 30px !important;
}

.akr-line {
    color: #fff !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

/* ===============================
   DETAILS BAR
================================ */

.akr-details-bar-elementor {
    width: 100vw !important;
    max-width: 100vw !important;

    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;

    background: #0f0f0f !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.akr-detail-box {
    padding: 34px 20px !important;
    text-align: center !important;
    border-right: 1px solid rgba(255,255,255,.08) !important;
}

.akr-detail-box strong {
    display: block !important;
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 800 !important;
}

.akr-detail-box span {
    display: block !important;
    margin-top: 8px !important;
    color: rgba(255,255,255,.55) !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* ===============================
   INFO SECTION + PREMIUM GALLERY
================================ */

.akr-info-section {
    width: 100vw !important;
    max-width: 100vw !important;

    background: #0b0b0b !important;

    padding: 110px 6vw !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr) !important;
    gap: 80px !important;
    align-items: start !important;
}

.akr-gallery-showcase {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 24px !important;

    position: sticky !important;
    top: 40px !important;
}

.akr-gallery-thumbs {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.akr-thumb {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;

    object-fit: cover !important;
    display: block !important;

    border-radius: 18px !important;
    border: 2px solid transparent !important;

    opacity: .62 !important;
    cursor: pointer !important;

    background: #111 !important;
    transition: .3s ease !important;
}

.akr-thumb:hover {
    opacity: 1 !important;
    transform: translateY(-3px) !important;
}

.akr-thumb.active {
    opacity: 1 !important;
    border-color: #3C6E86 !important;
    box-shadow:
        0 0 0 1px rgba(60,110,134,.4),
        0 14px 35px rgba(0,0,0,.35) !important;
}

.akr-thumb[src=""] {
    display: none !important;
}

.akr-gallery-main {
    width: 100% !important;
    min-height: 520px !important;

    background: #111 !important;

    border-radius: 28px !important;
    overflow: hidden !important;

    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.45) !important;
}

.akr-gallery-main img {
    width: 100% !important;
    height: 100% !important;
    min-height: 520px !important;

    display: block !important;
    object-fit: cover !important;
}

.akr-property-description {
    padding-top: 10px !important;
}

.akr-property-description span {
    display: inline-block !important;
    color: #3C6E86 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}

.akr-property-description h2 {
    color: #fff !important;
    font-size: clamp(42px,5vw,72px) !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
    margin: 0 0 35px !important;
}

.akr-content-text,
.akr-content-text p {
    color: rgba(255,255,255,.72) !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
}

/* ===============================
   FEATURES
================================ */

.akr-features-section {
    width: 100vw !important;
    max-width: 100vw !important;
    background: #0b0b0b !important;
    padding: 90px 6vw 120px !important;
}

.akr-section-heading {
    max-width: 900px !important;
    margin: 0 auto 55px !important;
    text-align: center !important;
}

.akr-section-heading span {
    color: #3C6E86 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.akr-section-heading h2 {
    color: #fff !important;
    font-size: clamp(38px,5vw,66px) !important;
    line-height: 1 !important;
    margin: 18px 0 0 !important;
}

.akr-features-grid {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 20px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.akr-feature-card {
    background: #111 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 22px !important;
    padding: 28px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    transition: .35s ease !important;
}

.akr-feature-card:hover {
    transform: translateY(-6px) !important;
    border-color: #3C6E86 !important;
    box-shadow: 0 0 35px rgba(60,110,134,.25) !important;
}

.akr-feature-card:empty {
    display: none !important;
}

/* ===============================
   CONTACT
================================ */

.akr-contact-property {
    width: 100vw !important;
    max-width: 100vw !important;

    background:
        linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.55)),
        #111 !important;

    padding: 120px 6vw !important;
    text-align: center !important;
}

.akr-contact-inner {
    max-width: 850px !important;
    margin: 0 auto !important;
}

.akr-contact-inner span {
    color: #3C6E86 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.akr-contact-inner h2 {
    color: #fff !important;
    font-size: clamp(42px,6vw,76px) !important;
    line-height: 1 !important;
    margin: 22px 0 !important;
}

.akr-contact-inner p {
    color: rgba(255,255,255,.68) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    margin-bottom: 36px !important;
}

.akr-contact-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #3C6E86 !important;
    color: #fff !important;

    text-decoration: none !important;
    padding: 17px 28px !important;
    border-radius: 14px !important;

    font-weight: 800 !important;
    transition: .3s ease !important;
}

.akr-contact-btn:hover {
    background: #6FA8C0 !important;
    color: #fff !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 0 35px rgba(60,110,134,.35) !important;
}

/* ===============================
   RESPONSIVE
================================ */

@media (max-width: 1100px) {
    .akr-info-section {
        grid-template-columns: 1fr !important;
        gap: 55px !important;
    }

    .akr-gallery-showcase {
        position: relative !important;
        top: 0 !important;
    }
}

@media (max-width: 900px) {
    .akr-hero-custom {
        min-height: auto !important;
        padding: 120px 24px 80px !important;
    }

    .akr-hero-inner {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .akr-glass-card {
        max-width: 100% !important;
        justify-self: start !important;
    }

    .akr-details-bar-elementor {
        grid-template-columns: 1fr 1fr !important;
    }

    .akr-info-section {
        padding: 80px 24px !important;
    }

    .akr-gallery-showcase {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .akr-gallery-thumbs {
        order: 2 !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        padding-bottom: 8px !important;
    }

    .akr-gallery-main {
        order: 1 !important;
        min-height: 420px !important;
        border-radius: 22px !important;
    }

    .akr-gallery-main img {
        min-height: 420px !important;
    }

    .akr-thumb {
        width: 90px !important;
        min-width: 90px !important;
        border-radius: 14px !important;
    }

    .akr-features-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 600px) {
    .akr-left h1 {
        font-size: 46px !important;
        line-height: 1 !important;
        letter-spacing: -2px !important;
    }

    .akr-hero-custom {
        padding: 100px 20px 60px !important;
    }

    .akr-details-bar-elementor {
        grid-template-columns: 1fr !important;
    }

    .akr-info-section {
        padding: 65px 18px !important;
    }

    .akr-gallery-main {
        min-height: 330px !important;
        border-radius: 18px !important;
    }

    .akr-gallery-main img {
        min-height: 330px !important;
    }

    .akr-thumb {
        width: 76px !important;
        min-width: 76px !important;
    }

    .akr-property-description h2 {
        font-size: 40px !important;
        letter-spacing: -1px !important;
    }

    .akr-features-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ===============================
   AKR GALLERY FINAL LAYOUT FIX
================================ */

.akr-info-section {
    width: 100vw !important;
    max-width: 100vw !important;
    background: #0b0b0b !important;
    padding: 110px 6vw !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr) !important;
    gap: 70px !important;
    align-items: start !important;
}

/* Gallery wrapper */
.akr-gallery-showcase {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 22px !important;

    position: sticky !important;
    top: 40px !important;
}

/* Thumbnails left */
.akr-gallery-thumbs {
    width: 115px !important;
    min-width: 115px !important;

    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* Thumbnail images */
.akr-thumb {
    width: 115px !important;
    height: 90px !important;

    object-fit: cover !important;
    display: block !important;

    border-radius: 14px !important;
    border: 2px solid transparent !important;

    opacity: 0.62 !important;
    cursor: pointer !important;

    transition: 0.3s ease !important;
    background: #111 !important;
}

.akr-thumb:hover {
    opacity: 1 !important;
    transform: translateX(4px) !important;
}

.akr-thumb.active {
    opacity: 1 !important;
    border-color: #3C6E86 !important;
    box-shadow: 0 0 0 1px rgba(60,110,134,.35),
                0 12px 35px rgba(0,0,0,.35) !important;
}

/* Main image right */
.akr-gallery-main {
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;

    height: 620px !important;

    background: #111 !important;
    border-radius: 26px !important;
    overflow: hidden !important;

    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.45) !important;
}

.akr-gallery-main img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;
}

/* Description right side */
.akr-property-description {
    max-width: 760px !important;
    padding-top: 20px !important;
}

.akr-property-description span {
    display: inline-block !important;
    color: #3C6E86 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}

.akr-property-description h2 {
    color: #fff !important;
    font-size: clamp(42px, 5vw, 72px) !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
    margin: 0 0 35px !important;
}

.akr-content-text,
.akr-content-text p {
    color: rgba(255,255,255,.72) !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .akr-info-section {
        grid-template-columns: 1fr !important;
        gap: 55px !important;
        padding: 90px 5vw !important;
    }

    .akr-gallery-showcase {
        position: relative !important;
        top: 0 !important;
    }

    .akr-property-description {
        max-width: 100% !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .akr-info-section {
        padding: 70px 20px !important;
    }

    .akr-gallery-showcase {
        flex-direction: column-reverse !important;
        gap: 18px !important;
    }

    .akr-gallery-thumbs {
        width: 100% !important;
        min-width: 100% !important;

        flex-direction: row !important;
        overflow-x: auto !important;
        padding-bottom: 8px !important;
    }

    .akr-thumb {
        width: 86px !important;
        min-width: 86px !important;
        height: 70px !important;
        border-radius: 12px !important;
    }

    .akr-thumb:hover {
        transform: translateY(-3px) !important;
    }

    .akr-gallery-main {
        width: 100% !important;
        height: 380px !important;
        border-radius: 20px !important;
    }
}

@media (max-width: 480px) {
    .akr-gallery-main {
        height: 310px !important;
    }

    .akr-property-description h2 {
        font-size: 38px !important;
        letter-spacing: -1px !important;
    }
}