/* TULIP S1 V53 — page moods, drag viewers and popup lightboxes */

/* Shared anti-selection / smooth viewer behavior */
.tt-v33-activity-detail .ad51-viewer,
.tt-v33-activity-detail .ad51-viewer *,
.tt-resident-share-v52 .rs52-viewer,
.tt-resident-share-v52 .rs52-viewer * {
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
}
.tt-v33-activity-detail .ad51-viewer__stage,
.tt-resident-share-v52 [data-rs53-stage] {
    touch-action:pan-y;
    cursor:grab;
}
.tt-v33-activity-detail .ad51-viewer__stage.is-dragging,
.tt-resident-share-v52 [data-rs53-stage].is-dragging { cursor:grabbing; }
.tt-v33-activity-detail .ad51-viewer__stage img,
.tt-resident-share-v52 [data-rs53-stage] img,
.ad53-lightbox img,
.rs53-lightbox img {
    -webkit-user-drag:none;
    user-drag:none;
    pointer-events:none;
}

/* Activity detail: navy / amber editorial mood */
.tt-v33-activity-detail .inner-main {
    background:
        radial-gradient(circle at 88% 8%, rgba(225,187,112,.13), transparent 28%),
        radial-gradient(circle at 8% 30%, rgba(73,125,140,.13), transparent 26%),
        linear-gradient(180deg,#eaf1ef 0%,#f8f8f3 42%,#edf3f1 100%);
}
.tt-v33-activity-detail .v33-article-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 78% 18%,rgba(231,200,141,.24),transparent 31%),
        radial-gradient(circle at 10% 86%,rgba(83,142,151,.18),transparent 35%),
        linear-gradient(135deg,#e9f0ed 0%,#f6f0e4 56%,#e5efec 100%);
}
.tt-v33-activity-detail .v33-article-hero::before,
.tt-v33-activity-detail .v33-article-hero::after {
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
    border-radius:999px;
}
.tt-v33-activity-detail .v33-article-hero::before {
    width:440px;height:440px;right:-170px;top:-180px;
    border:1px solid rgba(23,57,74,.09);
    box-shadow:0 0 0 70px rgba(178,138,86,.035),0 0 0 138px rgba(23,57,74,.02);
}
.tt-v33-activity-detail .v33-article-hero::after {
    width:240px;height:240px;left:-110px;bottom:-120px;
    background:radial-gradient(circle,rgba(178,138,86,.13),rgba(178,138,86,0) 68%);
}
.tt-v33-activity-detail .v33-article-hero__media {
    box-shadow:0 30px 70px rgba(17,45,57,.15);
}

/* Timeline: green / gold memory-journal mood */
.tt-gallery-timeline-v52 .inner-main {
    background:
        radial-gradient(circle at 10% 10%,rgba(129,169,151,.12),transparent 26%),
        radial-gradient(circle at 90% 30%,rgba(199,161,98,.12),transparent 30%),
        linear-gradient(180deg,#eef4f0 0%,#fbfaf6 48%,#edf4f1 100%);
}
.tt-gallery-timeline-v52 .g51-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 24%,rgba(124,169,149,.19),transparent 29%),
        radial-gradient(circle at 82% 16%,rgba(210,173,111,.22),transparent 27%),
        linear-gradient(140deg,#eff5ef 0%,#fbf7ed 48%,#e8f1ee 100%);
}
.tt-gallery-timeline-v52 .g51-hero::after {
    content:"";
    position:absolute;
    z-index:-1;
    width:520px;height:520px;right:-250px;bottom:-320px;
    border-radius:50%;
    border:1px solid rgba(23,57,74,.08);
    box-shadow:0 0 0 74px rgba(178,138,86,.03),0 0 0 150px rgba(39,93,80,.025);
}
.tt-gallery-timeline-v52 .g51-hero__media {
    box-shadow:0 28px 66px rgba(18,52,59,.14);
}
.tt-gallery-timeline-v52 .g51-timeline-section {
    background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(240,246,243,.88));
}
.tt-gallery-timeline-v52 .g52-reveal.is-visible .g52-timeline-node::after {
    content:"";
    position:absolute;
    inset:-12px;
    border:1px solid rgba(178,138,86,.28);
    border-radius:999px;
    animation:g53MilestonePulse 1.15s ease-out both;
}
.tt-gallery-timeline-v52 .g51-timeline-card {
    transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,border-color .32s ease;
}
.tt-gallery-timeline-v52 .g51-timeline-card:hover {
    transform:translateY(-5px);
    box-shadow:0 28px 64px rgba(16,48,59,.12);
    border-color:rgba(178,138,86,.22);
}
@keyframes g53MilestonePulse {
    0%{opacity:0;transform:scale(.55)}
    45%{opacity:.8}
    100%{opacity:0;transform:scale(1.35)}
}

/* Resident sharing: warm ivory / terracotta community mood */
.tt-resident-share-v52 .inner-main {
    background:
        radial-gradient(circle at 8% 12%,rgba(206,170,117,.13),transparent 28%),
        radial-gradient(circle at 90% 25%,rgba(142,184,169,.12),transparent 28%),
        linear-gradient(180deg,#fbf7ef 0%,#f4f8f4 50%,#f8f2e9 100%);
}
.tt-resident-share-v52 .rs52-hero,
.tt-resident-share-v52 .rs52-detail-head {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%,rgba(222,184,119,.25),transparent 30%),
        radial-gradient(circle at 10% 90%,rgba(128,177,158,.16),transparent 32%),
        linear-gradient(135deg,#fffaf0 0%,#f3f8f3 58%,#f8efe2 100%);
}
.tt-resident-share-v52 .rs52-hero::after,
.tt-resident-share-v52 .rs52-detail-head::after {
    content:"✦";
    position:absolute;
    z-index:-1;
    right:40px;
    bottom:-28px;
    color:rgba(178,138,86,.08);
    font-size:180px;
    line-height:1;
    transform:rotate(12deg);
}

/* Event gallery popup: fixed frame, no new tab */
.ad53-lightbox[hidden],.rs53-lightbox[hidden]{display:none!important}
.ad53-lightbox,.rs53-lightbox {
    position:fixed;
    inset:0;
    z-index:100500;
    display:grid;
    place-items:center;
    padding:24px;
}
.ad53-lightbox__backdrop,.rs53-lightbox__backdrop {
    position:absolute;
    inset:0;
    background:rgba(4,15,23,.88);
    backdrop-filter:blur(8px);
}
.ad53-lightbox__dialog,.rs53-lightbox__dialog {
    position:relative;
    z-index:1;
    width:min(1280px,calc(100vw - 48px));
    height:min(84vh,820px);
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 58px;
    align-items:center;
    gap:16px;
    padding:22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:#071923;
    box-shadow:0 38px 100px rgba(0,0,0,.42);
}
.ad53-lightbox__figure,.rs53-lightbox__dialog figure {
    min-width:0;
    height:100%;
    margin:0;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:12px;
}
.ad53-lightbox__figure img,.rs53-lightbox__dialog figure img {
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    border-radius:20px;
    background:#0a202c;
    opacity:1;
    transition:opacity .2s ease,transform .25s ease;
}
.ad53-lightbox__figure img.is-loading,.rs53-lightbox__dialog figure img.is-loading {opacity:.4;transform:scale(.992)}
.ad53-lightbox__figure figcaption,.rs53-lightbox__dialog figcaption {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:42px;
    color:#fff;
}
.ad53-lightbox__figure figcaption strong,.rs53-lightbox__dialog figcaption strong {font-size:15px;font-weight:600}
.ad53-lightbox__figure figcaption span,.rs53-lightbox__dialog figcaption span {color:rgba(255,255,255,.7);font-size:13px;font-weight:700}
.ad53-lightbox__nav,.rs53-lightbox__nav,
.ad53-lightbox__close,.rs53-lightbox__close {
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    cursor:pointer;
}
.ad53-lightbox__nav,.rs53-lightbox__nav {width:54px;height:54px;border-radius:17px;font-size:34px}
.ad53-lightbox__close,.rs53-lightbox__close {position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:14px;font-size:26px;z-index:3}
html.ad53-lightbox-open,html.rs53-lightbox-open {overflow:hidden}

/* Viewer feels more tactile without changing the fixed frame */
.tt-v33-activity-detail .ad51-viewer__stage img,
.tt-resident-share-v52 .rs52-viewer__stage>img {
    will-change:opacity,transform;
}
.tt-v33-activity-detail .ad51-viewer__stage.is-dragging img,
.tt-resident-share-v52 [data-rs53-stage].is-dragging img {
    transition:none!important;
}

@media(max-width:820px){
    .ad53-lightbox,.rs53-lightbox{padding:10px}
    .ad53-lightbox__dialog,.rs53-lightbox__dialog{
        width:calc(100vw - 20px);
        height:min(82vh,680px);
        grid-template-columns:44px minmax(0,1fr) 44px;
        gap:8px;
        padding:14px;
        border-radius:22px;
    }
    .ad53-lightbox__nav,.rs53-lightbox__nav{width:42px;height:42px;border-radius:13px;font-size:28px}
    .ad53-lightbox__close,.rs53-lightbox__close{right:12px;top:12px;width:40px;height:40px}
    .tt-v33-activity-detail .v33-article-hero::before{width:300px;height:300px;right:-170px;top:-100px}
}
@media(prefers-reduced-motion:reduce){
    .tt-gallery-timeline-v52 .g52-reveal.is-visible .g52-timeline-node::after{animation:none}
    .tt-gallery-timeline-v52 .g51-timeline-card,
    .ad53-lightbox img,.rs53-lightbox img{transition:none!important}
}

/* Global inner-page mood separation. Each module keeps its own visual identity. */
.tt-notice-page .inner-main,
.tt-v33-notice-detail .inner-main {
    background:
        radial-gradient(circle at 84% 10%,rgba(111,151,183,.12),transparent 30%),
        linear-gradient(180deg,#edf4f7 0%,#fafbf9 56%,#eef4f6 100%);
}
.tt-notice-page .notice35-hero,
.tt-v33-notice-detail .v33-article-hero {
    background:
        radial-gradient(circle at 78% 15%,rgba(109,160,190,.18),transparent 30%),
        linear-gradient(135deg,#eaf3f7,#f7f6ef 62%,#edf4f6);
}
.tt-activity-journal-v39 .inner-main,
.tt-activity-vertical-v38 .inner-main,
.tt-activity-page .inner-main {
    background:
        radial-gradient(circle at 10% 12%,rgba(113,164,143,.12),transparent 27%),
        radial-gradient(circle at 90% 26%,rgba(196,155,91,.10),transparent 28%),
        linear-gradient(180deg,#eef5f1,#faf9f4 54%,#edf4f1);
}
.tt-activity-journal-v39 .aj39-hero,
.tt-activity-vertical-v38 .av38-intro,
.tt-activity-page .activity-page-hero {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%,rgba(214,176,111,.18),transparent 28%),
        radial-gradient(circle at 14% 84%,rgba(110,166,146,.15),transparent 30%),
        linear-gradient(140deg,#eef5ef,#fbf6eb 55%,#e9f2ef);
}
.tt-static-page .inner-main {
    background:linear-gradient(180deg,#f7f4ec 0%,#fbfbf8 48%,#f1f5f3 100%);
}
.tt-static-page .inner-hero {
    background:
        radial-gradient(circle at 82% 20%,rgba(183,146,92,.14),transparent 28%),
        linear-gradient(135deg,#f7f0e4,#edf4f1);
}
.tt-residents-v43 .inner-main {
    background:
        radial-gradient(circle at 12% 16%,rgba(105,160,143,.12),transparent 30%),
        linear-gradient(180deg,#eef5f1,#faf9f6 58%,#edf4f2);
}
.tt-residents-v43 .rv43-hero {
    background:
        radial-gradient(circle at 82% 15%,rgba(213,178,116,.19),transparent 26%),
        linear-gradient(135deg,#edf5ef,#f9f3e8);
}
.tt-public-news .inner-main,
.tt-public-news-detail .inner-main {
    background:linear-gradient(180deg,#f0f4f6,#fafafa 55%,#edf3f5);
}
.tt-public-news .tn56-hero,
.tt-public-news-detail .tn69-hero {
    background:
        radial-gradient(circle at 86% 14%,rgba(102,149,179,.14),transparent 28%),
        linear-gradient(135deg,#edf4f8,#f7f5ee);
}
.community-services-page .inner-main {
    background:
        radial-gradient(circle at 90% 12%,rgba(120,158,183,.10),transparent 30%),
        linear-gradient(180deg,#eff5f7,#fafbf9 55%,#eef4f5);
}

/* Soft decorative accent for common first hero/slide blocks under the header. */
.tt-notice-page .notice35-hero,
.tt-activity-journal-v39 .aj39-hero,
.tt-activity-vertical-v38 .av38-intro,
.tt-activity-page .activity-page-hero,
.tt-static-page .inner-hero,
.tt-residents-v43 .rv43-hero,
.tt-public-news .tn56-hero {
    box-shadow:inset 0 -1px 0 rgba(23,57,74,.06),0 18px 54px rgba(18,47,59,.04);
}
