/* ==========================================================
   Bell Tower Plaza
   Venue Space Profile
   ========================================================== */


/* ==========================================================
   Hero
   ========================================================== */

.venue-hero{
    position:relative;
    overflow:hidden;
    background:#18324b;
    color:#fff;
}

.venue-hero-image{
    position:relative;
    min-height:65vh;
    display:flex;
    align-items:center;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.venue-hero-overlay{
    width:100%;

    background:
        linear-gradient(
            90deg,
            rgba(18,47,73,.60) 0%,
            rgba(18,47,73,.46) 38%,
            rgba(18,47,73,.20) 68%,
            rgba(18,47,73,.05) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.08) 0%,
            rgba(0,0,0,.18) 100%
        );

    padding:180px 0 110px;
}

.venue-hero .container{
    position:relative;
    z-index:2;
}

.venue-hero-content{
    max-width:680px;
    margin-left:2rem;
}

.venue-eyebrow{
    display:inline-block;
    margin-bottom:1rem;
    color:#d7b46a;
    font-size:.9rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.venue-hero h1{
    margin:0 0 1.5rem;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(4rem,8vw,6.5rem);
    font-weight:500;
    line-height:.92;
    letter-spacing:-.04em;
    color:#fff;
}

.venue-hero p{
    max-width:620px;
    margin:0 0 2.75rem;
    color:rgba(255,255,255,.88);
    font-size:clamp(1.15rem,2vw,1.35rem);
    line-height:1.75;
    margin-bottom:3rem;

}

.venue-hero .btn{
    border-radius:999px;
    padding:1rem 2.5rem;
    font-weight:700;
}


/*==========================================================
Quick Facts
==========================================================*/

.venue-facts{
    position:relative;
    margin-top:-70px;
    z-index:30;
}

.venue-facts-card{
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:
        0 30px 80px rgba(0,0,0,.10);
}

.venue-fact{
    padding:2.75rem 1rem;
    text-align:center;
    border-right:1px solid #ececec;
    height:100%;
}

.venue-fact:last-child{
    border-right:none;
}

.venue-fact-label{
    display:block;
    margin-bottom:.65rem;
    font-size:.75rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#9a9a9a;
}

.venue-fact strong{
    display:block;
    font-family:"Cormorant Garamond", serif;
    font-size:2.2rem;
    font-weight:600;
    color:#18324b;
}


/* ==========================================================
   Global Section Spacing
   ========================================================== */

.venue-section{
    padding:7rem 0;
}

.venue-section-title{
    margin-bottom:2rem;
    font-family:"Cormorant Garamond",serif;
    font-size:3rem;
    color:#18324b;
}


/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width:991px){

    .venue-hero-overlay{
        padding:150px 0 100px;
    }

    .venue-hero h1{
        font-size:3.75rem;
    }

    .venue-facts{
        margin-top:-40px;
    }

}

@media (max-width:767px){

    .venue-hero-image{
        min-height:60vh;
    }

    .venue-hero-overlay{
        padding:130px 0 80px;
    }

    .venue-hero h1{
        font-size:3rem;
    }

    .venue-hero p{
        font-size:1.1rem;
    }

    .venue-facts{
        margin-top:0;
    }

    .venue-facts-card{
        border-radius:0;
    }

}


/*==========================================================
Story
==========================================================*/

.venue-story{
    padding:8rem 0;
    background:#fff;
}

.venue-section-eyebrow{
    display:inline-block;
    margin-bottom:1rem;
    color:#b58b41;
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.venue-section-title{
    margin-bottom:2rem;
    font-family:"Cormorant Garamond",serif;
    font-size:3.5rem;
    line-height:1;
    color:#18324b;
}

.venue-story-text{
    font-size:1.15rem;
    line-height:1.9;
    color:#555;
}

.venue-story-image{
    overflow:hidden;
    border-radius:20px;
    box-shadow:
        0 30px 80px rgba(0,0,0,.12);
}

.venue-story-image img{
    width:100%;
    display:block;
}



/*==========================================================
Layouts V2
==========================================================*/

.venue-layouts{
    background:#f7f4ee;
}

.venue-layout-v2-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:2rem;
    margin-top:4rem;
}

.venue-layout-v2-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    border:1px solid transparent;
    box-shadow:0 22px 60px rgba(0,0,0,.07);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.venue-layout-v2-card:hover{
    transform:translateY(-8px);
    border-color:#b58b41;
    box-shadow:0 34px 85px rgba(0,0,0,.13);
}

.venue-layout-preview{
    width:100%;
    min-height:360px;
    border:0;
    background:#fff;
    padding:.75rem .75rem 0;
    cursor:pointer;
    overflow:hidden;
}

.venue-layout-preview img{
    width:100%;
    height:360px;
    object-fit:contain;
    display:block;
    transition:transform .35s ease;
}

.venue-layout-v2-card:hover .venue-layout-preview img{
    transform:scale(1.035);
}

.venue-layout-v2-body{
    padding:1.75rem 2rem 2rem;
    text-align:center;
    border-top:1px solid #eee;
}

.venue-layout-v2-body h3{
    margin:0 0 .75rem;
    font-family:"Cormorant Garamond",serif;
    font-size:2.35rem;
    color:#18324b;
}

.venue-layout-v2-body p{
    margin:0 0 .35rem;
    color:#777;
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.venue-layout-v2-body strong{
    display:block;
    margin-bottom:1.35rem;
    font-family:"Cormorant Garamond",serif;
    font-size:2.75rem;
    line-height:1;
    color:#18324b;
}

.venue-layout-actions{
    display:flex;
    justify-content:center;
    gap:1.25rem;
    padding-top:.25rem;
    flex-wrap:wrap;
}

.venue-layout-link{
    border:0;
    background:transparent;
    color:#b58b41;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:.35rem .6rem;
    border-radius:999px;
    font-size:.78rem;
    letter-spacing:.02em;
}

.venue-layout-link:hover{
    background:#f7f4ee;
}

.venue-layout-modal .modal-content{
    border:0;
    border-radius:24px;
    overflow:hidden;
}

.venue-layout-modal .modal-header{
    padding:2rem;
    border-bottom:1px solid #eee;
}

.venue-layout-modal .modal-title{
    margin:0;
    font-family:"Cormorant Garamond",serif;
    font-size:2.5rem;
    color:#18324b;
}

.venue-layout-modal .modal-body{
    padding:2rem;
    background:#fff;
}

.venue-layout-modal .modal-body img{
    width:100%;
    max-height:72vh;
    object-fit:contain;
    display:block;
}

.venue-layout-modal .modal-footer{
    padding:1.5rem 2rem;
    border-top:1px solid #eee;
    justify-content:space-between;
}

.venue-modal-capacity{
    font-weight:700;
    color:#18324b;
}

@media (max-width:991px){
    .venue-layout-v2-grid{
        grid-template-columns:1fr;
    }

    .venue-layout-preview,
    .venue-layout-preview img{
        height:auto;
        min-height:0;
    }
}


/*==========================================================
Amenities
==========================================================*/

.venue-amenities{
    background:#fff;
}

.venue-amenities-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1rem;
}

.venue-amenity-item{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1.25rem 1.4rem;
    background:#f7f4ee;
    border-radius:16px;
    color:#18324b;
    font-weight:600;
}

.venue-amenity-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#18324b;
    color:#fff;
    font-size:.85rem;
    font-weight:700;
}

@media (max-width:767px){
    .venue-amenities-grid{
        grid-template-columns:1fr;
    }
}


/*==========================================================
Gallery
==========================================================*/

.venue-gallery{
    background:#fff;
}

.venue-gallery-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    grid-template-rows:260px 260px;
    gap:1.5rem;
    margin-top:4rem;
}

.gallery-0{
    grid-row:1 / span 2;
}

.venue-gallery-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:22px;
    display:block;
    transition:.35s ease;
}

.venue-gallery-grid img:hover{
    transform:scale(1.03);
}

.gallery-item{
    overflow:hidden;
    border-radius:22px;
}


/*==========================================================
Perfect For
==========================================================*/

.venue-perfect{
    background:#f7f4ee;
}

.venue-perfect-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1rem;
    margin-top:3rem;
}

.venue-perfect-pill{
    padding:16px 28px;
    background:#fff;
    border-radius:999px;
    box-shadow:0 18px 50px rgba(0,0,0,.08);
    font-weight:600;
    color:#18324b;
    transition:.25s ease;
}

.venue-perfect-pill:hover{
    transform:translateY(-3px);
}

/*==========================================================
Planning
==========================================================*/

.venue-planning{
    background:#f7f4ee;
}

.venue-planning-list{
    margin:2rem 0;
    padding:0;
    list-style:none;
}

.venue-planning-list li{
    margin-bottom:1rem;
    padding-left:2rem;
    position:relative;
    color:#18324b;
    font-weight:500;
}

.venue-planning-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:#b58b41;
    font-weight:700;
}

.venue-planning-image{
    overflow:hidden;
    border-radius:22px;
    box-shadow:0 30px 80px rgba(0,0,0,.12);
}

.venue-planning-image img{
    width:100%;
    display:block;
}


/*==========================================================
Related Spaces
==========================================================*/

.venue-related{
    background:#fff;
}

.venue-related-card{
    display:block;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 28px 80px rgba(0,0,0,.08);
    transition:.3s ease;
}

.venue-related-card:hover{
    transform:translateY(-8px);
}

.venue-related-image{
    aspect-ratio:16 / 10;
    overflow:hidden;
}

.venue-related-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.venue-related-content{
    padding:2rem;
}

.venue-related-content h3{
    margin:0 0 .75rem;
    font-family:"Cormorant Garamond",serif;
    font-size:2rem;
    color:#18324b;
}

.venue-related-content span{
    color:#b58b41;
    font-weight:600;
}


/*==========================================================
CTA
==========================================================*/

.venue-cta{
    padding:7rem 0;
    background:#18324b;
    color:#fff;
}

.venue-cta-inner{
    max-width:760px;
    margin:auto;
    text-align:center;
}

.venue-cta h2{
    margin:1rem 0 2rem;
    font-family:"Cormorant Garamond",serif;
    font-size:4rem;
    color:#fff;
}

.venue-cta p{
    margin:0 auto 2.5rem;
    max-width:650px;
    font-size:1.2rem;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}

/* ==========================================================
 * Space Profile
   ========================================================== */


.space-profile-hero{
    position:relative;
    min-height:82vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#18324b;
    color:#fff;
}

.space-profile-hero-bg{
    position:absolute;
    inset:0;
    background-image:url('/wp-content/themes/belltower-2026/assets/images/spaces/kern-room-hero.jpg');
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    z-index:1;
}

.space-profile-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(18,47,73,.88) 0%,
            rgba(18,47,73,.72) 38%,
            rgba(18,47,73,.34) 68%,
            rgba(18,47,73,.12) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.12) 0%,
            rgba(0,0,0,.22) 100%
        );
    z-index:2;
}

.space-profile-hero .container{
    position:relative;
    z-index:3;
}

.space-profile-hero-content{
    max-width:680px;
    padding:11rem 0 8rem;
}

.space-profile-hero h1{
    margin:1rem 0 1.5rem;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(4.5rem,8vw,7rem);
    font-weight:500;
    line-height:.9;
    letter-spacing:-.04em;
    color:#fff;
}

.space-profile-hero p{
    max-width:600px;
    margin:0 0 2.5rem;
    color:rgba(255,255,255,.86);
    font-size:clamp(1.15rem,2vw,1.35rem);
    line-height:1.75;
}

.space-profile-hero .btn-gold{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#d7b46a;
    color:#18324b;
    border:1px solid #d7b46a;
    border-radius:999px;
    padding:.95rem 2.4rem;
    font-weight:700;
    text-decoration:none;
}

