/* Classic Food — premium recipes discovery page */
.cf-list {
    --cf-primary: #639b0b;
    --cf-primary-dark: #477606;
    --cf-primary-light: #e7f3cd;
    --cf-accent: #f2a12a;
    color: #30362b;
    background: #fff;
    padding: 22px 0 64px;
    font-family: Arial, Helvetica, sans-serif;
}
.cf-list *, .cf-list *::before, .cf-list *::after {
    box-sizing: border-box;
}
.cf-list a { color: var(--cf-primary-dark); }
.cf-list a:focus-visible, .cf-list button:focus-visible,
.cf-list input:focus-visible, .cf-list select:focus-visible {
    outline: 3px solid var(--cf-accent);
    outline-offset: 2px;
}
.cf-list .cf-container {
    max-width: 1190px;
    width: calc(100% - 40px);
    margin: 0 auto;
}
.cf-list-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 23px;
    font-size: 13px;
    color: #667061;
}
.cf-list-breadcrumbs a { text-decoration: none; }
.cf-list-intro {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    border-bottom: 3px solid var(--cf-primary);
    padding-bottom: 22px;
    margin-bottom: 29px;
}
.cf-list-eyebrow {
    display: block;
    color: var(--cf-primary-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.cf-list-intro h1 {
    font-size: clamp(27px, 3.4vw, 40px);
    line-height: 1.18;
    margin: 0 0 9px;
    font-weight: 800;
}
.cf-list-intro p { margin: 0; color: #677064; line-height: 1.6; }
.cf-list-count {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 145px;
    padding: 12px 20px;
    background: var(--cf-primary-light);
    border-radius: 5px;
}
.cf-list-count strong {
    color: var(--cf-primary-dark);
    font-size: 30px;
    line-height: 1.2;
}
.cf-list-count span { font-size: 12px; }
.cf-list-layout {
    display: grid;
    grid-template-columns: minmax(235px, 270px) minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}
.cf-list-sidebar, .cf-list-main { min-width: 0; }
.cf-list-filter-panel, .cf-list-sidebar-block {
    border: 1px solid #e1e5dc;
    background: #fff;
    margin-bottom: 21px;
}
.cf-list-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    background: var(--cf-primary);
}
.cf-list-panel-heading h2, .cf-list-sidebar-block h2 {
    font-size: 17px;
    margin: 0;
    font-weight: 800;
}
.cf-list-panel-heading h2, .cf-list-panel-heading a { color: #fff; }
.cf-list-panel-heading a { font-size: 12px; }
.cf-list-filter-form { padding: 17px; }
.cf-list-field { margin-bottom: 17px; }
.cf-list-field label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}
.cf-list-field input, .cf-list-field select {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cdd4c8;
    border-radius: 4px;
    background: #fff;
    color: #30362b;
    font: inherit;
    font-size: 14px;
}
.cf-list-submit {
    width: 100%;
    border: 0;
    border-radius: 4px;
    background: var(--cf-primary);
    color: #fff;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}
.cf-list-submit:hover { filter: brightness(.93); }
.cf-list-sidebar-block h2 {
    background: var(--cf-primary);
    color: #fff;
    padding: 13px 16px;
}
.cf-list-sidebar-block ul {
    padding: 14px 18px 14px 34px;
    margin: 0;
}
.cf-list-sidebar-block li {
    margin: 0 0 11px;
    line-height: 1.5;
    font-size: 13px;
}
.cf-list-sidebar-block li:last-child { margin-bottom: 0; }
.cf-list-sidebar-block a { text-decoration: none; }
.cf-list-sidebar-block a:hover { text-decoration: underline; }
.cf-list-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 2px solid var(--cf-primary);
    margin: 0 0 19px;
    padding-bottom: 11px;
}
.cf-list-results-heading h2 {
    font-size: 22px;
    margin: 0;
    font-weight: 800;
}
.cf-list-results-heading a { font-size: 13px; }
.cf-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 21px;
}
.cf-list-card {
    min-width: 0;
    border: 1px solid #e1e5dc;
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.cf-list-card-media {
    display: block;
    position: relative;
    text-decoration: none;
    background: #f0f0ea;
}
.cf-list-card-media img, .cf-list-card-placeholder {
    display: block;
    width: 100%;
    height: 168px;
    object-fit: cover;
}
.cf-list-card-placeholder {
    display: grid;
    place-items: center;
    color: #6c7367;
}
.cf-list-card-time {
    position: absolute;
    right: 9px;
    bottom: 9px;
    color: #fff;
    background: rgba(24, 31, 20, .85);
    padding: 5px 9px;
    border-radius: 3px;
    font-size: 12px;
}
.cf-list-card-body {
    padding: 15px;
    display: flex;
    flex: 1;
    flex-direction: column;
}
.cf-list-card-category {
    color: var(--cf-primary-dark);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    margin-bottom: 8px;
}
.cf-list-card h3 {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 9px;
}
.cf-list-card h3 a { text-decoration: none; }
.cf-list-card h3 a:hover { text-decoration: underline; }
.cf-list-card-body > p {
    font-size: 13px;
    line-height: 1.55;
    color: #667064;
    margin: 0 0 13px;
}
.cf-list-card-author {
    font-size: 12px;
    color: #687269;
    margin-bottom: 14px;
}
.cf-list-card-meta {
    margin-top: auto;
    padding-top: 11px;
    border-top: 1px solid #e5e9e1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    font-size: 11px;
    color: #69716a;
}
.cf-list-empty {
    grid-column: 1 / -1;
    background: #f8faf5;
    border: 1px solid #e1e5dc;
    text-align: center;
    padding: 55px 20px;
}
.cf-list-empty h3 { font-size: 23px; margin: 0 0 9px; }
.cf-list-empty p { color: #69716a; margin: 0 0 17px; }
.cf-list-empty a {
    display: inline-block;
    padding: 10px 18px;
    background: var(--cf-primary);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
}
.cf-list-pagination { margin-top: 29px; }
.cf-list-pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.cf-list-pagination .page-link { color: var(--cf-primary-dark); }
.cf-list-pagination .active .page-link {
    background: var(--cf-primary);
    border-color: var(--cf-primary);
    color: #fff;
}
@media (max-width: 1050px) {
    .cf-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-list-layout { gap: 19px; }
}
@media (max-width: 740px) {
    .cf-list { padding: 16px 0 42px; }
    .cf-list .cf-container { width: calc(100% - 30px); }
    .cf-list-layout { grid-template-columns: minmax(0, 1fr); }
    .cf-list-intro { align-items: start; }
    .cf-list-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .cf-list-filter-panel { grid-column: 1 / -1; }
    .cf-list-sidebar-block { margin: 0; }
    .cf-list-filter-form {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 16px;
    }
    .cf-list-field { margin: 0; }
    .cf-list-submit { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
    .cf-list-intro { flex-direction: column; }
    .cf-list-count { align-items: start; width: 100%; }
    .cf-list-sidebar { grid-template-columns: minmax(0, 1fr); }
    .cf-list-filter-form { grid-template-columns: minmax(0, 1fr); }
    .cf-list-grid { grid-template-columns: minmax(0, 1fr); }
    .cf-list-card-media img, .cf-list-card-placeholder { height: 210px; }
    .cf-list-results-heading h2 { font-size: 19px; }
}
@media print {
    .cf-list-sidebar, .cf-list-pagination { display: none !important; }
    .cf-list-layout { display: block; }
    .cf-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Classic Food: public Chef Directory only */

.cf-site-main .rp-chefs-directory {
    --cf-chef-green: #477606;
    --cf-chef-light: #e7f3cd;
    width: min(1190px, calc(100% - 40px));
    margin-inline: auto;
    padding-block: 34px 68px;
    color: #30362b;
    font-family: Arial, Helvetica, sans-serif;
}

.cf-site-main .rp-chefs-directory *,
.cf-site-main .rp-chefs-directory *::before,
.cf-site-main .rp-chefs-directory *::after {
    box-sizing: border-box;
}

.cf-site-main .rp-chefs-directory .rp-section-header {
    border-bottom: 3px solid var(--cf-chef-green);
    margin-bottom: 30px !important;
    padding-bottom: 23px;
}

.cf-site-main .rp-chefs-directory .rp-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--cf-chef-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cf-site-main .rp-chefs-directory .rp-page-title {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 3.4vw, 2.5rem);
    line-height: 1.18;
    font-weight: 800;
    color: #273322;
}

.cf-site-main .rp-chefs-directory .rp-section-copy {
    color: #667064;
    line-height: 1.65;
}

.cf-site-main .rp-chefs-directory .card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e1e5dc;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 4px 18px rgb(39 51 34 / 5%);
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.cf-site-main .rp-chefs-directory .card:hover {
    border-color: #b4cc87;
    box-shadow: 0 9px 26px rgb(39 51 34 / 11%);
}

.cf-site-main .rp-chefs-directory .card-body {
    min-width: 0;
}

.cf-site-main .rp-chefs-directory .card-body img {
    flex-shrink: 0;
    border: 3px solid var(--cf-chef-light);
}

.cf-site-main .rp-chefs-directory .card-body h2 {
    overflow-wrap: anywhere;
    color: #273322;
    font-weight: 800;
    line-height: 1.3;
}

.cf-site-main .rp-chefs-directory .card-body h2 a:hover {
    color: var(--cf-chef-green) !important;
}

.cf-site-main .rp-chefs-directory .card-body p {
    line-height: 1.65;
}

.cf-site-main .rp-chefs-directory .btn-primary,
.cf-site-main .rp-chefs-directory .btn-outline-primary {
    border-color: var(--cf-chef-green);
    font-weight: 700;
}

.cf-site-main .rp-chefs-directory .btn-primary,
.cf-site-main .rp-chefs-directory .btn-outline-primary:hover,
.cf-site-main .rp-chefs-directory .btn-outline-primary:focus-visible {
    background: var(--cf-chef-green);
    color: #fff;
}

.cf-site-main .rp-chefs-directory .btn-outline-primary {
    color: var(--cf-chef-green);
    background: #fff;
}

.cf-site-main .rp-chefs-directory a:focus-visible {
    outline: 3px solid #f2a12a;
    outline-offset: 3px;
}

.cf-site-main .rp-chefs-directory .pagination {
    flex-wrap: wrap;
    gap: 5px;
}

.cf-site-main .rp-chefs-directory .page-link {
    color: var(--cf-chef-green);
}

.cf-site-main .rp-chefs-directory .page-item.active .page-link {
    background: var(--cf-chef-green);
    border-color: var(--cf-chef-green);
    color: #fff;
}

@media (max-width: 740px) {
    .cf-site-main .rp-chefs-directory {
        width: calc(100% - 30px);
        padding-block: 22px 44px;
    }

    .cf-site-main .rp-chefs-directory .rp-section-header {
        padding-bottom: 18px;
        margin-bottom: 23px !important;
    }
}

@media (max-width: 380px) {
    .cf-site-main .rp-chefs-directory .card-body {
        padding: 1.15rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cf-site-main .rp-chefs-directory .card {
        transition: none;
    }
}


/* Owner Edition Author Recipe Grid 3178 */

/* Apply only to Classic Food author detail pages. */
.cf-site-main .rp-author-directory-layout {
    width: min(1190px, calc(100% - 40px));
    margin: 30px auto 60px;
    grid-template-columns: minmax(240px, 290px) minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}

.cf-site-main .rp-author-directory-recipes {
    min-width: 0;
}

/* Override the default theme's full-width recipe rows. */
.cf-site-main .rp-author-directory-recipes .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin: 0;
}

.cf-site-main .rp-author-directory-recipes .row > .col {
    flex: none;
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    margin: 0;
}

/* Vertical cards: image on top, recipe details below. */
.cf-site-main .rp-author-directory-recipes .recipe-premium-card {
    display: grid;
    grid-template-columns: minmax(0, 32%) minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.cf-site-main .rp-author-directory-recipes
.recipe-premium-card > .rp-card-media {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 190px;
    overflow: hidden;
}

.cf-site-main .rp-author-directory-recipes
.recipe-premium-card > .rp-card-media img,
.cf-site-main .rp-author-directory-recipes
.recipe-premium-card > .rp-card-media .rp-card-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
}

.cf-site-main .rp-author-directory-recipes
.recipe-premium-card > .card-body {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    overflow-wrap: anywhere;
}

/* Reduce columns as available screen space decreases. */
@media (max-width: 1050px) {
    .cf-site-main .rp-author-directory-recipes .row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .cf-site-main .rp-author-directory-recipes .recipe-premium-card {
        display: flex;
        flex-direction: column;
    }

    .cf-site-main .rp-author-directory-layout {
        width: calc(100% - 30px);
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        margin: 22px auto 45px;
    }

    .cf-site-main .rp-author-directory-recipes
    .recipe-premium-card > .rp-card-media {
        height: 200px;
        min-height: 0;
    }
}
