
/* ============================================================
   CANESMENUPRICES.COM
   PROFESSIONAL PAGES + POSTS
   Homepage excluded
   ============================================================ */

body.cmp-singular {
    background:#ffffff !important;
    color:#3d4651 !important;
}


/* ============================================================
   MAIN PAGE WIDTH
   ============================================================ */

body.cmp-singular .cmp-wrap {
    width:min(1360px, calc(100% - 50px)) !important;
    max-width:1360px !important;
}

body.cmp-singular .cmp-singular-main {
    padding:34px 0 60px !important;
    background:#ffffff !important;
}


/*
 * Main article gets most of the page.
 * Sidebar remains useful but no longer squeezes content.
 */

body.cmp-singular .cmp-article-layout {
    display:grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        310px !important;

    gap:30px !important;

    align-items:start !important;
}


/* ============================================================
   MAIN ARTICLE CONTAINER
   ============================================================ */

body.cmp-singular .cmp-article-card {
    min-width:0 !important;

    background:#ffffff !important;

    border:1px solid #e5e8ec !important;

    border-radius:13px !important;

    box-shadow:
        0 6px 24px
        rgba(15,23,42,.045) !important;

    overflow:hidden !important;
}


/* ============================================================
   BREADCRUMB
   ============================================================ */

body.cmp-singular .cmp-breadcrumb {
    padding:15px 38px !important;

    background:#fafafa !important;

    border-bottom:
        1px solid #eceef1 !important;

    color:#777f8a !important;

    font-size:12px !important;

    line-height:1.4 !important;
}

body.cmp-singular .cmp-breadcrumb a {
    color:#d71920 !important;
    font-weight:600 !important;
    text-decoration:none !important;
}


/* ============================================================
   ARTICLE HEADER
   ============================================================ */

body.cmp-singular .cmp-article-header {
    padding:
        38px 40px 22px !important;
}

body.cmp-singular .cmp-article-header .cmp-kicker {
    margin-bottom:9px !important;

    color:#d71920 !important;

    font-size:11px !important;
    font-weight:800 !important;

    letter-spacing:.055em !important;
}

body.cmp-singular .cmp-article-header h1 {
    max-width:1000px !important;

    margin:0 !important;

    color:#171b22 !important;

    font-size:
        clamp(36px, 3.6vw, 50px) !important;

    font-weight:850 !important;

    line-height:1.12 !important;

    letter-spacing:-.035em !important;
}

body.cmp-singular .cmp-article-meta {
    margin-top:15px !important;

    display:flex !important;

    flex-wrap:wrap !important;

    gap:15px !important;

    color:#7a828c !important;

    font-size:12px !important;

    line-height:1.4 !important;
}


/* ============================================================
   TRUST / DISCLOSURE BOX
   ============================================================ */

body.cmp-singular .cmp-article-disclosure {
    margin:
        0 40px 26px !important;

    padding:
        14px 16px !important;

    color:#5b5145 !important;

    background:#fff9ef !important;

    border:
        1px solid #f1e1c5 !important;

    border-radius:8px !important;

    font-size:13px !important;

    line-height:1.6 !important;
}

body.cmp-singular .cmp-article-disclosure strong {
    color:#242931 !important;
}


/* ============================================================
   FEATURED IMAGE
   ============================================================ */

body.cmp-singular .cmp-featured-image {
    padding:
        0 40px 30px !important;
}

body.cmp-singular .cmp-featured-image img {
    width:100% !important;

    max-height:540px !important;

    display:block !important;

    object-fit:cover !important;

    border-radius:11px !important;
}


/* ============================================================
   ARTICLE BODY
   ============================================================ */

body.cmp-singular .cmp-article-content {
    width:100% !important;
    max-width:none !important;

    padding:
        0 40px 46px !important;

    color:#3f4752 !important;

    font-size:16px !important;

    line-height:1.8 !important;
}


/* Paragraphs */

body.cmp-singular .cmp-article-content p {
    margin:
        0 0 18px !important;

    color:#3f4752 !important;

    font-size:16px !important;

    line-height:1.8 !important;
}


/* ============================================================
   HEADINGS
   Clean editorial style instead of heavy bars
   ============================================================ */

body.cmp-singular .cmp-article-content h2 {
    margin:
        36px 0 15px !important;

    padding:
        0 0 10px !important;

    color:#171b22 !important;

    background:transparent !important;

    border:0 !important;

    border-bottom:
        2px solid #eceef1 !important;

    font-size:29px !important;

    font-weight:820 !important;

    line-height:1.25 !important;

    letter-spacing:-.02em !important;
}

body.cmp-singular .cmp-article-content h2::before {
    content:"" !important;

    display:inline-block !important;

    width:4px !important;
    height:25px !important;

    margin-right:10px !important;

    vertical-align:-3px !important;

    background:#d71920 !important;

    border-radius:3px !important;
}


body.cmp-singular .cmp-article-content h3 {
    margin:
        29px 0 12px !important;

    padding:0 !important;

    color:#20252d !important;

    background:transparent !important;

    border:0 !important;

    font-size:22px !important;

    font-weight:780 !important;

    line-height:1.3 !important;
}


body.cmp-singular .cmp-article-content h4 {
    margin:
        24px 0 10px !important;

    color:#242a32 !important;

    background:transparent !important;

    font-size:18px !important;

    font-weight:750 !important;

    line-height:1.35 !important;
}


/* ============================================================
   LISTS
   ============================================================ */

body.cmp-singular .cmp-article-content ul,
body.cmp-singular .cmp-article-content ol {
    margin:
        0 0 20px !important;

    padding-left:
        24px !important;
}

body.cmp-singular .cmp-article-content li {
    margin-bottom:8px !important;

    color:#404852 !important;

    font-size:16px !important;

    line-height:1.7 !important;
}

body.cmp-singular .cmp-article-content li::marker {
    color:#d71920 !important;
}


/* ============================================================
   LINKS
   ============================================================ */

body.cmp-singular .cmp-article-content a {
    color:#c9141b !important;

    font-weight:600 !important;

    text-decoration:
        underline !important;

    text-decoration-thickness:
        1px !important;

    text-underline-offset:
        3px !important;
}


/* ============================================================
   TABLES - MUCH CLEANER
   ============================================================ */

body.cmp-singular .cmp-article-content table {
    width:100% !important;

    margin:
        22px 0 30px !important;

    overflow:hidden !important;

    border-collapse:
        separate !important;

    border-spacing:0 !important;

    background:#ffffff !important;

    border:
        1px solid #e2e5e9 !important;

    border-radius:
        9px !important;

    box-shadow:
        0 2px 8px
        rgba(15,23,42,.025) !important;
}

body.cmp-singular .cmp-article-content table thead th,
body.cmp-singular .cmp-article-content table th {
    padding:
        13px 15px !important;

    color:#ffffff !important;

    background:#b51a13 !important;

    border:0 !important;

    border-right:
        1px solid rgba(255,255,255,.15) !important;

    font-size:13px !important;

    font-weight:800 !important;

    line-height:1.4 !important;

    text-align:left !important;
}

body.cmp-singular .cmp-article-content table td {
    padding:
        13px 15px !important;

    color:#414954 !important;

    background:#ffffff !important;

    border:0 !important;

    border-right:
        1px solid #eceef0 !important;

    border-bottom:
        1px solid #eceef0 !important;

    font-size:13px !important;

    line-height:1.5 !important;

    vertical-align:middle !important;
}

body.cmp-singular .cmp-article-content table tr:nth-child(even) td {
    background:#f8f9fa !important;
}

body.cmp-singular .cmp-article-content table tr:hover td {
    background:#fff8f8 !important;
}


/* ============================================================
   ARTICLE IMAGES
   ============================================================ */

body.cmp-singular .cmp-article-content img {
    max-width:100% !important;

    height:auto !important;

    border-radius:9px !important;
}


/* ============================================================
   ELEMENTOR LEGACY CONTENT NORMALIZATION
   ============================================================ */

body.cmp-singular
.cmp-article-content .elementor,

body.cmp-singular
.cmp-article-content .elementor-section,

body.cmp-singular
.cmp-article-content .elementor-container,

body.cmp-singular
.cmp-article-content .e-con,

body.cmp-singular
.cmp-article-content .e-con-inner {

    width:100% !important;

    max-width:100% !important;

    margin-left:auto !important;
    margin-right:auto !important;
}


/*
 * Prevent old Elementor sections from staying
 * narrow inside the new article container.
 */

body.cmp-singular
.cmp-article-content
.elementor-section.elementor-section-boxed
> .elementor-container {

    max-width:100% !important;
}

body.cmp-singular
.cmp-article-content
.elementor-section.elementor-section-stretched {

    width:100% !important;

    left:auto !important;
}


/* ============================================================
   FAQ / ACCORDION INSIDE ARTICLES
   ============================================================ */

body.cmp-singular
.cmp-article-content details {

    margin:
        10px 0 !important;

    background:#ffffff !important;

    border:
        1px solid #e4e7ea !important;

    border-radius:8px !important;

    overflow:hidden !important;
}

body.cmp-singular
.cmp-article-content summary {

    padding:
        14px 16px !important;

    color:#20252d !important;

    cursor:pointer !important;

    font-size:15px !important;

    font-weight:750 !important;
}

body.cmp-singular
.cmp-article-content details p {

    padding:
        0 16px 15px !important;

    margin:0 !important;

    font-size:15px !important;
}


/* ============================================================
   END INFORMATION BOX
   ============================================================ */

body.cmp-singular .cmp-article-end-note {
    padding:
        28px 40px 32px !important;

    background:#fafafa !important;

    border-top:
        1px solid #e7e9ec !important;
}

body.cmp-singular .cmp-article-end-note h2 {
    margin:
        0 0 8px !important;

    color:#1d2229 !important;

    font-size:21px !important;

    font-weight:800 !important;
}

body.cmp-singular .cmp-article-end-note p {
    margin:0 !important;

    color:#626b76 !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


/* ============================================================
   RIGHT SIDEBAR
   ============================================================ */

body.cmp-singular .cmp-article-sidebar {
    width:310px !important;

    max-width:310px !important;

    position:sticky !important;

    top:22px !important;

    display:flex !important;

    flex-direction:column !important;

    gap:16px !important;
}

body.cmp-singular .cmp-sidebar-card {
    padding:
        21px 20px !important;

    background:#ffffff !important;

    border:
        1px solid #e5e8ec !important;

    border-radius:11px !important;

    box-shadow:
        0 4px 16px
        rgba(15,23,42,.04) !important;
}

body.cmp-singular .cmp-sidebar-card h3 {
    margin:
        0 0 13px !important;

    color:#191e25 !important;

    font-size:18px !important;

    font-weight:800 !important;

    line-height:1.3 !important;
}

body.cmp-singular .cmp-sidebar-card p {
    margin:
        0 0 11px !important;

    color:#66707b !important;

    font-size:13px !important;

    line-height:1.65 !important;
}

body.cmp-singular
.cmp-sidebar-card
> a:not(.cmp-sidebar-button) {

    min-height:40px !important;

    display:flex !important;

    align-items:center !important;

    justify-content:space-between !important;

    color:#363d46 !important;

    border-bottom:
        1px solid #ededee !important;

    font-size:12px !important;

    font-weight:650 !important;

    line-height:1.45 !important;

    text-decoration:none !important;
}

body.cmp-singular
.cmp-sidebar-card
> a:hover {

    color:#d71920 !important;
}


/* Red trust card */

body.cmp-singular .cmp-sidebar-red {
    color:#ffffff !important;

    background:
        linear-gradient(
            135deg,
            #c41017,
            #eb2027
        ) !important;

    border:0 !important;
}

body.cmp-singular
.cmp-sidebar-red h3 {

    color:#ffffff !important;
}

body.cmp-singular
.cmp-sidebar-red p {

    color:
        rgba(255,255,255,.88) !important;
}


/* ============================================================
   DESKTOP LARGE
   ============================================================ */

@media(min-width:1500px) {

    body.cmp-singular .cmp-wrap {
        width:min(
            1400px,
            calc(100% - 70px)
        ) !important;

        max-width:1400px !important;
    }

    body.cmp-singular
    .cmp-article-layout {

        grid-template-columns:
            minmax(0,1fr)
            320px !important;

        gap:34px !important;
    }

    body.cmp-singular
    .cmp-article-sidebar {

        width:320px !important;
        max-width:320px !important;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1050px) {

    body.cmp-singular
    .cmp-article-layout {

        grid-template-columns:
            minmax(0,1fr)
            260px !important;

        gap:22px !important;
    }

    body.cmp-singular
    .cmp-article-sidebar {

        width:260px !important;
        max-width:260px !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:767px) {

    body.cmp-singular .cmp-wrap {
        width:
            calc(100% - 22px) !important;
    }

    body.cmp-singular
    .cmp-singular-main {

        padding:
            16px 0 34px !important;
    }

    body.cmp-singular
    .cmp-article-layout {

        display:block !important;
    }

    body.cmp-singular
    .cmp-article-card {

        border-radius:10px !important;
    }

    body.cmp-singular
    .cmp-breadcrumb {

        padding:
            12px 18px !important;

        font-size:
            11px !important;
    }

    body.cmp-singular
    .cmp-article-header {

        padding:
            26px 19px 17px !important;
    }

    body.cmp-singular
    .cmp-article-header h1 {

        font-size:
            32px !important;
    }

    body.cmp-singular
    .cmp-article-disclosure {

        margin:
            0 19px 20px !important;

        padding:
            12px 14px !important;

        font-size:
            12px !important;
    }

    body.cmp-singular
    .cmp-featured-image {

        padding:
            0 19px 22px !important;
    }

    body.cmp-singular
    .cmp-article-content {

        padding:
            0 19px 30px !important;
    }

    body.cmp-singular
    .cmp-article-content p,
    body.cmp-singular
    .cmp-article-content li {

        font-size:
            15px !important;
    }

    body.cmp-singular
    .cmp-article-content h2 {

        font-size:
            25px !important;
    }

    body.cmp-singular
    .cmp-article-content h3 {

        font-size:
            20px !important;
    }

    body.cmp-singular
    .cmp-article-content table {

        display:block !important;

        overflow-x:auto !important;

        white-space:nowrap !important;
    }

    body.cmp-singular
    .cmp-article-sidebar {

        width:100% !important;
        max-width:100% !important;

        position:static !important;

        margin-top:18px !important;
    }

    body.cmp-singular
    .cmp-article-end-note {

        padding:
            23px 19px !important;
    }

}



/* ============================================================
   FIX: WHITE TEXT ON RED BACKGROUNDS
   ============================================================ */

/* Table header text */

body.cmp-singular
.cmp-article-content table th,
body.cmp-singular
.cmp-article-content table thead th,
body.cmp-singular
.cmp-article-content table th *,
body.cmp-singular
.cmp-article-content table thead th * {
    color:#ffffff !important;
}


/* Any legacy red heading/background block */

body.cmp-singular
.cmp-article-content [style*="background:#"],
body.cmp-singular
.cmp-article-content [style*="background: #"] {
    /* do not globally recolor everything */
}


/* Common Elementor / legacy red heading classes */

body.cmp-singular
.cmp-article-content .elementor-heading-title[style*="background"],
body.cmp-singular
.cmp-article-content .elementor-widget-heading[style*="background"] .elementor-heading-title {
    color:#ffffff !important;
}


/* Red sections used by old content */

body.cmp-singular
.cmp-article-content .has-background[style*="rgb(1"],
body.cmp-singular
.cmp-article-content .has-background[style*="#8"],
body.cmp-singular
.cmp-article-content .has-background[style*="#9"],
body.cmp-singular
.cmp-article-content .has-background[style*="#a"],
body.cmp-singular
.cmp-article-content .has-background[style*="#b"],
body.cmp-singular
.cmp-article-content .has-background[style*="#c"],
body.cmp-singular
.cmp-article-content .has-background[style*="#d"],
body.cmp-singular
.cmp-article-content .has-background[style*="#e"] {
    color:#ffffff !important;
}


/* Strong safety for dark-red title bars inside article */

body.cmp-singular
.cmp-article-content
[style*="background-color:#8f"],
body.cmp-singular
.cmp-article-content
[style*="background-color: #8f"],
body.cmp-singular
.cmp-article-content
[style*="background-color:#9"],
body.cmp-singular
.cmp-article-content
[style*="background-color: #9"],
body.cmp-singular
.cmp-article-content
[style*="background-color:#a"],
body.cmp-singular
.cmp-article-content
[style*="background-color: #a"],
body.cmp-singular
.cmp-article-content
[style*="background-color:#b"],
body.cmp-singular
.cmp-article-content
[style*="background-color: #b"] {
    color:#ffffff !important;
}


/* Descendants also white */

body.cmp-singular
.cmp-article-content
[style*="background-color:#8f"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color: #8f"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color:#9"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color: #9"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color:#a"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color: #a"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color:#b"] *,
body.cmp-singular
.cmp-article-content
[style*="background-color: #b"] * {
    color:#ffffff !important;
}



/* ============================================================
   H3 SUBHEADINGS
   Keep clean white-page editorial style
   ============================================================ */

body.cmp-singular
.cmp-article-content h3 {

    margin:
        29px 0 13px !important;

    padding:
        0 0 9px !important;

    color:#1d232b !important;

    background:
        transparent !important;

    border:0 !important;

    border-bottom:
        1px solid #e6e8eb !important;

    border-radius:0 !important;

    font-size:
        20px !important;

    font-weight:
        780 !important;

}


/* ============================================================
   TABLE HEADERS
   ============================================================ */

body.cmp-singular
.cmp-article-content table th,
body.cmp-singular
.cmp-article-content table th *,
body.cmp-singular
.cmp-article-content table thead th,
body.cmp-singular
.cmp-article-content table thead th * {

    color:#ffffff !important;

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:767px) {

    body.cmp-singular
    .cmp-article-content h2 {

        padding:
            11px 14px !important;

        font-size:
            20px !important;

    }

    body.cmp-singular
    .cmp-article-content h3 {

        font-size:
            18px !important;

    }

}



/* ============================================================
   FINAL ELEMENTOR RED HEADING SYSTEM
   ============================================================ */

/*
 * Elementor pages use dark-red parent containers such as
 * #841504. Force heading widgets inside those containers white.
 */

body.cmp-singular
.cmp-article-content
.elementor-element[style*="background"]
.elementor-widget-heading
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-element
.elementor-widget-heading
.elementor-heading-title {

    line-height:1.35 !important;

}


/*
 * Exact Elementor red/dark-red section backgrounds.
 */

body.cmp-singular
.cmp-article-content
.elementor-element[style*="#841504"]
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-element[style*="#841504"]
.elementor-heading-title * {

    color:#ffffff !important;

}


/*
 * Generated Elementor classes use background on parent sections,
 * not inline styles. So target heading widgets inside Elementor
 * article content with stronger specificity.
 */

body.cmp-singular
.cmp-article-content
.elementor
.elementor-element
.elementor-widget-heading
.elementor-heading-title {

    color:inherit;

}


/*
 * For the common dark-red heading sections, Elementor's own
 * generated CSS sets #FFFFFF. This rule prevents our theme/global
 * heading color from overriding it.
 */

body.cmp-singular
.cmp-article-content
.elementor
.elementor-widget-heading
.elementor-heading-title[style*="color"],

body.cmp-singular
.cmp-article-content
.elementor
.elementor-widget-heading
.elementor-heading-title
span[style*="color"] {

    color:inherit !important;

}


/*
 * Strong final rule for dark-red section rows.
 * Elementor red section containers typically use inline/generated
 * backgrounds while their only child is a heading widget.
 */

body.cmp-singular
.cmp-article-content
.elementor-element.elementor-widget-heading
.elementor-heading-title {

    position:relative;

}


/* Catering / menu style red bars */

body.cmp-singular
.cmp-article-content
.elementor-858
.elementor-widget-heading
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-587
.elementor-widget-heading
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-842
.elementor-widget-heading
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-895
.elementor-widget-heading
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-935
.elementor-widget-heading
.elementor-heading-title {

    color:#ffffff !important;

}


/*
 * Keep body copy black/dark.
 */

body.cmp-singular
.cmp-article-content
.elementor-widget-text-editor {

    color:#3f4752 !important;

}


/*
 * H3s remain normal editorial subheadings.
 */

body.cmp-singular
.cmp-article-content h3:not(.elementor-heading-title) {

    color:#1d232b !important;

    background:transparent !important;

}


/* Mobile */

@media(max-width:767px) {

    body.cmp-singular
    .cmp-article-content
    .elementor-widget-heading
    .elementor-heading-title {

        line-height:1.35 !important;

    }

}



/* ============================================================
   FINAL RUNTIME-DETECTED ELEMENTOR RED BAR
   ============================================================ */

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
.elementor-heading-title,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
.elementor-heading-title *,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h1,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h1 *,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h2,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h2 *,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h3,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h3 *,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h4,

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
h4 * {

    color:#ffffff !important;

}


/* Keep heading spacing professional */

body.cmp-singular
.cmp-article-content
.elementor-element.cmp-red-heading-fixed
.elementor-heading-title {

    margin:0 !important;

    color:#ffffff !important;

    line-height:1.35 !important;

}


/* Mobile */

@media(max-width:767px) {

    body.cmp-singular
    .cmp-article-content
    .elementor-element.cmp-red-heading-fixed
    .elementor-heading-title {

        color:#ffffff !important;

        line-height:1.35 !important;

    }

}

