/* ═══════════════════════════════════════════
   Apartments Showcase v6 by darthost.eu
   Layouts: zigzag | image-first | text-first | stacked
   ═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Outfit:wght@300;400;500;600&display=swap');

.apsc-wrap,.apsc-wrap *,.apsc-wrap *::before,.apsc-wrap *::after{box-sizing:border-box;}

.apsc-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    color: #2d2d2d;
}
.apsc-wrap .apsc-apartments { display:block; padding:0; margin:0; }

/* ═══════════════════════════════════════════
   SHARED ARTICLE STYLES
   ═══════════════════════════════════════════ */
.apsc-wrap article.apsc-apt {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
    float: none !important;
    list-style: none !important;
    position: relative;
}

/* Separator */
.apsc-wrap article.apsc-apt + article.apsc-apt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d5cec4 20%, #d5cec4 80%, transparent);
}

/* IMAGE */
.apsc-wrap .apsc-apt__image {
    position: relative;
    overflow: hidden !important;
    display: block !important;
}
.apsc-wrap .apsc-apt__hero {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0;
    overflow: hidden !important;
}
.apsc-wrap .apsc-apt__hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.08) 100%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s ease;
}
.apsc-wrap .apsc-apt__hero:hover::after { opacity: 1; }

.apsc-wrap img.apsc-apt__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 0; left: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    max-width: none !important;
    transition: transform .7s cubic-bezier(.25,.1,.25,1);
    will-change: transform;
}
.apsc-wrap .apsc-apt__hero:hover img.apsc-apt__img { transform: scale(1.05); }

/* INFO */
.apsc-wrap .apsc-apt__info {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: #faf9f7 !important;
}
.apsc-wrap .apsc-apt__info-inner {
    padding: 48px 52px;
    max-width: 480px;
    width: 100%;
}
.apsc-wrap .apsc-apt__info-inner::before {
    content: '';
    display: block;
    width: 36px;
    height: 2px;
    background: #b8a88a;
    margin-bottom: 24px;
}

/* Title */
.apsc-wrap h2.apsc-apt__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #1e1e1e !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    border: none !important;
    background: none !important;
}
.apsc-wrap h2.apsc-apt__title span[data-gal] {
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    transition: border-color .3s ease, color .3s ease;
}
.apsc-wrap h2.apsc-apt__title span[data-gal]:hover {
    color: #7a6a52 !important;
    border-bottom-color: #b8a88a;
}

/* Specs */
.apsc-wrap p.apsc-apt__specs {
    font-family: 'Outfit', sans-serif !important;
    font-size: .72rem !important;
    font-weight: 500 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: #9a8e7f !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

/* Price */
.apsc-wrap p.apsc-apt__price {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #7a6a52 !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}

/* Description */
.apsc-wrap .apsc-apt__desc {
    font-size: .9rem !important;
    line-height: 1.85 !important;
    color: #555 !important;
    margin: 0 0 28px 0 !important;
}
.apsc-wrap .apsc-apt__desc p { margin: 0 0 10px 0 !important; }
.apsc-wrap .apsc-apt__desc p:last-child { margin-bottom: 0 !important; }

/* CTA */
.apsc-wrap .apsc-apt__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    color: #7a6a52 !important;
    text-decoration: none !important;
    border: none !important;
    background: none !important;
    padding: 12px 0 0 0 !important;
    margin: 0 !important;
    transition: color .3s ease, gap .3s ease;
    position: relative;
}
.apsc-wrap .apsc-apt__cta::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background: #b8a88a;
    transition: width .4s ease;
}
.apsc-wrap .apsc-apt__cta:hover::after { width: 100%; }
.apsc-wrap .apsc-apt__cta:hover { color: #5a4a32 !important; gap: 14px !important; }

/* Credit */
.apsc-wrap .apsc-credit {
    text-align: center;
    padding: 20px 0 8px;
    font-size: .7rem;
    color: #bbb;
    letter-spacing: .05em;
}
.apsc-wrap .apsc-credit a {
    color: #9a8e7f;
    text-decoration: none;
}
.apsc-wrap .apsc-credit a:hover { text-decoration: underline; }


/* ═══════════════════════════════════════════
   LAYOUT: ZIGZAG (default)
   Image left/right alternating
   ═══════════════════════════════════════════ */
.apsc-layout--zigzag article.apsc-apt {
    flex-direction: row !important;
    min-height: 480px;
}
.apsc-layout--zigzag article.apsc-apt.apsc-apt--right {
    flex-direction: row-reverse !important;
}
.apsc-layout--zigzag .apsc-apt__image {
    flex: 0 0 58% !important;
    width: 58% !important;
    min-height: 480px;
}
.apsc-layout--zigzag .apsc-apt__info {
    flex: 0 0 42% !important;
    width: 42% !important;
}

/* ═══════════════════════════════════════════
   LAYOUT: IMAGE-FIRST
   Image on top, text below
   ═══════════════════════════════════════════ */
.apsc-layout--image-first article.apsc-apt {
    flex-direction: column !important;
    min-height: auto !important;
}
.apsc-layout--image-first .apsc-apt__image {
    flex: none !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
}
.apsc-layout--image-first .apsc-apt__info {
    flex: none !important;
    width: 100% !important;
}
.apsc-layout--image-first .apsc-apt__info-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    padding: 36px 32px 44px;
}
.apsc-layout--image-first .apsc-apt__info-inner::before {
    margin: 0 auto 24px;
}

/* ═══════════════════════════════════════════
   LAYOUT: TEXT-FIRST
   Text on top, image below
   ═══════════════════════════════════════════ */
.apsc-layout--text-first article.apsc-apt {
    flex-direction: column !important;
    min-height: auto !important;
}
.apsc-layout--text-first article.apsc-apt.apsc-apt--text-first .apsc-apt__info {
    order: -1 !important;
}
.apsc-layout--text-first .apsc-apt__image {
    flex: none !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
}
.apsc-layout--text-first .apsc-apt__info {
    flex: none !important;
    width: 100% !important;
}
.apsc-layout--text-first .apsc-apt__info-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    padding: 44px 32px 36px;
}
.apsc-layout--text-first .apsc-apt__info-inner::before {
    margin: 0 auto 24px;
}

/* ═══════════════════════════════════════════
   LAYOUT: STACKED
   Full-width image with text overlay at bottom
   ═══════════════════════════════════════════ */
.apsc-layout--stacked article.apsc-apt {
    flex-direction: column !important;
    min-height: auto !important;
    position: relative;
}
.apsc-layout--stacked .apsc-apt__image {
    flex: none !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 21 / 9;
}
.apsc-layout--stacked .apsc-apt__info {
    flex: none !important;
    width: 100% !important;
    background: rgba(255,255,255,.97) !important;
    position: relative;
    margin-top: -60px;
    width: 80% !important;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 4px;
    box-shadow: 0 4px 30px rgba(0,0,0,.06);
    z-index: 2;
}
.apsc-layout--stacked .apsc-apt__info-inner {
    max-width: none;
    text-align: center;
    padding: 40px 48px;
}
.apsc-layout--stacked .apsc-apt__info-inner::before {
    margin: 0 auto 20px;
}
.apsc-layout--stacked article.apsc-apt + article.apsc-apt {
    margin-top: 40px !important;
}
.apsc-layout--stacked article.apsc-apt + article.apsc-apt::before {
    display: none;
}


/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media screen and (max-width: 960px) {
    /* Zigzag → stack on mobile */
    .apsc-layout--zigzag article.apsc-apt,
    .apsc-layout--zigzag article.apsc-apt.apsc-apt--right {
        flex-direction: column !important;
        min-height: auto !important;
    }
    .apsc-layout--zigzag .apsc-apt__image {
        flex: none !important;
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 16/10;
    }
    .apsc-layout--zigzag .apsc-apt__info {
        flex: none !important;
        width: 100% !important;
    }
    .apsc-layout--zigzag .apsc-apt__info-inner {
        padding: 32px 28px 36px;
        max-width: none;
    }

    /* Stacked overlay → below */
    .apsc-layout--stacked .apsc-apt__info {
        margin-top: 0;
        width: 100% !important;
        border-radius: 0;
        box-shadow: none;
    }

    .apsc-wrap h2.apsc-apt__title { font-size: 1.55rem !important; }
    .apsc-wrap .apsc-apt__info-inner { padding: 32px 24px 36px; }
}

@media screen and (max-width: 480px) {
    .apsc-wrap .apsc-apt__info-inner { padding: 24px 20px 30px; }
    .apsc-wrap h2.apsc-apt__title { font-size: 1.3rem !important; }
    .apsc-wrap p.apsc-apt__specs { font-size: .65rem !important; }
    .apsc-wrap .apsc-apt__info-inner::before { width: 28px; margin-bottom: 18px; }

    .apsc-layout--image-first .apsc-apt__info-inner,
    .apsc-layout--text-first .apsc-apt__info-inner,
    .apsc-layout--stacked .apsc-apt__info-inner {
        padding: 24px 18px 28px;
    }
}

@media print {
    .apsc-wrap article.apsc-apt { break-inside: avoid; border: 1px solid #ddd !important; }
    .apsc-wrap .apsc-apt__info { background: #fff !important; }
    .apsc-wrap .apsc-credit { display: none; }
}
