/* Custom front-page layout styles */
#mc4wp_form_widget-3 {
    display: none;
}

.cf-section {
    padding: clamp(2rem, 5vw, 4rem) 1.25rem;
}
.cf-section + .cf-section {
    padding-top: 0;
}

/* Hero */
.cf-hero__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-gap);
}
/* .cf-hero__media {
    flex: 1 1 40%;
    min-width: 300px;
} */
.cf-hero__media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}
.cf-hero__copy {
    flex: 1 1 45%;
    min-width: 300px;
}
.cf-display {
    font-family: bennet-banner-condensed, serif;
    font-size: clamp(2.75rem, 5.25vw, 4.25rem);
    font-weight: 400;
    line-height: 1.1;
}
.cf-nowrap {
    white-space: nowrap;
}

/* Orchard announcement */
.cf-orchard__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-gap);
}
.cf-orchard__media {
    flex: 1 1 45%;
}
.cf-orchard__copy {
    flex: 1 1 45%;
    font-size: 1.025rem;
}
.cf-button {
    background: #28303d;
    color: #fff;
    padding: 0.65rem 1.15rem;
    text-decoration: none;
    display: inline-block;
    border-radius: 2px;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
}
.cf-button:hover,
.cf-button:focus {
    background: #000;
    color: #fff;
}

/* Banner */
.cf-banner {
    background: var(--global--cf-color-red);
    color: var(--global--cf-color-neutral);
    text-align: left;
}
.cf-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.cf-banner__title {
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 500;
}
.cf-banner__cta a {
    color: var(--global--cf-color-neutral);
    text-decoration: none;
    font-family: var(--global--cf-font-termina);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.25em;

    &:hover::after {
        background-position-x: 20px;
    }

    &::after {
        content: "";
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNi43MjUiIGhlaWdodD0iMTAuMjkxIiB2aWV3Qm94PSIwIDAgMzYuNzI1IDEwLjI5MSI+CiAgPGcgaWQ9Ikdyb3VwXzIzOCIgZGF0YS1uYW1lPSJHcm91cCAyMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4zNTMpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzciIGRhdGEtbmFtZT0iTGluZSA3IiB4Mj0iMzYuMDE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQuNzkyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkNGQkY1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHBhdGggaWQ9IlBhdGhfMTUiIGRhdGEtbmFtZT0iUGF0aCAxNSIgZD0iTS00Njk3LjAwNyw3MjM1LjU1Mmw0Ljc5Miw0Ljc5Mi00Ljc5Miw0Ljc5MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDcyOC4yMzMgLTcyMzUuNTUyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkNGQkY1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIvPgogIDwvZz4KPC9zdmc+Cg==);
        background-repeat: no-repeat;
        background-position: 12px;
        width: 65px;
        height: 10px;
        padding-left: 0px;
        display: inline-block;
    }
}
.cf-link-arrow {
    text-decoration: none;
    font-weight: 600;
}

/* Product cards */
.cf-product-cards {
    padding: 30px 0 140px 0;
}
.cf-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    max-width: 1200px;
    margin-inline: auto;
    gap: 10px;
}
.cf-card {
    border: 1px solid var(--global--cf-color-gray);
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 442px;

    &:nth-of-type(2) {
        margin-top: 150px;
    }
}

@media (max-width: 768px) {
    .cf-cards {
        flex-direction: column;
        padding: 0 16px;
    }
    .cf-card {
        max-width: 100%;
        width: 100%;
    }
    .cf-card:nth-of-type(2) {
        margin-top: 0;
    }
}
.cf-card__media {
    padding: 10px;
    margin-bottom: 0;

    img {
        width: 100%;
        height: auto;
        display: block;
        aspect-ratio: auto 417 / 348;
    }
}
.cf-card__body {
    margin-top: 0;
    border-top: 1px solid var(--global--cf-color-gray);
    display: grid;
    grid-template-columns: min-content 1fr 1fr 1fr;
    grid-template-rows: 3;
    grid-template-areas:
        "heading description description description"
        "heading description description description"
        "heading link link link";
    justify-content: space-around;
}
.cf-card__title {
    grid-area: heading;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid;
    margin-bottom: 0px;
    font-size: 38px;
    width: 85px;
}

.cf-card__text {
    border-bottom: 1px solid var(--global--cf-color-gray);
    padding: 15px;
    grid-area: description;
    flex-grow: 1;
    font-size: 16px;
    font-family: var(--global--cf-font-forma-djr-micro);
}
.cf-card__cta {
    grid-area: link;
    text-align: right;

    a {
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
        letter-spacing: 0.5px;
        display: block;
        padding: 16px 0 14px 16px;
        color: var(--global--cf-color-gray);
        text-decoration: none;
        font-family: var(--global--cf-font-termina);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.25em;
    }
}
.cf-card__cta a::after {
    content: "";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNi43MjUiIGhlaWdodD0iMTAuMjkxIiB2aWV3Qm94PSIwIDAgMzYuNzI1IDEwLjI5MSI+CiAgPGcgaWQ9Ikdyb3VwXzIzOCIgZGF0YS1uYW1lPSJHcm91cCAyMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4zNTMpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzciIGRhdGEtbmFtZT0iTGluZSA3IiB4Mj0iMzYuMDE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQuNzkyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzkzODM1IgogICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgIDxwYXRoIGlkPSJQYXRoXzE1IiBkYXRhLW5hbWU9IlBhdGggMTUiIGQ9Ik0tNDY5Ny4wMDcsNzIzNS41NTJsNC43OTIsNC43OTItNC43OTIsNC43OTIiCiAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ3MjguMjMzIC03MjM1LjU1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzM5MzgzNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgPC9nPgo8L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: 12px;
    width: 65px;
    height: 10px;
    padding-left: 0px;
    display: inline-block;
}
.cf-card__cta a:hover {
    color: var(--global--cf-color-red);

    &::after {
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNi43MjUiIGhlaWdodD0iMTAuMjkxIiB2aWV3Qm94PSIwIDAgMzYuNzI1IDEwLjI5MSI+CiAgPGcgaWQ9Ikdyb3VwXzIzOCIgZGF0YS1uYW1lPSJHcm91cCAyMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4zNTMpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzciIGRhdGEtbmFtZT0iTGluZSA3IiB4Mj0iMzYuMDE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQuNzkyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2UxZDFkIgogICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgIDxwYXRoIGlkPSJQYXRoXzE1IiBkYXRhLW5hbWU9IlBhdGggMTUiIGQ9Ik0tNDY5Ny4wMDcsNzIzNS41NTJsNC43OTIsNC43OTItNC43OTIsNC43OTIiCiAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ3MjguMjMzIC03MjM1LjU1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2NlMWQxZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgPC9nPgo8L3N2Zz4=);
        background-position-x: 20px;
    }
}

/* Story */
.cf-story__inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cf-gap);
    align-items: flex-start;
}
.cf-story__media {
    flex: 1 1 35%;
    min-width: 280px;
}
.cf-story__media img {
    width: 100%;
    height: auto;
    display: block;
}
.cf-story__caption {
    font-size: 0.7rem;
    opacity: 0.75;
    margin-top: 0.4rem;
}
.cf-story__copy {
    flex: 1 1 50%;
    min-width: 300px;
}
.cf-section-title {
    font-size: clamp(1.75rem, 3.5vw, 2.4rem);
    margin-top: 0;
    font-weight: 500;
}

/* Products highlight */
.cf-products-highlight {
    background: #f7f7f5;
}
.cf-products-highlight__inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cf-gap);
    align-items: stretch;
}
.cf-products-highlight__media {
    flex: 1 1 45%;
    min-width: 300px;
}
.cf-products-highlight__media img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.cf-products-highlight__panel {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 2rem 2.25rem;
    flex: 1 1 40%;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Color Image Text Block */
.cf-color-image-text {
    position: relative;
    overflow: hidden;
}
.cf-color-image-text__inner {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.cf-color-image-text__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.cf-color-image-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cf-color-image-text__panel {
    position: relative;
    z-index: 2;
    background: #fff;
    max-width: 600px;
    margin: 2rem 1.5rem;
    padding: 2.5rem 2rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    border: 3px solid #28303d;
}
.cf-color-image-text__heading {
    margin: 0 0 1rem;
    font-size: clamp(1.75rem, 3.5vw, 2.4rem);
    font-weight: 600;
    line-height: 1.2;
}
.cf-color-image-text__content {
    font-size: 1rem;
    line-height: 1.6;
}
.cf-color-image-text__content p:last-child {
    margin-bottom: 0;
}
.cf-color-image-text__link {
    margin-top: 1.25rem;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .cf-color-image-text__panel {
        margin: 3rem 2.5rem;
        padding: 3rem 2.5rem;
        max-width: 650px;
    }
}

.cf-5050-hero__media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}

.cf-front-page {
    .entry-content {
        display: flex;
        flex-direction: column;
        gap: 80px;
    }

    section {
        margin-top: unset;
        margin-bottom: unset;
    }

    section:first-child {
        padding: 158px 0 0;

        @media (max-width: 768px) {
            padding-top: 100px;
        }
    }
}

/* 50/50 Hero Layout */

.cf-5050-hero__inner {
    /* max-width: 1300px; */
    margin: 0;
    display: flex;
    align-items: center;
    /* gap: clamp(1.5rem, 3vw, 3rem); */
}
.cf-5050-hero__media {
    min-width: 50%;
}
.cf-5050-hero__content {
    margin-inline: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    h2 {
        margin-bottom: unset !important;
    }

    .cf-5050-hero__body {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    p {
        font-size: 1rem;
    }
}
.cf-5050-hero--image-right .cf-5050-hero__media {
    order: 2;
}
.cf-5050-hero--image-right .cf-5050-hero__content {
    order: 1;
}

@media (max-width: 768px) {
    .cf-5050-hero__inner {
        flex-direction: column;
    }
    .cf-5050-hero__media {
        width: 100%;
        min-width: 100%;
    }
    .cf-5050-hero__content {
        margin: 24px;
    }
    .cf-5050-hero--image-right .cf-5050-hero__media {
        order: 1;
    }
    .cf-5050-hero--image-right .cf-5050-hero__content {
        order: 2;
    }
}
.cf-5050-hero__title :is(h1, h2, h3) {
    font-family: bennet-banner-condensed, serif;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 48px;
}
.cf-5050-hero__cta a {
    border: var(--button--border-width) solid transparent;
    border-radius: var(--button--border-radius);
    cursor: pointer;
    font-weight: var(--button--font-weight);
    font-family: var(--button--font-family);
    font-size: var(--button--font-size);
    line-height: var(--button--line-height);
    padding: var(--button--padding-vertical) var(--button--padding-horizontal);
    text-decoration: none;
    color: var(--global--color-gray);
    background-color: var(--global--cf-color-blue);
    text-transform: uppercase;
    font-size: 10px;
    border: none;
    padding: 16px 30px 13px;
    letter-spacing: 0.25em;
    font-weight: 400;
    line-height: 1.25em;
}

/* Background Image Card Block */
.cf-bg-card-block {
    position: relative;
    overflow: hidden;

    @media (max-width: 768px) {
        background-color: var(--global--cf-color-red);
    }
}
.cf-bg-card-block__body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.cf-bg-card-block__inner {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 90vh;
    overflow: hidden;

    p:not(:has(a.cf-link-arrow)) {
        margin-bottom: 30px;
        padding-inline: 20px;
    }
}

.cf-bg-card-block__media {
    position: absolute;
    z-index: 1;
    width: 100%;
    display: flex;

    &::before {
        flex: 30;
        content: "";
        display: block;
        background-color: var(--global--cf-color-red);
    }
}

.cf-bg-card-block__media img {
    flex: 70;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cf-bg-card-block__panel {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 609px;
    background: var(--global--cf-color-neutral);
    margin: 0 0 0 64px;
}
.cf-bg-card-block__inner-panel {
    margin: 10px;
    border: 1px solid var(--global--cf-color-gray);
    font-family: var(--global--cf-font-forma-djr-micro);
    font-size: 16px;
    padding-top: 20px;
}
.cf-bg-card-block__title :is(h1, h2, h3) {
    /* margin: 0 0 0.75rem; */
    font-size: clamp(1.9rem, 3.5vw, 2.6rem);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 30px;
    padding-inline: 20px;
}
.cf-bg-card-block__cta {
    flex: 50;
    display: block;
    border-top: 1px solid var(--global--cf-color-gray);
    border-right: 1px solid var(--global--cf-color-gray);
    text-align: right;
    text-decoration: none;
    text-transform: uppercase;
    height: 50px;
    font-family: var(--global--cf-font-termina);
    letter-spacing: 0.25em;
    font-size: 11px;
    padding: 16px;
    padding-right: 0px;

    a::after {
        content: "";
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNi43MjUiIGhlaWdodD0iMTAuMjkxIiB2aWV3Qm94PSIwIDAgMzYuNzI1IDEwLjI5MSI+CiAgPGcgaWQ9Ikdyb3VwXzIzOCIgZGF0YS1uYW1lPSJHcm91cCAyMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4zNTMpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzciIGRhdGEtbmFtZT0iTGluZSA3IiB4Mj0iMzYuMDE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQuNzkyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzkzODM1IgogICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgIDxwYXRoIGlkPSJQYXRoXzE1IiBkYXRhLW5hbWU9IlBhdGggMTUiIGQ9Ik0tNDY5Ny4wMDcsNzIzNS41NTJsNC43OTIsNC43OTItNC43OTIsNC43OTIiCiAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ3MjguMjMzIC03MjM1LjU1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzM5MzgzNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgPC9nPgo8L3N2Zz4=);
        background-repeat: no-repeat;
        background-position: 12px;
        width: 65px;
        height: 10px;
        padding-left: 0px;
        display: inline-block;
    }

    a:hover {
        color: var(--global--cf-color-red);
    }

    a:hover::after {
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNi43MjUiIGhlaWdodD0iMTAuMjkxIiB2aWV3Qm94PSIwIDAgMzYuNzI1IDEwLjI5MSI+CiAgPGcgaWQ9Ikdyb3VwXzIzOCIgZGF0YS1uYW1lPSJHcm91cCAyMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4zNTMpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzciIGRhdGEtbmFtZT0iTGluZSA3IiB4Mj0iMzYuMDE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQuNzkyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2UxZDFkIgogICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgIDxwYXRoIGlkPSJQYXRoXzE1IiBkYXRhLW5hbWU9IlBhdGggMTUiIGQ9Ik0tNDY5Ny4wMDcsNzIzNS41NTJsNC43OTIsNC43OTItNC43OTIsNC43OTIiCiAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ3MjguMjMzIC03MjM1LjU1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2NlMWQxZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgPC9nPgo8L3N2Zz4=);
        background-position-x: 20px;
    }
}

@media (max-width: 768px) {
    .cf-bg-card-block__inner {
        flex-direction: column;
        min-height: auto;
        background-color: var(--global--cf-color-red);
    }
    .cf-bg-card-block__media {
        position: relative;
        width: 100%;
        height: 300px;
    }
    .cf-bg-card-block__media::before {
        display: none;
    }
    .cf-bg-card-block__media img {
        height: 100%;
        object-fit: cover;
    }
    .cf-bg-card-block__panel {
        position: relative;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 16px;
    }
}

@media (min-width: 900px) {
    .cf-bg-card-block__panel {
        margin-left: calc((100% - var(--cf-max-width)) / 4);
    }
}

/* Utilities */
@media (min-width: 900px) {
    .cf-banner {
        padding: 80px 64px;
    }
    .cf-banner__inner {
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .cf-link-arrow,
    .cf-card__cta a {
        transition:
            color 0.25s ease,
            transform 0.25s ease;
    }
    /* .cf-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    } */
}
