/* === Moon Water Events – Global Custom CSS === */

/* All pages use custom hero blocks for their titles — suppress Kadence's auto-generated
   page title banner so we don't render a duplicate H1 in the DOM. */
.entry-header.page-title {
    display: none !important;
}

/* Sticky navigation — JS in footer adds .mwe-sticky on scroll (CSS position:sticky
   can't work because Kadence sets overflow:clip on #wrapper). */
#masthead.mwe-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    box-shadow: 0 2px 24px rgba(35, 31, 32, 0.4) !important;
}
.admin-bar #masthead.mwe-sticky {
    top: var(--wp-admin--admin-bar--height, 32px) !important;
}

/* Header: solid deep purple, overrides Kadence default white */
#masthead,
#masthead .site-header-wrap,
#masthead .site-header-inner-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-row-container-inner,
#mobile-header,
#mobile-header .site-header-row-container-inner {
    background-color: #3D3660 !important;
    border-bottom: none !important;
}

/* Lavender hairline separates nav from hero — both deep purple, need a visual break */
#masthead {
    border-bottom: 1px solid rgba(200, 189, 224, 0.28) !important;
}

/* Nav links: cream text, gold hover */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
    color: #F8F4EC !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a {
    color: #C4A252 !important;
}

/* Mobile nav toggle button */
.mobile-toggle-open-container .menu-toggle-open {
    color: #F8F4EC !important;
}
.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
    color: #F8F4EC !important;
}

/* Logo: compact icon mark + text wordmark, side by side */
.site-branding a.brand {
    display: flex !important;
    align-items: center !important;
    gap: 0.7rem;
}
.site-branding a.brand img.svg-logo-image,
.site-branding a.brand img.custom-logo {
    max-width: none !important;
    width: auto !important;
    height: 42px !important;
}

/* Site title shows the wordmark next to the icon mark (logo image is icon-only) */
.has-logo-image .site-title-wrap {
    display: block !important;
}
.site-branding .site-title-wrap .site-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #F8F4EC !important;
    white-space: nowrap;
}
.site-branding .site-title-wrap .site-title a {
    color: inherit !important;
}

/* Body background: cream */
body {
    background-color: #F8F4EC;
}

/* Hide Kadence's built-in page title hero — all our pages use custom hero blocks */
.page .entry-hero.page-hero-section {
    display: none !important;
}

/* Remove ALL Kadence content-area wrapping padding -- applies to home and all pages */
.home #primary, .page #primary,
.home .content-container, .page .content-container,
.home .content-container.site-container, .page .content-container.site-container,
.home #main, .page #main,
.home .site-main, .page .site-main,
.home .content-wrap, .page .content-wrap,
.home article.entry, .page article.entry,
.home article.content-bg, .page article.content-bg,
.home .entry-content-wrap, .page .entry-content-wrap,
.home .entry-content, .page .entry-content,
.home .single-content, .page .single-content {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Remove Kadence's 1290px cap from the page content container so blocks fill the viewport.
   Blocks using is-layout-constrained still center their own content at their contentSize. */
.page #primary > .content-container.site-container,
.home #primary > .content-container.site-container {
    max-width: none !important;
}

/* Kill WordPress block-gap between ALL top-level sections */
.home .entry-content.single-content,
.page .entry-content.single-content {
    --wp--style--block-gap: 0px;
}
.home .single-content > *,
.page .single-content > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Service card image -- figure, link, and img all must be block + full-width */
.wp-block-columns .wp-block-column > .wp-block-image {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}
.wp-block-columns .wp-block-column > .wp-block-image a {
    display: block !important;
    width: 100% !important;
    line-height: 0;
}
.wp-block-columns .wp-block-column > .wp-block-image img {
    display: block !important;
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
}

/* ── Photo Grid (Gallery page) ───────────────────────────────────────────── */
.mwe-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 1.5rem;
}
.mwe-photo-item {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    background: #E8E2F0;
}
.mwe-photo-item a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
}
.mwe-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
    display: block;
}
.mwe-photo-item:hover img {
    transform: scale(1.06);
}
/* Overlay + magnify icon on hover */
.mwe-photo-item a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(61, 54, 96, 0);
    transition: background 0.35s ease;
    z-index: 1;
    border-radius: 4px;
}
.mwe-photo-item:hover a::before {
    background: rgba(61, 54, 96, 0.22);
}
.mwe-photo-item a::after {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    content: '\f00e';
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    color: rgba(255, 255, 255, 0);
    font-size: 1rem;
    transition: color 0.3s ease;
    z-index: 2;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.mwe-photo-item:hover a::after {
    color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 900px) {
    .mwe-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 0.4rem; }
}
@media (max-width: 480px) {
    .mwe-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 0.3rem; }
}

/* Kill the is-layout-flow gap WordPress injects between image and group inside card columns */
.wp-block-columns .wp-block-column.is-layout-flow > :not(:first-child) {
    margin-block-start: 0 !important;
}

/* Equal-height card columns */
.wp-block-columns:has(> .wp-block-column[style*="background-color:#ffffff"]) {
    align-items: stretch !important;
}
.wp-block-columns:has(> .wp-block-column[style*="background-color:#ffffff"]) > .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}
.wp-block-columns:has(> .wp-block-column[style*="background-color:#ffffff"]) > .wp-block-column > .wp-block-group {
    flex: 1 !important;
}
.wp-block-columns:has(> .wp-block-column[style*="background-color:#ffffff"]) > .wp-block-column > .wp-block-group > .wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}
.wp-block-columns:has(> .wp-block-column[style*="background-color:#ffffff"]) > .wp-block-column > .wp-block-group > .wp-block-group__inner-container .wp-block-buttons {
    margin-top: auto !important;
    padding-top: 1rem;
    justify-content: center !important;
}

/* About Kerri: beat service-card specificity (0-3-1) by adding .wp-image-36 (0-4-1) */
.wp-block-columns .wp-block-column > .wp-block-image img.wp-image-36 {
    height: 420px !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    border-radius: 10px !important;
}

/* Charcuterie page service images: taller than default cards (0-4-1 beats 0-3-1) */
.wp-block-columns .wp-block-column > .wp-block-image.mwe-charc-img img {
    height: 460px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
}

/* Service sections: alternate cream (transparent) and lavender backgrounds,
   2rem outer padding — matching charcuterie's visual rhythm */
.mwe-charc-service {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}
.mwe-charc-service:not(.reverse) {
    background-color: transparent !important;
}
.mwe-charc-service.reverse {
    background-color: #F0EBF8 !important;
}

/* Service section columns: image fills full height, text centered with padding */
.mwe-charc-service .wp-block-columns {
    align-items: stretch !important;
}
/* Image column: zero padding, stretch to fill row height */
.mwe-charc-service .wp-block-column:has(> .wp-block-image) {
    align-self: stretch !important;
    padding: 0 !important;
}
.mwe-charc-service .wp-block-column:has(> .wp-block-image) > .wp-block-image {
    height: 100% !important;
    min-height: 460px;
}
.mwe-charc-service .wp-block-column:has(> .wp-block-image) > .wp-block-image img {
    height: 100% !important;
    min-height: 460px !important;
}
/* Text column: consistent padding, vertically centered */
.mwe-charc-service .wp-block-column:not(:has(> .wp-block-image)) {
    padding: 2.5rem 3rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* Side padding on all constrained section inner containers */
.wp-block-group__inner-container.is-layout-constrained {
    padding-left: clamp(1.5rem, 5vw, 4rem) !important;
    padding-right: clamp(1.5rem, 5vw, 4rem) !important;
    box-sizing: border-box;
}

/* Themed Menu Cards — celestial branded tiles */
.mwe-theme-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}
.mwe-theme-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    padding: 2.5rem 1.5rem 2rem;
    border-radius: 14px;
    background:
        radial-gradient(120% 80% at 50% -10%, rgba(200,189,224,0.28) 0%, rgba(200,189,224,0) 55%),
        linear-gradient(160deg, #463E73 0%, #3D3660 55%, #322C52 100%);
    border: 1px solid rgba(196,162,82,0.28);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.mwe-theme-card::before {
    /* faint starfield / glow at top */
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(196,162,82,0.18) 0%, rgba(196,162,82,0) 70%);
    pointer-events: none;
}
.mwe-theme-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(35,31,32,0.32);
    border-color: rgba(196,162,82,0.6);
}
.mwe-theme-moon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    margin-bottom: 1.1rem;
    background: radial-gradient(circle at 35% 30%, #F8F4EC 0%, #E9DFC4 45%, #C4A252 100%);
    box-shadow: 0 0 0 6px rgba(196,162,82,0.10), 0 0 22px rgba(196,162,82,0.45);
    flex: 0 0 auto;
}
/* Font Awesome icon inside each moon */
.mwe-theme-moon i {
    font-size: 0.95rem;
    line-height: 1;
    opacity: 0.72;
}
.theme-parisian .mwe-theme-moon i { color: #3E2036; } /* champagne glasses — French celebration */
.theme-tuscan   .mwe-theme-moon i { color: #4A2210; } /* wine glass — Tuscan vineyards */
.theme-athenian .mwe-theme-moon i { color: #122460; } /* building columns — Greek Parthenon */
.theme-bavarian .mwe-theme-moon i { color: #102E18; } /* beer mug — Bavarian beer halls */
.theme-mexicana .mwe-theme-moon i { color: #4A1608; } /* pepper hot — Mexican chile */
.theme-lisbon   .mwe-theme-moon i { color: #122240; } /* anchor — Portugal's maritime heritage */
.theme-lotus    .mwe-theme-moon i { color: #0E2E22; } /* spa — Asian lotus/wellness */
.theme-madria   .mwe-theme-moon i { color: #3E0A0A; } /* fan — traditional Spanish hand fan */
.theme-manor    .mwe-theme-moon i { color: #10201A; } /* chess rook — English castle/manor */
.theme-china    .mwe-theme-moon i { color: #3E0808; } /* yin-yang — Chinese philosophy */
.theme-tropics  .mwe-theme-moon i { color: #082430; } /* umbrella beach — tropical shore */
.mwe-theme-name {
    font-size: 1.18rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #F8F4EC;
    line-height: 1.25;
    margin-bottom: 0.5rem;
}
.mwe-theme-desc {
    font-size: 0.82rem;
    line-height: 1.5;
    color: #C8BDE0;
    margin-bottom: 1.4rem;
    min-height: 2.4em;
    display: flex;
    align-items: center;
}
.mwe-theme-view {
    margin-top: auto;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #C4A252;
    border: 1px solid rgba(196,162,82,0.45);
    border-radius: 999px;
    padding: 0.5rem 1.25rem;
    transition: background 0.2s, color 0.2s;
}
.mwe-theme-card:hover .mwe-theme-view {
    background: #C4A252;
    color: #231F20;
}

/* ── Themed card palettes ────────────────────────────
   Each overrides the default purple gradient + gold moon
   with colors that evoke the cuisine.
──────────────────────────────────────────────────── */

/* Parisian Nights — dusty rose, French romance */
.mwe-theme-card.theme-parisian {
    background: radial-gradient(120% 80% at 50% -10%, rgba(230,180,200,0.28) 0%, transparent 55%),
                linear-gradient(160deg, #5C3A4E 0%, #3E2036 55%, #2E1228 100%);
    border-color: rgba(210,130,160,0.35);
}
.mwe-theme-card.theme-parisian::before { background: radial-gradient(circle, rgba(210,130,160,0.22) 0%, transparent 70%); }
.mwe-theme-card.theme-parisian .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FDE8F0 0%, #E0A8C0 45%, #B86880 100%);
    box-shadow: 0 0 0 6px rgba(184,104,128,0.12), 0 0 22px rgba(184,104,128,0.5);
}
.mwe-theme-card.theme-parisian .mwe-theme-desc { color: #E8C0D4; }
.mwe-theme-card.theme-parisian .mwe-theme-view { color: #E0A8C0; border-color: rgba(224,168,192,0.45); }
.mwe-theme-card.theme-parisian:hover .mwe-theme-view { background: #E0A8C0; color: #3E2036; }

/* Tuscan Moon — terracotta, warm Italian countryside */
.mwe-theme-card.theme-tuscan {
    background: radial-gradient(120% 80% at 50% -10%, rgba(220,160,100,0.25) 0%, transparent 55%),
                linear-gradient(160deg, #6B3A1A 0%, #4A2210 55%, #351608 100%);
    border-color: rgba(220,150,80,0.35);
}
.mwe-theme-card.theme-tuscan::before { background: radial-gradient(circle, rgba(220,150,80,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-tuscan .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FDF0D0 0%, #ECC870 45%, #C88830 100%);
    box-shadow: 0 0 0 6px rgba(200,136,48,0.12), 0 0 22px rgba(200,136,48,0.5);
}
.mwe-theme-card.theme-tuscan .mwe-theme-desc { color: #EAC89A; }
.mwe-theme-card.theme-tuscan .mwe-theme-view { color: #ECC870; border-color: rgba(236,200,112,0.45); }
.mwe-theme-card.theme-tuscan:hover .mwe-theme-view { background: #ECC870; color: #4A2210; }

/* Athenian Delight — cobalt, Mediterranean sea */
.mwe-theme-card.theme-athenian {
    background: radial-gradient(120% 80% at 50% -10%, rgba(120,170,230,0.25) 0%, transparent 55%),
                linear-gradient(160deg, #1E3E7A 0%, #122460 55%, #0C1848 100%);
    border-color: rgba(100,160,220,0.35);
}
.mwe-theme-card.theme-athenian::before { background: radial-gradient(circle, rgba(100,160,220,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-athenian .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #E8F4FF 0%, #A8D0F0 45%, #5090D0 100%);
    box-shadow: 0 0 0 6px rgba(80,144,208,0.12), 0 0 22px rgba(80,144,208,0.5);
}
.mwe-theme-card.theme-athenian .mwe-theme-desc { color: #A8CCF0; }
.mwe-theme-card.theme-athenian .mwe-theme-view { color: #A8D0F0; border-color: rgba(168,208,240,0.45); }
.mwe-theme-card.theme-athenian:hover .mwe-theme-view { background: #A8D0F0; color: #122460; }

/* Bavarian Moon — forest green, amber hearth */
.mwe-theme-card.theme-bavarian {
    background: radial-gradient(120% 80% at 50% -10%, rgba(130,200,130,0.2) 0%, transparent 55%),
                linear-gradient(160deg, #1C4A28 0%, #102E18 55%, #08200E 100%);
    border-color: rgba(190,160,60,0.35);
}
.mwe-theme-card.theme-bavarian::before { background: radial-gradient(circle, rgba(200,160,60,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-bavarian .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF5D0 0%, #F0C858 45%, #C08820 100%);
    box-shadow: 0 0 0 6px rgba(192,136,32,0.12), 0 0 22px rgba(192,136,32,0.5);
}
.mwe-theme-card.theme-bavarian .mwe-theme-desc { color: #A0D0A8; }
.mwe-theme-card.theme-bavarian .mwe-theme-view { color: #F0C858; border-color: rgba(240,200,88,0.45); }
.mwe-theme-card.theme-bavarian:hover .mwe-theme-view { background: #F0C858; color: #102E18; }

/* Luna Mexicana — deep red, marigold fiesta */
.mwe-theme-card.theme-mexicana {
    background: radial-gradient(120% 80% at 50% -10%, rgba(240,150,60,0.25) 0%, transparent 55%),
                linear-gradient(160deg, #6E2810 0%, #4A1608 55%, #340E04 100%);
    border-color: rgba(240,140,40,0.35);
}
.mwe-theme-card.theme-mexicana::before { background: radial-gradient(circle, rgba(240,140,40,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-mexicana .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF0D0 0%, #F0A840 45%, #C06010 100%);
    box-shadow: 0 0 0 6px rgba(192,96,16,0.12), 0 0 22px rgba(192,96,16,0.5);
}
.mwe-theme-card.theme-mexicana .mwe-theme-desc { color: #F0C090; }
.mwe-theme-card.theme-mexicana .mwe-theme-view { color: #F0A840; border-color: rgba(240,168,64,0.45); }
.mwe-theme-card.theme-mexicana:hover .mwe-theme-view { background: #F0A840; color: #4A1608; }

/* Lunar Lisbon — slate blue, warm azulejo tile */
.mwe-theme-card.theme-lisbon {
    background: radial-gradient(120% 80% at 50% -10%, rgba(100,150,210,0.22) 0%, transparent 55%),
                linear-gradient(160deg, #1E3A5C 0%, #122240 55%, #0C1830 100%);
    border-color: rgba(220,140,80,0.35);
}
.mwe-theme-card.theme-lisbon::before { background: radial-gradient(circle, rgba(220,140,80,0.18) 0%, transparent 70%); }
.mwe-theme-card.theme-lisbon .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF0E0 0%, #E89860 45%, #B05830 100%);
    box-shadow: 0 0 0 6px rgba(176,88,48,0.12), 0 0 22px rgba(176,88,48,0.5);
}
.mwe-theme-card.theme-lisbon .mwe-theme-desc { color: #A8C4E0; }
.mwe-theme-card.theme-lisbon .mwe-theme-view { color: #E89860; border-color: rgba(232,152,96,0.45); }
.mwe-theme-card.theme-lisbon:hover .mwe-theme-view { background: #E89860; color: #122240; }

/* Lunar Lotus — deep jade, cherry blossom */
.mwe-theme-card.theme-lotus {
    background: radial-gradient(120% 80% at 50% -10%, rgba(180,220,200,0.2) 0%, transparent 55%),
                linear-gradient(160deg, #184838 0%, #0E2E22 55%, #081E16 100%);
    border-color: rgba(200,140,160,0.35);
}
.mwe-theme-card.theme-lotus::before { background: radial-gradient(circle, rgba(200,140,160,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-lotus .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FEE8F0 0%, #F0B8CC 45%, #C07888 100%);
    box-shadow: 0 0 0 6px rgba(192,120,136,0.12), 0 0 22px rgba(192,120,136,0.5);
}
.mwe-theme-card.theme-lotus .mwe-theme-desc { color: #A8D8C0; }
.mwe-theme-card.theme-lotus .mwe-theme-view { color: #F0B8CC; border-color: rgba(240,184,204,0.45); }
.mwe-theme-card.theme-lotus:hover .mwe-theme-view { background: #F0B8CC; color: #0E2E22; }

/* Madria Moon — crimson, Spanish saffron */
.mwe-theme-card.theme-madria {
    background: radial-gradient(120% 80% at 50% -10%, rgba(220,100,80,0.22) 0%, transparent 55%),
                linear-gradient(160deg, #5E1818 0%, #3E0A0A 55%, #2C0606 100%);
    border-color: rgba(240,160,40,0.35);
}
.mwe-theme-card.theme-madria::before { background: radial-gradient(circle, rgba(240,160,40,0.18) 0%, transparent 70%); }
.mwe-theme-card.theme-madria .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF5D0 0%, #F0C040 45%, #C08010 100%);
    box-shadow: 0 0 0 6px rgba(192,128,16,0.12), 0 0 22px rgba(192,128,16,0.5);
}
.mwe-theme-card.theme-madria .mwe-theme-desc { color: #F0B8A0; }
.mwe-theme-card.theme-madria .mwe-theme-view { color: #F0C040; border-color: rgba(240,192,64,0.45); }
.mwe-theme-card.theme-madria:hover .mwe-theme-view { background: #F0C040; color: #3E0A0A; }

/* Midnight Manor — near-black, pewter silver, British refined */
.mwe-theme-card.theme-manor {
    background: radial-gradient(120% 80% at 50% -10%, rgba(160,180,170,0.18) 0%, transparent 55%),
                linear-gradient(160deg, #1C2E24 0%, #10201A 55%, #08140E 100%);
    border-color: rgba(180,196,188,0.30);
}
.mwe-theme-card.theme-manor::before { background: radial-gradient(circle, rgba(180,196,188,0.15) 0%, transparent 70%); }
.mwe-theme-card.theme-manor .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #F0F4F2 0%, #C8D8D0 45%, #8098A0 100%);
    box-shadow: 0 0 0 6px rgba(128,152,160,0.12), 0 0 22px rgba(128,152,160,0.45);
}
.mwe-theme-card.theme-manor .mwe-theme-desc { color: #B0C4BC; }
.mwe-theme-card.theme-manor .mwe-theme-view { color: #C8D8D0; border-color: rgba(200,216,208,0.4); }
.mwe-theme-card.theme-manor:hover .mwe-theme-view { background: #C8D8D0; color: #10201A; }

/* Moonlit China — vermillion and imperial gold */
.mwe-theme-card.theme-china {
    background: radial-gradient(120% 80% at 50% -10%, rgba(220,80,60,0.22) 0%, transparent 55%),
                linear-gradient(160deg, #5C1414 0%, #3E0808 55%, #2C0404 100%);
    border-color: rgba(220,80,60,0.35);
}
.mwe-theme-card.theme-china::before { background: radial-gradient(circle, rgba(220,80,60,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-china .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF0E8 0%, #F09070 45%, #C04030 100%);
    box-shadow: 0 0 0 6px rgba(192,64,48,0.12), 0 0 22px rgba(192,64,48,0.5);
}
.mwe-theme-card.theme-china .mwe-theme-desc { color: #F0B8A8; }
.mwe-theme-card.theme-china .mwe-theme-view { color: #F09070; border-color: rgba(240,144,112,0.45); }
.mwe-theme-card.theme-china:hover .mwe-theme-view { background: #F09070; color: #3E0808; }

/* Moonlit Tropics — deep ocean teal, warm coral */
.mwe-theme-card.theme-tropics {
    background: radial-gradient(120% 80% at 50% -10%, rgba(80,200,200,0.2) 0%, transparent 55%),
                linear-gradient(160deg, #0E3A4A 0%, #082430 55%, #041820 100%);
    border-color: rgba(240,140,100,0.35);
}
.mwe-theme-card.theme-tropics::before { background: radial-gradient(circle, rgba(240,140,100,0.2) 0%, transparent 70%); }
.mwe-theme-card.theme-tropics .mwe-theme-moon {
    background: radial-gradient(circle at 35% 30%, #FFF0E8 0%, #F0A080 45%, #C05040 100%);
    box-shadow: 0 0 0 6px rgba(192,80,64,0.12), 0 0 22px rgba(192,80,64,0.5);
}
.mwe-theme-card.theme-tropics .mwe-theme-desc { color: #90D8E8; }
.mwe-theme-card.theme-tropics .mwe-theme-view { color: #F0A080; border-color: rgba(240,160,128,0.45); }
.mwe-theme-card.theme-tropics:hover .mwe-theme-view { background: #F0A080; color: #082430; }

/* Contact Form */
.wpcf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.wpcf7 label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #3D3660;
    margin-bottom: 0.35rem;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid #C8BDE0;
    border-radius: 6px;
    background: #fff;
    font-size: 1rem;
    color: #231F20;
    font-family: inherit;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #3D3660;
    box-shadow: 0 0 0 3px rgba(61,54,96,0.08);
}
.wpcf7 textarea {
    min-height: 140px;
    resize: vertical;
}
.wpcf7 input[type="submit"] {
    background: #3D3660;
    color: #F8F4EC;
    border: none;
    border-radius: 6px;
    padding: 0.9rem 2.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s;
    align-self: flex-start;
}
.wpcf7 input[type="submit"]:hover {
    background: #C4A252;
}
.wpcf7 .wpcf7-response-output {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    font-size: 0.9rem;
}

/* ── Footer ─────────────────────────────────────────────────────────────────── */
/* Dark charcoal — visually distinct from purple nav and page heroes */
#colophon {
    background-color: #1E1B30 !important;
}
#colophon .site-footer-wrap,
#colophon .site-bottom-footer-wrap,
#colophon .site-footer-row-container-inner,
#colophon .site-container {
    background-color: transparent !important;
}
.mwe-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 3rem;
    padding: 3.5rem 2rem 2rem;
    max-width: 1100px;
    margin: 0 auto;
}
.mwe-footer-brand {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #F8F4EC !important;
    margin-bottom: 0.6rem;
}
.mwe-footer-tagline {
    font-size: 0.9rem;
    line-height: 1.65;
    color: rgba(200, 189, 224, 0.75) !important;
    margin-bottom: 0.8rem;
}
.mwe-footer-social a {
    font-size: 0.82rem;
    color: #C4A252 !important;
    text-decoration: none;
    letter-spacing: 0.05em;
}
.mwe-footer-col-heading {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #C4A252 !important;
    margin-bottom: 0.9rem;
}
#colophon a {
    color: rgba(200, 189, 224, 0.8) !important;
    text-decoration: none;
    transition: color 0.2s;
}
#colophon a:hover { color: #C4A252 !important; }
#colophon p, #colophon li { color: rgba(200, 189, 224, 0.75); }
#colophon ul { list-style: none; padding: 0; margin: 0; }
#colophon ul li { margin-bottom: 0.45rem; font-size: 0.88rem; }
.mwe-footer-copy {
    text-align: center;
    font-size: 0.72rem;
    color: rgba(200, 189, 224, 0.38) !important;
    padding: 1.25rem 2rem 1.5rem;
    border-top: 1px solid rgba(200, 189, 224, 0.1);
}

/* ── CTA sections ────────────────────────────────────────────────────────────
   Pages end with a deep-purple CTA immediately above the footer, making nav,
   hero, CTA and footer look like one blob. Class added by mwe-cta-section.php. */
.mwe-cta-section {
    background: linear-gradient(135deg, #C4A252 0%, #9E7830 100%) !important;
}
.mwe-cta-section .wp-block-heading,
.mwe-cta-section p {
    color: #231F20 !important;
}
.mwe-cta-section .wp-block-button__link {
    background-color: #231F20 !important;
    color: #F8F4EC !important;
}
.mwe-cta-section .wp-block-button__link:hover {
    background-color: #3D3660 !important;
}

/* ── Celestial accents ────────────────────────────────────────────────────── */

/* Celestial gradient heroes — layered moon-halo + star-field on all purple heroes.
   Layers (back to front):
   1. Linear: dark navy top → brand purple — gives sky depth
   2. Radial ellipse: warm gold glow from top-center — "moon just above frame"
   3. Radial dots 97px grid: tiny cream points — bright foreground stars
   4. Radial dots 53px grid: fine lavender points — distant star field */
.entry-content > .wp-block-group.has-background:first-child {
    background-image:
        radial-gradient(circle, rgba(200,189,224,0.32) 1px, transparent 1px),
        radial-gradient(circle, rgba(248,244,236,0.18) 1px, transparent 1px),
        radial-gradient(ellipse 90% 60% at 50% -5%, rgba(196,162,82,0.34) 0%, rgba(200,189,224,0.10) 45%, transparent 72%),
        linear-gradient(180deg, #1E1B30 0%, #3D3660 60%);
    background-size: 53px 53px, 97px 97px, 100% 100%, 100% 100%;
    background-position: 0 0, 27px 27px, 0 0, 0 0;
}

/* ✦ ☽ ✦ divider — <div class="mwe-celestial-divider"><span>✦ ☽ ✦</span></div> */
.mwe-celestial-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin: 0 auto;
}
.mwe-celestial-divider::before,
.mwe-celestial-divider::after {
    content: '';
    flex: 1;
    max-width: 100px;
    height: 1px;
    background: rgba(196, 162, 82, 0.35);
}

/* Traditional pricing card — "View Traditional Menu" pill button */
.mwe-view-menu-btn {
    display: inline-block;
    padding: 0.55rem 1.5rem;
    background: transparent;
    border: 1.5px solid #C4A252;
    color: #C4A252;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s, color 0.2s;
    cursor: pointer;
}
.mwe-view-menu-btn:hover {
    background: #C4A252;
    color: #231F20;
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */

/* ROOT CAUSE of horizontal scroll: Kadence adds margin:-16px on article.entry
   to let full-width blocks bleed past a padded content-wrap. On mobile the
   content-wrap has no padding, so those margins cause 32px of overflow. */
@media (max-width: 767px) {
    article.entry {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Safety net: clip any remaining stray overflow without creating a scroll
   container (clip does not affect position:fixed the way hidden does). */
html { overflow-x: clip; }

@media (max-width: 767px) {
    /* Cover-block hero (Charcuterie page): inner container has 0 side padding,
       so text runs edge-to-edge on small screens. */
    .wp-block-cover__inner-container {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    /* Hero group sections: 5 rem top/bottom is too generous on mobile. */
    .entry-content > .wp-block-group.has-background:first-child {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    /* Service sections: inline style sets padding-top:4rem / padding-bottom:4rem
       which stacks under a tall photo and creates a dead zone on small screens. */
    .mwe-charc-service {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    /* Intro paragraph blocks (e.g. Charcuterie page): reduce 4 rem top gap. */
    .entry-content > .wp-block-group:not(.has-background):not(.mwe-charc-service) {
        padding-top: 2rem !important;
        padding-bottom: 1.5rem !important;
    }

    .wp-block-columns .wp-block-column > .wp-block-image img {
        height: 200px !important;
    }
    .site-branding a.brand img.svg-logo-image {
        width: auto !important;
        height: 34px !important;
    }
    .site-branding .site-title-wrap .site-title {
        font-size: 0.95rem;
        letter-spacing: 0.08em;
    }
    .wp-block-columns .wp-block-column > .wp-block-image img.wp-image-36 {
        height: 280px !important;
        object-position: center 15% !important;
    }
    .wp-block-gallery .wp-block-image {
        width: calc(50% - 0.5em) !important;
        flex-basis: calc(50% - 0.5em) !important;
    }
    .wp-block-columns:has(> .wp-block-column[style*="width:45%"]),
    .wp-block-columns:has(> .wp-block-column[style*="flex-basis:45%"]) {
        flex-direction: column !important;
    }
    .wp-block-columns:has(> .wp-block-column[style*="width:45%"]) .wp-block-column,
    .wp-block-columns:has(> .wp-block-column[style*="flex-basis:45%"]) .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }
    .mwe-theme-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .mwe-charc-service .wp-block-columns {
        flex-direction: column !important;
    }
    .mwe-charc-service .wp-block-column:first-child,
    .mwe-charc-service.reverse .wp-block-column:last-child {
        width: 100% !important;
        flex-basis: 100% !important;
    }
    .mwe-charc-service .wp-block-column:first-child > .wp-block-image img,
    .mwe-charc-service.reverse .wp-block-column:last-child > .wp-block-image img {
        min-height: 260px !important;
        height: 260px !important;
    }
    .wp-block-columns .wp-block-column > .wp-block-image.mwe-charc-img img {
        height: 260px !important;
    }
    .mwe-footer-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 2.5rem 1.5rem 1.5rem;
    }
    .mwe-charc-service .wp-block-column:not(:has(> .wp-block-image)) {
        padding: 1.5rem !important;
    }
    /* Desktop equal-height rule sets figure min-height:460px — on mobile columns
       stack so the figure just needs to fit the image (height set above on img). */
    .mwe-charc-service .wp-block-column:has(> .wp-block-image) > .wp-block-image {
        min-height: 0 !important;
        height: auto !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .mwe-theme-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .mwe-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
}
