/*
 * PG Food Menu Pro
 * Version 1.8.0 - Clean CSS Rebuild
 * This file intentionally replaces the old layered patch CSS.
 * Goal: stable public menu across themes + clean admin pages.
 */

:root {
    --pgfm-red: #9b3528;
    --pgfm-red-dark: #7e2b22;
    --pgfm-dark: #2f2723;
    --pgfm-body: #4a3b34;
    --pgfm-muted: #7a6961;
    --pgfm-border: rgba(155, 53, 40, .18);
    --pgfm-cream: #fffaf4;
    --pgfm-white: #ffffff;
    --pgfm-warm: #fff4e4;
    --pgfm-gold: #fff6dc;
    --pgfm-rustic: #fff4ef;
}

/* =========================================================
   Public Menu Isolation
   ========================================================= */

.pgfm-display-wrap,
.pgfm-public-output,
.pgfm-clean-public-menu {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
}

.pgfm-clean-public-menu,
.pgfm-clean-public-menu * {
    box-sizing: border-box !important;
}

.pgfm-clean-public-menu > br,
.pgfm-clean-public-menu > p:empty,
.pgfm-clean-public-menu > span:empty,
.pgfm-clean-public-menu > div:empty:not(.pgfm-tabs):not(.pgfm-menu-card) {
    display: none !important;
}

.pgfm-clean-public-menu.pgfm-no-tabs .pgfm-tabs,
.pgfm-clean-public-menu.pgfm-single-room-menu .pgfm-tabs {
    display: none !important;
}

/* Public tabs for [pg_food_menu_pro] */
.pgfm-tabs {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 20px auto 34px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pgfm-tabs a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    min-width: 104px !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    color: var(--pgfm-red) !important;
    background: #fffdfb !important;
    border: 1px solid rgba(155, 53, 40, .22) !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.pgfm-tabs a:hover,
.pgfm-tabs a.pgfm-active,
.pgfm-tabs a.active {
    color: #fff !important;
    background: var(--pgfm-red) !important;
    border-color: var(--pgfm-red) !important;
    text-decoration: none !important;
}

/* Menu paper/card */
.pgfm-clean-public-menu .pgfm-menu-card,
.pgfm-public-output .pgfm-menu-card {
    display: block !important;
    position: relative !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: auto !important;
    margin: 40px auto !important;
    padding: 58px 54px 54px !important;
    text-align: center !important;
    overflow: hidden !important;
    color: var(--pgfm-dark) !important;
    background: var(--pgfm-cream) !important;
    background-color: var(--pgfm-cream) !important;
    background-image: none !important;
    border: 1px solid var(--pgfm-border) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
    float: none !important;
    clear: both !important;
    isolation: isolate !important;
}

.pgfm-clean-public-menu .pgfm-menu-card *,
.pgfm-clean-public-menu .pgfm-menu-card *::before,
.pgfm-clean-public-menu .pgfm-menu-card *::after {
    box-sizing: border-box !important;
}

/* Paper choices */
.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-hacienda_cream {
    background: var(--pgfm-cream) !important;
    background-color: var(--pgfm-cream) !important;
    background-image: none !important;
}

.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-clean_white {
    background: var(--pgfm-white) !important;
    background-color: var(--pgfm-white) !important;
    background-image: none !important;
}

.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-warm_paper {
    background: var(--pgfm-warm) !important;
    background-color: var(--pgfm-warm) !important;
    background-image: none !important;
}

.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-soft_gold {
    background: var(--pgfm-gold) !important;
    background-color: var(--pgfm-gold) !important;
    background-image: none !important;
}

.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-rustic_red {
    background: var(--pgfm-rustic) !important;
    background-color: var(--pgfm-rustic) !important;
    background-image: none !important;
}

/* remove texture/ghosts */
.pgfm-clean-public-menu .pgfm-paper-texture,
.pgfm-clean-public-menu .pgfm-menu-card::before,
.pgfm-clean-public-menu .pgfm-menu-card::after,
.pgfm-clean-public-menu .pgfm-paper-texture::before,
.pgfm-clean-public-menu .pgfm-paper-texture::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Reset theme blocks inside card */
.pgfm-clean-public-menu .pgfm-menu-card h1,
.pgfm-clean-public-menu .pgfm-menu-card h2,
.pgfm-clean-public-menu .pgfm-menu-card h3,
.pgfm-clean-public-menu .pgfm-menu-card h4,
.pgfm-clean-public-menu .pgfm-menu-card h5,
.pgfm-clean-public-menu .pgfm-menu-card h6,
.pgfm-clean-public-menu .pgfm-menu-card p,
.pgfm-clean-public-menu .pgfm-menu-card div,
.pgfm-clean-public-menu .pgfm-menu-card span,
.pgfm-clean-public-menu .pgfm-menu-card strong,
.pgfm-clean-public-menu .pgfm-menu-card b,
.pgfm-clean-public-menu .pgfm-menu-card em,
.pgfm-clean-public-menu .pgfm-menu-card i,
.pgfm-clean-public-menu .pgfm-menu-card small,
.pgfm-clean-public-menu .pgfm-menu-card ul,
.pgfm-clean-public-menu .pgfm-menu-card ol,
.pgfm-clean-public-menu .pgfm-menu-card li {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: 0 !important;
}

/* Typography and spacing */
.pgfm-clean-public-menu .pgfm-room-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 74px !important;
    min-height: 34px !important;
    margin: 0 auto 18px !important;
    padding: 8px 18px !important;
    color: var(--pgfm-red) !important;
    background: #fffdfb !important;
    border: 1px solid rgba(155, 53, 40, .22) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.pgfm-clean-public-menu .pgfm-title {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--pgfm-red) !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: .12em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-room-note {
    display: block !important;
    margin: 0 auto 26px !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-section {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 28px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-section > h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--pgfm-red) !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-section > h2::before,
.pgfm-clean-public-menu .pgfm-section > h2::after {
    content: "" !important;
    display: inline-block !important;
    width: 28px !important;
    height: 1px !important;
    background: var(--pgfm-red) !important;
    opacity: .45 !important;
    flex: 0 0 28px !important;
}

.pgfm-clean-public-menu .pgfm-menu-item {
    display: block !important;
    max-width: 560px !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-menu-item h3,
.pgfm-clean-public-menu .pgfm-section h3 {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    letter-spacing: .03em !important;
    font-weight: 700 !important;
    text-transform: none !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-description,
.pgfm-clean-public-menu .pgfm-description *,
.pgfm-clean-public-menu .pgfm-section p,
.pgfm-clean-public-menu .pgfm-section p * {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-description p,
.pgfm-clean-public-menu .pgfm-section p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: 560px !important;
}

.pgfm-clean-public-menu .pgfm-menu-updated-at {
    display: block !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 26px auto 12px !important;
    padding: 0 !important;
    color: var(--pgfm-muted) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: .08em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.pgfm-clean-public-menu .pgfm-footer,
.pgfm-clean-public-menu .pgfm-real-logo-footer {
    display: block !important;
    margin: 26px auto 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

.pgfm-clean-public-menu .pgfm-real-logo,
.pgfm-clean-public-menu .pgfm-footer img,
.pgfm-clean-public-menu .pgfm-real-logo-footer img {
    display: block !important;
    width: min(340px, 78%) !important;
    max-width: 340px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* =========================================================
   Admin/editor UI
   ========================================================= */

.pgfm-admin-wrap {
    max-width: 1180px;
}

.pgfm-admin-wrap h1,
.pgfm-admin-wrap h2,
.pgfm-admin-wrap h3 {
    color: var(--pgfm-red);
}

.pgfm-editor-form,
.pgfm-design-card,
.pgfm-template-box,
.pgfm-save-template-box,
.pgfm-template-delete-box,
.pgfm-template-save-form,
.pgfm-notes-card,
.pgfm-reset-demo-box {
    max-width: 920px;
    margin: 18px 0;
    padding: 18px;
    background: #fff;
    border: 1px solid #e5ddd8;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

.pgfm-editor-form input[type="text"],
.pgfm-editor-form input[type="url"],
.pgfm-editor-form input[type="email"],
.pgfm-editor-form textarea,
.pgfm-editor-form select,
.pgfm-design-form input[type="text"],
.pgfm-design-form input[type="url"],
.pgfm-design-form textarea,
.pgfm-design-form select,
.pgfm-qr-settings-form input[type="url"],
.pgfm-qr-settings-form select,
.pgfm-template-box input,
.pgfm-template-box select,
.pgfm-template-delete-box select {
    width: 100%;
    max-width: 100%;
}

.pgfm-editor-section {
    padding: 16px 0;
    border-top: 1px solid #eee;
}

.pgfm-editor-section h2 {
    margin-bottom: 10px;
    color: var(--pgfm-red);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.pgfm-room-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.pgfm-room-tabs a,
.pgfm-template-actions a,
.pgfm-template-actions button {
    text-decoration: none;
}

.pgfm-collapsible-design-section {
    margin: 18px 0;
    padding: 0;
    background: #fff;
    border: 1px solid #e5ddd8;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
    overflow: hidden;
}

.pgfm-collapsible-design-section summary {
    cursor: pointer;
    padding: 16px 18px;
    color: var(--pgfm-red);
    font-size: 18px;
    font-weight: 700;
    user-select: none;
}

.pgfm-collapsible-design-section summary:hover {
    background: #fffaf7;
}

.pgfm-collapsible-design-content {
    padding: 0 18px 18px;
}

.pgfm-custom-font-slot {
    margin: 14px 0;
    padding: 14px;
    background: #fffaf7;
    border: 1px solid #eaded6;
    border-radius: 12px;
}

.pgfm-custom-font-slot h4 {
    margin: 0 0 10px;
    color: var(--pgfm-red);
}

.pgfm-font-upload-form input[type="file"] {
    padding: 10px;
    background: #fffaf7;
    border: 1px dashed #d8c8bd;
    border-radius: 10px;
    width: 100%;
    max-width: 520px;
}

.pgfm-design-save-bottom {
    margin: 20px 0 0;
    padding: 18px;
    background: #fffaf7;
    border: 1px solid #eaded6;
    border-radius: 14px;
}

.pgfm-design-preview {
    max-width: 920px;
    margin: 18px 0;
    padding: 18px;
    background: #fff;
    border: 1px solid #e5ddd8;
    border-radius: 14px;
}

/* =========================================================
   QR Cards
   ========================================================= */

.pgfm-print-toolbar,
.pgfm-qr-room-toolbar,
.pgfm-print-menu-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 14px 0 18px;
}

.pgfm-qr-print-area {
    max-width: 1100px;
}

.pgfm-qr-print-note {
    margin: 12px 0 16px;
    color: var(--pgfm-muted);
}

.pgfm-qr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 22px;
    align-items: start;
}

.pgfm-qr-card {
    page-break-inside: avoid;
}

.pgfm-qr-card-inner {
    max-width: 360px;
    margin: 0 auto;
    padding: 22px;
    background: #fffdfb;
    border: 1px solid rgba(155, 53, 40, .20);
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.pgfm-qr-card h2 {
    margin: 0 0 16px;
    color: var(--pgfm-red);
    font-size: 26px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pgfm-qr-image-wrap {
    position: relative;
    display: block;
    max-width: 280px;
    margin: 0 auto 12px;
    padding: 12px;
    background: #fff;
    border-radius: 14px;
}

.pgfm-qr-image-wrap img,
.pgfm-qr-image {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.pgfm-qr-center-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 56px;
    height: 56px;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    padding: 5px;
}

.pgfm-qr-center-logo img {
    max-width: 100%;
    height: auto;
}

/* =========================================================
   Print
   ========================================================= */

.pgfm-menu-print-toolbar {
    display: none !important; /* public print removed */
}

@media print {
    @page {
        size: letter portrait;
        margin: 12mm;
    }

    body * {
        visibility: hidden !important;
    }

    .pgfm-print-menu-preview,
    .pgfm-print-menu-preview *,
    .pgfm-qr-print-area,
    .pgfm-qr-print-area *,
    .pgfm-qr-grid,
    .pgfm-qr-grid *,
    .pgfm-qr-card,
    .pgfm-qr-card * {
        visibility: visible !important;
    }

    .pgfm-print-menu-preview,
    .pgfm-qr-print-area {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .pgfm-admin-print-toolbar,
    .pgfm-print-toolbar,
    .pgfm-qr-room-toolbar,
    .pgfm-print-menu-buttons,
    .notice,
    #wpadminbar,
    #adminmenuwrap,
    #adminmenuback,
    #screen-meta,
    #screen-meta-links,
    .update-nag,
    .post-edit-link {
        display: none !important;
        visibility: hidden !important;
    }

    .pgfm-print-menu-preview .pgfm-menu-card {
        box-shadow: none !important;
        margin: 0 auto !important;
        max-width: 720px !important;
        width: 100% !important;
        min-height: auto !important;
        page-break-inside: avoid;
    }

    .pgfm-qr-print-one-page .pgfm-qr-grid-print {
        display: block !important;
    }

    .pgfm-qr-print-one-page .pgfm-qr-card {
        display: block !important;
        width: 100% !important;
        min-height: calc(11in - 24mm) !important;
        page-break-after: always !important;
        break-after: page !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        padding-top: 10mm !important;
    }

    .pgfm-qr-print-one-page .pgfm-qr-card:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .pgfm-qr-print-one-page .pgfm-qr-card-inner {
        max-width: 4.4in !important;
        margin: 0 auto !important;
        box-shadow: none !important;
    }

    .pgfm-qr-image,
    .pgfm-qr-image-wrap img {
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 640px) {
    .pgfm-clean-public-menu .pgfm-menu-card,
    .pgfm-public-output .pgfm-menu-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px auto !important;
        padding: 42px 22px 38px !important;
        border-radius: 20px !important;
    }

    .pgfm-clean-public-menu .pgfm-title {
        font-size: 32px !important;
    }

    .pgfm-clean-public-menu .pgfm-section > h2 {
        font-size: 22px !important;
        gap: 10px !important;
    }

    .pgfm-clean-public-menu .pgfm-section > h2::before,
    .pgfm-clean-public-menu .pgfm-section > h2::after {
        width: 18px !important;
        flex-basis: 18px !important;
    }

    .pgfm-tabs a {
        min-width: 92px !important;
        padding: 11px 16px !important;
        font-size: 14px !important;
    }
}


/* PG Food Menu Pro v1.8.1 - public preview shell
   Admin "Imprimir Menús" looked correct because it used a clean preview context.
   Public shortcodes now place the menu inside a similar shell to avoid theme interference. */

.pgfm-public-menu-preview {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    clear: both !important;
    float: none !important;
}

.pgfm-public-menu-preview,
.pgfm-public-menu-preview * {
    box-sizing: border-box !important;
}

.pgfm-public-menu-preview .pgfm-menu-card {
    display: block !important;
    position: relative !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: auto !important;
    margin: 40px auto !important;
    padding: 58px 54px 54px !important;
    text-align: center !important;
    overflow: hidden !important;
    color: var(--pgfm-dark) !important;
    background: var(--pgfm-cream) !important;
    background-color: var(--pgfm-cream) !important;
    background-image: none !important;
    border: 1px solid var(--pgfm-border) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
    float: none !important;
    clear: both !important;
}

.pgfm-public-menu-preview .pgfm-menu-card.pgfm-paper-hacienda_cream {
    background: var(--pgfm-cream) !important;
    background-color: var(--pgfm-cream) !important;
    background-image: none !important;
}

.pgfm-public-menu-preview .pgfm-menu-card.pgfm-paper-clean_white {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
}

.pgfm-public-menu-preview .pgfm-menu-card.pgfm-paper-warm_paper {
    background: var(--pgfm-warm) !important;
    background-color: var(--pgfm-warm) !important;
    background-image: none !important;
}

.pgfm-public-menu-preview .pgfm-menu-card.pgfm-paper-soft_gold {
    background: var(--pgfm-gold) !important;
    background-color: var(--pgfm-gold) !important;
    background-image: none !important;
}

.pgfm-public-menu-preview .pgfm-menu-card.pgfm-paper-rustic_red {
    background: var(--pgfm-rustic) !important;
    background-color: var(--pgfm-rustic) !important;
    background-image: none !important;
}

/* Full reset inside the public preview shell. */
.pgfm-public-menu-preview .pgfm-menu-card h1,
.pgfm-public-menu-preview .pgfm-menu-card h2,
.pgfm-public-menu-preview .pgfm-menu-card h3,
.pgfm-public-menu-preview .pgfm-menu-card h4,
.pgfm-public-menu-preview .pgfm-menu-card h5,
.pgfm-public-menu-preview .pgfm-menu-card h6,
.pgfm-public-menu-preview .pgfm-menu-card p,
.pgfm-public-menu-preview .pgfm-menu-card div,
.pgfm-public-menu-preview .pgfm-menu-card span,
.pgfm-public-menu-preview .pgfm-menu-card strong,
.pgfm-public-menu-preview .pgfm-menu-card b,
.pgfm-public-menu-preview .pgfm-menu-card em,
.pgfm-public-menu-preview .pgfm-menu-card i,
.pgfm-public-menu-preview .pgfm-menu-card small,
.pgfm-public-menu-preview .pgfm-menu-card ul,
.pgfm-public-menu-preview .pgfm-menu-card ol,
.pgfm-public-menu-preview .pgfm-menu-card li,
.pgfm-public-menu-preview .pgfm-menu-card img {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: 0 !important;
}

/* Typography copied to the preview shell so theme heading sizes cannot win. */
.pgfm-public-menu-preview .pgfm-room-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 74px !important;
    min-height: 34px !important;
    margin: 0 auto 18px !important;
    padding: 8px 18px !important;
    color: var(--pgfm-red) !important;
    background: #fffdfb !important;
    border: 1px solid rgba(155, 53, 40, .22) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.pgfm-public-menu-preview .pgfm-title {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--pgfm-red) !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: .12em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-room-note {
    display: block !important;
    margin: 0 auto 26px !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-section {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 28px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-section > h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--pgfm-red) !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-section > h2::before,
.pgfm-public-menu-preview .pgfm-section > h2::after {
    content: "" !important;
    display: inline-block !important;
    width: 28px !important;
    height: 1px !important;
    background: var(--pgfm-red) !important;
    opacity: .45 !important;
    flex: 0 0 28px !important;
}

.pgfm-public-menu-preview .pgfm-menu-item {
    display: block !important;
    max-width: 560px !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-menu-item h3,
.pgfm-public-menu-preview .pgfm-section h3 {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    letter-spacing: .03em !important;
    font-weight: 700 !important;
    text-transform: none !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-description,
.pgfm-public-menu-preview .pgfm-description *,
.pgfm-public-menu-preview .pgfm-section p,
.pgfm-public-menu-preview .pgfm-section p * {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    color: var(--pgfm-dark) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-description p,
.pgfm-public-menu-preview .pgfm-section p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: 560px !important;
}

.pgfm-public-menu-preview .pgfm-menu-updated-at {
    display: block !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 26px auto 12px !important;
    padding: 0 !important;
    color: var(--pgfm-muted) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: .08em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.pgfm-public-menu-preview .pgfm-footer,
.pgfm-public-menu-preview .pgfm-real-logo-footer {
    display: block !important;
    margin: 26px auto 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

.pgfm-public-menu-preview .pgfm-real-logo,
.pgfm-public-menu-preview .pgfm-footer img,
.pgfm-public-menu-preview .pgfm-real-logo-footer img {
    display: block !important;
    width: min(340px, 78%) !important;
    max-width: 340px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

.pgfm-public-menu-preview .pgfm-paper-texture,
.pgfm-public-menu-preview .pgfm-menu-card::before,
.pgfm-public-menu-preview .pgfm-menu-card::after,
.pgfm-public-menu-preview .pgfm-paper-texture::before,
.pgfm-public-menu-preview .pgfm-paper-texture::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: none !important;
    border: 0 !important;
}

/* Single room public pages should not inherit theme gray blocks around the shell. */
.pgfm-clean-public-menu.pgfm-single-room-menu,
.pgfm-clean-public-menu.pgfm-single-room-menu .pgfm-public-menu-preview {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 640px) {
    .pgfm-public-menu-preview .pgfm-menu-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px auto !important;
        padding: 42px 22px 38px !important;
        border-radius: 20px !important;
    }

    .pgfm-public-menu-preview .pgfm-title {
        font-size: 32px !important;
    }
}


/* PG Food Menu Pro v1.8.2 - isolated iframe room shortcodes */
.pgfm-room-frame-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.pgfm-room-frame {
    display: block !important;
    width: 100% !important;
    min-height: 900px;
    height: 1200px;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}


/* PG Food Menu Pro v1.8.4 - center isolated room shortcode iframe */
.pgfm-room-frame-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important;
    clear: both !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pgfm-room-frame {
    display: block !important;
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    min-height: 900px;
    height: 1200px;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* If the theme wraps the shortcode in a paragraph/code block, center that wrapper too. */
p:has(.pgfm-room-frame-wrap),
div:has(.pgfm-room-frame-wrap),
.wp-block-shortcode:has(.pgfm-room-frame-wrap),
.entry-content:has(.pgfm-room-frame-wrap),
.page-content:has(.pgfm-room-frame-wrap),
.wp-block-post-content:has(.pgfm-room-frame-wrap) {
    text-align: center !important;
}

/* Remove code styling only if the shortcode output was accidentally placed inside a code element. */
code:has(.pgfm-room-frame-wrap),
pre:has(.pgfm-room-frame-wrap) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    white-space: normal !important;
}


/* PG Food Menu Pro v1.8.5 - stronger centering for individual room pages */
.pgfm-room-frame-wrap,
.entry-content .pgfm-room-frame-wrap,
.page-content .pgfm-room-frame-wrap,
.wp-block-post-content .pgfm-room-frame-wrap,
.wp-block-shortcode .pgfm-room-frame-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    float: none !important;
    clear: both !important;
}

.pgfm-room-frame-wrap .pgfm-room-frame,
.entry-content .pgfm-room-frame,
.page-content .pgfm-room-frame,
.wp-block-post-content .pgfm-room-frame,
.wp-block-shortcode .pgfm-room-frame {
    display: block !important;
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    clear: both !important;
}


/* PG Food Menu Pro v1.8.6 - iframe height and page wrapper cleanup */
.pgfm-room-frame-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pgfm-room-frame {
    min-height: 0 !important;
    height: 800px;
    background: transparent !important;
}

/* If JS has reported height, inline height wins. This just prevents enormous fallback whitespace. */
@media (min-width: 1px) {
    .pgfm-room-frame {
        max-height: none !important;
    }
}

/* Clean common page wrappers only on pages that contain an isolated room frame. */
body.pgfm-has-room-frame .entry-content,
body.pgfm-has-room-frame .page-content,
body.pgfm-has-room-frame .wp-block-post-content,
body.pgfm-has-room-frame .wp-block-shortcode {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Modern-browser support: remove theme white card around the shortcode area when possible. */
.entry-content:has(.pgfm-room-frame-wrap),
.page-content:has(.pgfm-room-frame-wrap),
.wp-block-post-content:has(.pgfm-room-frame-wrap),
.wp-block-shortcode:has(.pgfm-room-frame-wrap) {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}


/* PG Food Menu Pro v1.8.7 - standalone Pro admin fix
   Pro must show all Pro fields even when Free is inactive. */

body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-editor-section,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-menu-item,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-optional-item,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-extra-item,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-pro-field,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-item-row,
body.pgfm-pro-admin-standalone .pgfm-editor-form .pgfm-repeatable-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.pgfm-pro-admin-standalone .pgfm-editor-form textarea,
body.pgfm-pro-admin-standalone .pgfm-editor-form input[type="text"],
body.pgfm-pro-admin-standalone .pgfm-editor-form input[type="url"],
body.pgfm-pro-admin-standalone .pgfm-editor-form select {
    display: block !important;
    visibility: visible !important;
}

/* Some older/free builds used these classes to hide Pro-only fields.
   Pro standalone must always override them on Pro admin pages. */
body.pgfm-pro-admin-standalone .pgfm-free-hidden,
body.pgfm-pro-admin-standalone .pgfm-pro-only,
body.pgfm-pro-admin-standalone .pgfm-template-box,
body.pgfm-pro-admin-standalone .pgfm-save-template-box,
body.pgfm-pro-admin-standalone .pgfm-template-save-form,
body.pgfm-pro-admin-standalone .pgfm-template-delete-box {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Keep TinyMCE editors visible in Pro standalone mode. */
body.pgfm-pro-admin-standalone .wp-editor-wrap,
body.pgfm-pro-admin-standalone .wp-editor-container {
    display: block !important;
    visibility: visible !important;
}


/* Admin print menu page should look like the clean public menu. */
.pgfm-print-menu-preview.pgfm-clean-public-menu {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card {
    display: block !important;
    position: relative !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: auto !important;
    margin: 40px auto !important;
    padding: 58px 54px 54px !important;
    text-align: center !important;
    overflow: hidden !important;
    color: var(--pgfm-dark) !important;
    background: #fffaf4 !important;
    background-color: #fffaf4 !important;
    background-image: none !important;
    border: 1px solid rgba(155, 53, 40, .18) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-clean_white {
    background: #ffffff !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-paper-texture,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card::before,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card::after {
    display: none !important;
    content: none !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card h1,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card h2,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card h3,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card p,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card div,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-card span {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-title {
    color: var(--pgfm-red) !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: .12em !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-section {
    max-width: 560px !important;
    margin: 28px auto 0 !important;
    text-align: center !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-section > h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    color: var(--pgfm-red) !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-section > h2::before,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-section > h2::after {
    content: "" !important;
    display: inline-block !important;
    width: 28px !important;
    height: 1px !important;
    background: var(--pgfm-red) !important;
    opacity: .45 !important;
    flex: 0 0 28px !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-item {
    max-width: 560px !important;
    margin: 0 auto 34px !important;
    text-align: center !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-menu-item h3 {
    color: var(--pgfm-dark) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    letter-spacing: .03em !important;
    font-weight: 700 !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-description,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-description *,
.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-section p {
    color: var(--pgfm-dark) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.pgfm-print-menu-preview.pgfm-clean-public-menu .pgfm-real-logo {
    display: block !important;
    width: min(340px, 78%) !important;
    max-width: 340px !important;
    height: auto !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* PG Food Menu Pro v1.9.4 - Free editor base + Pro optional rows
   Visual / Code editor behavior is intentionally left to WordPress, same as Free. */

/* Keep editor wrapper light; do not style WordPress editor modes. */
.pgfm-rich-editor-wrap {
    margin: 12px 0 18px;
}

.pgfm-editor-form .wp-editor-wrap input[type="button"],
.pgfm-editor-form .wp-editor-wrap button,
.pgfm-editor-form .wp-editor-tabs .wp-switch-editor,
.pgfm-editor-form .quicktags-toolbar input {
    width: auto !important;
    max-width: none !important;
}

/* Pro optional rows: collapsed when empty, open when saved data exists, plus/minus on right. */
.pgfm-editor-form details.pgfm-extra-menu-item,
.pgfm-editor-form details.pgfm-pro-extra-item {
    display: block;
    margin: 14px 0;
    padding: 0;
    background: #fffaf7;
    border: 1px solid #eaded6;
    border-radius: 12px;
    overflow: hidden;
}

.pgfm-editor-form details.pgfm-extra-menu-item > summary,
.pgfm-editor-form details.pgfm-pro-extra-item > summary {
    position: relative;
    display: block;
    min-height: 46px;
    padding: 12px 54px 12px 14px;
    cursor: pointer;
    list-style: none;
    background: #fff1e9;
    color: var(--pgfm-red, #9b3528);
    font-weight: 700;
    text-align: left;
    box-sizing: border-box;
}

.pgfm-editor-form details.pgfm-extra-menu-item > summary::-webkit-details-marker,
.pgfm-editor-form details.pgfm-pro-extra-item > summary::-webkit-details-marker {
    display: none;
}

.pgfm-editor-form .pgfm-toggle-icon {
    position: absolute;
    right: 14px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    background: var(--pgfm-red, #9b3528);
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    line-height: 1;
}

.pgfm-editor-form details.pgfm-extra-menu-item:not([open]) .pgfm-toggle-icon::before,
.pgfm-editor-form details.pgfm-pro-extra-item:not([open]) .pgfm-toggle-icon::before {
    content: "+";
}

.pgfm-editor-form details.pgfm-extra-menu-item[open] .pgfm-toggle-icon::before,
.pgfm-editor-form details.pgfm-pro-extra-item[open] .pgfm-toggle-icon::before {
    content: "−";
}

.pgfm-editor-form details.pgfm-extra-menu-item[open] .pgfm-collapsible-content,
.pgfm-editor-form details.pgfm-pro-extra-item[open] .pgfm-pro-extra-content {
    padding: 14px;
    background: #fffaf7;
}


/* PG Food Menu Pro v1.9.5 - hide raw textarea under Visual editor
   Keeps the Free editor behavior but fixes the Pro admin CSS conflict where
   textarea.wp-editor-area could remain visible below TinyMCE in Visual mode. */

/* In Visual mode, WordPress should hide the raw textarea. */
.pgfm-editor-form .wp-editor-wrap.tmce-active textarea.wp-editor-area,
.pgfm-editor-form .tmce-active textarea.wp-editor-area {
    display: none !important;
    visibility: hidden !important;
}

/* In Code/Text mode, WordPress should show the raw textarea. */
.pgfm-editor-form .wp-editor-wrap.html-active textarea.wp-editor-area,
.pgfm-editor-form .html-active textarea.wp-editor-area {
    display: block !important;
    visibility: visible !important;
}

/* In Code/Text mode, the code buttons should stay horizontal. */
.pgfm-editor-form .wp-editor-wrap.html-active .quicktags-toolbar input,
.pgfm-editor-form .wp-editor-wrap.html-active .quicktags-toolbar button,
.pgfm-editor-form .html-active .quicktags-toolbar input,
.pgfm-editor-form .html-active .quicktags-toolbar button {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 2px !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Do not let the plugin's general textarea style affect WordPress editor internals. */
.pgfm-editor-form textarea.wp-editor-area {
    border-radius: 0 !important;
    box-shadow: none !important;
}


/* PG Food Menu Pro v1.9.7 - template preview uses active menu design colors */
.pgfm-template-preview {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.pgfm-template-menu-preview-shell {
    display: block;
    max-width: 760px;
    margin: 14px 0 0;
    padding: 0;
    text-align: center;
}

.pgfm-template-menu-preview-card {
    display: block;
    max-width: 720px;
    margin: 0;
    padding: 38px 42px;
    background: var(--pgfm-cream, #fffaf4);
    background-color: var(--pgfm-cream, #fffaf4);
    color: var(--pgfm-dark, #2f2723);
    border: 1px solid rgba(155, 53, 40, .18);
    border-radius: 22px;
    box-shadow: none;
    text-align: center;
}

.pgfm-template-menu-preview-card .pgfm-room-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    min-height: 30px;
    margin: 0 auto 14px;
    padding: 7px 15px;
    color: var(--pgfm-red, #9b3528);
    background: #fffdfb;
    border: 1px solid rgba(155, 53, 40, .22);
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .16em;
    font-weight: 700;
    text-transform: uppercase;
}

.pgfm-template-menu-preview-card .pgfm-title {
    margin: 0 0 12px;
    color: var(--pgfm-red, #9b3528);
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: .12em;
    font-weight: 600;
    text-transform: uppercase;
}

.pgfm-template-menu-preview-card .pgfm-room-note {
    margin: 0 auto 22px;
    color: var(--pgfm-dark, #2f2723);
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.pgfm-template-menu-preview-card .pgfm-section {
    max-width: 520px;
    margin: 24px auto 0;
    padding: 0;
    text-align: center;
}

.pgfm-template-menu-preview-card .pgfm-section > h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0 0 14px;
    color: var(--pgfm-red, #9b3528);
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: .08em;
    font-weight: 600;
    text-transform: uppercase;
}

.pgfm-template-menu-preview-card .pgfm-section > h2::before,
.pgfm-template-menu-preview-card .pgfm-section > h2::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--pgfm-red, #9b3528);
    opacity: .45;
    flex: 0 0 24px;
}

.pgfm-template-menu-preview-card .pgfm-menu-item {
    max-width: 520px;
    margin: 0 auto 24px;
    padding: 0;
    text-align: center;
}

.pgfm-template-menu-preview-card .pgfm-menu-item h3 {
    margin: 0 0 7px;
    padding: 0;
    color: var(--pgfm-dark, #2f2723);
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .03em;
    font-weight: 700;
    text-align: center;
}

.pgfm-template-menu-preview-card .pgfm-description,
.pgfm-template-menu-preview-card .pgfm-description p {
    margin: 0;
    padding: 0;
    color: var(--pgfm-dark, #2f2723);
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    text-align: center;
}

/* If menu paper choices set different variables/classes later, preview still follows core PG colors. */
.pgfm-template-menu-preview-card * {
    box-shadow: none !important;
}


/* PG Food Menu Pro v1.9.8 - active room tab + template search results layout */

/* Active room tab in admin/editor should be red so you know which menu you are editing. */
.pgfm-tabs .pgfm-tab.pgfm-tab-active,
.pgfm-tabs a.pgfm-tab.pgfm-tab-active,
.pgfm-admin-wrap .pgfm-tabs .pgfm-tab.pgfm-tab-active,
.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active {
    background: var(--pgfm-red, #9b3528) !important;
    background-color: var(--pgfm-red, #9b3528) !important;
    color: #fff !important;
    border-color: var(--pgfm-red, #9b3528) !important;
    box-shadow: none !important;
}

.pgfm-tabs .pgfm-tab.pgfm-tab-active:hover,
.pgfm-admin-wrap .pgfm-tabs .pgfm-tab.pgfm-tab-active:hover {
    background: var(--pgfm-red-dark, #7e2b22) !important;
    background-color: var(--pgfm-red-dark, #7e2b22) !important;
    color: #fff !important;
}

/* Template search result buttons should appear under the result count. */
.pgfm-template-search-results {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.pgfm-template-result-list {
    display: block !important;
    width: 100% !important;
    margin: 4px 0 12px !important;
}

.pgfm-template-result-count {
    display: block !important;
    margin: 0 0 8px !important;
    color: #2f2723 !important;
    font-weight: 700 !important;
}

.pgfm-template-result-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
}

.pgfm-template-result-button {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}


/* PG Food Menu Pro v1.9.9 - small admin UI adjustments */

/* Smaller room buttons in the Pro admin editor */
.pgfm-admin-wrap .pgfm-tabs {
    gap: 6px !important;
    margin: 14px auto 22px !important;
}

.pgfm-admin-wrap .pgfm-tabs .pgfm-tab {
    min-width: 92px !important;
    min-height: 40px !important;
    padding: 9px 18px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    border-radius: 16px !important;
}

/* Active room tab uses WordPress admin blue */
.pgfm-admin-wrap .pgfm-tabs .pgfm-tab.pgfm-tab-active,
.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active {
    background: #2271b1 !important;
    background-color: #2271b1 !important;
    color: #fff !important;
    border-color: #2271b1 !important;
}

.pgfm-admin-wrap .pgfm-tabs .pgfm-tab.pgfm-tab-active:hover,
.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active:hover {
    background: #135e96 !important;
    background-color: #135e96 !important;
    border-color: #135e96 !important;
    color: #fff !important;
}

/* Move Pegar en el Menú slightly lower than the dropdown */
.pgfm-template-row {
    align-items: flex-end !important;
}

.pgfm-template-row .pgfm-template-load {
    position: relative !important;
    top: 4px !important;
}


/* PG Food Menu Pro v1.9.10 - stronger admin room tabs and template search layout */

/* Smaller room selector buttons on the admin editor page */
body.wp-admin .pgfm-admin-wrap .pgfm-tabs,
body.wp-admin .wrap.pgfm-admin-wrap .pgfm-tabs {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 12px auto 18px !important;
    padding: 0 !important;
}

body.wp-admin .pgfm-admin-wrap .pgfm-tabs a.pgfm-tab,
body.wp-admin .wrap.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab,
body.wp-admin .pgfm-admin-wrap .pgfm-tabs .pgfm-tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 86px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 16px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    border-radius: 14px !important;
    border: 1px solid rgba(155, 53, 40, .20) !important;
    background: #fffdfb !important;
    color: #9b3528 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Active room button: WordPress blue */
body.wp-admin .pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active,
body.wp-admin .wrap.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active,
body.wp-admin .pgfm-admin-wrap .pgfm-tabs .pgfm-tab.pgfm-tab-active {
    background: #2271b1 !important;
    background-color: #2271b1 !important;
    color: #ffffff !important;
    border-color: #2271b1 !important;
}

body.wp-admin .pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active:hover,
body.wp-admin .wrap.pgfm-admin-wrap .pgfm-tabs a.pgfm-tab.pgfm-tab-active:hover {
    background: #135e96 !important;
    background-color: #135e96 !important;
    color: #ffffff !important;
    border-color: #135e96 !important;
}

/* Force search result count and buttons onto separate lines */
body.wp-admin .pgfm-template-search-results {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 12px !important;
    padding: 0 !important;
    clear: both !important;
}

body.wp-admin .pgfm-template-result-list {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    clear: both !important;
}

body.wp-admin .pgfm-template-result-count,
body.wp-admin .pgfm-template-result-list > strong {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    clear: both !important;
}

body.wp-admin .pgfm-template-result-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    clear: both !important;
}

body.wp-admin .pgfm-template-result-button {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Fallback if browser has cached older HTML where buttons are direct children after <strong> */
body.wp-admin .pgfm-template-result-list > .pgfm-template-result-button {
    margin-top: 7px !important;
}

/* Move Pegar en el Menú just a little lower under the dropdown */
body.wp-admin .pgfm-template-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 12px !important;
}

body.wp-admin .pgfm-template-row .pgfm-template-load,
body.wp-admin .pgfm-template-row .pgfm-template-load-button {
    position: relative !important;
    top: 4px !important;
}


/* PG Food Menu Pro v1.9.11 - delete template button spacing */
body.wp-admin .pgfm-template-delete-form .pgfm-template-delete-submit,
body.wp-admin .pgfm-template-delete-box .pgfm-template-delete-submit {
    position: relative !important;
    top: 4px !important;
    margin-top: 2px !important;
}


/* PG Food Menu Pro v1.9.13 - QR browser print first blank page + centering fix
   This affects browser print only. QR PDF export is unchanged. */

@media print {
    @page {
        size: letter portrait;
        margin: 0;
    }

    html,
    body {
        width: 8.5in !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: visible !important;
    }

    /* Hide WordPress admin and all non-QR content. */
    body * {
        visibility: hidden !important;
    }

    #wpadminbar,
    #adminmenuback,
    #adminmenuwrap,
    #wpfooter,
    #screen-meta,
    #screen-meta-links,
    .notice,
    .update-nag,
    .pgfm-print-toolbar,
    .pgfm-qr-room-toolbar,
    .pgfm-qr-print-head,
    .pgfm-qr-print-note,
    .wrap > h1,
    .wrap > form,
    .wrap > hr {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #wpcontent,
    #wpbody,
    #wpbody-content,
    .wrap,
    .pgfm-admin-wrap {
        display: block !important;
        position: static !important;
        width: 8.5in !important;
        max-width: 8.5in !important;
        min-width: 8.5in !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        left: auto !important;
        top: auto !important;
        background: #fff !important;
        overflow: visible !important;
        float: none !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .pgfm-qr-print-area,
    .pgfm-qr-print-area *,
    .pgfm-qr-grid,
    .pgfm-qr-grid *,
    .pgfm-qr-card,
    .pgfm-qr-card *,
    .pgfm-qr-card-inner,
    .pgfm-qr-card-inner * {
        visibility: visible !important;
    }

    .pgfm-qr-print-area {
        display: block !important;
        position: static !important;
        width: 8.5in !important;
        max-width: 8.5in !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: visible !important;
        box-shadow: none !important;
        border: 0 !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
    }

    .pgfm-qr-grid,
    .pgfm-qr-grid-print {
        display: block !important;
        width: 8.5in !important;
        max-width: 8.5in !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: visible !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
    }

    /* Each QR card gets exactly one Letter page and starts on page 1. */
    .pgfm-qr-card {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 8.5in !important;
        height: 11in !important;
        min-height: 11in !important;
        max-height: 11in !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        page-break-after: always !important;
        break-after: page !important;
    }

    .pgfm-qr-card:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .pgfm-qr-card-inner {
        position: relative !important;
        display: block !important;
        width: 4.65in !important;
        max-width: 4.65in !important;
        min-height: auto !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0.28in !important;
        background: #fffdfb !important;
        border: 1px solid rgba(155, 53, 40, .25) !important;
        border-radius: 0.18in !important;
        box-shadow: none !important;
        text-align: center !important;
        transform: none !important;
        overflow: hidden !important;
    }

    .pgfm-qr-room-pill {
        display: block !important;
        margin: 0 auto 0.06in !important;
        padding: 0 !important;
        color: #2d2b2c !important;
        font-size: 10pt !important;
        line-height: 1.1 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .pgfm-qr-card-inner h2 {
        margin: 0 0 0.18in !important;
        padding: 0 !important;
        color: #9b3528 !important;
        font-size: 18pt !important;
        line-height: 1.1 !important;
        letter-spacing: .06em !important;
        text-align: center !important;
    }

    .pgfm-qr-image-wrap {
        position: relative !important;
        display: block !important;
        width: 2.65in !important;
        height: 2.65in !important;
        margin: 0 auto 0.18in !important;
        padding: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .pgfm-qr-image-wrap > img {
        display: block !important;
        width: 2.65in !important;
        height: 2.65in !important;
        max-width: 2.65in !important;
        max-height: 2.65in !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }

    .pgfm-qr-center-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 0.58in !important;
        height: 0.58in !important;
        background: #fff !important;
        border-radius: 0.10in !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    .pgfm-qr-center-logo img {
        display: block !important;
        width: 0.34in !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .pgfm-qr-copy,
    .pgfm-qr-copy p,
    .pgfm-qr-copy small {
        color: #2d2b2c !important;
        text-align: center !important;
        background: transparent !important;
    }

    .pgfm-qr-scan-text {
        margin: 0 0 0.11in !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

    .pgfm-qr-url {
        display: block !important;
        font-size: 7.5pt !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
    }
}


/* PG Food Menu Pro v1.9.14 - nicer Notas / Por Hacer admin page */

/* Main notes page spacing */
body.wp-admin .pgfm-notes-wrap,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap {
    max-width: 1120px !important;
}

/* Intro and print button */
body.wp-admin .pgfm-notes-wrap > p,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap > p {
    max-width: 1040px !important;
}

/* Add note form card */
body.wp-admin .pgfm-notes-wrap form,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap form {
    box-sizing: border-box !important;
}

/* First add-note form/card, but avoid styling action forms inside current note cards too heavily */
body.wp-admin .pgfm-notes-wrap form.pgfm-note-add-form,
body.wp-admin .pgfm-notes-wrap .pgfm-note-form,
body.wp-admin .pgfm-notes-wrap .pgfm-add-note-form,
body.wp-admin .pgfm-notes-wrap .pgfm-notes-add-card,
body.wp-admin .pgfm-notes-wrap .pgfm-notes-card,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap form[action*="admin-post.php"]:has(textarea),
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap > form:has(textarea) {
    max-width: 1040px !important;
    margin: 18px 0 24px !important;
    padding: 24px 28px 28px !important;
    background: #ffffff !important;
    border: 1px solid #efe2da !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.045) !important;
}

/* Add note title */
body.wp-admin .pgfm-notes-wrap h2,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap h2 {
    color: var(--pgfm-red, #9b3528) !important;
    letter-spacing: .02em !important;
}

/* Textarea in add note form */
body.wp-admin .pgfm-notes-wrap textarea,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 88px !important;
    border: 1px solid #c3c4c7 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
}

/* Select box */
body.wp-admin .pgfm-notes-wrap select,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap select {
    min-width: 92px !important;
    border-radius: 6px !important;
    border-color: #c3c4c7 !important;
}

/* Current notes area */
body.wp-admin .pgfm-notes-list,
body.wp-admin .pgfm-current-notes,
body.wp-admin .pgfm-notes-wrap .pgfm-notes-list,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap .pgfm-notes-list {
    max-width: 1040px !important;
    margin: 16px 0 0 !important;
}

/* Individual note cards */
body.wp-admin .pgfm-note-card,
body.wp-admin .pgfm-note-item,
body.wp-admin .pgfm-current-note,
body.wp-admin .pgfm-notes-wrap .pgfm-note,
body.wp-admin .pgfm-notes-wrap li.pgfm-note {
    position: relative !important;
    display: block !important;
    max-width: 980px !important;
    margin: 14px 0 !important;
    padding: 18px 20px 18px 22px !important;
    background: #ffffff !important;
    border: 0 !important;
    border-left: 4px solid var(--pgfm-red, #9b3528) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.045) !important;
    overflow: hidden !important;
}

/* If notes are plain paragraphs/divs without classes, improve the direct note wrapper after heading */
body.wp-admin .pgfm-notes-wrap h2 + div,
body.wp-admin .pgfm-admin-wrap.pgfm-notes-wrap h2 + div {
    max-width: 1040px !important;
}

/* Pending / done status pill */
body.wp-admin .pgfm-note-status,
body.wp-admin .pgfm-note-badge,
body.wp-admin .pgfm-notes-wrap .pgfm-status,
body.wp-admin .pgfm-notes-wrap strong:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 10px !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    background: #fff4ef !important;
    color: var(--pgfm-red, #9b3528) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

/* Note text */
body.wp-admin .pgfm-note-text,
body.wp-admin .pgfm-note-content,
body.wp-admin .pgfm-note-message,
body.wp-admin .pgfm-notes-wrap .pgfm-note p {
    margin: 0 0 12px !important;
    color: #1d2327 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

/* Note meta pills */
body.wp-admin .pgfm-note-meta,
body.wp-admin .pgfm-note-details,
body.wp-admin .pgfm-note-info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 10px 0 0 !important;
}

body.wp-admin .pgfm-note-meta span,
body.wp-admin .pgfm-note-details span,
body.wp-admin .pgfm-note-info span,
body.wp-admin .pgfm-note-room,
body.wp-admin .pgfm-note-date,
body.wp-admin .pgfm-note-author {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #f7f2ee !important;
    color: #5f514b !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* Note action buttons on the right, like the desired layout */
body.wp-admin .pgfm-note-actions,
body.wp-admin .pgfm-note-buttons {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

body.wp-admin .pgfm-note-card form,
body.wp-admin .pgfm-note-item form,
body.wp-admin .pgfm-current-note form,
body.wp-admin .pgfm-notes-wrap .pgfm-note form {
    display: inline-block !important;
    margin: 0 0 0 6px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Button colors */
body.wp-admin .pgfm-notes-wrap .button.pgfm-note-done,
body.wp-admin .pgfm-notes-wrap .button.pgfm-note-toggle,
body.wp-admin .pgfm-notes-wrap form[action*="toggle"] .button,
body.wp-admin .pgfm-notes-wrap button[name*="toggle"],
body.wp-admin .pgfm-notes-wrap button[name*="done"] {
    color: #0a5f22 !important;
    border-color: #00a32a !important;
    background: #ffffff !important;
}

body.wp-admin .pgfm-notes-wrap .button.pgfm-note-delete,
body.wp-admin .pgfm-notes-wrap form[action*="delete"] .button,
body.wp-admin .pgfm-notes-wrap .button-link-delete {
    color: #b32d2e !important;
    border-color: #b32d2e !important;
    background: #ffffff !important;
}

/* Responsive notes */
@media (max-width: 782px) {
    body.wp-admin .pgfm-note-actions,
    body.wp-admin .pgfm-note-buttons {
        position: static !important;
        transform: none !important;
        margin-top: 14px !important;
        justify-content: flex-start !important;
    }

    body.wp-admin .pgfm-note-card,
    body.wp-admin .pgfm-note-item,
    body.wp-admin .pgfm-current-note,
    body.wp-admin .pgfm-notes-wrap .pgfm-note {
        padding-right: 18px !important;
    }
}


/* PG Food Menu Pro v1.9.15 - completed notes green + strikethrough */
body.wp-admin .pgfm-notes-wrap .pgfm-note-item.pgfm-note-done {
    background: #f0fbf3 !important;
    border-left-color: #00a32a !important;
    box-shadow: 0 10px 26px rgba(0, 128, 64, .10) !important;
}

body.wp-admin .pgfm-notes-wrap .pgfm-note-item.pgfm-note-done .pgfm-note-status {
    background: #e4f7e9 !important;
    color: #0a5f22 !important;
}

body.wp-admin .pgfm-notes-wrap .pgfm-note-item.pgfm-note-done .pgfm-note-text {
    color: #1d5f32 !important;
    text-decoration-line: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: #0a7f2e !important;
    opacity: .85 !important;
}

body.wp-admin .pgfm-notes-wrap .pgfm-note-item.pgfm-note-done .pgfm-note-meta span {
    background: #e7f6eb !important;
    color: #246b38 !important;
}

body.wp-admin .pgfm-notes-wrap .pgfm-note-item.pgfm-note-done .pgfm-note-toggle-button {
    color: #0a5f22 !important;
    border-color: #00a32a !important;
    background: #ffffff !important;
}


/* PG Food Menu Pro v1.9.16 - dashboard notes counts */
#pg_food_menu_pro_notes_widget .inside {
    padding-bottom: 14px;
}

.pgfm-dashboard-note-counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 8px 0 14px;
}

.pgfm-dashboard-note-count {
    display: block;
    padding: 12px 10px;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    border: 1px solid transparent;
    background: #fff;
}

.pgfm-dashboard-note-count strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 6px;
}

.pgfm-dashboard-note-count span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pgfm-dashboard-note-count-pending {
    border-color: #b32d2e;
    background: #fff5f5;
    color: #b32d2e;
}

.pgfm-dashboard-note-count-pending strong,
.pgfm-dashboard-note-count-pending span {
    color: #b32d2e;
}

.pgfm-dashboard-note-count-done {
    border-color: #00a32a;
    background: #f0fbf3;
    color: #0a5f22;
}

.pgfm-dashboard-note-count-done strong,
.pgfm-dashboard-note-count-done span {
    color: #0a5f22;
}

.pgfm-dashboard-note-count:hover,
.pgfm-dashboard-note-count:focus {
    box-shadow: 0 0 0 2px rgba(34, 113, 177, .18);
    text-decoration: none;
}

.pgfm-dashboard-notes-all-done {
    color: #0a5f22;
}


/* PG Food Menu Pro v1.9.17 - dashboard license widget */
.pgfm-dashboard-license-widget .pgfm-license-status-box {
    margin: 10px 0 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid transparent;
}

.pgfm-dashboard-license-widget .pgfm-license-status-box strong {
    display: block;
    margin: 0 0 5px;
    font-size: 14px;
}

.pgfm-dashboard-license-widget .pgfm-license-status-box span {
    display: block;
    font-size: 13px;
}

.pgfm-dashboard-license-widget .pgfm-license-status-box small {
    display: block;
    margin-top: 6px;
    font-size: 12px;
}

.pgfm-dashboard-license-widget .pgfm-license-status-active {
    background: #f0fbf3;
    border-color: #00a32a;
    color: #0a5f22;
}

.pgfm-dashboard-license-widget .pgfm-license-status-active strong,
.pgfm-dashboard-license-widget .pgfm-license-status-active span,
.pgfm-dashboard-license-widget .pgfm-license-status-active small {
    color: #0a5f22;
}

.pgfm-dashboard-license-widget .pgfm-license-status-missing {
    background: #fff7ed;
    border-color: #dba617;
    color: #7a4d00;
}

.pgfm-dashboard-license-widget .pgfm-license-status-missing strong,
.pgfm-dashboard-license-widget .pgfm-license-status-missing span,
.pgfm-dashboard-license-widget .pgfm-license-status-missing small {
    color: #7a4d00;
}

.pgfm-dashboard-license-widget .pgfm-license-last-check {
    margin-bottom: 0;
    color: #646970;
}


/* PG Food Menu Pro v1.9.18 - swap Diseño preview and Imprimir Menús preview */

/* Diseño del Menú should use the same nice full preview layout as Imprimir Menús had. */
.pgfm-design-full-preview {
    max-width: 1040px !important;
    margin: 24px 0 !important;
    padding: 20px !important;
    background: #ffffff !important;
    border: 1px solid #e5ddd8 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.04) !important;
}

.pgfm-design-menu-preview.pgfm-clean-public-menu {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pgfm-design-menu-preview.pgfm-clean-public-menu .pgfm-menu-card {
    display: block !important;
    position: relative !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: auto !important;
    margin: 28px auto !important;
    padding: 58px 54px 54px !important;
    text-align: center !important;
    overflow: hidden !important;
    color: var(--pgfm-dark, #2f2723) !important;
    background: #fffaf4 !important;
    background-color: #fffaf4 !important;
    border: 1px solid rgba(155, 53, 40, .18) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
}

/* Imprimir Menús should use the simpler design-preview style. */
.pgfm-print-menu-preview.pgfm-print-simple-preview {
    max-width: 760px !important;
    margin: 24px auto !important;
    padding: 20px !important;
    background: #ffffff !important;
    border: 1px solid #e5ddd8 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.04) !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-card {
    max-width: 640px !important;
    min-height: auto !important;
    margin: 0 auto !important;
    padding: 34px 38px !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-title {
    font-size: 30px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-section {
    max-width: 520px !important;
    margin-top: 22px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-section > h2 {
    font-size: 20px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-item {
    margin-bottom: 24px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-item h3 {
    font-size: 16px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-description,
.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-description * {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Print still prints only the menu preview area cleanly. */
@media print {
    .pgfm-print-menu-preview.pgfm-print-simple-preview {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-card {
        max-width: 7.4in !important;
        margin: 0 auto !important;
        padding: 0.45in !important;
        border-radius: 0.18in !important;
    }
}


/* PG Food Menu Pro v1.9.19 - Imprimir Menús uses active Diseño del Menú colors */

/* Restore design-aware menu rendering inside Imprimir Menús. */
.pgfm-print-menu-preview.pgfm-print-simple-preview.pgfm-clean-public-menu {
    display: block !important;
    max-width: 980px !important;
    margin: 24px auto !important;
    padding: 18px !important;
    background: #ffffff !important;
    border: 1px solid #e5ddd8 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.04) !important;
    text-align: center !important;
    overflow: visible !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview.pgfm-clean-public-menu .pgfm-menu-card {
    display: block !important;
    position: relative !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: auto !important;
    margin: 0 auto !important;
    padding: 58px 54px 54px !important;
    text-align: center !important;
    overflow: hidden !important;
    color: var(--pgfm-dark, #2f2723) !important;
    background: var(--pgfm-paper-bg, #fffaf4) !important;
    background-color: var(--pgfm-paper-bg, #fffaf4) !important;
    border: 1px solid rgba(155, 53, 40, .18) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
}

/* Respect paper/background classes from Diseño del Menú. */
.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-hacienda_cream,
.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-hacienda-cream {
    background: #fffaf4 !important;
    background-color: #fffaf4 !important;
}

.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-clean_white,
.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-clean-white {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-warm_paper,
.pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-warm-paper {
    background: #fbf4ea !important;
    background-color: #fbf4ea !important;
}

/* Keep the real menu design hierarchy. */
.pgfm-print-menu-preview .pgfm-room-badge,
.pgfm-print-menu-preview .pgfm-title,
.pgfm-print-menu-preview .pgfm-section > h2 {
    color: var(--pgfm-red, #9b3528) !important;
}

.pgfm-print-menu-preview .pgfm-section > h2::before,
.pgfm-print-menu-preview .pgfm-section > h2::after {
    background: var(--pgfm-red, #9b3528) !important;
    opacity: .45 !important;
}

.pgfm-print-menu-preview .pgfm-room-note,
.pgfm-print-menu-preview .pgfm-menu-item h3,
.pgfm-print-menu-preview .pgfm-description,
.pgfm-print-menu-preview .pgfm-description *,
.pgfm-print-menu-preview .pgfm-last-updated {
    color: var(--pgfm-dark, #2f2723) !important;
}

/* Undo the too-small/simple preview typography from v1.9.18. */
.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-title {
    font-size: 38px !important;
    line-height: 1.08 !important;
    letter-spacing: .14em !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-section {
    max-width: 560px !important;
    margin: 34px auto 0 !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-section > h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    letter-spacing: .10em !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-item {
    max-width: 560px !important;
    margin: 0 auto 30px !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-menu-item h3 {
    font-size: 18px !important;
    line-height: 1.35 !important;
}

.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-description,
.pgfm-print-menu-preview.pgfm-print-simple-preview .pgfm-description * {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

/* Prevent large logo/image overflow in the admin preview. */
.pgfm-print-menu-preview .pgfm-menu-logo,
.pgfm-print-menu-preview .pgfm-menu-logo img,
.pgfm-print-menu-preview .pgfm-brand-logo,
.pgfm-print-menu-preview .pgfm-brand-logo img {
    max-width: 220px !important;
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Print mode: print the design-aware menu cleanly. */
@media print {
    .pgfm-print-menu-preview.pgfm-print-simple-preview.pgfm-clean-public-menu {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .pgfm-print-menu-preview.pgfm-print-simple-preview.pgfm-clean-public-menu .pgfm-menu-card {
        width: 7.4in !important;
        max-width: 7.4in !important;
        margin: 0 auto !important;
        padding: 0.45in !important;
        border-radius: 0.18in !important;
        box-shadow: none !important;
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }
}


/* PG Food Menu Pro v1.9.20 - Diseño del Menú paper/font upload fixes */

/* Strong final paper/background overrides for public menu, design preview, and print preview. */
body .pgfm-menu-card.pgfm-paper-hacienda_cream,
body .pgfm-public-output .pgfm-menu-card.pgfm-paper-hacienda_cream,
body .pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-hacienda_cream,
body .pgfm-design-menu-preview .pgfm-menu-card.pgfm-paper-hacienda_cream,
body .pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-hacienda_cream {
    background: #fffaf4 !important;
    background-color: #fffaf4 !important;
    background-image: none !important;
}

body .pgfm-menu-card.pgfm-paper-clean_white,
body .pgfm-public-output .pgfm-menu-card.pgfm-paper-clean_white,
body .pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-clean_white,
body .pgfm-design-menu-preview .pgfm-menu-card.pgfm-paper-clean_white,
body .pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-clean_white {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}

body .pgfm-menu-card.pgfm-paper-warm_paper,
body .pgfm-public-output .pgfm-menu-card.pgfm-paper-warm_paper,
body .pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-warm_paper,
body .pgfm-design-menu-preview .pgfm-menu-card.pgfm-paper-warm_paper,
body .pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-warm_paper {
    background: #fbf4ea !important;
    background-color: #fbf4ea !important;
    background-image: none !important;
}

body .pgfm-menu-card.pgfm-paper-soft_gold,
body .pgfm-public-output .pgfm-menu-card.pgfm-paper-soft_gold,
body .pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-soft_gold,
body .pgfm-design-menu-preview .pgfm-menu-card.pgfm-paper-soft_gold,
body .pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-soft_gold {
    background: #fff6dc !important;
    background-color: #fff6dc !important;
    background-image: none !important;
}

body .pgfm-menu-card.pgfm-paper-rustic_red,
body .pgfm-public-output .pgfm-menu-card.pgfm-paper-rustic_red,
body .pgfm-clean-public-menu .pgfm-menu-card.pgfm-paper-rustic_red,
body .pgfm-design-menu-preview .pgfm-menu-card.pgfm-paper-rustic_red,
body .pgfm-print-menu-preview .pgfm-menu-card.pgfm-paper-rustic_red {
    background: #fff1eb !important;
    background-color: #fff1eb !important;
    background-image: none !important;
}

/* Keep design preview card from forcing Hacienda Cream over selected paper. */
.pgfm-design-menu-preview.pgfm-clean-public-menu .pgfm-menu-card {
    background-color: inherit;
}

/* Make font upload card separate and clear. */
.pgfm-font-upload-form input[type="file"] {
    padding: 8px !important;
    background: #ffffff !important;
    border: 1px solid #c3c4c7 !important;
    border-radius: 6px !important;
}


/* PG Food Menu Pro v1.9.21 - clean equal-width Diseño del Menú layout */

/* Main design page width */
body.wp-admin .pgfm-design-wrap {
    max-width: 1120px !important;
}

/* Keep intro text, notices, cards, forms, preview and upload card aligned to the same width */
body.wp-admin .pgfm-design-wrap > p,
body.wp-admin .pgfm-design-wrap .notice,
body.wp-admin .pgfm-design-wrap .pgfm-design-form,
body.wp-admin .pgfm-design-wrap .pgfm-design-card,
body.wp-admin .pgfm-design-wrap .pgfm-design-preview,
body.wp-admin .pgfm-design-wrap .pgfm-design-full-preview,
body.wp-admin .pgfm-design-wrap .pgfm-font-upload-form {
    width: 100% !important;
    max-width: 1040px !important;
    box-sizing: border-box !important;
}

/* Better notice width and alignment */
body.wp-admin .pgfm-design-wrap .notice {
    margin: 12px 0 18px !important;
}

/* Design form itself should not add strange width */
body.wp-admin .pgfm-design-wrap .pgfm-design-form {
    margin: 0 !important;
    padding: 0 !important;
}

/* All cards same width and same visual style */
body.wp-admin .pgfm-design-wrap .pgfm-design-card,
body.wp-admin .pgfm-design-wrap .pgfm-design-preview,
body.wp-admin .pgfm-design-wrap .pgfm-design-full-preview {
    margin: 18px 0 !important;
    padding: 22px 24px !important;
    background: #ffffff !important;
    border: 1px solid #e5ddd8 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.04) !important;
}

/* Typography inside design cards */
body.wp-admin .pgfm-design-wrap .pgfm-design-card h2,
body.wp-admin .pgfm-design-wrap .pgfm-design-preview h2,
body.wp-admin .pgfm-design-wrap .pgfm-design-full-preview h2 {
    margin-top: 0 !important;
    color: var(--pgfm-red, #9b3528) !important;
}

/* Full-width controls inside the same max width */
body.wp-admin .pgfm-design-wrap .pgfm-design-card select,
body.wp-admin .pgfm-design-wrap .pgfm-design-card input[type="text"],
body.wp-admin .pgfm-design-wrap .pgfm-design-card input[type="url"],
body.wp-admin .pgfm-design-wrap .pgfm-design-form select,
body.wp-admin .pgfm-design-wrap .pgfm-design-form input[type="text"],
body.wp-admin .pgfm-design-wrap .pgfm-design-form input[type="url"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* The custom-font collapsed section should align exactly with the fields */
body.wp-admin .pgfm-design-wrap .pgfm-collapsible-design-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #e5ddd8 !important;
    border-radius: 12px !important;
    background: #fffdfb !important;
    overflow: hidden !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-collapsible-design-section > summary {
    padding: 14px 16px !important;
    color: var(--pgfm-red, #9b3528) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-collapsible-design-content {
    padding: 0 16px 16px !important;
}

/* Custom font slots inside the collapsed area */
body.wp-admin .pgfm-design-wrap .pgfm-custom-font-slot {
    margin: 14px 0 !important;
    padding: 14px !important;
    background: #ffffff !important;
    border: 1px solid #efe2da !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-custom-font-slot h4 {
    margin: 0 0 10px !important;
    color: #2f2723 !important;
}

/* Preview should be same card width, menu centered inside it */
body.wp-admin .pgfm-design-wrap .pgfm-design-menu-preview {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-design-menu-preview .pgfm-menu-card {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Save button aligns with the same card width */
body.wp-admin .pgfm-design-wrap .pgfm-design-save-bottom {
    width: 100% !important;
    max-width: 1040px !important;
    margin: 18px 0 24px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Upload font card/form same width as the rest */
body.wp-admin .pgfm-design-wrap .pgfm-font-upload-form {
    max-width: 100% !important;
    margin: 0 !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-font-upload-form select,
body.wp-admin .pgfm-design-wrap .pgfm-font-upload-form input[type="file"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Remove random extra whitespace to the right caused by overly wide children */
body.wp-admin .pgfm-design-wrap * {
    max-width: 100%;
}

/* Mobile */
@media (max-width: 782px) {
    body.wp-admin .pgfm-design-wrap {
        max-width: 100% !important;
    }

    body.wp-admin .pgfm-design-wrap .pgfm-design-card,
    body.wp-admin .pgfm-design-wrap .pgfm-design-preview,
    body.wp-admin .pgfm-design-wrap .pgfm-design-full-preview {
        padding: 18px !important;
    }
}


/* PG Food Menu Pro v1.9.22 - center Guardar Diseño button */
body.wp-admin .pgfm-design-wrap .pgfm-design-save-bottom {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1040px !important;
    margin: 18px 0 24px !important;
    padding: 18px 0 !important;
    box-sizing: border-box !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-design-save-bottom p.submit {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

body.wp-admin .pgfm-design-wrap .pgfm-design-save-bottom input[type="submit"],
body.wp-admin .pgfm-design-wrap .pgfm-design-save-bottom .button-primary {
    margin: 0 auto !important;
    display: inline-block !important;
}


/* PG Food Menu Pro v1.9.23 - compact saved template preview */
.pgfm-template-preview {
    display: block !important;
    width: 100% !important;
    max-width: 920px !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pgfm-template-compact-preview {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 !important;
    padding: 20px 22px !important;
    background: #fffaf7 !important;
    border: 1px solid #eaded6 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    color: #1d2327 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.pgfm-template-compact-preview h3 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--pgfm-red, #9b3528) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    text-transform: none !important;
}

.pgfm-template-compact-preview .pgfm-template-preview-section {
    margin: 0 0 17px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

.pgfm-template-compact-preview .pgfm-template-preview-section h4 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--pgfm-red, #9b3528) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-transform: none !important;
}

.pgfm-template-compact-preview .pgfm-template-preview-item {
    display: block !important;
    margin: 0 0 10px 22px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
}

.pgfm-template-compact-preview .pgfm-template-preview-dish {
    display: block !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    color: #1d2327 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.pgfm-template-compact-preview small {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #50575e !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

/* Hide/neutralize older fancy preview wrappers if cached HTML appears. */
.pgfm-template-menu-preview-shell,
.pgfm-template-menu-preview-card {
    max-width: 900px !important;
    text-align: left !important;
}


/* PG Food Menu Pro v1.9.26 - clearer template save instructions */
.pgfm-template-save-help {
    margin: 8px 0 14px !important;
    padding: 10px 12px !important;
    background: #f6f7f7 !important;
    border-left: 4px solid #2271b1 !important;
    border-radius: 4px !important;
}

.pgfm-template-save-help strong {
    color: #1d2327 !important;
}
