@import url('./_variables.css');
/* --------------------------------------------------
   BASE STYLES
-------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--font-family-base);
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    line-height: var(--line-height-relaxed);
    margin: 0;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-base);
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

p {
    margin: 0 0 var(--space-md);
    color: var(--color-text-muted);
}

section {
    padding: var(--space-4xl) 0;
    position: relative;
    background-color: var(--color-bg-primary);
}

.fw-400{
    font-weight: var(--font-weight-regular);
}
.fw-500{
    font-weight: var(--font-weight-medium);
}
.fw-600{
    font-weight: var(--font-weight-semibold);
}
.fw-700{
    font-weight: var(--font-weight-bold);
}
.title-case{
    text-transform: capitalize;
}
.section-title-5xl{
    font-size: var(--font-size-5xl) !important;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    line-height: var(--line-height-tight);
}
.size-12{
    font-size: 12px !important;
}
.size-14{
    font-size: 14px;
}
.size-18{
    font-size: 18px;
}
.size-20{
    font-size: 20px;
}
.size-4xl{
    font-size: var(--font-size-4xl);
}
.size-5xl{
    font-size: var(--font-size-5xl);
}

.font-jost{
    font-family: var(--font-family-base);
}
.font-pd {
    font-family: var(--font-family-heading);
}
.font-merriweather{
    font-family: var(--font-family-serif);
}
.font-lora{
    font-family: var(--font-family-alt);
}

.color-muted{
    color: var(--color-text-muted);
}
.color-primary{
    color: var(--color-text-primary);
}
.color-secondary{
    color: var(--color-text-secondary);
}
.color-gold{
    color: var(--color-gold);
}
.color-gold-bold{
    color: var(--color-gold-bold);
}
.diamond-color{
    color:#0C2B23 !important;
}
.text-white-80{
    color:#FFFFFFCC;
}

.diamond,
.diamond-separator,
.diamond-icon {
    color: var(--color-gold);
    font-size: var(--font-size-sm);
    letter-spacing: 0.3em;
}

.title-italic {
    font-style: italic;
}

.title-normal {
    font-style: normal;
}

.lotus-icon {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-md);
}

.flower-icon {
    width: 80px;
    height: 100px;
    object-fit: contain;
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-3xl);
}

.section-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    line-height: var(--line-height-tight);
    margin-bottom: var(--space-sm);
}

.section-subtitle {
    font-size: 12px;
    letter-spacing: 8px;
    text-transform: uppercase;
    font-weight: var(--font-weight-regular);
    color: var(--color-text-secondary);
    font-family: var(--font-family-base);
}

.cta-wrap {
    text-align: center;
}
.reserve-button{
    background-color: transparent !important;
}

.cta-button,
.whats-on-button,
.reserve-button,
.events-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: 24px 20px;
    border: 1px solid var(--color-gold);
    background-color: #031611;
    color: var(--color-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    border-radius: var(--border-radius-sm);
    transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}

.cta-button:hover,
.reserve-button:hover,
.events-cta:hover {
    background-color: var(--color-gold-glow);
    color: var(--color-gold-soft);
    border-color: var(--color-gold-soft);
}

.whats-on-button {
    color: var(--color-text-primary);
}

.whats-on-button:hover {
    color: var(--color-text-primary);
    background-color: var(--color-gold-glow);
    border-color: var(--color-gold);
}

.arrow-icon {
    font-size: var(--font-size-lg);
    color: var(--color-gold);
}

/* ----------------------
   HEADER STYLES
----------------------- */
.main-header {
    background-color: var(--color-bg-secondary);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.main-header .container {
    max-width: var(--max-width-container);
}

/* Announcement bar – uses Bootstrap + theme classes; only bar skin */
.ish-announcement-bar {
    background-color: var(--color-bg-secondary);
    border-bottom-color: var(--color-border-soft) !important;
}

.header-top {
    padding: var(--space-md) 0 var(--space-md);
    background-color: var(--color-bg-secondary);
}

.header-left,
.header-right {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    position: relative;
    padding-bottom: var(--space-sm);
    flex: 1;
}

.header-left::after,
.header-right::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-gold);
    opacity: 0.4;
}

.header-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    min-width: 200px;
}

.logo {
    height: 60px;
    width: auto;
}

.info-text {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    letter-spacing: 0.08em;
}

.social-link {
    color: var(--color-text-white-30);
    font-weight: var(--font-weight-normal);
}

.social-link:hover {
    color: var(--color-gold);
}

.header-separator {
    height: 1px;
    width: 100%;
    background-color: var(--color-gold);
    opacity: 0.3;
}

.main-nav {
    background-color: var(--color-bg-secondary);
    padding: 20px 0;
}

.header-top .row {
    row-gap: var(--space-sm);
}

.navbar-brand {
    padding: 0;
    margin-right: var(--space-sm);
}

.nav-list {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
}

.nav-link {
    color: var(--color-text-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.15em;
    text-transform: capitalize;
    padding: var(--space-xs) var(--space-md);
    display: block;
}

.nav-link:hover{
    color: var(--color-gold);
}

.nav-diamond {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --------------------------------------------------
   HERO SECTION
-------------------------------------------------- */

.hero-image-column {
    position: relative;
}

.hero-image-wrapper,
.whats-on-image-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background-color: var(--color-bg-primary); */
    min-height: 700px;
}

.hero-image-wrapper {
    --hero-dot-active: var(--color-gold-light);
    --hero-dot-inactive: var(--color-white-faint);
    --dot-1: var(--hero-dot-active);
    --dot-2: var(--hero-dot-inactive);
    --dot-3: var(--hero-dot-inactive);
}

.hero-image-wrapper::before {
    content: "";
    position: absolute;
    left: var(--space-lg);
    top:35%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #B58C67;
    box-shadow: 0 18px 0 #B58C67, 0 36px 0 #B58C67;
    z-index: 3;
    pointer-events: none;
}

.hero-swiper {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
    overflow: visible;
}

.hero-slide {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    min-height: 700px;
}

.hero-image-container,
.whats-on-image-container {
    position: relative;
    /* padding: var(--space-sm); */
    z-index: 99;
    /* top: 24px;
    left: 48px;
    width: calc(100% + var(--frame-offset));
    height: 100%;
    border: 1px solid var(--color-gold); */
}

.hero-image-container::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 30px;
    width: calc(92% + var(--frame-offset));
    height: 100%;
    border: 1px solid var(--color-gold);
    z-index: 99;
    pointer-events: none;
    
}

.whats-on-image-container::before {
    content: "";
    position: absolute;
    top: 32px;
    right: 39px;
    width: 559px;
    height: calc(100% + 0px);
    border: 1.5px solid var(--color-gold);
    z-index: 99;
    pointer-events: none;
}

.hero-image-bg,
.whats-on-image {
    width: 820px;
    max-width: 100%;
    height: 600px;
    object-fit: cover;
    position: relative;
    z-index: 2;
}

.whats-on-image {
    width: 559px;
    height: auto;
}

.hero-content-overlay {
    position: absolute;
    transform: translateX(100%);
    z-index: 99;
    display: flex;
    align-items: center;
    min-height: 700px;
    /* background-color: var(--color-bg-primary); */
}

.hero-content-wrapper {
    width: 100%;
    
    position: relative;
}

.hero-content {
    position: relative;
    width: 100%;
    z-index: 2;
}

/* .hero-content::before {
    content: "";
    position: absolute;
    left: -40px;
    top: var(--space-lg);
    bottom: var(--space-lg);
    width: 1px;
    background-color: var(--color-gold);
    opacity: 0.6;
} */

.hero-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-hero);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    margin-bottom: var(--space-xl);
    line-height: var(--line-height-tight);
}

.hero-description {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    max-width: 340px;
    margin: 0 0 40px 100px;
    text-align: left;
}
.button-wrap{
    margin: 0 0 40px 100px;
}

/* --------------------------------------------------
   SEASON'S SPECIALS
-------------------------------------------------- */
.specials-section {
    background-color: var(--color-bg-primary);
    background-image: url('../images/Minimal Pattern - 10 - B.png');
}

.special-item {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

.specials-grid {
    align-items: stretch;
}

.special-image-wrapper {
    width: 287px;
    height: 423px;
    border-radius: 50% 50% 0 0;
    background-color: var(--color-surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-md);
    flex-shrink: 0;
}

.special-image-wrapper.image-small {
    width: 229px;
    height: 298px;
}

.special-image {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    transition: transform var(--transition-base);
}

.special-item:hover .special-image {
    transform: scale(1.03);
}

.special-title {
    font-family: var(--font-family-serif);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-gold-light);
}

.special-metric {
    font-size: var(--font-size-sm);
}

/* --------------------------------------------------
   QUOTE SECTION
-------------------------------------------------- */
.quote-section {
    background-image: url('../images/background.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    text-align: center;
    padding-top: var(--space-5xl);
}

.quote-content {
    margin: 0 auto;
    padding: 0 var(--space-lg);
}

.quote-top-icon,
.quote-bottom-icon {
    margin: 64px 0;
    display: flex;
    justify-content: center;
}

.quote-icon-img {
    max-width: 100%;
    height: auto;
}

.quote-text {
    font-family: var(--font-family-alt);
    font-size: var(--font-size-3xl);
    color: var(--color-gold);
    line-height: var(--line-height-snug);
}

/* --------------------------------------------------
   WHAT'S ON SECTION
-------------------------------------------------- */
.whats-on-section {
    padding: 0;
    background-color: var(--color-bg-secondary);
}

.whats-inner{
    background-color: var(--color-bg-secondary);
}

.whats-on-content {
    display: flex;
    align-items: center;
    min-height: 600px;
}

.whats-on-wrapper {
    width: 100%;
}

.whats-on-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-3xl);
    color: var(--color-gold-light);
    margin-top: -40px;
}

.whats-on-subtitle {
    font-size: var(--font-size-xs);
    letter-spacing: 6px;
    color: var(--color-text-secondary);
}

.whats-on-flower-icon {
    width: 80px;
    height: 100px;
    object-fit: contain;
}

.event-title {
    font-family: var(--font-family-serif);
    font-size:22px;
    letter-spacing: 0.72px;
    color: var(--color-text-primary);
}

.event-date {
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
}

.event-time {
    color: var(--color-gold);
    font-size: var(--font-size-base);
}

.contact-question {
    font-size: 16px;
    color: #B3AD8B;
    letter-spacing: 0.64px;
    
}

.contact-email {
    font-size: var(--font-size-base);
    color: var(--color-gold);
    text-decoration: underline;
}

.contact-email:hover {
    color: var(--color-gold-soft);
}

/* --------------------------------------------------
   EVENTS SECTION
-------------------------------------------------- */
.events-section {
    background-color: var(--color-bg-primary);
    padding-top: 120px;
}

.section-header-1 {
    text-align: left;
    margin-bottom: var(--space-xl);
}

.section-header-1 .lotus-icon {
    justify-content: flex-start;
}

.lotus-title {
    margin-top: -40px ;
}

.events-subheading {
    color: var(--color-text-secondary);
    letter-spacing: 0.8px;
}

.events-description {
    color: var(--color-text-muted);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-sm);
    max-width: 560px;
}

.events-images-col {
    padding: 31px 0;
    border-top: 1px solid var(--color-gold);
    border-bottom: 1px solid var(--color-gold);
}

.events-images {
    display: flex;
    gap: var(--space-sm);
    justify-content: center;
    align-items: center;
}

.events-image {
    width: 50%;
    height: auto;
    object-fit: cover;
}

.gold-line {
    border: none;
    height: 1px;
    width: 80%;
    margin: var(--space-sm) auto;
    background-color: var(--color-gold);
    opacity: 0.2;
}

.caption-text {
    color: #F5C84F;
    letter-spacing: 4.16px;
    font-family: var(--font-family-serif);
    font-size:16px;
}

/* --------------------------------------------------
   BLOGS SECTION
-------------------------------------------------- */
.blogs-section {
    background-color: var(--color-bg-primary);
    padding-top: var(--space-5xl);
    padding-bottom: var(--space-5xl);
}

.blogs-row {
    display: flex;
    align-items: stretch;
}

.blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: left;
}

.blog-image-wrapper {
    overflow: hidden;
}

.blog-image {
    height: 240px;
    width: 100%;
    object-fit: cover;
    transition: transform var(--transition-base);
}

.swiper {
    overflow: hidden;
}

.swiper-slide {
    height: auto;
}

.specials-pagination,
.stories-pagination,
.press-pagination {
    margin-top: var(--space-lg);
}

.swiper-pagination-bullet {
    background-color: var(--color-gold);
    opacity: 0.4;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    height:10px;
    width:10px;
}

.blog-card:hover .blog-image {
    transform: scale(1.05);
}

.blog-text {
    font-family: var(--font-family-serif);
    font-size: var(--font-size-base);
    color: var(--color-text-secondary);
    line-height: var(--line-height-relaxed);
    flex-grow: 1;
}

.blog-meta {
    display: flex;
    gap: var(--space-md);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    letter-spacing: 0.05em;
}

.blog-read-time::after {
    content: "|";
    margin-left: var(--space-md);
}

/* --------------------------------------------------
   PRESS SECTION
-------------------------------------------------- */
.press-section {
    background-color: var(--color-bg-primary);
    background-image: url('../images/Minimal\ Pattern\ -\ 10\ -\ B.png');
}

.press-section .container {
    position: relative;
    z-index: 1;
}
.in-the-press{
    margin-top: -50px;
}

.press-card {
    flex: 1;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    padding: 40px 36px;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    transition: border-color var(--transition-base);
    text-align: left;
}

.press-card:hover {
    border-color: var(--color-border);
}

.press-logo {
    max-width: 120px;
    border: 1px solid var(--color-gold);
    padding: var(--space-md);
}

.press-quote {
    font-family: var(--font-family-serif);
    color: var(--color-text-accent);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-base);
}

/* --------------------------------------------------
   RESERVE SECTION
-------------------------------------------------- */
.reserve-section {
    padding: var(--space-5xl) 0;
}

.reserve-bg,
.reserve-overlay {
    position: absolute;
    inset: 0;
}

.reserve-bg {
    z-index: 0;
}

.reserve-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reserve-overlay {
    background-color: var(--color-overlay);
    z-index: 1;
}

.reserve-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.breaker{
    border: 1px solid var(--color-gold);
    height:55px;
    width: 1px;
    margin: 32px 0;
    opacity: 1; 
}

.reserve-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-3xl);
    color: var(--color-gold-light);
}

.reserve-subtitle {
    letter-spacing: 0.35em;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    font-size: var(--font-size-xs);
    margin-bottom: var(--space-2xl);
}

.decorative-line {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ----------------------
   FOOTER STYLES
----------------------- */
.footer-section {
    background-image: url('../images/back-ground-footer.png');
    background-size: cover;
    background-position: center;
    padding-top: var(--space-4xl);
    color: var(--color-text-secondary);
}

.footer-content {
    row-gap: var(--space-2xl);
}

.footer-column-header {
    margin-bottom: var(--space-sm);
}

.footer-diamond {
    display: inline-block;
    color: var(--color-gold);
    margin-bottom: var(--space-xl);
}
.footer-diamond-menu{
    display: inline-block;
    color: var(--color-text-muted);
    height: 8px;
    width: 8px;
    margin-right: 8px;
}

.footer-title {
    font-family: var(--font-family-alt);
    color: var(--color-text-primary);
    margin: 0 0 var(--space-2xl);
}

.footer-description {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
}

.footer-logo {
    width: 80px;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-xs);
}

.social-sep {
    color: var(--color-white-faint);
}

.footer-contact,
.footer-hours {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.newsletter-input {
    padding: 20px;
    background-color: #163433;
    box-shadow: inset 0 0 0 0px #8F8F8F80;
    border: 1px solid var(--color-gold-strong);
    color: var(--color-text-secondary);
    font-size: var(--font-size-base);
}

.newsletter-input::placeholder {
    color: var(--color-white-placeholder);
}

.newsletter-input:focus {
    outline: none;
    border-color: var(--color-gold);
    background-color: var(--color-green-surface-strong);
}

.newsletter-button {
    padding: 17px var(--space-md);
    background-color: var(--color-gold);
    color: var(--color-text-primary);
    border: none;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.1em;
    font-size: 14px;
}

.newsletter-button:hover {
    background-color: var(--color-gold-soft);
}

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-lg);
    padding: var(--space-2xl) 0;
}

.footer-nav-link {
    font-size: var(--font-size-sm);
    letter-spacing: 0.1em;
    color: var(--color-text-primary);
}

.footer-nav-link:hover {
    color: var(--color-gold);
}

.footer-bottom {
    text-align: center;
}

.footer-line {
    border: none;
    height: 1px;
    background-color: var(--color-white-line);
}

.footer-logo-center {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}

.footer-logo-center::before,
.footer-logo-center::after {
    content: "";
    position: absolute;
    top: 50%;
    width: calc(50% - 80px);
    height: 1px;
    background-color: var(--color-gold);
    opacity: 0.4;
}

.footer-logo-center::before {
    left: 0;
}

.footer-logo-center::after {
    right: 0;
}

.footer-center-logo {
    width: 60px;
}

.footer-copyright {
    font-size: var(--font-size-sm);
}

/* --------------------------------------------------
   ABOUT PAGE
-------------------------------------------------- */
.about-banner {
    width: 100%;
    height: 833px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Dark gradient on top with image at 13% opacity behind it */
    background-image: 
        linear-gradient(135deg, rgba(2, 18, 13, 0.87) 0%, rgba(2, 22, 17, 0.85) 50%, rgba(2, 18, 13, 0.87) 100%),
        url('../images/about-page-background.webp');
    background-blend-mode: darken;
    opacity: 1;
}

.about-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* keep overlay transparent because gradient already provides the tint */
    background-color: transparent;
}

.about-content {
    position: relative;
    z-index: 10;
    text-align: center;
    color: white;
    padding: 0 20px;
    max-width: 1100px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.about-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-hero);
    font-weight: var(--font-weight-bold);
    color: var(--color-amber);
    margin-bottom: var(--space-xl);
}

.about-subtitle {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    max-width: 720px;
    margin: 0 auto;
}

.about-scroll-icon {
    margin-top: var(--space-xl);
    color: var(--color-gold-light);
    animation: bounce 2s infinite;
}

.about-main {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-secondary);
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
}

.how-section-bg {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-secondary);
}

.how-section h2 {
    font-family: var(--font-family-heading);
    font-size: 4rem;
    color: var(--color-gold-light);
    font-style: italic;
}

.how-section p {
    color: var(--color-text-muted);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-base);
}

/* --------------------------------------------------
   MEET OUR TEAM SECTION
-------------------------------------------------- */
.press-logo-wrapper{
    max-width: 415px;
}

.chef-name{
    font-size: var(--font-size-lg);
    color: var(--color-text-gold-light);
}
.founder-images-wrapper {
    border-top: 2px solid var(--color-border-muted);
    border-bottom: 2px solid var(--color-border-muted);
    padding: 35px 0;
}

.founder-images {
    display: flex;
    gap: var(--space-md);
}

.founder-images img {
    height: 360px;
    object-fit: cover;
    border-radius: var(--border-radius-sm);
}

.founder-caption {
    letter-spacing: 4.16px;
    font-size: var(--font-size-base);
}

.team-quote-section {
    padding: 80px;
    background-color: #041312;
    position: relative;
}

.team-quote-bg {
    position: relative;
    width: 100%;
    min-height: 700px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../images/background-3.webp');
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.team-quote-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(4, 19, 18, 0.3) 0%, rgba(4, 19, 18, 0.6) 50%, rgba(4, 19, 18, 0.8) 100%);
    z-index: 1;
}

.team-quote-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: 0 var(--space-lg) var(--space-5xl);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.team-quote-text-wrapper {
    text-align: center;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

.team-quote-text {
    font-family: var(--font-family-heading);
    font-size: 36px;
    line-height: 1.4;
    color: var(--color-amber);
    margin-bottom: var(--space-xl);
    font-weight: var(--font-weight-regular);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.quote-bottom-line {
    display: flex;
    justify-content: center;
    margin-top: var(--space-lg);
}

.bottom-line-img {
    width: 220px;
    height: auto;
    opacity: 0.9;
}

@keyframes bounce {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
}

/* --------------------------------------------------
   PRIVATE EVENTS PAGE
-------------------------------------------------- */

/* Private Event Banner */
.private-event-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* .private-event-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(2, 18, 13, 0.85) 0%, rgba(2, 22, 17, 0.8) 50%, rgba(2, 18, 13, 0.85) 100%);
    z-index: 1;
} */

.private-event-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: var(--color-text-primary);
    padding: var(--space-5xl) var(--space-lg);
    max-width: 880px;
    margin: 0 auto;
}

.private-event-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    margin-bottom: var(--space-lg);
    line-height: var(--line-height-tight);
}

.private-event-description {
    font-size: var(--font-size-lg);
    color: #FFFDF1;
    line-height: var(--line-height-relaxed);
}

/* Event Types Section */
.event-types-section {
    background-color: var(--color-bg-primary);
    background-image: url('../images/Minimal\ Pattern\ -\ 10\ -\ B.png');
    padding: var(--space-4xl) 0;
}
.event-types-section-title{
    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-medium);
    
}

.event-types-description {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    color: var(--color-text-muted);
    max-width: 590px;
    margin: 0 auto;
    text-align: center;
}

.event-types-grid {
    margin-top: var(--space-xs);
}

.event-type-card {
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.event-type-card .diamond-separator {
    position: relative;
  }
  
  .event-type-card .diamond-separator::before,
  .event-type-card .diamond-separator::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 80px; /* line length */
    height: 2px;
    background-color: #b8a156;
  }
  
  .event-type-card .diamond-separator::before {
    right: 0; /* left side line */
    margin-right: 20px;
  }
  
  .event-type-card .diamond-separator::after {
    left: 0; /* right side line */
    margin-left: 15px;
  }
  


.event-type-image-wrapper {
    width: 100%;
    height: 420px;
    overflow: hidden;
    margin-bottom: var(--space-lg);
    border-radius: var(--border-radius-sm);
}

.event-type-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.event-type-card:hover .event-type-image {
    transform: scale(1.05);
}

.event-type-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
}

.event-type-description {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

/* Your Moment Section */
.your-moment-section {
    background-color: #041312;
    padding: var(--space-5xl) 0;
}

.moment-masonry-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas:
        "item1 item2"
        "item4 item2"
        "item4 item3";
    gap: var(--space-md);
    height: 100%;
}

.masonry-item {
    overflow: hidden;
    border-radius: var(--border-radius-sm);
    position: relative;
}

.masonry-item-1 {
    grid-area: item1;
    min-height: 220px;
}

.masonry-item-2 {
    grid-area: item2;
    min-height: 340px;
}

.masonry-item-3 {
    grid-area: item3;
    min-height: 200px;
}

.masonry-item-4 {
    grid-area: item4;
    min-height: 380px;
}

.masonry-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.moment-content {
    padding-left: var(--space-2xl);
}

.moment-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    line-height: var(--line-height-tight);
}

.moment-description {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    line-height: var(--line-height-relaxed);
}

.moment-timing-list {
    margin: 0;
}

/* Testimonials Section */
.testimonials-section {
    background-color: var(--color-bg-primary);
    background-image: url('../images/Minimal\ Pattern\ -\ 10\ -\ B.png');
    padding: var(--space-4xl) 0;
}

.testimonials-swiper {
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: var(--space-3xl);
}

.testimonial-card {
    text-align: center;
    padding: var(--space-2xl);
    padding-bottom: 0 !important;
}

.testimonial-quote {
    font-size: 40px;
    color: var(--color-text-primary);
    line-height: 1.3;
    margin-bottom: var(--space-xl);
}

.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
}

.testimonial-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-name {
    font-size: var(--font-size-base);
    color: var(--color-text-primary);
    font-family: var(--font-family-base);
}

/* Pagination container */
.testimonials-pagination {
    position: relative;
    display: flex;
    justify-content: space-between;
    max-width: 110px;
    margin: 50px auto 0;
    padding-top: 10px;
}

/* Full grey base line */
.testimonials-pagination::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + 10px);
    height: 1px;
    background: rgba(255,255,255,0.25);
    border-radius: 999px;
}

/* Each number */
.testimonials-pagination .swiper-pagination-bullet {
    position: relative;
    background: transparent;
    font-size: 22px;
    color: rgba(255,255,255,0.4);
    opacity: 1;
    cursor: pointer;
}

/* Gold line EXACTLY above active number */
.testimonials-pagination .swiper-pagination-bullet-active::before {
    content: "";
    position: absolute;
    top: -10px;
    left: -3px;
    width: 300%;
    height: 1px;
    background: var(--color-gold);
    border-radius: 999px;
}

/* Active number color */
.testimonials-pagination .swiper-pagination-bullet-active {
    color: #ffffff;
}

/* Numbers */
.testimonials-pagination .swiper-pagination-bullet {
    background: transparent;
    font-size: 14px;
    margin:0 !important;
    color: rgba(255,255,255,0.4);
    opacity: 1;
    cursor: pointer;
}

.testimonials-pagination .swiper-pagination-bullet-active {
    color: #ffffff;
}

/* Event Form Section */
.event-form-section {
    background-color: var(--color-bg-primary);
    padding: var(--space-5xl) 0;
}

.event-form-wrapper {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.event-form-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-regular);
    color: var(--color-gold-light);
    line-height: var(--line-height-tight);
}

.event-form-description {
    font-size: var(--font-size-sm);
    color:#B3AD8B;
    max-width: 700px;
    margin: 0 auto;
    line-height:25.2px;
    letter-spacing:0.72px;
}

.event-form {
    text-align: left;
     max-width: 700px;
    margin: 0 auto;
}

.form-label {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    margin-bottom: var(--space-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.05em;
}
.event-input::placeholder{
    color :#7A7861 !important;
}

.event-input,
.event-textarea {
    width: 100%;
    padding: 20px 16px;
    background-color: transparent;
    border: 1px solid #B3AA89;
    box-shadow: 0px 0px 0px 1px #B3AA89;
    color:#7A7861;
    font-size: var(--font-size-base);
    font-family: var(--font-family-base);
    transition: border-color var(--transition-base), background-color var(--transition-base);
    margin-bottom: var(--space-md);
}

.event-input:focus,
.event-textarea:focus {
    outline: none;
    border-color: var(--color-gold-soft);
    background-color: var(--color-green-surface);
    color: var(--color-text-primary);
}

.event-input::placeholder,
.event-textarea::placeholder {
    color: var(--color-white-placeholder);
}

/* ----------------------
   SINGLE POST (BLOG DETAIL)
----------------------- */
.single-post-main {
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    padding-bottom: var(--space-4xl);
}

.single-post-hero {
    width: 100%;
    overflow: hidden;
    padding:40px 0;
}

.single-post-hero-image {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}

.single-post-content.entry-content {
    color: var(--color-text-muted);
}

/* Desktop only: max-width 890px, single left border when content is large */
@media (min-width: 992px) {
    .single-post-hero-image {
        max-width: 890px;
        width: 100%;
        height: 500px;
        margin: 0 auto;
        object-fit: cover;
    }

    .single-post-content-wrap.single-post-container {
        max-width: 890px;
    }
}

.single-post-content.entry-content p {
    margin-bottom: var(--space-lg);
}

.single-post-content.entry-content h2,
.single-post-content.entry-content h3 {
    font-family: var(--font-family-heading);
    color: var(--color-text-primary);
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-md);
    font-size: var(--font-size-xl);
}

.single-post-content.entry-content h2 { font-size: var(--font-size-2xl); }

.single-post-content.entry-content hr {
    border: none;
    height: 1px;
    background: var(--color-gold);
    opacity: 0.8;
    margin: var(--space-2xl) 0;
}

@media (min-width: 768px) {
    .single-post-content.entry-content .wp-block-images,
    .single-post-content.entry-content .blocks-gallery-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-lg);
    }

    .single-post-content.entry-content .wp-block-columns.has-2-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-lg);
    }
}

/* Related Blogs */
.related-blogs-section {
    background-color: var(--color-bg-primary);
    padding: var(--space-4xl) 0;
}

.related-blogs-header .section-title {
    margin-bottom: 0;
}

.related-blogs-grid .blog-card {
    background-color: transparent;
}

.related-blogs-section .blog-title a:hover {
    color: var(--color-gold);
}

/* Menu PDF modal (popup) – embedded viewer with close button */
.ish-menu-pdf-modal .modal-dialog {
    max-width: 90vw;
    height: calc(100vh - 2rem);
    margin: 1rem auto;
}
.ish-menu-pdf-modal .modal-content {
    height: 100%;
    background: var(--color-bg-primary, #0d0d0d);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
}
.ish-menu-pdf-modal .modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.75rem 1rem;
    flex-shrink: 0;
}
.ish-menu-pdf-modal .modal-body {
    flex: 1;
    min-height: 0;
    display: flex;
}
.ish-menu-pdf-iframe {
    width: 100%;
    height: 100%;
    min-height: 70vh;
    border: 0;
}
.ish-menu-pdf-modal-close {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}
.ish-menu-pdf-modal-close:hover {
    opacity: 1;
}
