@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root {
    --vd-pink:#db365c;
    --vd-dark:#111827;
    --vd-muted:#68707d;
    --vd-border:#d6d9de;
    --vd-light:#f5f5f6;
    --vd-white:#fff;
}

.vd-page,.vd-page * {
    box-sizing:border-box
}

.vd-page {
    font-family: Poppins,sans-serif;
    color:var(--vd-dark);
    background:#fff;
    padding:18px 0 60px
}

.vd-container {
    width:min(1280px,calc(100% - 40px));
    margin:auto
}

.vd-breadcrumb {
    display:flex;
    gap:7px;
    align-items:center;
    font-size:12px;
    margin-bottom:11px
}

.vd-breadcrumb a {
    color:#111;
    text-decoration:none
}

/* =========================
   Main Navigation Tabs
========================= */

.vd-main-tabs {
    display:flex;
    width:100%;
    max-width:590px;
    border-bottom:1px solid #aeb4bc;
    margin:0 0 28px;
    background:#fff
}

.vd-main-tab {
    width:25%;
    border:0;
    border-bottom:2px solid transparent;
    background:transparent;
    padding:15px 8px;
    font: 500 17px Poppins;
    cursor:pointer
}

.vd-main-tab.is-active {
    color:var(--vd-pink);
    border-bottom-color:var(--vd-pink);
    font-weight:600
}

.vd-section {
    display:block;
    scroll-margin-top:28px
}

.vd-section + .vd-section {
    margin-top:34px
}

/* =========================
   Venue Details Section
========================= */

.vd-details-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(460px,1fr);
    gap:36px;
    align-items:start
}

.vd-details-column {
    padding-left:28px
}

.vd-title-row {
    display:flex;
    align-items:center;
    gap:14px
}

.vd-title-row h1 {
    font-size:25px;
    font-weight:500;
    margin:0 0 12px
}

.vd-avatar {
    width:38px;
    height:38px;
    border-radius:50%;
    background:#162b46;
    position:relative;
    flex:0 0 auto
}

.vd-avatar i {
    position:absolute;
    right:-3px;
    bottom:-2px;
    width:15px;
    height:15px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--vd-pink);
    color:white;
    font-size:8px;
    border:2px solid white
}

.vd-meta {
    display:flex;
    gap:13px;
    flex-wrap:wrap;
    font-size:13px
}

.vd-meta i {
    margin-right:5px
}

.vd-rating i {
    color:#ff9565
}

.vd-divider {
    border-top:1px solid #d2d5d9;
    margin:17px 0 18px
}

.vd-details-column h2,.vd-section-title,.vd-faq h2,.vd-location h2 {
    display:block;
    width:100%;
    font-size:18px;
    font-weight:500;
    margin:0 0 15px;
    color: rgba(0, 0, 0, 0.973);
}

.vd-spec-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px 42px
}

.vd-spec {
    display:flex;
    gap:10px;
    align-items:flex-start
}

.vd-spec>i {
    width:12px;
    font-size:12px;
    margin-top:3px
}

.vd-spec b {
    display:inline-block;
    text-transform:uppercase;
    font-size:12px;
    margin-bottom:5px
}

.vd-blue-label {
    background:#4473d4;
    color:#fff;
    padding:1px 3px
}

.vd-spec p {
    margin:0;
    font-size:16px;
    line-height:1.35
}

.vd-copy-block {
    margin-top:20px
}

.vd-copy-block h3 {
    display:flex;
    gap:9px;
    align-items:center;
    text-transform:uppercase;
    font-size:13px;
    font-weight:400;
    margin:0 0 7px
}

.vd-copy-block p {
    font-size:16px;
    line-height:1.08;
    margin:0 0 2px
}

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

.vd-gallery {
    border:1px solid #aeb4bb;
    border-radius:5px;
    padding:5px;
    position:relative;
    margin-top:36px;
    background:#fff
}

.vd-share {
    position:absolute;
    right:0;
    top:-27px;
    border:0;
    background:transparent;
    color:var(--vd-pink);
    font-size:12px;
    cursor:pointer
}

.vd-gallery-main,.vd-gallery-grid button {
    border:0;
    padding:0;
    background:transparent;
    cursor:pointer;
    overflow:hidden
}

.vd-gallery-main {
    display:block;
    width:100%;
    height:216px
}

.vd-gallery img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}

.vd-gallery-grid {
    display:grid;
    grid-template-columns:145px 1fr 1fr;
    height:138px;
    gap:2px;
    margin-top:2px
}

.vd-more {
    position:relative
}

.vd-more span {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:rgba(0,0,0,.35);
    color:#fff;
    font-size:23px;
    font-weight:700
}

/* =========================
   Venue Pricing Accordion
========================= */

.vd-halls {
    max-width:590px
}

.vd-hall {
    border:1px solid var(--vd-border);
    border-radius:5px;
    margin-bottom:9px;
    overflow:hidden
}

.vd-hall-head {
    width:100%;
    border:0;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:7px 19px;
    font-size:10px;
    cursor:pointer
}

.vd-hall-head i {
    transition:.2s
}

.vd-hall-body {
    display:none;
    grid-template-columns:1fr 1fr;
    gap:22px 55px;
    padding:12px 18px 18px;
    border-top:1px solid var(--vd-border)
}

.vd-hall.is-open .vd-hall-body {
    display:grid
}

.vd-hall.is-open .vd-hall-head i {
    transform:rotate(180deg)
}

.vd-hall-body>div {
    display:flex;
    gap:15px
}

.vd-hall-body>div>i {
    width:17px;
    margin-top:2px;
    text-align:center;
    font-size:13px
}

.vd-hall-body span {
    font-size:11px
}

.vd-hall-body b {
    display:block;
    text-transform:uppercase;
    font-size:10px;
    margin-bottom:8px
}

/* =========================
   FAQ Section
========================= */

.vd-faq {
    max-width:none;
    border-top:1px solid #ccd1d7;
    padding-top:18px;
    margin-top:28px
}

.vd-faq-item {
    border:1px solid #e3e5e8;
    border-radius:6px;
    background:#fafafa;
    overflow:hidden;
    margin-bottom:8px
}

.vd-empty-copy {
    margin:0;
    color:var(--vd-muted);
    font-size:14px
}

.vd-faq-item>button {
    width:100%;
    border:0;
    background:transparent;
    display:flex;
    justify-content:space-between;
    gap:20px;
    text-align:left;
    padding:13px 16px;
    font: 400 16px/1.45 Poppins;
    cursor:pointer
}

.vd-faq-item>button i {
    color:#ff5a7e;
    font-size:11px;
    transition:.2s
}

.vd-faq-item>div {
    display:none;
    padding:0 16px 14px;
    color:#5f6671;
    font-size:14px
}

.vd-faq-item p {
    margin:0
}

.vd-faq-item.is-open>div {
    display:block
}

.vd-faq-item.is-open>button i {
    transform:rotate(180deg)
}

/* =========================
   Menu Pricing Section
========================= */

.vd-menu-layout {
    display:grid;
    grid-template-columns:215px minmax(0,1fr);
    gap:28px;
    width:100%;
    max-width:none
}

.vd-menu-list {
    max-height:420px;
    overflow:auto;
    padding-right:13px
}

.vd-menu-option {
    width:100%;
    min-height:52px;
    margin-bottom:9px;
    border:0;
    border-radius:5px;
    background:#efeff0;
    text-align:left;
    position:relative;
    padding:10px 38px 9px 18px;
    cursor:pointer
}

.vd-menu-option span,.vd-menu-option b {
    display:block;
    font-size:10px
}

.vd-menu-option b {
    color:var(--vd-pink);
    margin-top:2px
}

.vd-menu-option i {
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
    color:var(--vd-pink)
}

.vd-menu-option.is-active {
    background:var(--vd-pink);
    color:#fff
}

.vd-menu-option.is-active b,.vd-menu-option.is-active i {
    color:#fff
}

.vd-menu-option.is-active:after {
    content:"";
    position:absolute;
    right:-12px;
    top:50%;
    transform:translateY(-50%);
    border-left:12px solid var(--vd-pink);
    border-top:10px solid transparent;
    border-bottom:10px solid transparent
}

.vd-menu-card {
    min-height:385px;
    background:#fff;
    border-radius:6px;
    box-shadow:0 8px 28px rgba(17,24,39,.09);
    display:grid;
    grid-template-columns:1.25fr .9fr;
    gap:25px;
    padding:28px 32px 18px
}

.vd-food {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px 42px
}

.vd-food h3 {
    font-size:10px;
    text-transform:uppercase;
    margin:0 0 7px
}

.vd-food ul {
    list-style:none;
    padding:0;
    margin:0;
    font-size:9px;
    line-height:1.8
}

.vd-total {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:12px;
    padding:18px 8px 0;
    margin-top:auto
}

.vd-total label {
    font-size:12px
}

.vd-total select {
    min-width:80px;
    border:1px solid #d9dee5;
    border-radius:9px;
    padding:8px 12px;
    background:#fff
}

.vd-total>div {
    margin-left:auto;
    text-align:center
}

.vd-total strong {
    display:block;
    color:var(--vd-pink);
    font-size:15px
}

.vd-total small {
    font-size:9px
}

.vd-calendar-column h3 {
    font-size:16px;
    font-weight:400;
    margin:0 0 22px
}

.vd-calendar {
    border-radius:10px;
    box-shadow:0 4px 15px rgba(25,31,42,.15);
    padding:8px 10px 11px
}

.vd-calendar header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px
}

.vd-calendar header button {
    width:35px;
    height:35px;
    border:0;
    border-radius:9px;
    background:#f5f5f5;
    cursor:pointer
}

.vd-calendar header b {
    font-size:12px
}

.vd-week,.vd-days {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
    text-align:center
}

.vd-week span {
    font-size:9px;
    text-decoration:underline;
    color:#718096
}

.vd-day {
    height:24px;
    border:0;
    background:transparent;
    border-radius:50%;
    font-size:9px;
    color:#74849d;
    cursor:pointer
}

.vd-day:hover,.vd-day.is-selected {
    background:var(--vd-pink);
    color:#fff
}

.vd-day:disabled {
    opacity:.35;
    cursor:default
}

.vd-check {
    width:100%;
    border:0;
    border-radius:22px;
    background:var(--vd-pink);
    color:#fff;
    padding:9px 20px;
    margin-top:36px;
    font: 500 12px Poppins;
    cursor:pointer
}

/* =========================
   Location Section
========================= */

.vd-location {
    max-width:590px
}

.vd-location h2 {
    text-decoration:none;
    margin:0 0 17px
}

.vd-location h3 {
    display:inline-block;
    font-size:17px;
    font-weight:500;
    line-height:1.2;
    margin:0 0 12px;
    text-decoration:underline;
    text-underline-offset:3px
}

.vd-map {
    height:330px;
    position:relative;
    overflow:hidden;
    border:1px solid #e5e5e5;
    background:
        linear-gradient(23deg,transparent 0 43%,rgba(244,199,61,.65) 44% 47%,transparent 48%),
        linear-gradient(151deg,transparent 0 40%,rgba(244,199,61,.72) 41% 45%,transparent 46%),
        linear-gradient(7deg,transparent 0 51%,rgba(109,179,219,.42) 52% 54%,transparent 55%),
        linear-gradient(82deg,transparent 0 45%,rgba(244,199,61,.48) 46% 49%,transparent 50%),
        linear-gradient(90deg,rgba(224,238,226,.8),rgba(244,244,239,.95));
    background-size:190px 145px,240px 190px,220px 135px,170px 150px,100% 100%
}

.vd-map:after {
    content:"";
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,.48) 43px 46px),repeating-linear-gradient(90deg,transparent 0 70px,rgba(255,255,255,.45) 71px 74px)
}

.vd-map i {
    display:none
}

.vd-location p {
    border-bottom:1px solid #d5d8dc;
    margin:0;
    padding:9px 0 13px;
    font-size:16px
}

.vd-location p i {
    margin-right:8px
}

/* =========================
   Reviews Section
========================= */

.vd-review-tabs {
    display:flex;
    max-width:590px;
    border-bottom:1px solid #c9ccd1;
    margin-bottom:18px
}

.vd-review-tabs button {
    width:50%;
    padding:13px 10px;
    border:0;
    border-bottom:2px solid transparent;
    background:transparent;
    font: 500 16px Poppins;
    cursor:pointer
}

.vd-review-tabs button.is-active {
    color:var(--vd-pink);
    border-bottom-color:var(--vd-pink)
}

.vd-review-panel {
    display:none;
    max-width:590px
}

.vd-review-panel.is-active {
    display:block
}

.vd-review-score {
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:23px
}

.vd-review-score strong i {
    color:var(--vd-pink)
}

.vd-review-score small {
    display:block;
    width:100%;
    margin-top:29px;
    margin-left:-128px;
    color:#7b8290;
    font-size:9px
}

.vd-review-score small i {
    color:var(--vd-pink)
}

.vd-category-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 31px
}

.vd-category-grid>div,.vd-google-bars>div {
    display:grid;
    grid-template-columns:120px 1fr 55px;
    align-items:center;
    gap:12px;
    font-size:10px
}

.vd-category-grid i,.vd-google-bars i {
    height:2px;
    background:#d2d5d9
}

.vd-category-grid i b,.vd-google-bars i b {
    display:block;
    height:100%;
    background:var(--vd-pink)
}

.vd-category-grid strong {
    font-size:15px;
    font-weight:500
}

.vd-review-count {
    font-size:12px;
    font-weight:400;
    border-bottom:1px solid #b9bec5;
    padding:28px 0 12px;
    margin:0
}

.vd-review-card {
    display:flex;
    gap:11px;
    padding:16px 4px
}

.vd-review-avatar {
    width:31px;
    height:31px;
    border-radius:50%;
    background:#b9bcc1;
    color:#fff;
    display:grid;
    place-items:center;
    flex:0 0 auto
}

.vd-review-card>div:last-child {
    flex:1
}

.vd-review-card header {
    display:flex;
    justify-content:space-between;
    font-size:12px
}

.vd-review-card header small {
    display:block;
    font-size:9px
}

.vd-review-card header strong i {
    color:var(--vd-pink)
}

.vd-review-card p {
    font-size:11px;
    margin:8px 0 17px
}

.vd-review-card em {
    display:inline-flex;
    align-items:center;
    gap:18px;
    background:#fde8ee;
    border-radius:15px;
    padding:6px 16px 6px 7px;
    font-size:8px;
    font-style:normal
}

.vd-review-card em i {
    color:#ff7d9d;
    font-size:17px
}

.vd-google-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:19px
}

.vd-google-head b,.vd-google-head span {
    display:block
}

.vd-google-head span i {
    color:#ff9b68
}

.vd-google-head em {
    font-size:12px;
    color:#7c8594
}

.vd-google-bars {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px 40px
}

.vd-google-bars>div {
    grid-template-columns:62px 1fr 52px;
    font-size:13px
}

.vd-google-star {
    margin-left:8px
}

.vd-google-star i {
    color:#ff9466
}

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

.vd-lightbox {
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(3,7,18,.92);
    padding:30px
}

.vd-lightbox.is-open {
    display:flex
}

.vd-lightbox img {
    max-width:min(1080px,88vw);
    max-height:84vh;
    border-radius:6px;
    object-fit:contain
}

.vd-lightbox button {
    position:absolute;
    border:0;
    background:rgba(255,255,255,.15);
    color:#fff;
    cursor:pointer
}

.vd-lightbox-close {
    right:25px;
    top:16px;
    background:transparent!important;
    font-size:38px
}

.vd-lightbox-prev,.vd-lightbox-next {
    top:50%;
    width:46px;
    height:46px;
    border-radius:50%;
    transform:translateY(-50%)
}

.vd-lightbox-prev {
    left:22px
}

.vd-lightbox-next {
    right:22px
}

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

@media (max-width: 980px) {
    /* =========================
   Venue Details Section
========================= */

.vd-details-layout {
        grid-template-columns:1fr
    }

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

.vd-gallery {
        margin-top:0
    }

    .vd-details-column {
        padding-left:0
    }

    /* =========================
   Menu Pricing Section
========================= */

.vd-menu-layout {
        grid-template-columns:1fr
    }

    .vd-menu-list {
        display:flex;
        gap:8px;
        overflow:auto;
        max-height:none;
        padding-bottom:4px
    }

    .vd-menu-option {
        min-width:180px;
        margin:0
    }

    .vd-menu-option.is-active:after {
        display:none
    }
}

@media (max-width: 720px) {
    .vd-container {
        width:calc(100% - 24px)
    }

    /* =========================
   Main Navigation Tabs
========================= */

.vd-main-tabs {
        max-width:none;
        overflow-x:auto
    }

    .vd-main-tab {
        min-width:100px;
        font-size:15px
    }

    .vd-spec-grid {
        grid-template-columns:1fr
    }

    .vd-gallery-main {
        height:190px
    }

    .vd-gallery-grid {
        grid-template-columns:repeat(3,1fr);
        height:95px
    }

    .vd-hall-body {
        grid-template-columns:1fr
    }

    .vd-menu-card {
        grid-template-columns:1fr;
        padding:22px 18px
    }

    .vd-food {
        grid-template-columns:1fr 1fr
    }

    .vd-category-grid,.vd-google-bars {
        grid-template-columns:1fr
    }

    .vd-faq,
    .vd-halls,
    .vd-location,
    .vd-review-panel,
    .vd-review-tabs {
        max-width:none
    }
}

@media (max-width: 480px) {
    .vd-title-row {
        align-items:flex-start
    }

    .vd-title-row h1 {
        font-size:22px
    }

    .vd-meta {
        display:grid;
        gap:7px
    }

    .vd-food {
        grid-template-columns:1fr
    }

    .vd-total {
        grid-column:auto;
        flex-wrap:wrap
    }

    .vd-total>div {
        width:100%;
        margin:10px 0 0;
        text-align:left
    }

    .vd-category-grid>div {
        grid-template-columns:100px 1fr 48px
    }
}
