
/* ============================================================
   CANESMENUPRICES.COM
   PROFESSIONAL SCALE V3
   Final last-loaded visual layer
   ============================================================ */

:root {
    --cp-red:#d71920;
    --cp-red-dark:#a80f14;
    --cp-dark:#151922;
    --cp-text:#3f4752;
    --cp-muted:#68717d;
    --cp-border:#e3e6ea;
    --cp-white:#ffffff;
    --cp-soft:#fafafa;
    --cp-shadow:0 8px 28px rgba(15,23,42,.065);
}


/* ============================================================
   GLOBAL PAGE
   ============================================================ */

html {
    font-size:16px !important;
}

body,
body.cmp-v2-home,
body.cmp-site {
    background:#ffffff !important;
    color:var(--cp-text) !important;
    font-size:17px !important;
    line-height:1.75 !important;
}

.cmp-wrap {
    width:min(1440px, calc(100% - 64px)) !important;
    max-width:1440px !important;
}


/* ============================================================
   TOP RED BAR
   ============================================================ */

.cmp-top,
.cmp-topbar {
    background:linear-gradient(
        90deg,
        #c70e14,
        #e82126
    ) !important;
}

.cmp-top-inner,
.cmp-topbar-inner {
    min-height:42px !important;

    padding-top:9px !important;
    padding-bottom:9px !important;

    color:#fff !important;

    font-size:13px !important;
    font-weight:700 !important;

    line-height:1.35 !important;
}


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

.cmp-header,
.cmp-site-header {
    background:#fff !important;

    border-bottom:1px solid var(--cp-border) !important;

    box-shadow:
        0 3px 18px rgba(15,23,42,.045) !important;
}

.cmp-header-inner {
    min-height:104px !important;

    gap:42px !important;
}


/* logo */

.cmp-logo strong,
.cmp-site-brand strong {
    font-size:34px !important;
    font-weight:900 !important;

    line-height:1 !important;

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

.cmp-logo small,
.cmp-site-brand small {
    margin-top:8px !important;

    font-size:12px !important;

    line-height:1.35 !important;
}


/* navigation */

.cmp-nav,
.cmp-global-nav {
    gap:5px !important;
}

.cmp-nav a,
.cmp-global-nav a {
    padding:13px 15px !important;

    color:#2d343d !important;

    font-size:15px !important;
    font-weight:700 !important;

    line-height:1.2 !important;

    border-radius:8px !important;
}

.cmp-nav a:hover,
.cmp-global-nav a:hover {
    color:var(--cp-red) !important;

    background:#fff3f3 !important;
}


/* ============================================================
   HOMEPAGE HERO
   Supports both active home structures
   ============================================================ */

.cmp-hero,
.cmp-home-hero {
    padding-top:38px !important;

    background:#fff !important;
}

.cmp-hero-box,
.cmp-hero-grid {
    min-height:570px !important;

    overflow:hidden !important;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(0,1.05fr) !important;

    border:1px solid var(--cp-border) !important;

    border-radius:18px !important;

    box-shadow:var(--cp-shadow) !important;
}

.cmp-hero-copy {
    padding:64px 60px !important;
}

.cmp-hero h1,
.cmp-hero-copy h1 {
    margin-bottom:23px !important;

    color:var(--cp-dark) !important;

    font-size:clamp(52px,5vw,72px) !important;
    font-weight:900 !important;

    line-height:1.02 !important;

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

.cmp-hero h1 strong,
.cmp-hero-copy h1 strong,
.cmp-hero h1 span {
    color:var(--cp-red) !important;
}

.cmp-hero-copy > p,
.cmp-large-intro,
.cmp-hero-lead {
    max-width:700px !important;

    color:var(--cp-text) !important;

    font-size:19px !important;

    line-height:1.75 !important;
}


/* hero trust */

.cmp-hero-benefits,
.cmp-hero-points,
.cmp-hero-facts {
    margin-top:31px !important;

    gap:20px !important;
}

.cmp-hero-benefits > div,
.cmp-hero-points > div,
.cmp-hero-facts > div {
    padding-left:16px !important;

    border-left:
        3px solid #ffd0d2 !important;
}

.cmp-hero-benefits b,
.cmp-hero-points b,
.cmp-hero-facts b {
    font-size:14px !important;
}

.cmp-hero-benefits span,
.cmp-hero-points span,
.cmp-hero-facts span {
    font-size:13px !important;

    line-height:1.45 !important;
}


/* hero buttons */

.cmp-buttons,
.cmp-actions {
    margin-top:31px !important;

    gap:12px !important;
}

.cmp-buttons a,
.cmp-actions a,
.cmp-button-primary,
.cmp-button-secondary {
    min-height:50px !important;

    padding:13px 21px !important;

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

    border-radius:8px !important;
}


/* hero image */

.cmp-hero-image,
.cmp-hero-photo {
    min-height:570px !important;
}

.cmp-hero-image img,
.cmp-hero-photo img {
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
}


/* ============================================================
   HOMEPAGE MAIN LAYOUT
   Current .cmp-content-grid + newer .cmp-home-layout
   ============================================================ */

.cmp-first-content,
.cmp-home-body {
    padding-top:38px !important;
    padding-bottom:60px !important;

    background:#fff !important;
}

.cmp-content-grid,
.cmp-home-layout {
    display:grid !important;

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

    gap:38px !important;

    align-items:start !important;
}

.cmp-left,
.cmp-home-main {
    min-width:0 !important;

    gap:30px !important;
}


/* ============================================================
   LARGE PROFESSIONAL PANELS
   ============================================================ */

.cmp-card,
.cmp-panel {
    padding:44px 46px !important;

    background:#fff !important;

    border:
        1px solid var(--cp-border) !important;

    border-radius:15px !important;

    box-shadow:var(--cp-shadow) !important;
}


/* titles */

.cmp-heading-row,
.cmp-section-title {
    margin-bottom:28px !important;
}

.cmp-heading-row h2,
.cmp-section-title h2,
.cmp-long-content h2,
.cmp-menu-guide > h2,
.cmp-readable h2,
.cmp-two-panels h2,
.cmp-two-column h2,
.cmp-research h2,
.cmp-faq h2 {
    color:var(--cp-dark) !important;

    font-size:34px !important;
    font-weight:850 !important;

    line-height:1.2 !important;

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

.cmp-heading-row p,
.cmp-section-title p {
    color:var(--cp-muted) !important;

    font-size:15px !important;

    line-height:1.6 !important;
}


/* main readable text */

.cmp-long-content p,
.cmp-readable p,
.cmp-menu-guide > p,
.cmp-menu-block p,
.cmp-two-panels p,
.cmp-two-column p,
.cmp-research p {
    color:var(--cp-text) !important;

    font-size:17px !important;

    line-height:1.82 !important;
}

.cmp-readable h3,
.cmp-menu-title h3 {
    color:var(--cp-dark) !important;

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

    line-height:1.3 !important;
}

.cmp-readable h4,
.cmp-feature-row h4,
.cmp-feature-box h4 {
    color:var(--cp-dark) !important;

    font-size:21px !important;
}


/* ============================================================
   CATEGORY CARDS
   ============================================================ */

.cmp-categories,
.cmp-category-grid {
    gap:16px !important;
}

.cmp-categories > a,
.cmp-category-grid > a {
    min-height:215px !important;

    padding:20px 15px !important;

    border-radius:12px !important;
}

.cmp-categories img,
.cmp-category-grid img {
    width:145px !important;
    height:112px !important;

    margin-bottom:13px !important;

    object-fit:contain !important;
}

.cmp-categories b,
.cmp-category-grid b {
    font-size:15px !important;
    font-weight:850 !important;
}

.cmp-categories span,
.cmp-category-grid span {
    margin-top:5px !important;

    font-size:13px !important;
}


/* ============================================================
   COMBO CARDS
   ============================================================ */

.cmp-combos,
.cmp-combo-grid {
    gap:16px !important;
}

.cmp-combos img,
.cmp-combo-grid img {
    height:190px !important;
}

.cmp-combos h3,
.cmp-combo-grid h3 {
    margin:
        17px 17px 7px !important;

    font-size:16px !important;
}

.cmp-combos p,
.cmp-combo-grid p {
    margin:
        0 17px 19px !important;

    font-size:13px !important;

    line-height:1.55 !important;
}


/* ============================================================
   MENU / RESOURCE CARDS
   ============================================================ */

.cmp-menu-mini-grid,
.cmp-menu-card-grid,
.cmp-three-menu,
.cmp-three-grid,
.cmp-six-grid,
.cmp-resource-grid,
.cmp-four-points {
    gap:16px !important;
}

.cmp-menu-mini-grid > div,
.cmp-menu-card-grid > div,
.cmp-three-menu > div,
.cmp-three-grid > div,
.cmp-six-grid a,
.cmp-resource-grid a,
.cmp-four-points > div {
    padding:20px !important;

    border-radius:10px !important;
}

.cmp-menu-mini-grid img,
.cmp-menu-card-grid img {
    height:165px !important;
}

.cmp-three-menu img,
.cmp-three-grid img {
    height:160px !important;
}

.cmp-menu-mini-grid b,
.cmp-menu-card-grid b,
.cmp-three-menu b,
.cmp-three-grid b,
.cmp-six-grid b,
.cmp-resource-grid b,
.cmp-four-points b {
    font-size:14px !important;
}

.cmp-menu-mini-grid span,
.cmp-menu-card-grid span,
.cmp-six-grid span,
.cmp-resource-grid span,
.cmp-four-points span {
    font-size:12px !important;

    line-height:1.5 !important;
}


/* ============================================================
   FEATURE ROW
   ============================================================ */

.cmp-feature-row,
.cmp-feature-box {
    grid-template-columns:
        320px minmax(0,1fr) !important;

    gap:32px !important;

    padding:25px !important;
}

.cmp-feature-row img,
.cmp-feature-box img {
    height:235px !important;
}


/* ============================================================
   SIDEBAR - MUCH BIGGER
   ============================================================ */

.cmp-sidebar,
.cmp-home-sidebar,
.cmp-article-sidebar {
    width:330px !important;

    max-width:330px !important;

    gap:20px !important;
}

.cmp-side,
.cmp-sidebar-card {
    padding:27px 25px !important;

    border-radius:12px !important;
}

.cmp-side h3,
.cmp-sidebar-card h3 {
    margin-bottom:15px !important;

    font-size:21px !important;
    font-weight:850 !important;
}

.cmp-side p,
.cmp-sidebar-card p {
    font-size:14px !important;

    line-height:1.7 !important;
}

.cmp-side > a,
.cmp-sidebar-card > a:not(.cmp-sidebar-button) {
    min-height:46px !important;

    font-size:14px !important;
}

.cmp-small-btn,
.cmp-sidebar-button {
    font-size:13px !important;
}


/* ============================================================
   FAQ
   ============================================================ */

.cmp-faq details {
    margin-top:13px !important;
}

.cmp-faq summary {
    padding:18px 20px !important;

    font-size:16px !important;
}

.cmp-faq details p {
    padding:
        0 20px 20px !important;

    font-size:15px !important;

    line-height:1.72 !important;
}


/* ============================================================
   PAGE + POST PROFESSIONAL WIDTH
   ============================================================ */

.cmp-singular-main {
    padding:
        42px 0 64px !important;

    background:#fff !important;
}

.cmp-article-layout {
    grid-template-columns:
        minmax(0,1fr)
        330px !important;

    gap:38px !important;
}

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


/* breadcrumb */

.cmp-breadcrumb {
    padding:
        18px 44px !important;

    font-size:13px !important;
}


/* article heading */

.cmp-article-header {
    padding:
        48px 48px 27px !important;
}

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

    font-size:
        clamp(44px,4.4vw,60px) !important;

    font-weight:900 !important;

    line-height:1.1 !important;
}

.cmp-article-meta {
    margin-top:19px !important;

    font-size:13px !important;
}


/* disclosure */

.cmp-article-disclosure {
    margin:
        0 48px 30px !important;

    padding:
        17px 19px !important;

    font-size:14px !important;
}


/* feature image */

.cmp-featured-image {
    padding:
        0 48px 35px !important;
}


/* article body */

.cmp-article-content {
    max-width:none !important;

    padding:
        0 48px 52px !important;
}

.cmp-article-content h2 {
    margin:
        42px 0 16px !important;

    font-size:
        34px !important;
}

.cmp-article-content h3 {
    margin:
        33px 0 13px !important;

    font-size:
        27px !important;
}

.cmp-article-content h4 {
    font-size:
        22px !important;
}

.cmp-article-content p {
    margin:
        0 0 21px !important;

    font-size:
        17px !important;

    line-height:
        1.84 !important;
}

.cmp-article-content li {
    margin-bottom:10px !important;

    font-size:
        17px !important;

    line-height:
        1.72 !important;
}


/* Elementor old page width normalization */

.cmp-article-content .elementor,
.cmp-article-content .elementor-section,
.cmp-article-content .elementor-container,
.cmp-article-content .e-con,
.cmp-article-content .e-con-inner {
    width:100% !important;

    max-width:100% !important;

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

.cmp-article-content
.elementor-section.elementor-section-stretched {
    width:100% !important;

    left:auto !important;
}


/* tables */

.cmp-article-content table {
    margin:
        26px 0 !important;
}

.cmp-article-content table th {
    padding:
        15px 17px !important;

    font-size:
        14px !important;
}

.cmp-article-content table td {
    padding:
        14px 17px !important;

    font-size:
        14px !important;

    line-height:
        1.55 !important;
}

.cmp-article-end-note {
    padding:
        34px 48px 38px !important;
}

.cmp-article-end-note h2 {
    font-size:25px !important;
}

.cmp-article-end-note p {
    font-size:15px !important;
}


/* ============================================================
   ARCHIVE
   ============================================================ */

.cmp-archive-main {
    padding:
        46px 0 68px !important;

    background:#fff !important;
}

.cmp-archive-header h1 {
    font-size:52px !important;
}

.cmp-archive-header p {
    font-size:17px !important;
}

.cmp-post-grid {
    gap:28px !important;
}

.cmp-post-image img {
    height:285px !important;
}

.cmp-post-card-content {
    padding:28px !important;
}

.cmp-post-card h2 {
    font-size:24px !important;
}

.cmp-post-card p {
    font-size:15px !important;
}


/* ============================================================
   FOOTER - BIGGER + CLEAR
   ============================================================ */

.cmp-footer,
.cmp-site-footer {
    margin-top:0 !important;

    color:#d0d5dc !important;

    background:#151b22 !important;

    border-top:
        5px solid var(--cp-red) !important;
}

.cmp-footer-grid {
    padding:
        58px 0 48px !important;

    gap:42px !important;
}

.cmp-footer-grid strong {
    color:#fff !important;

    font-size:16px !important;
    font-weight:850 !important;
}

.cmp-footer-logo,
.cmp-footer-about > strong {
    font-size:26px !important;
}

.cmp-footer-grid p {
    color:#cbd1d9 !important;

    font-size:14px !important;

    line-height:1.7 !important;
}

.cmp-footer-grid small {
    padding:
        7px 9px !important;

    font-size:12px !important;
}

.cmp-footer-grid a {
    color:#cbd1d9 !important;

    font-size:14px !important;

    line-height:1.5 !important;
}

.cmp-footer-bottom,
.cmp-footer-bottom .cmp-wrap {
    min-height:64px !important;

    font-size:12px !important;
}


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

@media (min-width:1500px) {

    .cmp-wrap {
        width:min(
            1480px,
            calc(100% - 80px)
        ) !important;

        max-width:1480px !important;
    }

    .cmp-content-grid,
    .cmp-home-layout,
    .cmp-article-layout {
        grid-template-columns:
            minmax(0,1fr)
            340px !important;
    }

    .cmp-sidebar,
    .cmp-home-sidebar,
    .cmp-article-sidebar {
        width:340px !important;
        max-width:340px !important;
    }

}


/* ============================================================
   LAPTOP
   ============================================================ */

@media (max-width:1200px) {

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

    .cmp-content-grid,
    .cmp-home-layout,
    .cmp-article-layout {
        grid-template-columns:
            minmax(0,1fr)
            275px !important;

        gap:24px !important;
    }

    .cmp-sidebar,
    .cmp-home-sidebar,
    .cmp-article-sidebar {
        width:275px !important;
        max-width:275px !important;
    }

    .cmp-nav a,
    .cmp-global-nav a {
        padding-left:8px !important;
        padding-right:8px !important;

        font-size:12px !important;
    }

}


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

@media (max-width:767px) {

    body,
    body.cmp-v2-home,
    body.cmp-site {
        font-size:16px !important;
    }

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


    /* top */

    .cmp-top-inner,
    .cmp-topbar-inner {
        width:100% !important;

        min-height:39px !important;

        padding:
            9px 12px !important;

        justify-content:
            flex-start !important;

        overflow-x:auto !important;

        white-space:nowrap !important;

        font-size:11px !important;
    }


    /* header */

    .cmp-header-inner {
        min-height:78px !important;
    }

    .cmp-logo strong,
    .cmp-site-brand strong {
        font-size:25px !important;
    }

    .cmp-logo small,
    .cmp-site-brand small {
        font-size:9px !important;
    }

    .cmp-menu-toggle {
        display:inline-flex !important;

        padding:
            10px 13px !important;

        color:#fff !important;

        background:
            var(--cp-red) !important;

        border:0 !important;

        border-radius:7px !important;

        font-size:12px !important;

        font-weight:800 !important;
    }


    /* hero */

    .cmp-hero,
    .cmp-home-hero {
        padding-top:14px !important;
    }

    .cmp-hero-box,
    .cmp-hero-grid {
        display:block !important;

        min-height:0 !important;
    }

    .cmp-hero-copy {
        padding:
            34px 23px !important;
    }

    .cmp-hero h1,
    .cmp-hero-copy h1 {
        font-size:
            39px !important;
    }

    .cmp-hero-copy > p,
    .cmp-large-intro,
    .cmp-hero-lead {
        font-size:
            16px !important;
    }

    .cmp-hero-benefits,
    .cmp-hero-points,
    .cmp-hero-facts {
        grid-template-columns:
            1fr !important;

        gap:9px !important;
    }

    .cmp-hero-image,
    .cmp-hero-photo {
        min-height:
            300px !important;
    }


    /* layout */

    .cmp-content-grid,
    .cmp-home-layout,
    .cmp-article-layout {
        display:block !important;
    }

    .cmp-left,
    .cmp-home-main {
        gap:20px !important;
    }

    .cmp-card,
    .cmp-panel {
        padding:
            28px 21px !important;
    }

    .cmp-heading-row h2,
    .cmp-section-title h2,
    .cmp-long-content h2,
    .cmp-readable h2,
    .cmp-faq h2 {
        font-size:
            27px !important;
    }

    .cmp-long-content p,
    .cmp-readable p {
        font-size:
            16px !important;
    }


    /* sidebar */

    .cmp-sidebar,
    .cmp-home-sidebar,
    .cmp-article-sidebar {
        position:static !important;

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

        margin-top:22px !important;
    }


    /* grids */

    .cmp-categories,
    .cmp-category-grid,
    .cmp-combos,
    .cmp-combo-grid {
        grid-template-columns:
            1fr 1fr !important;
    }

    .cmp-menu-mini-grid,
    .cmp-menu-card-grid,
    .cmp-three-menu,
    .cmp-three-grid,
    .cmp-resource-grid,
    .cmp-six-grid,
    .cmp-four-points {
        grid-template-columns:
            1fr 1fr !important;
    }

    .cmp-two-panels,
    .cmp-two-column {
        grid-template-columns:
            1fr !important;
    }

    .cmp-feature-row,
    .cmp-feature-box {
        display:block !important;
    }


    /* article */

    .cmp-article-header {
        padding:
            30px 21px 20px !important;
    }

    .cmp-article-header h1 {
        font-size:
            36px !important;
    }

    .cmp-article-disclosure {
        margin:
            0 21px 22px !important;
    }

    .cmp-featured-image {
        padding:
            0 21px 24px !important;
    }

    .cmp-article-content {
        padding:
            0 21px 32px !important;
    }

    .cmp-article-content h2 {
        font-size:
            27px !important;
    }

    .cmp-article-content h3 {
        font-size:
            22px !important;
    }

    .cmp-article-content p,
    .cmp-article-content li {
        font-size:
            16px !important;
    }


    /* footer */

    .cmp-footer-grid {
        grid-template-columns:
            1fr 1fr !important;

        gap:
            30px 20px !important;

        padding:
            40px 0 34px !important;
    }

    .cmp-footer-grid p,
    .cmp-footer-grid a {
        font-size:
            13px !important;
    }

}


/* SMALL MOBILE */

@media (max-width:480px) {

    .cmp-categories,
    .cmp-category-grid,
    .cmp-combos,
    .cmp-combo-grid,
    .cmp-menu-mini-grid,
    .cmp-menu-card-grid,
    .cmp-three-menu,
    .cmp-three-grid,
    .cmp-resource-grid,
    .cmp-six-grid,
    .cmp-four-points,
    .cmp-footer-grid {
        grid-template-columns:
            1fr !important;
    }

}



/* ============================================================
   BALANCED PROFESSIONAL SCALE V4
   Slightly smaller than V3
   ============================================================ */

body,
body.cmp-v2-home,
body.cmp-site {
    font-size:16px !important;
}


/* GLOBAL WIDTH */

.cmp-wrap {
    width:min(1320px, calc(100% - 48px)) !important;
    max-width:1320px !important;
}


/* TOP BAR */

.cmp-top-inner,
.cmp-topbar-inner {
    min-height:38px !important;

    font-size:12px !important;
}


/* HEADER */

.cmp-header-inner {
    min-height:92px !important;
}

.cmp-logo strong,
.cmp-site-brand strong {
    font-size:30px !important;
}

.cmp-logo small,
.cmp-site-brand small {
    font-size:10px !important;
}

.cmp-nav a,
.cmp-global-nav a {
    padding:11px 12px !important;

    font-size:13px !important;
}


/* HERO */

.cmp-hero-box,
.cmp-hero-grid {
    min-height:510px !important;
}

.cmp-hero-copy {
    padding:52px 48px !important;
}

.cmp-hero h1,
.cmp-hero-copy h1 {
    font-size:clamp(46px,4.8vw,62px) !important;
}

.cmp-hero-copy > p,
.cmp-large-intro,
.cmp-hero-lead {
    font-size:17px !important;
}

.cmp-hero-benefits b,
.cmp-hero-points b,
.cmp-hero-facts b {
    font-size:12px !important;
}

.cmp-hero-benefits span,
.cmp-hero-points span,
.cmp-hero-facts span {
    font-size:11px !important;
}

.cmp-buttons a,
.cmp-actions a,
.cmp-button-primary,
.cmp-button-secondary {
    min-height:46px !important;

    padding:11px 18px !important;

    font-size:12px !important;
}

.cmp-hero-image,
.cmp-hero-photo {
    min-height:510px !important;
}


/* MAIN DESKTOP GRID */

.cmp-content-grid,
.cmp-home-layout {
    grid-template-columns:
        minmax(0,1fr)
        300px !important;

    gap:30px !important;
}

.cmp-sidebar,
.cmp-home-sidebar,
.cmp-article-sidebar {
    width:300px !important;
    max-width:300px !important;
}


/* PANELS */

.cmp-card,
.cmp-panel {
    padding:36px 38px !important;
}

.cmp-heading-row h2,
.cmp-section-title h2,
.cmp-long-content h2,
.cmp-menu-guide > h2,
.cmp-readable h2,
.cmp-two-panels h2,
.cmp-two-column h2,
.cmp-research h2,
.cmp-faq h2 {
    font-size:30px !important;
}

.cmp-heading-row p,
.cmp-section-title p {
    font-size:13px !important;
}

.cmp-long-content p,
.cmp-readable p,
.cmp-menu-guide > p,
.cmp-menu-block p,
.cmp-two-panels p,
.cmp-two-column p,
.cmp-research p {
    font-size:16px !important;
}

.cmp-readable h3,
.cmp-menu-title h3 {
    font-size:22px !important;
}

.cmp-readable h4,
.cmp-feature-row h4,
.cmp-feature-box h4 {
    font-size:19px !important;
}


/* CATEGORY CARDS */

.cmp-categories > a,
.cmp-category-grid > a {
    min-height:190px !important;
}

.cmp-categories img,
.cmp-category-grid img {
    width:125px !important;
    height:95px !important;
}

.cmp-categories b,
.cmp-category-grid b {
    font-size:13px !important;
}

.cmp-categories span,
.cmp-category-grid span {
    font-size:11px !important;
}


/* COMBO CARDS */

.cmp-combos img,
.cmp-combo-grid img {
    height:165px !important;
}

.cmp-combos h3,
.cmp-combo-grid h3 {
    font-size:14px !important;
}

.cmp-combos p,
.cmp-combo-grid p {
    font-size:11px !important;
}


/* MENU / RESOURCE CARDS */

.cmp-menu-mini-grid img,
.cmp-menu-card-grid img {
    height:145px !important;
}

.cmp-three-menu img,
.cmp-three-grid img {
    height:140px !important;
}

.cmp-menu-mini-grid b,
.cmp-menu-card-grid b,
.cmp-three-menu b,
.cmp-three-grid b,
.cmp-six-grid b,
.cmp-resource-grid b,
.cmp-four-points b {
    font-size:13px !important;
}

.cmp-menu-mini-grid span,
.cmp-menu-card-grid span,
.cmp-six-grid span,
.cmp-resource-grid span,
.cmp-four-points span {
    font-size:11px !important;
}


/* FEATURE BOX */

.cmp-feature-row,
.cmp-feature-box {
    grid-template-columns:
        285px minmax(0,1fr) !important;

    gap:26px !important;

    padding:22px !important;
}

.cmp-feature-row img,
.cmp-feature-box img {
    height:205px !important;
}


/* SIDEBAR */

.cmp-side,
.cmp-sidebar-card {
    padding:23px 21px !important;
}

.cmp-side h3,
.cmp-sidebar-card h3 {
    font-size:18px !important;
}

.cmp-side p,
.cmp-sidebar-card p {
    font-size:12px !important;
}

.cmp-side > a,
.cmp-sidebar-card > a:not(.cmp-sidebar-button) {
    min-height:41px !important;

    font-size:12px !important;
}

.cmp-small-btn,
.cmp-sidebar-button {
    font-size:12px !important;
}


/* ARTICLE / PAGES */

.cmp-article-layout {
    grid-template-columns:
        minmax(0,1fr)
        300px !important;

    gap:30px !important;
}

.cmp-article-header {
    padding:40px 40px 24px !important;
}

.cmp-article-header h1 {
    font-size:clamp(38px,4vw,52px) !important;
}

.cmp-article-meta {
    font-size:12px !important;
}

.cmp-article-disclosure {
    margin:
        0 40px 27px !important;

    font-size:13px !important;
}

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

.cmp-article-content {
    padding:
        0 40px 44px !important;
}

.cmp-article-content h2 {
    font-size:30px !important;
}

.cmp-article-content h3 {
    font-size:23px !important;
}

.cmp-article-content h4 {
    font-size:19px !important;
}

.cmp-article-content p,
.cmp-article-content li {
    font-size:16px !important;
}

.cmp-article-content table th,
.cmp-article-content table td {
    font-size:13px !important;
}

.cmp-article-end-note {
    padding:
        30px 40px 34px !important;
}

.cmp-article-end-note h2 {
    font-size:22px !important;
}

.cmp-article-end-note p {
    font-size:14px !important;
}


/* ARCHIVE */

.cmp-archive-header h1 {
    font-size:44px !important;
}

.cmp-archive-header p {
    font-size:15px !important;
}

.cmp-post-image img {
    height:245px !important;
}

.cmp-post-card-content {
    padding:23px !important;
}

.cmp-post-card h2 {
    font-size:21px !important;
}

.cmp-post-card p {
    font-size:13px !important;
}


/* FOOTER */

.cmp-footer-grid {
    padding:
        48px 0 38px !important;

    gap:34px !important;
}

.cmp-footer-grid strong {
    font-size:14px !important;
}

.cmp-footer-logo,
.cmp-footer-about > strong {
    font-size:22px !important;
}

.cmp-footer-grid p {
    font-size:12px !important;
}

.cmp-footer-grid small {
    font-size:10px !important;
}

.cmp-footer-grid a {
    font-size:12px !important;
}

.cmp-footer-bottom,
.cmp-footer-bottom .cmp-wrap {
    min-height:56px !important;

    font-size:10px !important;
}


/* LARGE DESKTOP */

@media (min-width:1500px) {

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

    .cmp-content-grid,
    .cmp-home-layout,
    .cmp-article-layout {
        grid-template-columns:
            minmax(0,1fr)
            305px !important;
    }

    .cmp-sidebar,
    .cmp-home-sidebar,
    .cmp-article-sidebar {
        width:305px !important;
        max-width:305px !important;
    }

}


/* MOBILE BALANCE */

@media (max-width:767px) {

    .cmp-card,
    .cmp-panel {
        padding:
            25px 19px !important;
    }

    .cmp-hero h1,
    .cmp-hero-copy h1 {
        font-size:36px !important;
    }

    .cmp-heading-row h2,
    .cmp-section-title h2,
    .cmp-long-content h2,
    .cmp-readable h2,
    .cmp-faq h2 {
        font-size:25px !important;
    }

    .cmp-long-content p,
    .cmp-readable p,
    .cmp-article-content p,
    .cmp-article-content li {
        font-size:15px !important;
    }

    .cmp-article-header h1 {
        font-size:33px !important;
    }

}

/* ============================================================
   CANES CANONICAL GLOBAL HEADER V1
   Single source of truth
   Desktop + Tablet + Mobile
   ============================================================ */

.cmp-site-header {
    width:100%;
    position:relative;
    z-index:9990;
    background:#ffffff;
    border-bottom:1px solid #eceef1;
    box-shadow:0 2px 10px rgba(15,23,42,.04);
}

.cmp-site-header .cmp-wrap.cmp-header-inner {
    width:calc(100% - 40px);
    max-width:1180px;
    min-height:76px;
    margin:0 auto;
    padding:10px 0;

    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.cmp-site-header .cmp-site-brand {
    min-width:0;
    margin:0;
    padding:0;

    display:flex;
    align-items:center;
    justify-content:flex-start;

    flex:0 1 auto;
    line-height:0;
    text-decoration:none;
}

.cmp-site-header .cmp-site-brand .cmp-header-logo-img {
    display:block;
    width:auto;
    height:auto;
    max-width:245px;
    max-height:58px;
    margin:0;
    padding:0;
    object-fit:contain;
    object-position:left center;
}

/* Desktop navigation */

.cmp-site-header #cmp-global-nav {
    display:block;
    margin-left:auto;
}

.cmp-site-header #cmp-global-nav .cmp-primary-menu {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    gap:5px;

    margin:0;
    padding:0;
    list-style:none;
}

.cmp-site-header #cmp-global-nav .cmp-primary-menu > li {
    margin:0;
    padding:0;
    list-style:none;
}

.cmp-site-header #cmp-global-nav .cmp-primary-menu > li > a {
    min-height:42px;
    padding:0 10px;

    display:flex;
    align-items:center;

    color:#20242a;
    background:transparent;

    border:0;
    border-radius:7px;

    font-size:14px;
    font-weight:650;
    line-height:1.25;
    white-space:nowrap;
    text-decoration:none;
}

.cmp-site-header #cmp-global-nav .cmp-primary-menu > li > a:hover,
.cmp-site-header #cmp-global-nav .cmp-primary-menu > li.current-menu-item > a {
    color:#df1821;
    background:#fff4f4;
}

.cmp-site-header .cmp-menu-toggle {
    display:none;
}


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

@media (max-width:900px) {

    .cmp-site-header .cmp-wrap.cmp-header-inner {
        width:calc(100% - 28px);
        max-width:none;
        min-height:70px;
        margin:0 auto;
        padding:8px 0;

        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:10px;

        position:relative;
    }

    .cmp-site-header .cmp-site-brand {
        width:100%;
        max-width:100%;
        min-width:0;
        margin:0;
        padding:0;

        overflow:hidden;

        display:flex;
        align-items:center;
        justify-content:flex-start;

        line-height:0;
    }

    .cmp-site-header .cmp-site-brand .cmp-header-logo-img {
        display:block;
        width:min(195px, 100%);
        height:auto;
        max-width:100%;
        max-height:50px;
        margin:0;
        padding:0;
        object-fit:contain;
        object-position:left center;
    }

    .cmp-site-header .cmp-menu-toggle {
        width:58px;
        min-width:58px;
        max-width:58px;
        height:38px;
        margin:0;
        padding:0 8px;

        justify-self:end;

        display:flex;
        align-items:center;
        justify-content:center;

        position:static;

        color:#ffffff;
        background:#e31b23;
        border:0;
        border-radius:7px;

        font-size:12px;
        font-weight:800;
        line-height:1;

        cursor:pointer;
    }

    .cmp-site-header .cmp-menu-toggle:hover,
    .cmp-site-header .cmp-menu-toggle:focus {
        color:#ffffff;
        background:#c9141b;
    }

    /*
     * Dropdown is intentionally column.
     * Header itself remains one horizontal row.
     */
    .cmp-site-header #cmp-global-nav {
        display:none;

        width:100%;
        position:absolute;
        top:100%;
        left:0;
        right:0;

        margin:0;
        padding:8px 14px 12px;

        background:#ffffff;
        border-top:1px solid #eceef0;
        border-bottom:1px solid #e4e6e8;

        box-shadow:0 12px 25px rgba(15,23,42,.10);
        z-index:99999;
    }

    .cmp-site-header #cmp-global-nav.is-open {
        display:block;
    }

    .cmp-site-header #cmp-global-nav .cmp-primary-menu {
        width:100%;
        margin:0;
        padding:0;

        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;

        list-style:none;
    }

    .cmp-site-header #cmp-global-nav .cmp-primary-menu > li {
        width:100%;
        margin:0;
        padding:0;
        display:block;
    }

    .cmp-site-header #cmp-global-nav .cmp-primary-menu > li > a {
        width:100%;
        min-height:44px;
        padding:11px 8px;

        display:flex;
        align-items:center;

        color:#232931;
        background:#ffffff;

        border:0;
        border-bottom:1px solid #eeeeef;
        border-radius:0;

        font-size:14px;
        font-weight:650;
        line-height:1.35;
        text-align:left;
        white-space:normal;
        text-decoration:none;
    }

    .cmp-site-header
    #cmp-global-nav
    .cmp-primary-menu
    > li:last-child
    > a {
        border-bottom:0;
    }
}


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

@media (max-width:420px) {

    .cmp-site-header .cmp-wrap.cmp-header-inner {
        width:calc(100% - 22px);
        min-height:64px;
        gap:9px;
    }

    .cmp-site-header .cmp-site-brand {
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .cmp-site-header .cmp-site-brand .cmp-header-logo-img {
        width:min(165px, 100%);
        max-width:100%;
        max-height:45px;
    }

    .cmp-site-header .cmp-menu-toggle {
        width:54px;
        min-width:54px;
        max-width:54px;
        height:36px;
        padding:0 7px;
        font-size:11px;
    }
}


/* ============================================================
   FOOTER BOTTOM LEGAL MENU - FINAL
   Horizontal desktop + white links
   ============================================================ */

.cmp-footer-bottom {
    width:100%;
    background:#151c24;
    border-top:1px solid #2a323c;
}

.cmp-footer-bottom .cmp-wrap {
    width:min(1320px, calc(100% - 48px));
    min-height:70px;

    margin:0 auto;
    padding:14px 0;

    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;

    gap:30px;
}

.cmp-footer-bottom .cmp-wrap > span {
    flex:0 0 auto;

    color:#c8d0d9 !important;

    font-size:12px;
    line-height:1.4;
    white-space:nowrap;
}

.cmp-footer-bottom-menu {
    min-width:0;
    margin-left:auto;
}

.cmp-footer-legal-menu {
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:22px !important;

    list-style:none !important;
}

.cmp-footer-legal-menu > li {
    margin:0 !important;
    padding:0 !important;

    display:block !important;

    list-style:none !important;
}

.cmp-footer-legal-menu > li::before,
.cmp-footer-legal-menu > li::after,
.cmp-footer-legal-menu > li::marker {
    content:none !important;
    display:none !important;
}

.cmp-footer-legal-menu > li > a {
    display:inline-block !important;

    color:#ffffff !important;

    font-size:13px !important;
    font-weight:600 !important;

    line-height:1.4 !important;

    white-space:nowrap !important;

    text-decoration:none !important;

    opacity:.92;
}

.cmp-footer-legal-menu > li > a:hover,
.cmp-footer-legal-menu > li.current-menu-item > a {
    color:#ffffff !important;
    opacity:1;
    text-decoration:underline !important;
    text-underline-offset:4px !important;
}


/* Tablet */

@media(max-width:900px) {

    .cmp-footer-bottom .cmp-wrap {
        width:calc(100% - 32px);

        flex-wrap:wrap;

        gap:14px 22px;
    }

    .cmp-footer-bottom-menu {
        width:100%;
        margin-left:0;
    }

    .cmp-footer-legal-menu {
        justify-content:flex-start !important;
        flex-wrap:wrap !important;

        gap:10px 20px !important;
    }

}


/* Mobile */

@media(max-width:600px) {

    .cmp-footer-bottom .cmp-wrap {
        width:calc(100% - 24px);

        min-height:0;

        padding:18px 0;

        flex-direction:column;
        align-items:flex-start;

        gap:14px;
    }

    .cmp-footer-bottom .cmp-wrap > span {
        white-space:normal;
    }

    .cmp-footer-bottom-menu {
        width:100%;
    }

    .cmp-footer-legal-menu {
        width:100%;

        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;

        justify-content:flex-start !important;

        gap:10px 18px !important;
    }

    .cmp-footer-legal-menu > li > a {
        color:#ffffff !important;

        font-size:12px !important;

        white-space:nowrap !important;
    }

}



/* ============================================================
   FOOTER SOCIAL LINKS
   ============================================================ */

.cmp-footer-social p {
    max-width:290px;
    margin:12px 0 18px !important;

    color:#c8d0da !important;

    font-size:13px !important;
    line-height:1.65 !important;
}

.cmp-social-links {
    display:flex;
    align-items:center;
    justify-content:flex-start;

    gap:10px;
}

.cmp-social-link {
    width:40px;
    height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#ffffff !important;

    font-size:18px !important;
    font-weight:800 !important;
    line-height:1 !important;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        opacity .2s ease;
}

.cmp-social-link:hover {
    color:#ffffff !important;

    transform:translateY(-2px);

    opacity:.9;
}

.cmp-social-facebook {
    background:#1877f2 !important;
}

.cmp-social-youtube {
    background:#ff0000 !important;
}

.cmp-social-pinterest {
    background:#e60023 !important;
}

.cmp-social-link span {
    color:#ffffff !important;

    line-height:1 !important;
}


/* Mobile */

@media(max-width:767px) {

    .cmp-footer-social p {
        max-width:none;
    }

    .cmp-social-link {
        width:38px;
        height:38px;

        font-size:17px !important;
    }

}

