/*
Theme Name: PubNova Restaurant Theme
Theme URI: https://example.com/pubnova-elegant
Author: PubNova
Description: All-in-one elegant black, gold, white, and yellow restaurant/pub theme with built-in restaurant manager, menus, locations, deals, careers, approval workflow, blog support, and responsive layouts.
Version: 1.47
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: pubnova-elegant
*/

:root {
    --pn-black: #030506;
    --pn-black-2: #070a0c;
    --pn-charcoal: #0d1114;
    --pn-panel: #08141a;
    --pn-panel-2: #101418;
    --pn-white: #ffffff;
    --pn-ivory: #fff7e6;
    --pn-cream: #f6ead2;
    --pn-muted: #c9c3b4;
    --pn-muted-2: #918a7a;
    --pn-gold: #d4a856;
    --pn-gold-2: #f6d489;
    --pn-yellow: #ffc63d;
    --pn-line: rgba(246, 212, 137, .18);
    --pn-line-soft: rgba(255,255,255,.09);
    --pn-shadow: 0 30px 90px rgba(0,0,0,.48);
    --pn-radius: 28px;
    --pn-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--pn-cream);
    background:
        radial-gradient(circle at 12% 5%, rgba(212,168,86,.12), transparent 34%),
        radial-gradient(circle at 82% 0%, rgba(255,198,61,.08), transparent 28%),
        linear-gradient(180deg, #020405 0%, #061015 42%, #030506 100%);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-height: 100vh;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .15;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 72%);
    z-index: -1;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
.pn-container { width: min(var(--pn-max), calc(100% - 48px)); margin: 0 auto; }
.pn-container-narrow { width: min(880px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(3,5,6,.92);
    border-bottom: 1px solid var(--pn-line);
    backdrop-filter: blur(18px);
}
.home .site-header {
    position: absolute;
    width: 100%;
    background: linear-gradient(180deg, rgba(2,5,7,.92), rgba(2,5,7,.35));
}
.header-shell {
    width: min(1480px, calc(100% - 64px));
    height: 110px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 230px;
}
.custom-logo { max-height: 64px; width: auto; }
.brand-emblem {
    width: 58px;
    height: 58px;
    border: 2px solid var(--pn-gold-2);
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    color: var(--pn-gold-2);
    position: relative;
    box-shadow: inset 0 0 0 7px rgba(212,168,86,.08), 0 0 28px rgba(212,168,86,.16);
}
.brand-emblem span {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 800;
    font-size: 18px;
    transform: translateY(-1px);
}
.brand-wordmark strong {
    display: block;
    color: var(--pn-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 35px;
    line-height: .85;
    letter-spacing: -.035em;
}
.brand-wordmark small {
    display: block;
    color: var(--pn-gold-2);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .25em;
    text-transform: uppercase;
    margin-top: 8px;
}
.desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
}
.desktop-nav > a,
.nav-dropdown > button {
    border: 0;
    background: transparent;
    color: var(--pn-white);
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 18px 16px;
    position: relative;
}
.desktop-nav > a::after,
.nav-dropdown > button::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 4px;
    height: 2px;
    background: var(--pn-gold-2);
    transform: scaleX(0);
    transition: transform .18s ease;
}
.desktop-nav > a:hover::after,
.nav-dropdown:hover > button::after { transform: scaleX(1); }
.nav-dropdown { position: relative; }
.dropdown-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    min-width: 275px;
    transform: translateX(-50%) translateY(8px);
    opacity: 0;
    visibility: hidden;
    background: rgba(4,14,18,.98);
    border: 1px solid var(--pn-line);
    box-shadow: var(--pn-shadow);
    padding: 12px;
    transition: .18s ease;
}
.nav-dropdown:hover .dropdown-panel,
.nav-dropdown.is-open .dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.dropdown-panel a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 14px;
    color: var(--pn-cream);
    font-size: 13px;
    font-weight: 780;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.dropdown-panel a:last-child { border-bottom: 0; }
.dropdown-panel a:hover { color: var(--pn-black); background: linear-gradient(135deg, var(--pn-gold-2), var(--pn-yellow)); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 330px; }
.pn-btn,
.header-action-button,
.reserve-button,
.order-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 26px;
    border: 1px solid var(--pn-line);
    color: var(--pn-cream);
    background: rgba(255,255,255,.04);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}
.pn-btn:hover,
.header-action-button:hover { transform: translateY(-2px); }
.reserve-button,
.pn-btn-primary {
    background: linear-gradient(135deg, #fee6b0, var(--pn-gold-2) 55%, var(--pn-yellow));
    color: #060606;
    box-shadow: 0 18px 45px rgba(212,168,86,.18);
}
.order-button,
.pn-btn-outline { color: var(--pn-gold-2); border-color: rgba(246,212,137,.4); }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--pn-line); width: 48px; height: 48px; padding: 10px; }
.menu-toggle span { display: block; height: 2px; background: var(--pn-gold-2); margin: 6px 0; }
.mobile-nav { display: none; }

.hero {
    min-height: 780px;
    display: grid;
    align-items: center;
    padding: 150px 0 95px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--pn-line);
}
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 78% 48%, rgba(246,212,137,.22), transparent 23%), linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.24));
    pointer-events: none;
}
.hero-bg {
    position: absolute;
    inset: 0;
    background-image: var(--pn-hero-image), linear-gradient(135deg, #121212, #020405);
    background-size: cover;
    background-position: center;
    opacity: .48;
    transform: scale(1.04);
}
.hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 64px;
    align-items: center;
}
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--pn-gold-2);
    text-transform: uppercase;
    letter-spacing: .28em;
    font-weight: 850;
    font-size: 11px;
}
.eyebrow::before,
.eyebrow::after { content: ""; width: 26px; height: 1px; background: currentColor; opacity: .72; }
.hero h1,
.page-hero h1,
.section-title h2,
.entry-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--pn-white);
    letter-spacing: -.055em;
}
.hero h1 {
    font-size: clamp(58px, 8vw, 118px);
    line-height: .85;
    margin: 28px 0 24px;
    max-width: 860px;
}
.hero p { max-width: 690px; color: var(--pn-muted); font-size: 18px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero-card {
    background: rgba(5,13,16,.72);
    border: 1px solid var(--pn-line);
    box-shadow: var(--pn-shadow);
    padding: 24px;
    backdrop-filter: blur(14px);
}
.hero-card img { width: 100%; aspect-ratio: 1 / .76; object-fit: cover; border: 1px solid var(--pn-line-soft); opacity: .95; }
.hero-card-row { display: flex; justify-content: space-between; gap: 20px; margin-top: 18px; color: var(--pn-gold-2); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }

.section { padding: 90px 0; }
.section-alt { background: rgba(255,255,255,.02); border-top: 1px solid var(--pn-line-soft); border-bottom: 1px solid var(--pn-line-soft); }
.section-title { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.section-title h2 { font-size: clamp(38px, 5vw, 72px); line-height: .9; margin: 14px 0 0; }
.section-title p { max-width: 560px; color: var(--pn-muted); line-height: 1.8; margin: 0; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pn-card, .menu-card, .deal-card, .location-card, .job-card {
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    border: 1px solid var(--pn-line);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    padding: 26px;
    position: relative;
    overflow: hidden;
}
.pn-card::before,
.menu-card::before,
.deal-card::before,
.location-card::before,
.job-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--pn-gold-2), transparent);
    opacity: .7;
}
.menu-card h3, .deal-card h3, .location-card h3, .job-card h3, .pn-card h3 { color: var(--pn-white); margin: 0 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 28px; }
.menu-card p, .deal-card p, .location-card p, .job-card p, .pn-card p { color: var(--pn-muted); line-height: 1.7; }
.price { color: var(--pn-yellow); font-weight: 900; font-size: 20px; }
.menu-meta { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.tag { display: inline-flex; color: var(--pn-black); background: var(--pn-gold-2); padding: 8px 10px; font-size: 11px; text-transform: uppercase; font-weight: 900; letter-spacing: .12em; }
.page-hero { padding: 170px 0 72px; border-bottom: 1px solid var(--pn-line); background: radial-gradient(circle at 82% 0%, rgba(246,212,137,.14), transparent 26%); }
.page-hero h1, .entry-title { font-size: clamp(44px, 6vw, 82px); line-height: .9; margin: 18px 0; }
.page-hero p { max-width: 760px; color: var(--pn-muted); line-height: 1.8; font-size: 18px; }
.entry-content { padding: 70px 0; }
.entry-content a { color: var(--pn-gold-2); border-bottom: 1px solid rgba(246,212,137,.4); }
.wp-block-heading { color: var(--pn-white); font-family: Georgia, "Times New Roman", serif; }

.site-footer {
    background: #020304;
    border-top: 1px solid var(--pn-line);
    padding: 64px 0 28px;
    position: relative;
    overflow: visible;
}
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, .75fr); gap: 34px; }
.footer-title { color: var(--pn-white); font-family: Georgia, "Times New Roman", serif; font-size: 28px; margin: 0 0 12px; }
.footer-grid p, .footer-grid a { color: var(--pn-muted); line-height: 1.8; }
.footer-links { display: grid; gap: 9px; }
.footer-links a:hover { color: var(--pn-gold-2); }
.footer-bottom { border-top: 1px solid var(--pn-line-soft); margin-top: 36px; padding-top: 22px; color: var(--pn-muted-2); font-size: 13px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

@media (max-width: 1120px) {
    .desktop-nav, .header-actions { display: none; }
    .menu-toggle { display: inline-block; }
    .header-shell { height: 88px; width: min(100% - 32px, 1480px); }
    .brand { min-width: 0; }
    .brand-wordmark strong { font-size: 30px; }
    .mobile-nav {
        display: none;
        padding: 10px 20px 24px;
        border-top: 1px solid var(--pn-line);
        background: rgba(3,5,6,.98);
    }
    .mobile-nav.is-open { display: grid; gap: 9px; }
    .mobile-nav a { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.07); color: var(--pn-cream); font-weight: 800; }
    .mobile-nav .reserve-button, .mobile-nav .order-button { margin-top: 8px; border-bottom: 0; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { max-width: 520px; }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
    .pubnova-loader-badge {
        width: 96px;
        height: 96px;
        min-width: 96px;
        padding: 9px;
    }
    .pubnova-loader-logo {
        transform: translateY(3px);
    }

    .pn-container, .pn-container-narrow { width: min(100% - 28px, var(--pn-max)); }
    .hero { min-height: auto; padding-top: 132px; }
    .hero h1 { font-size: clamp(48px, 16vw, 76px); }
    .section { padding: 64px 0; }
    .section-title { display: block; }
    .card-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .brand-emblem { width: 50px; height: 50px; }
    .brand-wordmark small { display:none; }
}

/* PubNova v1.3 homepage and alignment polish */
.home .site-header { position:absolute; }
.header-shell { min-height: 96px; height: auto; padding: 18px 0; }
.desktop-nav { gap: 4px; }
.desktop-nav > a, .nav-dropdown > button { white-space: nowrap; }
.header-actions { min-width: 300px; }
.order-button { border-color: rgba(246,212,137,.35); }
.pn-btn-ghost { background: rgba(255,255,255,.06); color: var(--pn-white); }
.hero { min-height: 820px; }
.hero-copy { max-width: 900px; }
.hero-card img { min-height: 360px; object-fit: cover; }
.centered-title { text-align:center; display:block; }
.centered-title p { margin: 18px auto 0; }
.intro-grid, .split-feature, .reservation-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items:center; }
.intro-grid h2, .split-feature h2, .reservation-grid h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5vw, 72px); line-height:.95; color: var(--pn-white); margin: 18px 0; letter-spacing: -.045em; }
.intro-grid p, .split-feature p, .reservation-grid p { color: var(--pn-muted); line-height:1.8; font-size: 17px; }
.intro-panel { background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); border: 1px solid var(--pn-line); padding: 34px; box-shadow: var(--pn-shadow); }
.intro-panel h3 { color: var(--pn-white); font-family: Georgia, "Times New Roman", serif; font-size: 34px; margin: 0 0 12px; }
.intro-actions { display:flex; gap: 20px; flex-wrap:wrap; margin-top:22px; }
.text-link { color: var(--pn-gold-2); border-bottom: 1px solid rgba(246,212,137,.45); font-weight: 850; letter-spacing:.06em; text-transform:uppercase; font-size:12px; }
.feature-image img { width:100%; aspect-ratio: 1.25 / 1; object-fit: cover; border: 1px solid var(--pn-line); box-shadow: var(--pn-shadow); }
.feature-shortcode .card-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
.feature-shortcode .deal-card { padding: 20px 22px; }
.feature-shortcode .deal-card:nth-child(n+4) { display:none; }
.reservation-band { background: linear-gradient(135deg, rgba(212,168,86,.12), rgba(255,255,255,.03)); border-top:1px solid var(--pn-line); border-bottom:1px solid var(--pn-line); }
.reservation-actions { display:flex; justify-content:flex-end; gap: 14px; flex-wrap: wrap; }
.blog-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card { background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); border:1px solid var(--pn-line); overflow:hidden; box-shadow: 0 20px 60px rgba(0,0,0,.24); }
.blog-card-image img { width:100%; aspect-ratio: 1.45 / 1; object-fit:cover; }
.blog-card-body { padding: 24px; }
.blog-card h3 { font-family: Georgia, "Times New Roman", serif; color:var(--pn-white); margin: 12px 0 10px; font-size: 27px; line-height:1.1; }
.blog-card p { color: var(--pn-muted); line-height:1.7; }
.eyebrow-small { font-size: 10px; letter-spacing:.22em; }
.eyebrow-small::before, .eyebrow-small::after { width:16px; }

/* Plugin frontend layouts */
.menu-category-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.menu-category-tile { position:relative; overflow:hidden; min-height: 245px; border:1px solid var(--pn-line); background:#050b0f; box-shadow:0 20px 60px rgba(0,0,0,.25); display:flex; align-items:flex-end; }
.menu-category-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; transform: scale(1.03); transition: transform .25s ease, opacity .25s ease; }
.menu-category-tile:hover img { transform: scale(1.08); opacity:.82; }
.menu-category-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.78)); }
.menu-category-content { position:relative; z-index:1; padding: 24px; width:100%; }
.menu-category-content .tag { margin-bottom: 12px; }
.menu-category-content h3 { font-size: 30px; line-height:1; margin:0 0 10px; color:var(--pn-white); font-family: Georgia, "Times New Roman", serif; }
.menu-category-content p { color: var(--pn-cream); line-height:1.55; margin:0; }
.pnr-menu-section { padding: 18px 0 44px; }
.pnr-menu-heading { text-align:center; max-width: 920px; margin: 0 auto 42px; }
.pnr-menu-heading h2 { color: var(--pn-white); font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5.5vw, 78px); line-height:.95; margin: 12px 0; letter-spacing:-.05em; }
.pnr-menu-heading p { color: var(--pn-muted); line-height:1.75; margin:0 auto; max-width: 760px; }
.pnr-menu-layout { display:grid; grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr); gap: 58px; align-items:start; }
.pnr-menu-section.is-reversed .pnr-menu-layout { grid-template-columns: minmax(0, 1.14fr) minmax(280px, .86fr); }
.pnr-menu-section.is-reversed .pnr-menu-visual { order:2; }
.pnr-menu-section.is-reversed .pnr-menu-list { order:1; }
.pnr-menu-visual { position: sticky; top: 130px; }
.pnr-menu-visual img { width:100%; aspect-ratio: 1 / .86; object-fit:cover; border:1px solid var(--pn-line); box-shadow: var(--pn-shadow); }
.pnr-menu-list { display:grid; gap:0; }
.pnr-menu-row { display:grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 0 0 28px; margin-bottom: 28px; border-bottom:1px dashed rgba(246,212,137,.2); align-items:start; }
.pnr-menu-row h3 { color:var(--pn-white); font-family: Georgia, "Times New Roman", serif; font-size: clamp(20px, 2vw, 28px); text-transform:uppercase; letter-spacing:-.02em; margin:0 0 10px; line-height:1.08; }
.pnr-menu-row p { color: var(--pn-cream); line-height:1.65; margin:0; }
.pnr-menu-row .price { color: var(--pn-gold); white-space:nowrap; font-family: Georgia, "Times New Roman", serif; font-weight:700; }
.pnr-menu-row small { color: var(--pn-gold-2); display:block; margin-top:7px; }
.deal-card img, .location-card img, .job-card img, .pn-card img { width:100%; aspect-ratio: 1.45 / 1; object-fit:cover; margin: -26px -26px 22px; max-width: calc(100% + 52px); }
.location-card .pn-btn-primary, .pn-card .pn-btn-primary { color:#050505 !important; }
.location-card .pn-btn, .deal-card .pn-btn, .job-card .pn-btn { margin-top: 12px; }

@media (max-width: 1180px) {
    .menu-category-grid { grid-template-columns: repeat(2, 1fr); }
    .pnr-menu-layout, .pnr-menu-section.is-reversed .pnr-menu-layout { grid-template-columns: 1fr; gap: 32px; }
    .pnr-menu-section.is-reversed .pnr-menu-visual, .pnr-menu-section.is-reversed .pnr-menu-list { order: initial; }
    .pnr-menu-visual { position:relative; top:auto; max-width: 620px; margin: 0 auto; width:100%; }
}
@media (max-width: 920px) {
    .intro-grid, .split-feature, .reservation-grid { grid-template-columns: 1fr; }
    .reservation-actions { justify-content:flex-start; }
    .blog-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .menu-category-grid { grid-template-columns: 1fr; }
    .menu-category-tile { min-height: 210px; }
    .pnr-menu-row { grid-template-columns: 1fr; gap: 7px; }
    .pnr-menu-row .price { justify-self:start; }
    .hero-card img { min-height: 250px; }
}
.single-entry { font-size: 18px; line-height: 1.85; color: var(--pn-cream); }
.single-entry p, .single-entry li { color: var(--pn-cream); }
.single-featured-image img { width:100%; aspect-ratio: 1.8 / 1; object-fit:cover; border:1px solid var(--pn-line); margin-bottom: 34px; }


/* PubNova v1.4 realistic placeholders + stronger responsive polish */
.hero-card, .intro-panel, .pn-card, .menu-card, .deal-card, .location-card, .job-card, .blog-card { border-radius: 22px; }
.hero-card img, .feature-image img, .pnr-menu-visual img, .blog-card-image img, .deal-card img, .location-card img, .job-card img, .pn-card img { border-radius: 18px; }
.location-card .pn-btn-primary, .pn-card .pn-btn-primary, .reserve-button, .pn-btn-primary { color: #050505 !important; }
.location-card .pn-btn, .deal-card .pn-btn, .job-card .pn-btn, .pn-card .pn-btn { width: 100%; max-width: 240px; }
.location-card h3, .deal-card h3, .job-card h3 { line-height: 1.12; }
.location-card p, .deal-card p, .job-card p { margin: 0 0 10px; }
.pnr-menu-list { align-content: start; }
.pnr-menu-row:last-child { margin-bottom: 0; }
.pnr-menu-row > div { min-width: 0; }
.pnr-menu-row .price { align-self: start; padding-top: 2px; }
.card-grid > article { height: 100%; display: flex; flex-direction: column; }
.card-grid > article .pn-btn { margin-top: auto; }
.blog-card { height: 100%; }
.blog-card-body { display:flex; flex-direction:column; min-height: 210px; }
.blog-card-body .text-link { margin-top: auto; }
.footer-grid span { color: var(--pn-muted); line-height: 1.8; }
@media (max-width: 1180px) {
  .header-shell { gap: 16px; }
  .hero-grid { gap: 34px; }
}
@media (max-width: 920px) {
  .hero { padding-bottom: 72px; }
  .hero-card { max-width: none; }
  .section-title, .section-title.centered-title { text-align: left; }
  .section-title p, .centered-title p { margin-left: 0; margin-right: 0; }
  .location-card .pn-btn, .deal-card .pn-btn, .job-card .pn-btn, .pn-card .pn-btn { max-width: none; }
}
@media (max-width: 720px) {
  .header-shell { width: min(100% - 20px, 1480px); padding: 14px 0; min-height: 76px; }
  .brand { gap: 10px; max-width: calc(100% - 64px); }
  .brand-wordmark strong { font-size: 24px; }
  .menu-toggle { width: 44px; height: 44px; }
  .hero { padding-top: 116px; padding-bottom: 56px; }
  .hero h1 { font-size: clamp(40px, 14vw, 60px); line-height: .92; }
  .hero p, .page-hero p, .intro-grid p, .split-feature p, .reservation-grid p, .section-title p { font-size: 16px; line-height: 1.7; }
  .hero-actions, .reservation-actions, .intro-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .hero-actions .pn-btn, .reservation-actions .pn-btn, .intro-actions .text-link, .header-actions .pn-btn { width: 100%; }
  .hero-card { padding: 16px; }
  .hero-card img { min-height: 220px; }
  .section-title h2, .intro-grid h2, .split-feature h2, .reservation-grid h2 { font-size: clamp(30px, 11vw, 42px); line-height: 1.02; }
  .pn-card, .menu-card, .deal-card, .location-card, .job-card, .intro-panel { padding: 20px; }
  .deal-card img, .location-card img, .job-card img, .pn-card img { margin: -20px -20px 18px; max-width: calc(100% + 40px); }
  .pnr-menu-section { padding: 8px 0 28px; }
  .pnr-menu-heading { margin-bottom: 22px; }
  .pnr-menu-heading h2 { font-size: clamp(34px, 12vw, 46px); }
  .pnr-menu-layout { gap: 20px; }
  .pnr-menu-visual img { aspect-ratio: 1.15 / 1; }
  .pnr-menu-row { padding-bottom: 20px; margin-bottom: 20px; }
  .pnr-menu-row h3 { font-size: 24px; }
  .price, .pnr-menu-row .price { font-size: 18px; }
  .blog-card h3 { font-size: 24px; }
  .blog-card-body { min-height: 0; }
  .page-hero { padding: 128px 0 48px; }
  .entry-content { padding: 48px 0; }
  .footer-bottom { text-align:center; justify-content:center; }
}
@media (max-width: 420px) {
  .pn-container, .pn-container-narrow { width: min(100% - 20px, var(--pn-max)); }
  .brand-wordmark strong { font-size: 21px; }
  .brand-emblem { width: 44px; height: 44px; }
  .mobile-nav a { padding-left: 0; padding-right: 0; }
  .menu-category-content { padding: 18px; }
  .menu-category-content h3 { font-size: 26px; }
}


/* PubNova v1.5 full-width centered banner + universal alignment polish */
.hero-grid-centered {
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
}
.hero-copy-centered {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
}
.hero-copy-centered h1 {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}
.hero-copy-centered p {
    width: min(1040px, 100%);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}
.hero-copy-centered .eyebrow,
.centered-title .eyebrow,
.pnr-menu-heading .eyebrow {
    justify-content: center;
}
.hero-copy-centered .hero-actions {
    justify-content: center;
}
.home .hero::after {
    background: radial-gradient(circle at 50% 46%, rgba(246,212,137,.20), transparent 26%), linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.44), rgba(0,0,0,.76));
}
.home .hero-bg { opacity: .54; }
.intro-section, .section-alt, .reservation-band { text-align: center; }
.intro-grid, .split-feature, .reservation-grid { text-align: center; }
.intro-grid .eyebrow, .split-feature .eyebrow, .reservation-grid .eyebrow { justify-content: center; }
.intro-actions, .reservation-actions { justify-content: center; }
.split-feature { grid-template-columns: .9fr 1.1fr; }
.feature-image { max-width: 620px; margin: 0 auto; width: 100%; }
.card-grid, .blog-grid, .menu-category-grid { align-items: stretch; }
.menu-category-content, .deal-card, .location-card, .job-card, .pn-card, .blog-card-body { text-align: center; }
.deal-card .tag, .location-card .tag, .job-card .tag, .pn-card .tag, .menu-category-content .tag { margin-left: auto; margin-right: auto; }
.deal-card .pn-btn, .location-card .pn-btn, .job-card .pn-btn, .pn-card .pn-btn { margin-left: auto; margin-right: auto; }
.blog-card-body .eyebrow { justify-content: center; }
.footer-grid { text-align: center; align-items: start; }
.footer-links { justify-items: center; }
.footer-bottom { justify-content: center; text-align: center; }
.pnr-menu-heading { text-align: center; }
.pnr-menu-layout { align-items: center; }
.pnr-menu-visual { margin-left: auto; margin-right: auto; }
.pnr-menu-list { width: 100%; }
.pnr-menu-row {
    text-align: left;
}
.pnr-menu-row .price { text-align: right; }
@media (max-width: 1320px) {
  .header-shell { width: min(100% - 28px, 1480px); gap: 14px; }
  .brand { min-width: 190px; }
  .brand-wordmark strong { font-size: 29px; }
  .desktop-nav > a, .nav-dropdown > button { padding-left: 10px; padding-right: 10px; font-size: 11px; }
  .header-actions { min-width: 260px; }
  .reserve-button, .order-button { padding: 0 18px; min-height: 50px; letter-spacing: .11em; }
}
@media (max-width: 1180px) {
  .home .site-header { position: absolute; }
  .hero-grid-centered { display: grid; }
  .split-feature { grid-template-columns: 1fr; }
  .feature-image { order: -1; }
}
@media (max-width: 920px) {
  .section-title, .section-title.centered-title { text-align: center; display: block; }
  .section-title p, .centered-title p { margin-left: auto; margin-right: auto; }
  .intro-grid, .split-feature, .reservation-grid { text-align: center; }
}
@media (max-width: 720px) {
  body { overflow-x: hidden; }
  .hero-copy-centered { width: 100%; }
  .hero-copy-centered h1 { font-size: clamp(38px, 13vw, 58px); }
  .hero-copy-centered p { max-width: 100%; }
  .hero-actions .pn-btn, .reservation-actions .pn-btn { min-height: 52px; padding-left: 16px; padding-right: 16px; }
  .mobile-nav { text-align: center; }
  .mobile-nav .order-button, .mobile-nav .reserve-button { justify-content: center; }
  .menu-category-content p { font-size: 15px; }
  .pnr-menu-row { text-align: center; }
  .pnr-menu-row .price { text-align: center; justify-self: center; }
  .pnr-menu-row small { text-align: center; }
  .pnr-menu-visual { max-width: 100%; }
  .deal-card img, .location-card img, .job-card img, .pn-card img, .blog-card-image img, .feature-image img { width: 100%; }
}
@media (max-width: 380px) {
  .hero-copy-centered h1 { font-size: 36px; }
  .pn-btn, .reserve-button, .order-button { font-size: 11px; letter-spacing: .09em; }
}

/* PubNova v1.7 centered sections + scrolling daily deals */
.section-more {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
    width: 100%;
}
.centered-title .section-more { margin-left: auto; margin-right: auto; }
.centered-title {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    flex-direction: column !important;
}
.centered-title > div,
.centered-title p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.specials-section {
    text-align: center;
    overflow: hidden;
}
.specials-section .section-title {
    margin-bottom: 42px;
}
.deals-loop-wrap {
    overflow: hidden;
    padding: 8px 0 12px;
}
.deals-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.deals-marquee-track {
    display: flex;
    width: max-content;
    gap: 24px;
    align-items: stretch;
    animation: pubnovaDealsLoop 34s linear infinite;
    will-change: transform;
}
.deals-marquee:hover .deals-marquee-track {
    animation-play-state: paused;
}
.deals-marquee .deal-card {
    width: min(360px, 78vw);
    min-width: min(360px, 78vw);
    text-align: center;
    justify-content: flex-start;
}
.deals-marquee .deal-card img {
    aspect-ratio: 1.35 / 1;
}
@keyframes pubnovaDealsLoop {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% - 12px)); }
}
@media (prefers-reduced-motion: reduce) {
    .deals-marquee-track { animation: none; flex-wrap: wrap; justify-content: center; width: 100%; }
}
@media (max-width: 920px) {
    .section-more .pn-btn { width: auto; min-width: 220px; }
    .deals-marquee { -webkit-mask-image: none; mask-image: none; }
    .deals-marquee-track { gap: 18px; animation-duration: 28s; }
}
@media (max-width: 720px) {
    .section-more { margin-top: 18px; }
    .section-more .pn-btn { width: 100%; min-width: 0; }
    .deals-loop-wrap { width: min(100% - 10px, var(--pn-max)); }
    .deals-marquee-track { gap: 16px; animation-duration: 24s; }
    .deals-marquee .deal-card {
        width: min(300px, 82vw);
        min-width: min(300px, 82vw);
    }
}


/* PubNova v1.8 deal image crop/zoom fix */
.deals-marquee .deal-card {
    overflow: hidden;
}
.deals-marquee .deal-card img {
    display: block;
    width: calc(100% + 52px);
    max-width: calc(100% + 52px);
    height: 238px;
    margin: -26px -26px 20px;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.08);
    transform-origin: center center;
}
@media (max-width: 720px) {
    .deals-marquee .deal-card img {
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        height: 210px;
        margin: -20px -20px 18px;
        transform: scale(1.1);
    }
}

/* PubNova v1.9 admin/content refinements */
.pnr-job-detail {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.pnr-job-detail h2 {
    color: var(--pn-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    margin: 18px 0 12px;
}
.pnr-job-description {
    color: var(--pn-cream);
    line-height: 1.85;
    max-width: 760px;
    margin: 24px auto;
    text-align: left;
}
.pnr-job-detail .pn-btn {
    margin: 10px auto 22px;
}
.job-card .pn-btn-outline {
    margin-top: auto;
}


/* PubNova v1.10 image + text alignment refinements */
.menu-category-tile,
.deal-card,
.location-card,
.job-card,
.pn-card,
.blog-card {
    overflow: hidden;
}
.menu-category-tile img,
.deal-card img,
.location-card img,
.job-card img,
.pn-card img,
.blog-card-image img,
.feature-image img,
.pnr-menu-visual img {
    object-fit: cover;
    object-position: center center;
}
.menu-category-tile img {
    transform: scale(1.12);
}
.menu-category-tile:hover img {
    transform: scale(1.16);
}
.menu-category-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    min-height: 100%;
}
.menu-category-content h3,
.menu-category-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.menu-category-content p,
.menu-category-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    margin: 0 auto;
}
.deal-card,
.location-card,
.job-card,
.pn-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.deal-card img,
.location-card img,
.job-card img,
.pn-card img {
    display: block;
    width: calc(100% + 52px);
    max-width: calc(100% + 52px);
    height: 238px;
    margin: -26px -26px 22px;
    object-position: center center;
}
.deal-card h3,
.location-card h3,
.job-card h3,
.pn-card h3,
.deal-title,
.location-title,
.job-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.3em;
    width: 100%;
}
.deal-card .deal-desc,
.location-card .location-address,
.location-card .location-hours,
.job-card .job-desc,
.pn-card .pn-card-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.deal-card .deal-desc {
    -webkit-line-clamp: 2;
    min-height: 3.4em;
}
.location-card .location-address,
.location-card .location-hours,
.job-card .job-desc,
.pn-card .pn-card-desc {
    -webkit-line-clamp: 3;
}
.deal-card .deal-location,
.location-card .location-phone,
.job-card .job-location {
    margin-top: auto;
}
.deal-card .price,
.location-card .price,
.job-card .price,
.pn-card .price {
    margin-top: 6px;
}
.card-grid {
    align-items: stretch;
}
.card-grid > article,
.menu-category-grid > a {
    height: 100%;
}
@media (max-width: 720px) {
    .deal-card img,
    .location-card img,
    .job-card img,
    .pn-card img {
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        height: 210px;
        margin: -20px -20px 18px;
    }
    .menu-category-content p,
    .menu-category-desc {
        -webkit-line-clamp: 2;
    }
}


/* PubNova v1.12 title alignment, load-more controls, and loading screen */
.menu-category-content {
    justify-content: center !important;
    padding: 24px !important;
    text-align: center;
}
.menu-category-content .tag {
    flex: 0 0 auto;
}
.menu-category-title,
.menu-category-content h3 {
    display: block !important;
    width: 100%;
    height: 1.18em;
    line-height: 1.18;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 !important;
}
.menu-category-desc,
.menu-category-content p {
    height: 4.9em;
    line-height: 1.62;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 auto !important;
    max-width: 28ch;
}
.menu-category-grid {
    align-items: stretch;
}
.menu-category-tile {
    display: grid !important;
    place-items: center;
    min-height: 245px;
}
.deal-title,
.location-title,
.job-title,
.blog-card h3 {
    text-align: center;
    line-height: 1.16 !important;
}
.deal-desc,
.location-address,
.location-hours,
.job-desc,
.blog-card p {
    text-align: center;
}
.pn-load-more-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 30px auto 0;
}
.pn-load-more {
    cursor: pointer;
}
.pn-load-hidden {
    display: none !important;
}
.pubnova-loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    background: #000;
    opacity: 1;
    visibility: visible;
    transition: opacity .45s ease, visibility .45s ease;
}
.pubnova-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.pubnova-loader-box {
    display: grid;
    justify-items: center;
    gap: 24px;
    padding: 34px;
}
.pubnova-loader-badge {
    width: clamp(104px, 12vw, 148px);
    height: clamp(104px, 12vw, 148px);
    min-width: clamp(104px, 12vw, 148px);
    padding: clamp(10px, 1.1vw, 14px);
    border: 2px solid var(--pn-gold-2, #f6d489);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 36% 24%, rgba(246,212,137,.18), rgba(3,5,6,.96) 58%),
        #030506;
    box-shadow:
        inset 0 0 0 6px rgba(212,168,86,.07),
        0 0 0 1px rgba(255,255,255,.04),
        0 14px 36px rgba(0,0,0,.36),
        0 0 34px rgba(246,212,137,.13);
    animation: pubnovaLoaderBadgeGlow 1.8s ease-in-out infinite;
}
.pubnova-loader-logo {
    max-width: 84%;
    max-height: 84%;
    width: auto;
    height: auto;
    object-fit: contain;
    transform: translateY(4px);
    transform-origin: center center;
}
.pubnova-loader-emblem {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--pn-gold-2, #f6d489);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 800;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
}
.pubnova-loader-line {
    width: 180px;
    max-width: 55vw;
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
    position: relative;
}
.pubnova-loader-line::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 42%;
    background: linear-gradient(90deg, transparent, var(--pn-gold-2, #f6d489), transparent);
    animation: pubnovaLoaderLine 1.05s ease-in-out infinite;
}
@keyframes pubnovaLoaderLine {
    from { transform: translateX(-100%); }
    to { transform: translateX(240%); }
}
@keyframes pubnovaLoaderBadgeGlow {
    0%, 100% {
        box-shadow:
            inset 0 0 0 6px rgba(212,168,86,.07),
            0 0 0 1px rgba(255,255,255,.04),
            0 14px 36px rgba(0,0,0,.36),
            0 0 28px rgba(246,212,137,.12);
        transform: scale(1);
    }
    50% {
        box-shadow:
            inset 0 0 0 6px rgba(212,168,86,.09),
            0 0 0 1px rgba(255,255,255,.06),
            0 16px 40px rgba(0,0,0,.42),
            0 0 42px rgba(246,212,137,.22);
        transform: scale(1.02);
    }
}
@media (max-width: 720px) {
    .menu-category-title,
    .menu-category-content h3 {
        font-size: 28px !important;
    }
    .menu-category-desc,
    .menu-category-content p {
        height: 3.2em;
        -webkit-line-clamp: 2;
        max-width: 26ch;
    }
    .menu-category-tile {
        min-height: 220px;
    }
    .pubnova-loader-logo {
        max-width: min(190px, 70vw);
    }
}


/* PubNova v1.13 manager portal + price/login support */
.pnr-manager-portal {
    width: min(var(--pn-max), calc(100% - 48px));
    margin: 0 auto;
    padding: 36px 0 72px;
}
.pnr-portal-hero,
.pnr-portal-card {
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border: 1px solid var(--pn-line);
    border-radius: 24px;
    box-shadow: 0 25px 70px rgba(0,0,0,.32);
}
.pnr-portal-hero {
    text-align: center;
    padding: clamp(28px, 5vw, 56px);
    margin-bottom: 24px;
}
.pnr-portal-hero h2 {
    color: var(--pn-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 72px);
    line-height: .95;
    margin: 16px 0;
}
.pnr-portal-hero p,
.pnr-portal-locations,
.pnr-portal-card p {
    color: var(--pn-muted);
    line-height: 1.75;
}
.pnr-portal-locations { color: var(--pn-gold-2); }
.pnr-portal-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.pnr-portal-stats div {
    text-align: center;
    padding: 24px 18px;
    border: 1px solid var(--pn-line);
    border-radius: 22px;
    background: rgba(0,0,0,.28);
}
.pnr-portal-stats strong {
    display: block;
    color: var(--pn-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
}
.pnr-portal-stats span,
.pnr-portal-card span {
    color: var(--pn-gold-2);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 11px;
    font-weight: 900;
}
.pnr-portal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.pnr-portal-card {
    display: block;
    padding: 26px;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.pnr-portal-card:hover {
    transform: translateY(-4px);
    border-color: rgba(246,212,137,.55);
    background: linear-gradient(180deg, rgba(246,212,137,.12), rgba(255,255,255,.035));
}
.pnr-portal-card h3 {
    color: var(--pn-white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    margin: 12px 0 8px;
}
.pnr-portal-login { max-width: 560px; margin: 0 auto; text-align: center; }
@media (max-width: 920px) {
    .pnr-portal-stats, .pnr-portal-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .pnr-manager-portal { width: min(100% - 24px, var(--pn-max)); }
    .pnr-portal-stats, .pnr-portal-grid { grid-template-columns: 1fr; }
}


/* PubNova v1.14 homepage controls, small cards, filters, and location profiles */
.intro-actions .pn-btn {
    min-width: 180px;
    border-radius: 999px;
}
.home-menu-categories .menu-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.home-menu-categories .menu-category-tile {
    min-height: 225px;
}
.specials-section .deals-loop-wrap {
    width: min(100% - 28px, 1400px);
    max-width: none;
}
.specials-section .deals-marquee-track {
    gap: 18px;
    animation-duration: 68s;
}
.specials-section .deals-marquee .deal-card {
    width: 265px;
    min-width: 265px;
    padding: 18px;
    border-radius: 20px;
}
.specials-section .deals-marquee .deal-card img {
    width: calc(100% + 36px);
    max-width: calc(100% + 36px);
    height: 145px;
    margin: -18px -18px 16px;
    border-radius: 16px;
    transform: scale(1.06);
}
.specials-section .deals-marquee .deal-title {
    font-size: 22px;
    min-height: 2.25em;
}
.specials-section .deals-marquee .deal-desc {
    font-size: 14px;
    min-height: 3.1em;
}
.specials-section .deals-marquee .price {
    font-size: 17px;
}
.locations-section {
    overflow: hidden;
}
.locations-section .pn-container:last-child {
    width: min(100% - 28px, 1400px);
    max-width: none;
}
.locations-marquee {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.locations-marquee-track {
    display: flex;
    gap: 18px;
    width: max-content;
    align-items: stretch;
    animation: pubnovaLocationsLoop 82s linear infinite;
    will-change: transform;
}
.locations-marquee:hover .locations-marquee-track {
    animation-play-state: paused;
}
.locations-marquee .location-card {
    width: 285px;
    min-width: 285px;
    padding: 18px;
    border-radius: 20px;
}
.locations-marquee .location-card img {
    width: calc(100% + 36px);
    max-width: calc(100% + 36px);
    height: 150px;
    margin: -18px -18px 16px;
    border-radius: 16px;
}
.locations-marquee .location-title {
    font-size: 23px;
    min-height: 2.25em;
}
.locations-marquee .location-address,
.locations-marquee .location-hours {
    font-size: 14px;
}
@keyframes pubnovaLocationsLoop {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-33.333% - 18px)); }
}
.pnr-filter-panel {
    width: min(100%, 980px);
    margin: 0 auto 34px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .35fr);
    gap: 14px;
    background: rgba(255,255,255,.045);
    border: 1px solid var(--pn-line);
    padding: 14px;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.pnr-filter-panel input,
.pnr-filter-panel select {
    width: 100%;
    min-height: 52px;
    background: rgba(0,0,0,.45);
    border: 1px solid rgba(246,212,137,.26);
    color: var(--pn-cream);
    border-radius: 12px;
    padding: 0 16px;
    outline: none;
}
.pnr-filter-panel input:focus,
.pnr-filter-panel select:focus {
    border-color: var(--pn-gold-2);
    box-shadow: 0 0 0 3px rgba(246,212,137,.12);
}
.pn-filter-hidden { display: none !important; }
.pn-filter-empty {
    text-align: center;
    color: var(--pn-muted);
    padding: 26px;
    border: 1px dashed var(--pn-line);
    border-radius: 18px;
}
.pnr-location-profile {
    display: grid;
    gap: 50px;
}
.pnr-location-hero {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 38px;
    align-items: center;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
    border: 1px solid var(--pn-line);
    border-radius: 28px;
    padding: 28px;
    box-shadow: var(--pn-shadow);
}
.pnr-location-hero img {
    width: 100%;
    aspect-ratio: 1.35 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 22px;
    border: 1px solid var(--pn-line-soft);
}
.pnr-location-hero h2 {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--pn-white);
    font-size: clamp(44px, 6vw, 82px);
    line-height: .92;
    letter-spacing: -.055em;
    margin: 16px 0;
}
.pnr-location-hero p {
    color: var(--pn-muted);
    line-height: 1.8;
    font-size: 17px;
}
.pnr-profile-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}
.pnr-profile-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.pnr-profile-info > div {
    background: rgba(255,255,255,.045);
    border: 1px solid var(--pn-line);
    border-radius: 20px;
    padding: 24px;
    text-align: center;
}
.pnr-profile-info span {
    display: block;
    color: var(--pn-gold-2);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .16em;
    margin-bottom: 12px;
}
.pnr-profile-info strong {
    color: var(--pn-white);
    line-height: 1.6;
}
.pnr-profile-title {
    margin: 10px auto 12px;
}
.pnr-profile-back {
    text-align: center;
}
@media (prefers-reduced-motion: reduce) {
    .locations-marquee-track,
    .specials-section .deals-marquee-track {
        animation: none;
    }
}
@media (max-width: 1180px) {
    .home-menu-categories .menu-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 920px) {
    .pnr-filter-panel {
        grid-template-columns: 1fr;
    }
    .pnr-location-hero,
    .pnr-profile-info {
        grid-template-columns: 1fr;
    }
    .locations-marquee,
    .deals-marquee {
        -webkit-mask-image: none;
        mask-image: none;
    }
}
@media (max-width: 720px) {
    .home-menu-categories .menu-category-grid {
        grid-template-columns: 1fr;
    }
    .specials-section .deals-marquee .deal-card,
    .locations-marquee .location-card {
        width: min(260px, 82vw);
        min-width: min(260px, 82vw);
    }
    .specials-section .deals-marquee .deal-card img,
    .locations-marquee .location-card img {
        height: 138px;
    }
    .pnr-location-hero {
        padding: 18px;
    }
    .pnr-profile-actions .pn-btn {
        width: 100%;
    }
}


/* PubNova v1.15 visibility + cache-bust refinements */
.home .intro-actions .text-link {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 0 22px; border: 1px solid rgba(246,212,137,.45);
    background: rgba(246,212,137,.08); color: var(--pn-gold-2); border-radius: 999px;
}
.home .intro-actions .text-link:hover {
    background: linear-gradient(135deg, var(--pn-gold-2), var(--pn-yellow)); color: #050505;
}
.menu-category-grid .pn-load-hidden,
.card-grid .pn-load-hidden,
.blog-grid .pn-load-hidden,
.pnr-menu-list .pn-load-hidden { display: none !important; }
.pn-load-more-wrap { display:flex; justify-content:center; margin: 28px auto 0; width:100%; }
.specials-section .deals-marquee .deal-card {
    width: min(285px, 76vw); min-width: min(285px, 76vw); padding: 18px; border-radius: 20px;
}
.specials-section .deals-marquee .deal-card img {
    height: 162px; width: calc(100% + 36px); max-width: calc(100% + 36px); margin: -18px -18px 18px;
    object-fit: cover; object-position: center; border-radius: 18px 18px 14px 14px;
}
.specials-section .deals-marquee-track { animation-duration: 58s !important; gap: 18px; }
.locations-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.locations-marquee-track { display:flex; gap: 20px; width:max-content; animation: pubnovaLocationsLoop 72s linear infinite; }
.locations-marquee:hover .locations-marquee-track { animation-play-state: paused; }
.locations-marquee .location-card { width: min(310px, 76vw); min-width: min(310px, 76vw); padding: 20px; }
.locations-marquee .location-card img { height: 170px; width: calc(100% + 40px); max-width: calc(100% + 40px); margin: -20px -20px 18px; }
@keyframes pubnovaLocationsLoop { from { transform: translateX(0); } to { transform: translateX(calc(-33.333% - 14px)); } }
.pnr-filter-panel { margin-bottom: 34px !important; }
.pnr-filter-panel input, .pnr-filter-panel select { min-height: 52px !important; }
@media (min-width: 981px) {
  .menu-category-grid { grid-template-columns: repeat(4, 1fr); }
  .menu-category-tile:nth-child(n+9) { display: none; }
  .menu-category-grid.is-expanded .menu-category-tile:nth-child(n+9) { display: flex; }
}
@media (max-width: 720px) {
  .specials-section .deals-marquee .deal-card { width: min(250px, 82vw); min-width: min(250px, 82vw); }
  .specials-section .deals-marquee .deal-card img { height: 145px; }
}


/* PubNova v1.16 FORCE diagnostic marker */
.pubnova-force-badge {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 999999;
  background: #f6d489;
  color: #050505;
  border: 2px solid #fff;
  box-shadow: 0 10px 35px rgba(0,0,0,.45);
  padding: 9px 12px;
  border-radius: 999px;
  font: 800 12px/1.1 system-ui, -apple-system, Segoe UI, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 720px){ .pubnova-force-badge{font-size:10px; right:8px; bottom:8px;} }


/* PubNova FORCE v1.17 - make search/filter controls visible everywhere */
.pnr-filter-panel {
    max-width: 980px;
    margin: 0 auto 34px !important;
    padding: 16px;
    border: 1px solid rgba(246,212,137,.35);
    background: rgba(0,0,0,.35);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.pnr-filter-panel::before {
    content: "Search / Filter";
    display: block;
    color: var(--pn-gold-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 10px;
    text-align: center;
}
.pnr-filter-panel input,
.pnr-filter-panel select {
    text-align: center;
}
.menu-category-grid.pnr-filter-results,
.deals-marquee.pnr-filter-results,
.locations-marquee.pnr-filter-results {
    margin-top: 4px;
}
.pn-filter-empty {
    text-align: center;
    color: var(--pn-gold-2);
    font-weight: 800;
    margin: 22px auto 0;
}
.pubnova-force-badge {
    background: #ffc63d !important;
    color: #050505 !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.35) !important;
}


/* PubNova FORCE v1.18 - shortcode override visibility */
.pnr-filter-panel{
  display:grid !important;
  grid-template-columns: minmax(260px,1fr) minmax(220px,.38fr);
  gap:16px;
  width:min(100%, 980px);
  margin:0 auto 36px !important;
  padding:18px !important;
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(246,212,137,.42) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.34) !important;
  border-radius:18px;
  position:relative;
  z-index:5;
}
.pnr-filter-panel::before{
  content:'Search / Filter';
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(135deg,#fee6b0,#f6d489,#ffc63d);
  color:#050505;
  padding:6px 12px;
  border-radius:999px;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
}
.pnr-filter-panel input,.pnr-filter-panel select{
  min-height:54px !important;
  border-radius:12px !important;
  background:#05090b !important;
  border:1px solid rgba(246,212,137,.35) !important;
  color:#fff !important;
  padding:0 16px !important;
  outline:none !important;
}
.pnr-filter-panel input::placeholder{color:rgba(255,255,255,.7)!important;}
.pubnova-force-badge{background:#ffeb96!important;color:#000!important;}
.pubnova-force-badge::after{content:' LOCATION PROFILE FIX';}
@media(max-width:720px){.pnr-filter-panel{grid-template-columns:1fr;width:min(100%, calc(100vw - 24px));}}


/* PubNova FORCE v1.19 - manual drag/swipe Daily Deals (no auto-loop) */
.specials-section .deals-marquee,
.deals-marquee {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    cursor: grab !important;
    user-select: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding: 4px 0 18px;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(246,212,137,.55) rgba(255,255,255,.08);
}
.specials-section .deals-marquee::-webkit-scrollbar,
.deals-marquee::-webkit-scrollbar {
    height: 9px;
}
.specials-section .deals-marquee::-webkit-scrollbar-track,
.deals-marquee::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08);
    border-radius: 999px;
}
.specials-section .deals-marquee::-webkit-scrollbar-thumb,
.deals-marquee::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, var(--pn-gold-2), var(--pn-yellow));
    border-radius: 999px;
}
.specials-section .deals-marquee.is-dragging,
.deals-marquee.is-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto;
}
.specials-section .deals-marquee-track,
.deals-marquee-track {
    animation: none !important;
    transform: none !important;
    width: max-content !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
}
.specials-section .deals-marquee:hover .deals-marquee-track,
.deals-marquee:hover .deals-marquee-track {
    animation: none !important;
}
.deals-marquee .deal-card {
    flex: 0 0 auto !important;
}
.deals-drag-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 12px auto 0;
    color: var(--pn-gold-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: .82;
}
.deals-drag-hint::before,
.deals-drag-hint::after {
    content: '';
    width: 22px;
    height: 1px;
    background: currentColor;
    margin: 0 10px;
    opacity: .6;
}
@media (max-width: 720px) {
    .deals-drag-hint { font-size: 10px; }
}


/* PubNova FORCE v1.20 - location profile force display */
.pubnova-force-location-profile {
    width: min(var(--pn-max), calc(100% - 48px));
    margin: 28px auto 0;
}
.pubnova-force-location-profile .pnr-profile-section-title {
    text-align: center;
    margin: 18px auto 28px;
}
.pubnova-force-location-profile .pnr-profile-section-title h2 {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--pn-white);
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    margin: 12px 0;
}
.pubnova-force-location-profile .pnr-profile-section {
    margin-top: 60px;
}
.pubnova-force-location-profile .pnr-profile-info-card strong {
    color: var(--pn-gold-2);
    display: block;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.pubnova-force-location-profile .pnr-profile-info-card {
    text-align: center;
    padding: 20px;
    border: 1px solid var(--pn-line);
    background: rgba(255,255,255,.04);
    border-radius: 18px;
    color: var(--pn-cream);
}
@media(max-width:720px){
    .pubnova-force-location-profile { width: min(100% - 24px, var(--pn-max)); margin-top: 18px; }
    .pnr-location-hero { grid-template-columns: 1fr; padding: 18px; }
    .pnr-profile-info { grid-template-columns: 1fr; }
}


/* PubNova FORCE v1.22 - jobs/contact/policy pages */
.pubnova-force-badge::after{content:' JOBS CONTACT';}
.pnr-contact-wrap,
.pnr-policy-page,
.pnr-about-page{
  width:min(980px, calc(100% - 32px));
  margin:0 auto;
}
.pnr-contact-card,
.pnr-policy-card,
.pnr-about-card{
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  border:1px solid var(--pn-line);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  padding:clamp(22px, 4vw, 42px);
}
.pnr-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start;}
.pnr-contact-location-info{
  border:1px solid rgba(246,212,137,.28);
  border-radius:20px;
  padding:22px;
  background:rgba(0,0,0,.28);
  color:var(--pn-cream);
  line-height:1.75;
}
.pnr-contact-location-info h3{font-family:Georgia,'Times New Roman',serif;color:var(--pn-white);font-size:30px;margin:0 0 12px;}
.pnr-contact-location-info strong{color:var(--pn-gold-2);display:block;margin-top:12px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;}
.pnr-contact-form label{display:block;color:var(--pn-gold-2);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;}
.pnr-contact-form input,.pnr-contact-form select,.pnr-contact-form textarea{
  width:100%;min-height:52px;margin-top:8px;border-radius:14px;border:1px solid rgba(246,212,137,.28);
  background:#05090b;color:#fff;padding:12px 15px;outline:none;
}
.pnr-contact-form textarea{min-height:150px;resize:vertical;}
.pnr-contact-form .pnr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pnr-contact-status{margin:0 auto 22px;padding:14px 16px;border-radius:14px;text-align:center;font-weight:800;}
.pnr-contact-status.success{background:rgba(72,187,120,.14);border:1px solid rgba(72,187,120,.45);color:#c7ffd9;}
.pnr-contact-status.error{background:rgba(255,99,99,.12);border:1px solid rgba(255,99,99,.45);color:#ffd0d0;}
.pnr-job-detail .pnr-job-apply-note{color:var(--pn-muted);margin:12px auto 0;max-width:620px;line-height:1.7;}
.pnr-policy-card h2,.pnr-about-card h2{font-family:Georgia,'Times New Roman',serif;color:var(--pn-white);font-size:clamp(30px,4vw,48px);line-height:1.05;margin:24px 0 12px;}
.pnr-policy-card h3,.pnr-about-card h3{font-family:Georgia,'Times New Roman',serif;color:var(--pn-gold-2);font-size:26px;margin:22px 0 8px;}
.pnr-policy-card p,.pnr-policy-card li,.pnr-about-card p,.pnr-about-card li{color:var(--pn-cream);line-height:1.85;}
.pnr-policy-card ul,.pnr-about-card ul{padding-left:22px;}
.footer-policy-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:14px;font-size:12px;}
.footer-policy-links a{color:var(--pn-muted);border-bottom:1px solid rgba(246,212,137,.25);}
.footer-policy-links a:hover{color:var(--pn-gold-2);}
@media(max-width:820px){.pnr-contact-grid,.pnr-contact-form .pnr-form-row{grid-template-columns:1fr;}.pnr-contact-card{padding:20px;}}


/* PubNova FORCE v1.22 - mobile polish, cleaner location cards, maps, SEO/location upgrade */
.pubnova-force-badge::after{content:' V1.22 MOBILE SEO';}
.location-card-simple{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:14px;}
.location-card-simple .location-title{min-height:0;margin:0 auto 4px;font-size:clamp(24px, 3vw, 32px);}
.location-card-simple .pn-btn{width:min(190px,100%);}
.locations-marquee .location-card-simple{padding-bottom:22px;}
.locations-marquee .location-card-simple img{margin-bottom:10px;}
.pnr-map-section{margin-top:32px!important;}
.pnr-location-map{border:1px solid var(--pn-line);border-radius:24px;overflow:hidden;box-shadow:var(--pn-shadow);background:rgba(255,255,255,.04);}
.pnr-location-map iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.9) contrast(1.02);}
.pnr-profile-actions .pn-btn{min-width:150px;}
.pnr-profile-info-card{word-break:break-word;}
@media (max-width: 1120px){
  .site-header,.home .site-header{position:sticky!important;top:0;width:100%;background:rgba(3,5,6,.97)!important;box-shadow:0 18px 55px rgba(0,0,0,.34);}
  .header-shell{height:78px!important;width:min(100% - 24px, 1480px)!important;}
  .custom-logo{max-height:52px;}
  .mobile-nav{max-height:calc(100vh - 78px);overflow:auto;padding:10px 16px 18px!important;}
  .mobile-nav.is-open{display:grid!important;grid-template-columns:1fr;gap:6px!important;}
  .mobile-nav a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);}
}
@media (max-width: 920px){
  .section{padding:64px 0;}
  .section-title{margin-bottom:26px;}
  .card-grid,.blog-grid,.menu-category-grid{grid-template-columns:1fr 1fr;gap:16px;}
  .pnr-profile-actions{justify-content:center;}
  .pnr-profile-actions .pn-btn{flex:1 1 210px;}
  .pnr-location-map iframe{height:340px;}
}
@media (max-width: 720px){
  .pn-container,.pn-container-narrow{width:min(100% - 22px, var(--pn-max));}
  .hero{padding-top:94px!important;padding-bottom:60px;}
  .hero h1{font-size:clamp(38px, 12vw, 58px)!important;line-height:.92;}
  .hero p,.section-title p,.intro-panel p,.reservation-grid p{font-size:15.5px;line-height:1.7;}
  .hero-actions,.intro-actions,.reservation-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px;}
  .hero-actions .pn-btn,.intro-actions .pn-btn,.reservation-actions .pn-btn,.section-more .pn-btn{width:100%;min-height:50px;}
  .section{padding:52px 0;}
  .section-title h2{font-size:clamp(34px, 11vw, 48px);line-height:1;}
  .card-grid,.blog-grid,.menu-category-grid{grid-template-columns:1fr;gap:14px;}
  .pn-card,.menu-card,.deal-card,.location-card,.job-card{padding:20px;border-radius:20px;}
  .deal-card h3,.location-card h3,.job-card h3,.pn-card h3{font-size:25px;}
  .pnr-filter-panel{padding:10px;border-radius:16px;margin-bottom:22px;}
  .pnr-filter-panel input,.pnr-filter-panel select{min-height:48px;font-size:15px;}
  .deals-loop-wrap,.locations-section .pn-container:last-child{width:min(100% - 10px, 100%);}
  .deals-marquee,.locations-marquee{overflow-x:auto;scroll-snap-type:x proximity;padding:4px 10px 12px;-webkit-overflow-scrolling:touch;}
  .deals-marquee-track,.locations-marquee-track{animation:none!important;gap:14px;}
  .deals-marquee .deal-card,.locations-marquee .location-card{width:min(286px,78vw)!important;min-width:min(286px,78vw)!important;scroll-snap-align:center;}
  .locations-marquee .location-card-simple img{height:178px;}
  .pnr-location-hero{padding:16px!important;border-radius:22px;gap:18px;}
  .pnr-location-hero h2{font-size:clamp(34px, 12vw, 50px);}
  .pnr-profile-actions{display:grid;grid-template-columns:1fr;}
  .pnr-profile-actions .pn-btn{width:100%;min-width:0;}
  .pnr-profile-info{gap:12px;}
  .pnr-location-map iframe{height:300px;}
  .pnr-contact-wrap,.pnr-policy-page,.pnr-about-page{width:min(100% - 22px, 980px);}
}
@media (max-width: 430px){
  .header-shell{height:72px!important;}
  .brand-wordmark strong{font-size:22px!important;}
  .brand-wordmark small{font-size:8px;letter-spacing:.18em;}
  .menu-toggle{width:42px;height:42px;}
  .mobile-nav{max-height:calc(100vh - 72px);}
  .pn-btn,.reserve-button,.order-button{letter-spacing:.08em;padding-left:14px;padding-right:14px;}
  .deals-marquee .deal-card,.locations-marquee .location-card{width:min(270px,82vw)!important;min-width:min(270px,82vw)!important;}
}


/* PubNova FORCE v1.23: custom 404 page and stronger location-route fallback. */
.error404 .site-main,
.pubnova-404-page {
    min-height: 68vh;
}
.pubnova-404-page {
    padding: 86px 0 96px;
}
.pubnova-404-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--pn-line);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 12%, rgba(246, 212, 137, .18), transparent 34%),
        linear-gradient(145deg, rgba(8,20,26,.96), rgba(3,5,6,.98));
    box-shadow: var(--pn-shadow);
    padding: clamp(28px, 6vw, 70px);
    text-align: center;
}
.pubnova-404-card::after {
    content: "404";
    position: absolute;
    right: clamp(16px, 6vw, 64px);
    bottom: -34px;
    font-size: clamp(86px, 20vw, 230px);
    line-height: 1;
    font-weight: 900;
    color: rgba(246, 212, 137, .06);
    pointer-events: none;
}
.pubnova-404-card .eyebrow {
    justify-content: center;
}
.pubnova-404-card h1 {
    margin: 12px auto 14px;
    max-width: 760px;
    font-size: clamp(2.2rem, 7vw, 5rem);
    line-height: .95;
}
.pubnova-404-card p {
    max-width: 680px;
    margin: 0 auto 24px;
    color: var(--pn-muted);
    font-size: 1.05rem;
}
.pubnova-404-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.pubnova-404-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}
.pubnova-404-links a {
    border: 1px solid var(--pn-line-soft);
    border-radius: 18px;
    padding: 16px 14px;
    background: rgba(255,255,255,.045);
    color: var(--pn-cream);
    font-weight: 800;
}
.pubnova-404-links a:hover {
    border-color: rgba(246, 212, 137, .44);
    transform: translateY(-1px);
}
@media (max-width: 760px) {
    .pubnova-404-page { padding: 44px 0 70px; }
    .pubnova-404-card { border-radius: 24px; }
    .pubnova-404-actions { flex-direction: column; }
    .pubnova-404-actions .pn-btn { width: 100%; justify-content: center; }
    .pubnova-404-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
    .pubnova-404-links { grid-template-columns: 1fr; }
}


/* PubNova FORCE v1.25 - centered search/filter alignment fix */
.pubnova-force-badge::after{content:' V1.25 FILTER ALIGN';}
.pnr-filter-panel{
  box-sizing:border-box;
  justify-content:center;
  align-items:center;
}
.pnr-filter-panel.pnr-filter-panel--search-only,
.pnr-filter-panel[data-pn-filter-layout="search-only"]{
  display:flex!important;
  grid-template-columns:1fr!important;
  max-width:980px!important;
  width:min(100% - 32px, 980px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:18px!important;
}
.pnr-filter-panel.pnr-filter-panel--search-only .pnr-filter-search,
.pnr-filter-panel[data-pn-filter-layout="search-only"] .pnr-filter-search{
  width:min(100%, 720px)!important;
  max-width:720px!important;
  margin:0 auto!important;
  display:block!important;
  justify-self:center!important;
}
.pnr-filter-panel.pnr-filter-panel--with-location,
.pnr-filter-panel[data-pn-filter-layout="with-location"]{
  grid-template-columns:minmax(260px,1fr) minmax(210px,.42fr)!important;
}
.pnr-filter-panel.pnr-filter-panel--with-location .pnr-filter-search,
.pnr-filter-panel[data-pn-filter-layout="with-location"] .pnr-filter-search,
.pnr-filter-panel.pnr-filter-panel--with-location .pnr-filter-location,
.pnr-filter-panel[data-pn-filter-layout="with-location"] .pnr-filter-location{
  width:100%!important;
  max-width:none!important;
}
@supports selector(.pnr-filter-panel:has(select)){
  .pnr-filter-panel:not(:has(select)){
    display:flex!important;
    grid-template-columns:1fr!important;
    justify-content:center!important;
  }
  .pnr-filter-panel:not(:has(select)) .pnr-filter-search{
    width:min(100%, 720px)!important;
    max-width:720px!important;
    margin:0 auto!important;
  }
  .pnr-filter-panel:has(select){
    display:grid!important;
    grid-template-columns:minmax(260px,1fr) minmax(210px,.42fr)!important;
  }
}
@media(max-width:720px){
  .pnr-filter-panel,
  .pnr-filter-panel.pnr-filter-panel--search-only,
  .pnr-filter-panel[data-pn-filter-layout="search-only"],
  .pnr-filter-panel.pnr-filter-panel--with-location,
  .pnr-filter-panel[data-pn-filter-layout="with-location"]{
    width:min(100% - 22px, 980px)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px!important;
  }
  .pnr-filter-panel .pnr-filter-search,
  .pnr-filter-panel .pnr-filter-location{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* PubNova FORCE v1.29 - daily deals card spacing polish */
.deal-card .tag{
  margin-bottom:14px!important;
}
.deal-card h3,
.deal-card .deal-title{
  margin-top:0!important;
  margin-bottom:12px!important;
  min-height:0!important;
  line-height:1.12!important;
}
.deal-card .deal-desc{
  margin:0 auto 14px!important;
  min-height:0!important;
  line-height:1.48!important;
}
.deal-card .price{
  margin:0 auto 9px!important;
  line-height:1.2!important;
}
.deal-card .deal-location{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.3!important;
}
.specials-section .deals-marquee .deal-card .tag{
  margin-bottom:15px!important;
}
.specials-section .deals-marquee .deal-title{
  margin-bottom:12px!important;
  min-height:0!important;
}
.specials-section .deals-marquee .deal-desc{
  margin-bottom:13px!important;
  min-height:0!important;
}
.specials-section .deals-marquee .price{
  margin-top:0!important;
  margin-bottom:8px!important;
}
@media(max-width:720px){
  .deal-card .tag{margin-bottom:12px!important;}
  .deal-card h3,
  .deal-card .deal-title{margin-bottom:10px!important;}
  .deal-card .deal-desc{margin-bottom:12px!important;}
  .deal-card .price{margin-bottom:7px!important;}
}


/* PubNova FORCE v1.30 - logged-in homepage header/admin bar fix
   Keeps the homepage header the same size when WordPress admin bar is visible.
   Public visitors are unchanged. */
body.home.admin-bar .site-header {
  top: 32px !important;
  z-index: 99990;
}
body.home.admin-bar .site-header .header-shell {
  min-height: 96px !important;
  height: auto !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
body.home.admin-bar .custom-logo {
  max-height: 64px;
}
@media screen and (max-width: 1120px) {
  body.home.admin-bar .site-header,
  body.home.admin-bar.home .site-header {
    position: sticky !important;
    top: 32px !important;
    width: 100% !important;
    background: rgba(3,5,6,.97) !important;
  }
  body.home.admin-bar .site-header .header-shell {
    min-height: 78px !important;
    height: 78px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.home.admin-bar .custom-logo {
    max-height: 52px !important;
  }
}
@media screen and (max-width: 782px) {
  body.home.admin-bar .site-header,
  body.home.admin-bar.home .site-header {
    top: 46px !important;
  }
}
@media screen and (max-width: 600px) {
  body.home.admin-bar .site-header,
  body.home.admin-bar.home .site-header {
    top: 0 !important;
  }
}


/* PubNova FORCE v1.32 - Careers search + all-location filter */
.pnr-filter-panel--careers{margin-top:0;margin-bottom:28px;}
.pnr-careers-grid.pnr-filter-results{align-items:stretch;}
.pnr-careers-grid .job-card{transition:transform .18s ease, opacity .18s ease;}
@media(max-width:720px){.pnr-filter-panel--careers{width:100%;margin-bottom:20px;}}

/* PubNova FORCE v1.33 - compact inner page header/hero spacing
   Reduces the large empty space under the main navigation on inner pages only. */
body:not(.home) .page-hero{
  padding:96px 0 54px!important;
  min-height:0!important;
}
body:not(.home) .page-hero h1,
body:not(.home) .page-hero .entry-title{
  margin:12px 0 0!important;
  line-height:.92!important;
}
body:not(.home) .page-hero p{
  margin-top:14px!important;
  margin-bottom:0!important;
}
body:not(.home) .page-hero .eyebrow{
  margin-bottom:0!important;
}
@media(max-width:1120px){
  body:not(.home) .page-hero{
    padding:82px 0 44px!important;
  }
}
@media(max-width:720px){
  body:not(.home) .page-hero{
    padding:64px 0 34px!important;
  }
  body:not(.home) .page-hero h1,
  body:not(.home) .page-hero .entry-title{
    font-size:clamp(40px, 13vw, 64px)!important;
  }
}


/* PubNova FORCE v1.37: Reservation manager frontend/admin polish */
.pnr-reservation-wrap .pnr-contact-card { border-color: rgba(246, 212, 137, .24); }
.pnr-reservation-form input[type="date"],
.pnr-reservation-form input[type="time"],
.pnr-reservation-form input[type="number"] { min-height: 54px; }
.pnr-reservation-form [data-pnr-reservation-note] { margin-top: 2px; }
.pnr-reservation-hours input[type="time"] { min-width: 116px; }
.pnr-reservation-hours select { min-width: 90px; }
.pnr-status-confirmed { background:#d1fae5;color:#065f46; }
.pnr-status-cancelled { background:#fee2e2;color:#991b1b; }
.pnr-status-pending { background:#fef3c7;color:#92400e; }

/* PubNova FORCE v1.45 - premium circular header logo badge
   Keeps the custom uploaded logo centered in a larger responsive circle. */
.brand-has-custom-logo{
  min-width:112px;
  justify-content:center;
  flex:0 0 auto;
}
.brand-logo-badge{
  width:92px;
  height:92px;
  min-width:92px;
  padding:10px;
  border:2px solid var(--pn-gold-2);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 36% 24%, rgba(246,212,137,.18), rgba(3,5,6,.96) 58%),
    #030506;
  box-shadow:
    inset 0 0 0 6px rgba(212,168,86,.07),
    0 0 0 1px rgba(255,255,255,.04),
    0 14px 36px rgba(0,0,0,.36),
    0 0 34px rgba(246,212,137,.13);
}
.brand-logo-badge .custom-logo,
.brand-has-custom-logo .custom-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:82%!important;
  margin:0 auto!important;
  object-fit:contain!important;
  transform:translateY(4px)!important;
  transform-origin:center center!important;
}
.brand-logo-badge:hover{
  border-color:var(--pn-yellow);
  box-shadow:
    inset 0 0 0 6px rgba(212,168,86,.09),
    0 0 0 1px rgba(255,255,255,.06),
    0 16px 42px rgba(0,0,0,.42),
    0 0 42px rgba(246,212,137,.2);
}
.header-shell{
  align-items:center!important;
}
@media (min-width:1121px){
  .brand-has-custom-logo{min-width:128px;}
  .site-header .header-shell{min-height:112px;}
}
@media (max-width:1120px){
  .brand-has-custom-logo{min-width:92px;}
  .brand-logo-badge{width:76px;height:76px;min-width:76px;padding:8px;}
  .brand-logo-badge .custom-logo,
  .brand-has-custom-logo .custom-logo{max-width:82%!important;max-height:82%!important;}
  .header-shell{height:88px!important;min-height:88px!important;}
  .mobile-nav{max-height:calc(100vh - 88px)!important;}
}
@media (max-width:720px){
  .brand-has-custom-logo{min-width:74px;}
  .brand-logo-badge{width:64px;height:64px;min-width:64px;padding:7px;}
  .brand-logo-badge .custom-logo,
  .brand-has-custom-logo .custom-logo{max-width:84%!important;max-height:84%!important;}
  .header-shell{height:78px!important;min-height:78px!important;padding-top:8px!important;padding-bottom:8px!important;}
  .mobile-nav{max-height:calc(100vh - 78px)!important;}
}
@media (max-width:430px){
  .brand-has-custom-logo{min-width:66px;}
  .brand-logo-badge{width:58px;height:58px;min-width:58px;padding:6px;}
  .header-shell{height:72px!important;min-height:72px!important;}
  .mobile-nav{max-height:calc(100vh - 72px)!important;}
}
body.home.admin-bar .brand-logo-badge{width:92px;height:92px;min-width:92px;}
body.home.admin-bar .brand-has-custom-logo .custom-logo{max-width:82%!important;max-height:82%!important;}
@media screen and (max-width:1120px){
  body.home.admin-bar .brand-logo-badge{width:76px;height:76px;min-width:76px;}
  body.home.admin-bar .site-header .header-shell{min-height:88px!important;height:88px!important;padding-top:0!important;padding-bottom:0!important;}
}
@media screen and (max-width:720px){
  body.home.admin-bar .brand-logo-badge{width:64px;height:64px;min-width:64px;}
  body.home.admin-bar .site-header .header-shell{min-height:78px!important;height:78px!important;padding-top:8px!important;padding-bottom:8px!important;}
}
@media screen and (max-width:430px){
  body.home.admin-bar .brand-logo-badge{width:58px;height:58px;min-width:58px;}
  body.home.admin-bar .site-header .header-shell{min-height:72px!important;height:72px!important;}
}


/* PubNova FORCE v1.47 - logo circle can grow without increasing header height */
@media (min-width:1121px){
  .site-header .header-shell,
  .home .site-header .header-shell,
  body.home.admin-bar .site-header .header-shell{
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    overflow:visible!important;
    position:relative!important;
  }
  .site-header .brand-has-custom-logo{
    align-self:stretch!important;
    height:96px!important;
    min-height:96px!important;
    display:block!important;
    position:relative!important;
    z-index:9!important;
  }
  .site-header .desktop-nav,
  .site-header .header-actions{
    position:relative!important;
    z-index:8!important;
  }
}


/* PubNova FORCE v1.48 - default logo position: half in header, half below; logo artwork nudged down */
@media (min-width:1121px){
  .site-header .brand-logo-badge{
    top:calc(96px - (92px / 2))!important;
  }
}


/* PubNova FORCE v1.50 - footer circular logo overlap + reservation UI polish */
.footer-brand-col{display:flex;flex-direction:column;align-items:center;text-align:center;}
.footer-brand-logo-wrap{display:flex;justify-content:center;margin:0 0 18px;}
.footer-logo-badge{position:relative;left:auto;top:auto;transform:none;width:132px;height:132px;min-width:132px;padding:11px;border:2px solid var(--pn-gold-2);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none;background:radial-gradient(circle at 36% 24%, rgba(246,212,137,.18), rgba(3,5,6,.96) 58%), #030506;box-shadow:inset 0 0 0 6px rgba(212,168,86,.07),0 0 0 1px rgba(255,255,255,.04),0 14px 36px rgba(0,0,0,.36),0 0 34px rgba(246,212,137,.13);}
.footer-logo-image{max-width:84%!important;max-height:84%!important;width:auto;height:auto;object-fit:contain;transform:translateY(4px);transform-origin:center center;}
.footer-logo-badge-fallback span{color:var(--pn-gold-2);font-family:Georgia,'Times New Roman',serif;font-weight:800;font-size:40px;line-height:1;}
@media(max-width:1120px){.footer-logo-badge{width:116px;height:116px;min-width:116px;}}
@media(max-width:720px){.site-footer{padding-top:56px;}.footer-brand-logo-wrap{margin-bottom:14px;}.footer-logo-badge{width:98px;height:98px;min-width:98px;padding:9px;}.footer-logo-image{transform:translateY(3px);}}
.pnr-reservation-wrap .pnr-contact-grid{grid-template-columns:.78fr 1.22fr;gap:26px;}
.pnr-reservation-side{display:flex;flex-direction:column;gap:18px;}
.pnr-reservation-side-panels{display:grid;gap:14px;}
.pnr-reservation-side-panel{border:1px solid rgba(246,212,137,.18);border-radius:18px;padding:16px 18px;background:rgba(6,10,12,.55);}
.pnr-reservation-side-panel strong{margin-top:0!important;margin-bottom:8px;}
.pnr-reservation-side-panel p{margin:0;}
.pnr-reservation-side-panel-note{background:linear-gradient(180deg, rgba(246,212,137,.08), rgba(255,255,255,.03));}
.pnr-reservation-form{background:rgba(2,5,7,.38);border:1px solid rgba(246,212,137,.14);border-radius:22px;padding:22px;}
.pnr-reservation-form-intro{margin-bottom:16px;}
.pnr-reservation-form-intro h3{margin:8px 0 10px;font-family:Georgia,'Times New Roman',serif;color:var(--pn-white);font-size:34px;}
.pnr-reservation-form-intro p{margin:0;color:var(--pn-muted);line-height:1.75;}
.pnr-form-row-three{grid-template-columns:1.15fr .55fr .8fr!important;}
.pnr-form-row-two{grid-template-columns:1fr 1fr!important;}
.pnr-reservation-form textarea{min-height:130px;}
.pnr-reservation-helper{display:grid;gap:10px;margin-top:2px;margin-bottom:10px;}
.pnr-reservation-callout{margin:0;padding:14px 16px;border-radius:16px;background:rgba(246,212,137,.08);border:1px solid rgba(246,212,137,.18);color:var(--pn-cream);font-weight:600;line-height:1.6;}
.pnr-reservation-form .pn-btn{min-width:220px;}
.pnr-reservation-hours .small-text{width:86px;}
@media(max-width:960px){.pnr-reservation-wrap .pnr-contact-grid{grid-template-columns:1fr;}.pnr-form-row-three,.pnr-form-row-two{grid-template-columns:1fr!important;}.pnr-reservation-form{padding:18px;}}


/* PubNova FORCE v1.51 - mobile submenu navigation + responsive alignment polish */
.mobile-submenu{display:grid;gap:0;}
.mobile-submenu-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);color:var(--pn-cream);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;}
.mobile-submenu-icon{width:26px;height:26px;border-radius:50%;border:1px solid rgba(246,212,137,.38);display:inline-flex;align-items:center;justify-content:center;color:var(--pn-gold-2);font-size:16px;line-height:1;transition:transform .18s ease, background .18s ease;}
.mobile-submenu.is-open .mobile-submenu-icon{transform:rotate(45deg);background:rgba(246,212,137,.10);}
.mobile-submenu-panel{display:none;grid-template-columns:1fr;gap:6px;padding:8px 0 4px;margin:0 0 2px;}
.mobile-submenu.is-open .mobile-submenu-panel{display:grid;}
.mobile-submenu-panel a{min-height:42px!important;justify-content:flex-start!important;text-align:left!important;padding-left:18px!important;background:rgba(246,212,137,.045)!important;border-color:rgba(246,212,137,.12)!important;font-size:13px!important;letter-spacing:.08em!important;}
.mobile-nav-actions{display:grid;gap:10px;margin-top:8px;}
.mobile-nav-actions .order-button,.mobile-nav-actions .reserve-button{width:100%;justify-content:center;margin-top:0!important;}
body.mobile-nav-open{overflow:hidden;}
@media(max-width:1120px){
  .mobile-nav{left:0;right:0;width:100%;box-sizing:border-box;border-top:1px solid rgba(246,212,137,.18);box-shadow:0 28px 60px rgba(0,0,0,.42);}
  .mobile-nav.is-open{padding:12px 18px 20px!important;}
  .mobile-nav > a,.mobile-submenu-toggle{box-sizing:border-box;width:100%;}
}
@media(max-width:720px){
  .header-shell{gap:10px!important;}
  .menu-toggle{flex:0 0 auto;}
  .mobile-nav.is-open{padding-left:14px!important;padding-right:14px!important;}
  .mobile-nav > a,.mobile-submenu-toggle{min-height:44px;font-size:12px;}
  .mobile-submenu-panel a{min-height:40px!important;font-size:12px!important;}
}

/* Broad mobile alignment polish */
@media(max-width:960px){
  .pn-container{width:min(100% - 28px, var(--pn-max));}
  .page-hero{text-align:center;}
  .page-hero .eyebrow{justify-content:center;}
  .pnr-contact-wrap,.pnr-policy-page,.pnr-about-page{width:min(100% - 24px, 980px)!important;}
  .pnr-contact-card,.pnr-policy-card,.pnr-about-card{border-radius:22px;padding:18px!important;}
  .pnr-contact-location-info{padding:18px;}
  .pnr-contact-form input,.pnr-contact-form select,.pnr-contact-form textarea{width:100%;box-sizing:border-box;}
  .pnr-filter-panel{width:min(100%, calc(100vw - 24px))!important;margin-left:auto!important;margin-right:auto!important;}
  .pnr-location-profile,.pubnova-force-location-profile{width:min(100% - 24px, var(--pn-max))!important;}
  .pnr-location-hero img{width:100%;height:auto;max-height:360px;object-fit:cover;}
  .pnr-profile-actions,.pn-card-actions,.pnr-location-actions{justify-content:center;}
  .pn-btn,.order-button,.reserve-button{min-height:46px;}
}
@media(max-width:720px){
  body{overflow-x:hidden;}
  .hero,.page-hero{overflow:hidden;}
  .page-hero{padding-left:0!important;padding-right:0!important;}
  .page-hero h1,.page-hero .entry-title{line-height:.95!important;word-break:normal;}
  .card-grid > article,.blog-grid > article,.menu-category-tile,.job-card,.pnr-contact-card,.pnr-location-hero{max-width:100%;box-sizing:border-box;}
  .card-grid,.blog-grid,.menu-category-grid,.pnr-careers-grid{width:100%;}
  .pnr-filter-panel{padding:10px!important;gap:10px!important;border-radius:18px!important;}
  .pnr-filter-panel input,.pnr-filter-panel select{min-width:0!important;width:100%!important;}
  .footer-grid{text-align:center;}
  .footer-links{justify-items:center;}
  .footer-bottom{align-items:center;}
  .footer-policy-links{justify-content:center;}
}

/* v1.51 reservation page responsive polish */
.pnr-reservation-form .pn-btn{width:auto;}
@media(max-width:960px){
  .pnr-reservation-wrap .pnr-contact-grid{grid-template-columns:1fr!important;}
  .pnr-reservation-form{padding:18px!important;}
  .pnr-reservation-form-intro{text-align:center;}
  .pnr-reservation-form-intro .tag{margin-left:auto;margin-right:auto;}
  .pnr-reservation-form-intro h3{font-size:clamp(28px, 8vw, 36px)!important;}
  .pnr-reservation-side{text-align:center;}
  .pnr-reservation-side .tag{margin-left:auto;margin-right:auto;}
  .pnr-reservation-side-panel{text-align:left;}
}
@media(max-width:720px){
  .pnr-reservation-form{border-radius:18px;padding:16px!important;}
  .pnr-reservation-form .pn-btn{width:100%;justify-content:center;}
  .pnr-reservation-callout{font-size:14px;padding:12px 14px;}
  .pnr-contact-form label{font-size:10px;letter-spacing:.12em;}
  .pnr-contact-form textarea{min-height:120px;}
}


/* PubNova FORCE v1.53 - OpenTable-style reservation date/time picker */
.pnr-reservation-open-table-card{
  border:1px solid rgba(246,212,137,.18);
  border-radius:20px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  margin-bottom:18px;
}
.pnr-reservation-date-strip{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:6px 2px 10px;
  margin-top:4px;
  scrollbar-width:thin;
}
.pnr-reservation-date-pill,
.pnr-reservation-time-pill{
  border:1px solid rgba(246,212,137,.24);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:var(--pn-cream);
  cursor:pointer;
  font-weight:900;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.pnr-reservation-date-pill{min-width:64px;padding:9px 10px;display:grid;gap:2px;text-align:center;}
.pnr-reservation-date-pill span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--pn-muted);}
.pnr-reservation-date-pill strong{font-size:20px;line-height:1;color:var(--pn-white);}
.pnr-reservation-date-pill:hover,
.pnr-reservation-time-pill:hover{transform:translateY(-1px);border-color:var(--pn-gold-2);}
.pnr-reservation-date-pill.is-selected,
.pnr-reservation-time-pill.is-selected{background:var(--pn-gold-2);border-color:var(--pn-gold-2);color:#090909;}
.pnr-reservation-date-pill.is-selected span,
.pnr-reservation-date-pill.is-selected strong{color:#090909;}
.pnr-reservation-date-pill.is-closed{border-color:rgba(239,68,68,.58);background:rgba(239,68,68,.12);}
.pnr-reservation-date-pill.is-closed span,
.pnr-reservation-date-pill.is-closed strong{color:#ffb4b4;}
.pnr-reservation-availability-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 14px;color:var(--pn-cream);}
.pnr-reservation-availability-row strong{font-size:14px;color:var(--pn-white);}
.pnr-reservation-availability-row [data-pnr-reservation-booked-today]{font-size:12px;color:var(--pn-muted);}
.pnr-reservation-availability-row .is-unavailable,
.pnr-reservation-helper .is-unavailable{color:#ff6b6b!important;}
.pnr-reservation-time-title{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--pn-gold-2);font-weight:900;margin-bottom:10px;}
.pnr-reservation-time-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;}
.pnr-reservation-time-pill{min-height:48px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:6px;}
.pnr-reservation-time-pill span{font-size:15px;line-height:1;}
.pnr-reservation-time-pill small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.pnr-reservation-time-pill.is-full,
.pnr-reservation-time-pill:disabled{cursor:not-allowed;background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.62);color:#ffb4b4;opacity:1;}
.pnr-reservation-closed-pill{display:block;padding:14px 16px;border:1px solid rgba(239,68,68,.62);border-radius:14px;background:rgba(239,68,68,.14);color:#ffb4b4;font-weight:900;text-align:center;}
@media(max-width:720px){
  .pnr-reservation-open-table-card{padding:14px;border-radius:18px;}
  .pnr-reservation-time-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .pnr-reservation-date-pill{min-width:58px;padding:8px 9px;}
  .pnr-reservation-time-pill{min-height:46px;padding:9px 8px;}
  .pnr-reservation-availability-row{align-items:flex-start;}
}


/* PubNova FORCE v1.54 - simpler reservation page, white/black select-list styling */
.pnr-reservation-wrap .pnr-contact-card{background:#ffffff!important;border:1px solid #111111!important;border-radius:14px!important;box-shadow:none!important;color:#111111!important;}
.pnr-reservation-wrap .pnr-contact-grid{gap:22px!important;align-items:start;}
.pnr-reservation-wrap .pnr-contact-location-info,
.pnr-reservation-wrap .pnr-reservation-form{background:#ffffff!important;color:#111111!important;}
.pnr-reservation-wrap .pnr-contact-location-info h3,
.pnr-reservation-wrap .pnr-contact-location-info strong,
.pnr-reservation-wrap .pnr-reservation-form h3,
.pnr-reservation-wrap .pnr-reservation-form label,
.pnr-reservation-wrap .pnr-reservation-form .pnr-reservation-time-title,
.pnr-reservation-wrap .pnr-reservation-form [data-pnr-reservation-availability],
.pnr-reservation-wrap .pnr-reservation-form [data-pnr-reservation-booked-today],
.pnr-reservation-wrap .pnr-reservation-form .pnr-job-apply-note,
.pnr-reservation-wrap .pnr-reservation-form .pnr-reservation-callout{color:#111111!important;}
.pnr-reservation-wrap .pnr-contact-location-info p,
.pnr-reservation-wrap .pnr-reservation-form-intro p{color:#333333!important;}
.pnr-reservation-side-panels{gap:10px!important;}
.pnr-reservation-side-panel{background:#ffffff!important;border:1px solid #d6d6d6!important;border-radius:10px!important;padding:14px!important;}
.pnr-reservation-side-panel-note{background:#f6f6f6!important;}
.pnr-reservation-form{border:1px solid #111111!important;border-radius:14px!important;padding:20px!important;box-shadow:none!important;}
.pnr-reservation-form-intro .tag{background:#111111!important;color:#ffffff!important;border-color:#111111!important;}
.pnr-reservation-form-intro h3{color:#111111!important;font-size:32px!important;}
.pnr-reservation-simple-card{background:#f8f8f8!important;border:1px solid #d6d6d6!important;border-radius:12px!important;padding:16px!important;margin-bottom:18px!important;box-shadow:none!important;}
.pnr-reservation-open-table-card,.pnr-reservation-date-strip,.pnr-reservation-time-slots{display:none!important;}
.pnr-reservation-form input,
.pnr-reservation-form select,
.pnr-reservation-form textarea{background:#ffffff!important;color:#111111!important;border:1px solid #111111!important;border-radius:10px!important;box-shadow:none!important;}
.pnr-reservation-form input::placeholder,
.pnr-reservation-form textarea::placeholder{color:#666666!important;}
.pnr-reservation-form select option[disabled]{color:#b00020;}
.pnr-reservation-availability-stack{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;padding-bottom:2px;}
.pnr-reservation-availability-row{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:6px!important;margin:4px 0 0!important;color:#111111!important;}
.pnr-reservation-availability-row strong{color:#111111!important;font-size:14px!important;}
.pnr-reservation-availability-row .is-unavailable,
.pnr-reservation-helper .is-unavailable{color:#b00020!important;}
.pnr-reservation-time-title{font-size:12px!important;letter-spacing:.12em!important;color:#111111!important;margin-bottom:6px!important;}
.pnr-reservation-helper{gap:8px!important;}
.pnr-reservation-callout{background:#f3f3f3!important;border:1px solid #d6d6d6!important;border-radius:10px!important;color:#111111!important;padding:12px 14px!important;}
.pnr-reservation-wrap .pn-btn.pn-btn-primary{background:#111111!important;border-color:#111111!important;color:#ffffff!important;}
.pnr-reservation-wrap .pn-btn.pn-btn-primary:hover{background:#000000!important;color:#ffffff!important;}
@media(max-width:960px){
  .pnr-reservation-wrap .pnr-contact-grid{grid-template-columns:1fr!important;}
  .pnr-reservation-form,.pnr-reservation-wrap .pnr-contact-location-info{padding:18px!important;}
}
@media(max-width:720px){
  .pnr-reservation-form-intro{text-align:left!important;}
  .pnr-form-row-three,.pnr-form-row-two{grid-template-columns:1fr!important;}
  .pnr-reservation-form .pn-btn{width:100%!important;}
}


/* PubNova FORCE v1.55 - step-by-step reservation wizard */
.pnr-contact-wrap.pnr-reservation-wrap{width:min(75vw,1120px)!important;max-width:calc(100% - 32px)!important;}
.pnr-reservation-wizard-card{padding:clamp(22px,3vw,38px)!important;}
.pnr-reservation-wizard{max-width:100%;margin:0 auto;}
.pnr-reservation-progress{display:flex;gap:10px;align-items:center;justify-content:center;margin:0 0 24px;flex-wrap:wrap;}
.pnr-reservation-progress span{border:1px solid #cfcfcf;background:#f7f7f7;color:#111;padding:9px 14px;border-radius:999px;font-weight:800;font-size:13px;}
.pnr-reservation-progress span.is-active{background:#111;color:#fff;border-color:#111;}
.pnr-reservation-progress span.is-complete{background:#e9e9e9;border-color:#111;color:#111;}
.pnr-reservation-step{display:none!important;}
.pnr-reservation-step.is-active{display:block!important;}
.pnr-reservation-step h4{margin:0 0 8px;color:#111!important;font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,3vw,38px);line-height:1.05;}
.pnr-step-help{margin:0 0 18px;color:#333!important;line-height:1.65;}
.pnr-reservation-location-summary{margin-top:16px;border:1px solid #d6d6d6;border-radius:12px;background:#f8f8f8;padding:16px;}
.pnr-reservation-location-summary h3{color:#111!important;margin:8px 0 12px;font-size:28px!important;}
.pnr-location-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.pnr-location-summary-grid p{margin:0;padding:12px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;color:#111!important;}
.pnr-location-summary-grid strong{display:block;color:#111!important;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.pnr-location-summary-grid span{display:block;color:#222!important;line-height:1.55;}
.pnr-reservation-nav{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;flex-wrap:wrap;}
.pnr-reservation-nav .pn-btn{min-width:150px;justify-content:center;}
.pnr-full-reserved-message{margin:12px 0 0;padding:12px 14px;border:1px solid #b00020;border-radius:10px;background:#fff1f2;color:#b00020!important;font-weight:800;}
.pnr-full-reserved-message[hidden]{display:none!important;}
.pnr-reservation-step select option[disabled]{color:#b00020!important;background:#fff1f2!important;}
.pnr-reservation-step .pnr-reservation-simple-card{margin-bottom:0!important;}
@media(max-width:1120px){.pnr-contact-wrap.pnr-reservation-wrap{width:min(92vw,980px)!important;}}
@media(max-width:820px){.pnr-location-summary-grid{grid-template-columns:1fr;}.pnr-reservation-progress{justify-content:flex-start;}.pnr-reservation-progress span{font-size:12px;padding:8px 11px;}.pnr-reservation-nav{justify-content:stretch;}.pnr-reservation-nav .pn-btn{flex:1 1 140px;}}
@media(max-width:520px){.pnr-contact-wrap.pnr-reservation-wrap{width:calc(100% - 22px)!important;max-width:calc(100% - 22px)!important;}.pnr-reservation-wizard-card{padding:16px!important;}.pnr-reservation-progress{gap:6px;}.pnr-reservation-progress span{font-size:11px;padding:7px 9px;}.pnr-reservation-nav{display:grid;grid-template-columns:1fr;}.pnr-reservation-nav .pn-btn{width:100%;}}


/* PubNova FORCE v1.57 - contact/reservation mobile polish + progress overlay */
.pubnova-form-progress-open{overflow:hidden;}
.pubnova-form-progress{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.46);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;z-index:999999;}
.pubnova-form-progress.is-visible{opacity:1;visibility:visible;pointer-events:auto;}
.pubnova-form-progress-card{width:min(92vw,420px);background:#fff;border:1px solid #111;border-radius:18px;padding:22px 20px;box-shadow:0 20px 60px rgba(0,0,0,.22);text-align:center;color:#111;}
.pubnova-form-progress-title{font-size:26px;font-family:Georgia,'Times New Roman',serif;font-weight:800;margin:0 0 8px;}
.pubnova-form-progress-text{font-size:14px;line-height:1.6;color:#333;margin:0 0 16px;}
.pubnova-form-progress-bar{height:10px;border-radius:999px;background:#ececec;overflow:hidden;border:1px solid #d8d8d8;}
.pubnova-form-progress-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,#111 0%,#444 35%,#111 100%);border-radius:999px;animation:pubnovaProgressSlide 1.15s linear infinite;}
@keyframes pubnovaProgressSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}

.pnr-contact-modern-wrap{width:min(75vw,1120px)!important;max-width:calc(100% - 32px)!important;}
.pnr-contact-modern-card,
.pnr-contact-modern-wrap .pnr-contact-card{background:#fff!important;border:1px solid #111!important;border-radius:14px!important;box-shadow:none!important;color:#111!important;}
.pnr-contact-modern-wrap .pnr-contact-location-info{background:#fff!important;border:1px solid #d6d6d6!important;border-radius:12px!important;color:#111!important;}
.pnr-contact-modern-wrap .pnr-contact-location-info h3,
.pnr-contact-modern-wrap .pnr-contact-location-info strong,
.pnr-contact-modern-wrap .pnr-contact-form-intro h3,
.pnr-contact-modern-wrap .pnr-contact-form label,
.pnr-contact-modern-wrap .pnr-job-apply-note{color:#111!important;}
.pnr-contact-modern-wrap .pnr-contact-location-info p,
.pnr-contact-modern-wrap .pnr-contact-form-intro p{color:#333!important;}
.pnr-contact-modern-wrap .pnr-contact-form{background:#fff!important;color:#111!important;}
.pnr-contact-modern-wrap .pnr-contact-form-intro{margin-bottom:18px;}
.pnr-contact-modern-wrap .pnr-contact-form-intro .tag{background:#111!important;color:#fff!important;border-color:#111!important;}
.pnr-contact-modern-wrap .pnr-contact-form-intro h3{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.08;margin:8px 0 10px;}
.pnr-contact-modern-wrap .pnr-contact-form input,
.pnr-contact-modern-wrap .pnr-contact-form select,
.pnr-contact-modern-wrap .pnr-contact-form textarea{background:#fff!important;color:#111!important;border:1px solid #111!important;border-radius:10px!important;box-shadow:none!important;}
.pnr-contact-modern-wrap .pnr-contact-form input::placeholder,
.pnr-contact-modern-wrap .pnr-contact-form textarea::placeholder{color:#666!important;}
.pnr-contact-modern-wrap .pnr-contact-form .pn-btn.pn-btn-primary{background:#111!important;border-color:#111!important;color:#fff!important;min-width:200px;}
.pnr-contact-modern-wrap .pnr-contact-form .pn-btn.pn-btn-primary:hover{background:#000!important;color:#fff!important;}
.pnr-contact-modern-wrap .pnr-contact-status.success{background:#eef8ee!important;border-color:#9cd39f!important;color:#205828!important;}
.pnr-contact-modern-wrap .pnr-contact-status.error{background:#fff1f2!important;border-color:#e39aa8!important;color:#b00020!important;}
.pnr-contact-modern-wrap .pnr-job-apply-note{margin-top:12px;line-height:1.65;color:#333!important;}
@media(max-width:1120px){.pnr-contact-modern-wrap{width:min(92vw,980px)!important;}}
@media(max-width:720px){
  .pnr-contact-modern-wrap{width:calc(100% - 22px)!important;max-width:calc(100% - 22px)!important;}
  .pnr-contact-modern-wrap .pnr-contact-card,
  .pnr-contact-modern-wrap .pnr-contact-location-info,
  .pnr-contact-modern-wrap .pnr-contact-form{padding:16px!important;}
  .pnr-contact-modern-wrap .pnr-contact-form .pn-btn,
  .pnr-contact-modern-wrap .pnr-contact-form button[type=submit],
  .pnr-contact-modern-wrap .pnr-contact-form input[type=submit],
  .pnr-reservation-wrap .pnr-contact-form .pn-btn,
  .pnr-reservation-wrap .pnr-contact-form button[type=submit],
  .pnr-reservation-wrap .pnr-contact-form input[type=submit]{width:100%!important;min-width:100%!important;display:flex;justify-content:center;}
  .pnr-contact-modern-wrap .pnr-contact-form .pnr-form-row,
  .pnr-reservation-wrap .pnr-contact-form .pnr-form-row{grid-template-columns:1fr!important;gap:12px!important;}
}
@media(max-width:520px){
  .pnr-contact-modern-wrap .pnr-contact-card{padding:16px!important;}
  .pnr-contact-modern-wrap .pnr-contact-grid{gap:16px!important;}
  .pnr-contact-modern-wrap .pnr-contact-form-intro h3{font-size:28px!important;}
  .pubnova-form-progress-card{padding:18px 16px;}
  .pubnova-form-progress-title{font-size:23px;}
}


/* PubNova FORCE v1.58 - large green reservation success confirmation */
.pnr-reservation-success-box{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin:0 auto 24px;
  padding:24px 26px;
  border-radius:18px;
  background:#ecfdf3;
  border:2px solid #16a34a;
  color:#14532d;
  box-shadow:0 18px 45px rgba(22,163,74,.14);
}
.pnr-reservation-success-tick{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#16a34a;
  color:#fff;
  font-size:30px;
  font-weight:900;
  line-height:1;
}
.pnr-reservation-success-box strong{
  display:block;
  color:#14532d!important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(24px,3vw,34px);
  line-height:1.1;
  margin:0 0 8px;
}
.pnr-reservation-success-box p{
  margin:0;
  color:#14532d!important;
  font-size:16px;
  line-height:1.65;
}
@media(max-width:640px){
  .pnr-reservation-success-box{padding:20px 18px;gap:14px;border-radius:16px;}
  .pnr-reservation-success-tick{width:42px;height:42px;min-width:42px;font-size:25px;}
  .pnr-reservation-success-box p{font-size:14.5px;}
}


/* PubNova FORCE v1.60 - reservation closures and location status */
.pnr-location-status{margin:18px 0 0;padding:16px 18px;border-radius:14px;display:grid;gap:6px;line-height:1.55;}
.pnr-location-status strong{font-size:14px;text-transform:uppercase;letter-spacing:.12em;}
.pnr-location-status span{font-size:15px;}
.pnr-location-status-closed{background:#fff1f2;border:1px solid #e39aa8;color:#8a0018;}
.pnr-location-status-closed strong,.pnr-location-status-closed span{color:#8a0018;}
.pnr-location-status-special{background:#fff8e6;border:1px solid rgba(212,168,86,.55);color:#6f4500;}
.pnr-location-status-special strong,.pnr-location-status-special span{color:#6f4500;}
.pnr-reservation-availability-row .is-unavailable{color:#b00020!important;}
@media(max-width:720px){.pnr-location-status{margin-top:14px;padding:14px 15px;text-align:left;}}


/* PubNova FORCE v1.63 - location profile action button polish */
.pnr-location-profile .pnr-profile-actions{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px!important;
  align-items:stretch;
  max-width:560px;
}
.pnr-location-profile .pnr-profile-actions .pn-btn{
  width:100%;
  min-width:0!important;
  min-height:54px;
  padding-left:16px;
  padding-right:16px;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:980px){
  .pnr-location-profile .pnr-profile-actions{grid-template-columns:repeat(2, minmax(0, 1fr));max-width:100%;}
}
@media(max-width:560px){
  .pnr-location-profile .pnr-profile-actions{grid-template-columns:1fr;gap:10px!important;}
  .pnr-location-profile .pnr-profile-actions .pn-btn{min-height:50px;}
}


/* PubNova FORCE v1.65 - global card text containment and alignment rule */
.menu-category-tile,
.menu-card,
.deal-card,
.location-card,
.job-card,
.pn-card,
.blog-card,
.location-card-simple{
  min-width:0!important;
}
.menu-category-content,
.menu-card,
.deal-card,
.location-card,
.job-card,
.pn-card,
.blog-card-body,
.location-card-simple{
  min-width:0!important;
  overflow:hidden!important;
}
.menu-category-title,
.menu-category-content h3,
.menu-card h3,
.deal-card h3,
.location-card h3,
.job-card h3,
.pn-card h3,
.blog-card h3,
.deal-title,
.location-title,
.job-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  max-width:100%!important;
  width:100%!important;
  height:auto!important;
  min-height:2.35em!important;
  max-height:2.45em!important;
  line-height:1.16!important;
}
.menu-category-content h3,
.menu-category-title{
  font-size:clamp(25px, 2.1vw, 30px)!important;
  margin:0 auto 8px!important;
}
.menu-category-desc,
.menu-category-content p,
.menu-card p,
.deal-card p,
.location-card p,
.job-card p,
.pn-card p,
.blog-card p,
.deal-desc,
.location-address,
.location-hours,
.job-desc,
.pn-card-desc{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  max-width:100%!important;
}
.menu-category-content .tag,
.deal-card .tag,
.location-card .tag,
.job-card .tag,
.pn-card .tag{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  text-align:center!important;
}
.card-grid > article,
.menu-category-grid > a,
.deal-card,
.location-card,
.job-card,
.pn-card{
  height:100%!important;
}
@media(max-width:720px){
  .menu-category-title,
  .menu-category-content h3,
  .menu-card h3,
  .deal-card h3,
  .location-card h3,
  .job-card h3,
  .pn-card h3,
  .blog-card h3,
  .deal-title,
  .location-title,
  .job-title{
    -webkit-line-clamp:3!important;
    min-height:auto!important;
    max-height:3.65em!important;
  }
  .menu-category-content h3,
  .menu-category-title{font-size:clamp(24px, 8vw, 28px)!important;}
}

/* PubNova FORCE v1.66 - hide duplicate outer Load More on menu-item pages */
.pnr-filter-results:has(.pnr-menu-list) + .section-more{
  display:none!important;
}


/* PubNova FORCE v1.67 - align menu item Load More under text/list column */
.pnr-menu-layout > .pn-load-more-wrap,
.pnr-menu-layout > .section-more.pn-load-more-wrap{
  grid-column: 2;
  justify-content: center;
  margin-top: 16px;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.pnr-menu-section.is-reversed .pnr-menu-layout > .pn-load-more-wrap,
.pnr-menu-section.is-reversed .pnr-menu-layout > .section-more.pn-load-more-wrap{
  grid-column: 1;
}
@media (max-width: 1180px){
  .pnr-menu-layout > .pn-load-more-wrap,
  .pnr-menu-layout > .section-more.pn-load-more-wrap,
  .pnr-menu-section.is-reversed .pnr-menu-layout > .pn-load-more-wrap,
  .pnr-menu-section.is-reversed .pnr-menu-layout > .section-more.pn-load-more-wrap{
    grid-column: 1;
    margin-top: 12px;
  }
}


/* PubNova FORCE v1.68 - alternating menu image blocks every 5 items */
.pn-menu-block-continuation {
  padding-top: 6px;
}
.pn-menu-block-continuation .pnr-menu-layout {
  margin-top: 0;
}
.pn-menu-block-continuation .pnr-menu-visual {
  top: 110px;
}
@media (max-width: 1180px){
  .pn-menu-block-continuation {
    padding-top: 0;
  }
  .pn-menu-block-continuation .pnr-menu-visual {
    top: auto;
  }
}


/* PubNova FORCE v1.69 - multi-column desktop menus dropdown */
@media (min-width: 1181px){
  .dropdown-panel{
    min-width: 620px;
    max-width: min(82vw, 980px);
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(10, minmax(0, auto));
    grid-auto-columns: minmax(220px, 1fr);
    gap: 0 14px;
    align-items: start;
  }
  .dropdown-panel a{
    min-width: 0;
  }
}

/* PubNova FORCE v1.70 - shift desktop Menus dropdown right to avoid large logo overlap */
@media (min-width: 1181px){
  .desktop-nav .nav-dropdown .dropdown-panel{
    left: 0;
    transform: translateX(-8%) translateY(8px);
  }
  .desktop-nav .nav-dropdown:hover .dropdown-panel,
  .desktop-nav .nav-dropdown.is-open .dropdown-panel{
    transform: translateX(-8%) translateY(0);
  }
}
@media (min-width: 1500px){
  .desktop-nav .nav-dropdown .dropdown-panel{
    transform: translateX(-4%) translateY(8px);
  }
  .desktop-nav .nav-dropdown:hover .dropdown-panel,
  .desktop-nav .nav-dropdown.is-open .dropdown-panel{
    transform: translateX(-4%) translateY(0);
  }
}
