/*
Theme Name: Annelien
Theme URI: https://annelienpienaar.co.za
Description: Custom child theme for Annelien Pienaar
Author: Stef
Template: Divi
Version: 1.0.15
*/

/* ===============================
   GLOBAL RESET & BASE
================================= */

body {
    font-family: 'Open Sans', sans-serif;
    background-color: #f9f7f2;
    color: #2b2b2b;
    line-height: 1.6;
    margin: 0;
}

/* Smooth typography */
h1,
h2,
h3,
h4,
h5 {
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    color: #1f1f1f;
}

p {
    margin-bottom: 15px;
}

/* ===============================
   SAFER DIVI BASE LAYOUT
   Important: Do not force spacing
   on the custom header.
================================= */

body:not(.et-fb) .et_pb_section:not(.et_pb_fullwidth_section):not(.ap-custom-header-section) {
    padding-top: 60px;
    padding-bottom: 60px;
}

body:not(.et-fb) .et_pb_section.ap-custom-header-section {
    padding: 0 !important;
}

/* Normal page rows only, not the custom header row */
body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_row {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.et_pb_row_fullwidth {
    width: 100%;
    max-width: 100%;
}

/* Normal page module spacing only, not header modules */
body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_module {
    margin-bottom: 20px;
}

body:not(.et-fb) .ap-custom-header-section .et_pb_module {
    margin-bottom: 0 !important;
}

/* ===============================
   HERO / FULL WIDTH SECTIONS
================================= */

.fullwidth-hero {
    position: relative;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fullwidth-hero h1 {
    color: #ffffff;
    font-size: 48px;
    text-align: center;
}

.fullwidth-hero p {
    max-width: 600px;
    margin: 0 auto;
}

/* ===============================
   BUTTONS
================================= */

.et_pb_button {
    border-radius: 30px !important;
    background-color: #c9a66b !important;
    color: #ffffff !important;
    padding: 12px 26px !important;
    font-weight: 600;
    letter-spacing: 1px;
    border: none !important;
    transition: all 0.3s ease;
}

.et_pb_button:hover {
    background-color: #b8955e !important;
    transform: translateY(-2px);
}

/* ===============================
   IMAGES
   Do not round all images globally,
   because it affects logos and icons.
================================= */

img {
    max-width: 100%;
}

/* ===============================
   DEFAULT DIVI HEADER CLEANUP
   Used only if the default Divi header
   appears anywhere.
================================= */

#main-header {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

#top-menu a {
    font-weight: 500;
    letter-spacing: 0.5px;
}

#top-menu a:hover {
    color: #c9a66b;
}

/* ===============================
   ANNELIEN CUSTOM HEADER
================================= */

.ap-custom-header-section {
    padding: 0 !important;
    background: #e8d5ac;
    position: relative;
    z-index: 9999;
    overflow: visible !important;
}

.ap-custom-header-row {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 104px;
    padding: 10px 22px 12px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}

.ap-custom-header-row .et_pb_column {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Left menu column */
.ap-custom-header-row .et_pb_column:nth-child(1) {
    justify-content: flex-start !important;
    align-self: flex-end !important;
    padding-bottom: 18px !important;
}

/* Logo column */
.ap-custom-header-row .et_pb_column:nth-child(2) {
    justify-content: center !important;
    align-self: center !important;
}

/* Right action column */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    justify-content: flex-end !important;
    align-self: flex-end !important;
    padding-bottom: 18px !important;
}

/* Modules */
.ap-custom-header-row .et_pb_module {
    margin-bottom: 0 !important;
}

/* Logo image module */
.ap-custom-header-row .et_pb_image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    line-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Logo image */
.ap-custom-header-row .et_pb_image img {
    display: block !important;
    max-height: 74px;
    width: auto;
    border-radius: 0 !important;
    object-fit: contain;
}

/* Left menu alignment */
.ap-custom-header-row .et_pb_menu,
.ap-custom-header-row .et_pb_menu_inner_container,
.ap-custom-header-row .et_pb_menu__wrap {
    align-items: center !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li {
    padding: 0 11px !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li > a {
    padding: 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    color: #3b332b !important;
    line-height: 1 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li > a:hover {
    color: #a9825d !important;
}

/* Fine-tune right header actions alignment */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    padding-bottom: 20px !important;
}

.ap-header-actions {
    align-items: center !important;
}

.ap-header-account,
.ap-header-cart,
.ap-header-member {
    transform: translateY(-2px);
}

/* Fine-tune right column vertical alignment */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    padding-bottom: 21px !important;
}

.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul {
    padding: 18px !important;
}

/* ===============================
   ANNELIEN HEADER RIGHT ACTIONS
   Used by:
   [annelien_header_actions member_url="/word-n-lid/"]
================================= */

.ap-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    line-height: 1;
}

.ap-header-actions a,
.ap-header-actions button {
    text-decoration: none !important;
    box-shadow: none !important;
}

.ap-header-account {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #1f1a17 !important;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ap-header-account-text {
    position: relative;
    top: 0;
}

.ap-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    color: #1f1a17;
    line-height: 1;
}

.ap-header-icon svg {
    display: block;
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.ap-header-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #1f1a17 !important;
    line-height: 1;
}

.ap-header-cart .ap-header-icon {
    width: 18px;
    height: 18px;
}

.ap-header-cart .ap-header-icon svg {
    width: 18px;
    height: 18px;
}

.ap-cart-count-wrap {
    position: absolute;
    top: -9px;
    right: -10px;
    display: block;
}

.ap-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef8f83;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.ap-header-member {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 34px;
    padding: 8px 14px;
    border: 1px solid #ff6b1a;
    color: #ff6b1a !important;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.ap-header-member:hover {
    background: #ff6b1a;
    color: #ffffff !important;
}

.ap-member-plus {
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: -1px;
}

/* Remove possible Divi/WooCommerce pseudo styling */
.ap-header-actions a::before,
.ap-header-actions a::after,
.ap-header-actions span::before,
.ap-header-actions span::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}

/* ===============================
   BLOG / POST CLEANUP
================================= */

.et_pb_post {
    border: none;
    box-shadow: none;
}

.et_pb_post h2 {
    font-size: 28px;
}

.et_pb_post .post-meta {
    font-size: 14px;
    color: #777777;
}

/* ===============================
   RECIPE STYLE BLOCKS
================================= */

.recipe-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

.ingredients {
    background: #f3efe7;
    padding: 20px;
    border-radius: 12px;
}

.steps {
    padding-left: 20px;
}

.steps li {
    margin-bottom: 10px;
}

/* ===============================
   CREATE RECIPE / FORMIDABLE
================================= */

.create-recipe-wrap {
    max-width: 980px;
    margin: 40px auto 70px;
    padding: 0 20px;
}

.create-recipe-card {
    background: #ffffff;
    border: 1px solid #e7e4dc;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    padding: 36px;
}

.create-recipe-header {
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid #ece8df;
}

.create-recipe-header h1 {
    margin: 0 0 8px;
    font-size: 40px;
    line-height: 1.1;
}

.create-recipe-header p {
    margin: 0;
    color: #666666;
    font-size: 16px;
}

.frm_forms .frm_form_field label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: #2e2e2e;
}

.frm_forms input[type="text"],
.frm_forms input[type="number"],
.frm_forms input[type="email"],
.frm_forms textarea,
.frm_forms select {
    width: 100%;
    border: 1px solid #d9d9d2;
    border-radius: 12px;
    background: #fcfbf8;
    padding: 14px 16px;
    font-size: 15px;
    transition: all 0.2s ease;
}

.frm_forms textarea {
    min-height: 160px;
    resize: vertical;
}

.frm_forms input:focus,
.frm_forms textarea:focus,
.frm_forms select:focus {
    border-color: #78b4be;
    box-shadow: 0 0 0 3px rgba(120, 180, 190, 0.18);
    outline: none;
    background: #ffffff;
}

.frm_forms .frm_submit button,
.frm_forms .frm_button_submit {
    background: #78b4be;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.frm_forms .frm_submit button:hover,
.frm_forms .frm_button_submit:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

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

.annelien-breadcrumb {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a7f73;
    background: rgba(255, 255, 255, 0.75);
    padding: 8px 14px;
    border-radius: 30px;
    margin-bottom: 18px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    word-spacing: 6px;
}

.annelien-breadcrumb a {
    color: #6f6257;
    text-decoration: none;
    transition: all 0.25s ease;
}

.annelien-breadcrumb a:hover {
    color: #c6a27a;
}

.annelien-breadcrumb span,
.annelien-breadcrumb strong {
    color: #1f1a17;
    font-weight: 500;
}

/* ===============================
   SPACING HELPERS
================================= */

.section-tight {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.section-large {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* ===============================
   REMOVE DIVI SHADOWS / BORDERS
================================= */

.et_pb_column {
    box-shadow: none !important;
}

/* ===============================
   SUBTLE ANIMATIONS
   Do not animate every module globally,
   because it breaks headers and layouts.
================================= */

.et_pb_module {
    transition: all 0.3s ease;
}

.et_pb_module:hover {
    transform: none;
}

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

@media (max-width: 980px) {
    .ap-custom-header-row {
        min-height: auto;
        padding: 14px 18px !important;
        flex-wrap: wrap;
        gap: 12px;
    }

    .ap-custom-header-row .et_pb_column {
        width: 100% !important;
        justify-content: center !important;
        margin-bottom: 0 !important;
    }

    .ap-custom-header-row .et_pb_column:nth-child(1),
    .ap-custom-header-row .et_pb_column:nth-child(2),
    .ap-custom-header-row .et_pb_column:nth-child(3) {
        justify-content: center !important;
    }

    .ap-custom-header-row .et_pb_image img {
        max-height: 64px;
    }

    .ap-header-actions {
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .ap-header-member {
        min-height: 34px;
        padding: 8px 14px;
    }
}

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

@media (max-width: 768px) {
    body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_row {
        width: 92%;
    }

    h1 {
        font-size: 28px;
    }

    .fullwidth-hero {
        height: 50vh;
    }

    .et_pb_button {
        width: 100%;
        text-align: center;
    }

    .create-recipe-card {
        padding: 24px;
    }

    .create-recipe-header h1 {
        font-size: 30px;
    }
}
/* ===============================
   ANNELIEN FOOTER SIGNUP FORM
   Formidable Form ID 5
================================= */

.ap-footer-signup-form {
    width: min(92vw, 1100px) !important;
    max-width: 1100px !important;
    margin: 0 auto 60px !important;
}

/* Force Formidable container full width */
.ap-footer-signup-form #frm_form_5_container,
.ap-footer-signup-form #frm_form_5_container form,
.ap-footer-signup-form #frm_form_5_container fieldset {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Override Formidable grid layout */
.ap-footer-signup-form #frm_form_5_container .frm_fields_container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Each field full width */
.ap-footer-signup-form #frm_form_5_container .frm_form_field {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

/* Hide labels if you are using placeholders */
.ap-footer-signup-form #frm_form_5_container .frm_primary_label {
    display: none !important;
}

/* Inputs */
.ap-footer-signup-form #frm_form_5_container input[type="text"],
.ap-footer-signup-form #frm_form_5_container input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 78px !important;
    min-height: 78px !important;
    border: 2px solid #6f7884 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #2f2f2f !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    padding: 0 28px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Placeholder text */
.ap-footer-signup-form #frm_form_5_container input::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}

/* Submit area */
.ap-footer-signup-form #frm_form_5_container .frm_submit {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
}

/* Submit button */
.ap-footer-signup-form #frm_form_5_container .frm_submit button,
.ap-footer-signup-form #frm_form_5_container .frm_button_submit {
    min-width: 200px !important;
    height: 82px !important;
    border: none !important;
    border-radius: 28px !important;
    background: #bca392 !important;
    color: #ffffff !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 38px !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.ap-footer-signup-form #frm_form_5_container .frm_submit button:hover,
.ap-footer-signup-form #frm_form_5_container .frm_button_submit:hover {
    background: #a98d7c !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 767px) {
    .ap-footer-signup-form {
        width: 92vw !important;
        margin-bottom: 40px !important;
    }

    .ap-footer-signup-form #frm_form_5_container input[type="text"],
    .ap-footer-signup-form #frm_form_5_container input[type="email"] {
        height: 58px !important;
        min-height: 58px !important;
        font-size: 18px !important;
        padding: 0 20px !important;
    }

    .ap-footer-signup-form #frm_form_5_container .frm_submit {
        justify-content: stretch !important;
    }

    .ap-footer-signup-form #frm_form_5_container .frm_submit button,
    .ap-footer-signup-form #frm_form_5_container .frm_button_submit {
        width: 100% !important;
        min-width: 0 !important;
        height: 62px !important;
        font-size: 22px !important;
        border-radius: 22px !important;
    }
}

/* ===============================
   WOOCOMMERCE SHOP CATEGORY PREVIEWS
================================= */
body.woocommerce-shop #left-area > .woocommerce-result-count,
body.woocommerce-shop #left-area > .woocommerce-ordering,
body.woocommerce-shop #left-area > ul.products,
body.woocommerce-shop #left-area > nav.woocommerce-pagination {
    display: none !important;
}

.ap-shop-category-previews {
    max-width: 1200px;
    margin: 34px auto 60px;
}

.ap-shop-category-section {
    padding: 34px 0 42px;
    border-top: 1px solid #ded9cd;
}

.ap-shop-category-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.ap-shop-category-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.ap-shop-category-heading h2 {
    margin: 0;
    font-size: 34px;
    line-height: 1.2;
}

.ap-shop-category-heading a {
    color: #77784e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.ap-shop-category-heading a:hover {
    color: #4b4c2f;
}

.ap-shop-category-previews .woocommerce ul.products {
    margin-bottom: 0;
}

.ap-shop-category-previews .woocommerce ul.products li.product {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .ap-shop-category-previews {
        margin-top: 24px;
    }

    .ap-shop-category-section {
        padding: 28px 0 34px;
    }

    .ap-shop-category-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .ap-shop-category-heading h2 {
        font-size: 28px;
    }
}


/* Hide the original mixed WooCommerce loop below the grouped previews. */
body.woocommerce-shop #left-area .woocommerce-result-count,
body.woocommerce-shop #left-area .woocommerce-ordering,
body.woocommerce-shop #left-area nav.woocommerce-pagination,
body.woocommerce-shop #left-area .woocommerce-pagination,
body.woocommerce-shop #left-area ul.products:not(.ap-shop-category-previews ul.products) {
    display: none !important;
}

/* Keep the three desktop preview cards balanced across the full row. */
@media (min-width: 981px) {
    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product {
        width: 30.75% !important;
        margin-right: 3.8% !important;
        clear: none !important;
    }

    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product:nth-child(3n) {
        margin-right: 0 !important;
    }
}

/* Divi uses a grid for product shortcodes; make this a true three-column row. */
@media (min-width: 981px) {
    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product {
        width: 100% !important;
        margin-right: 0 !important;
    }
}
/* September 2026: responsive footer and recipe hero. */
body.single-recipe:not(.et-fb) .et-l--body .et_pb_row_0_tb_body { margin-top: 0 !important; }
body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { display: grid !important; grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr)); gap: 36px !important; align-items: start; }
body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer > .et_pb_column { width: auto !important; max-width: 100% !important; min-width: 0; margin: 0 !important; }
footer.et-l--footer h4 { font-size: 25px; line-height: 1.25; }
footer.et-l--footer p { font-size: 15px; line-height: 1.8; }
footer.et-l--footer .et_pb_text_inner a { display: inline-block; padding: 5px 0; overflow-wrap: normal; word-break: normal; }
footer.et-l--footer #frm_form_5_container { margin-top: 22px; }
footer.et-l--footer #frm_form_5_container fieldset { padding: 0; }
footer.et-l--footer #frm_form_5_container .frm_fields_container { display: grid; grid-template-columns: 1fr; gap: 14px; }
footer.et-l--footer #frm_form_5_container .frm_form_field { margin: 0 !important; min-width: 0; }
footer.et-l--footer #frm_form_5_container input { min-height: 54px; font-size: 16px; border-radius: 10px; }
footer.et-l--footer #frm_form_5_container .frm_submit { margin: 0; }
footer.et-l--footer #frm_form_5_container .frm_button_submit { background: #403c33 !important; color: #fff !important; border: 1px solid #403c33 !important; border-radius: 999px !important; padding: 14px 26px !important; font-size: 16px !important; min-height: 48px; box-shadow: none !important; }
footer.et-l--footer #frm_form_5_container .frm_button_submit:hover { background: #2c2923 !important; }
@media (max-width:980px) {
 body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_column_0_tb_footer { grid-column: 1 / -1; }
 body.single-recipe:not(.et-fb) .et-l--body .et_pb_row_0_tb_body { margin-bottom: 0 !important; padding: 38px 20px !important; width: 100% !important; }
 body.single-recipe .et_pb_heading_0_tb_body h1 { font-size: clamp(28px,7.2vw,42px) !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
}
@media (max-width:600px) {
 body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { grid-template-columns: minmax(0,1fr); gap: 24px !important; }
 footer.et-l--footer .et_pb_image img { max-width: 290px; width: 100%; }
 footer.et-l--footer #frm_form_5_container .frm_button_submit { width: 100% !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_section { padding: 40px 0 24px !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_row_1_tb_footer, body:not(.et-fb) footer.et-l--footer .et_pb_row_2_tb_footer { padding: 12px 0 !important; }
}

@media (max-width:980px) { body.single-recipe #et-boc .et-l--body .et_pb_row.et_pb_row_0_tb_body { margin: 0 auto !important; padding: 38px 20px !important; width: 100% !important; } }

/* Mobile recipe facts: compact cards, with room for longer serving descriptions. */
@media (max-width:980px) {
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; width:92% !important; padding:0 !important; margin:0 auto 10px !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body)::after { display:none !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) > .et_pb_column { width:auto !important; min-width:0; margin:0 !important; padding:14px !important; background:#eeeee3; border:1px solid #d9dac8; border-radius:10px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) .et_pb_text { margin:0 !important; padding:0 !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) p { margin:0 !important; padding:0 !important; font-size:14px !important; line-height:1.65 !important; color:#514f44; overflow-wrap:normal; word-break:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) b { color:#656a46; font-weight:700; font-size:13px; white-space:nowrap; display:inline-block; margin-right:4px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) i { font-style:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_9_tb_body { grid-column:1 / -1; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_10_tb_body:not(:has(.et_pb_module)) { display:none !important; }
}

@media(max-width:360px){ body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body){grid-template-columns:minmax(0,1fr);} }

/* Desktop recipe facts: matching cards in a four-column layout. */
@media (min-width:981px) {
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px !important; width:90% !important; padding:0 !important; margin:0 auto 16px !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body)::after { display:none !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) > .et_pb_column { width:auto !important; min-width:0; margin:0 !important; padding:22px !important; background:#eeeee3; border:1px solid #d9dac8; border-radius:12px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) .et_pb_text { margin:0 !important; padding:0 !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) p { margin:0 !important; padding:0 !important; font-size:16px !important; line-height:1.65 !important; color:#514f44; overflow-wrap:normal; word-break:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) b { color:#656a46; font-weight:700; font-size:15px; white-space:nowrap; display:inline-block; margin-right:4px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) i { font-style:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_9_tb_body { grid-column:3 / 5; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_10_tb_body:not(:has(.et_pb_module)) { display:none !important; }
}


/* Recipe header must stick to the viewport, not an overflow container. */
body.single-recipe:not(.et-fb) { overflow-x:clip !important; overflow-y:visible !important; }
body.single-recipe:not(.et-fb) #page-container { overflow:visible !important; }
body.single-recipe:not(.et-fb) header.et-l--header { position:sticky !important; top:0 !important; z-index:9990; }
body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:32px !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_0_tb_body { margin:0 auto !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_section_1_tb_body { margin:0 !important; padding-top:32px !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_1_tb_body,.et_pb_row_2_tb_body) { margin:0 auto 24px !important; padding:0 !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_1_tb_body,.et_pb_row_2_tb_body) :is(.et_pb_column,.et_pb_module) { margin-bottom:0 !important; }
body.single-recipe .ap-recipe-actions, body.single-recipe .ap-recipe-breadcrumb { margin:0 !important; }
body.single-recipe .ap-recipe-actions__message:empty { display:none; }
@media (max-width:782px) { body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:46px !important; } }
@media (max-width:600px) { body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:0 !important; } }

/* Recipe tips: aligned editorial heading and a lighter inset panel. */
body.single-recipe:not(.et-fb) #et-boc .et_pb_row_5_tb_body { padding:28px !important; border:1px solid #d9dac8 !important; border-radius:16px !important; background:#eeeee3 !important; }
body.single-recipe #et-boc .et_pb_blurb_0_tb_body { margin:0 0 20px !important; padding:0 0 16px !important; border-bottom:1px solid #d0d2bc; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_main_blurb_image { display:none !important; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_blurb_content { max-width:none !important; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_blurb_container { display:block !important; padding:0 !important; }
body.single-recipe #et-boc .et_pb_blurb_0_tb_body .et_pb_module_header { text-align:left !important; margin:0 !important; padding:0 !important; color:#53583b !important; font-size:28px !important; line-height:1.25 !important; letter-spacing:0 !important; }
body.single-recipe #et-boc .et_pb_text_9_tb_body { margin:0 !important; }
body.single-recipe .ap-tips-preview__summary, body.single-recipe .ap-recipe-field--tips .ap-recipe-field-value { background:#f9f7f2 !important; border:1px solid #dedfce !important; border-radius:12px !important; box-shadow:none !important; padding:24px !important; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__title { color:#53583b; font-size:22px; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle { background:#656a46; color:#fff; border-color:#656a46; margin-top:18px; font-size:14px; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle:hover { background:#494e31; color:#fff; }
@media(max-width:767px) {
 body.single-recipe:not(.et-fb) #et-boc .et_pb_row_5_tb_body { padding:18px !important; }
 body.single-recipe #et-boc .et_pb_blurb_0_tb_body .et_pb_module_header { font-size:24px !important; }
 body.single-recipe .ap-tips-preview__summary, body.single-recipe .ap-recipe-field--tips .ap-recipe-field-value { padding:18px !important; }
}

body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle, body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle span { color:#fff !important; }

/* Legal policy navigation polish — 9 September 2026 */
#et-boc .ap-legal .ap-toc ol{list-style:none;padding-left:0}
#et-boc .ap-legal h2[id]{padding-top:104px;margin-top:-42px;border-top:0}

/* Annelien commerce styling — 9 September 2026 */
body.woocommerce-cart #main-content,body.woocommerce-checkout #main-content{background:#faf8f3}
body.woocommerce-cart #main-content .et_pb_section,body.woocommerce-checkout #main-content .et_pb_section{background:transparent}
body.woocommerce-cart #main-content .et_pb_row,body.woocommerce-checkout #main-content .container{width:90%;max-width:1200px}
body.woocommerce-cart #main-content .et_pb_section{padding:48px 0 64px}
body.woocommerce-cart #main-content .et_pb_row{padding:0}
body.woocommerce-checkout #main-content .container{padding-top:48px;padding-bottom:64px}
body.woocommerce-checkout #main-content #left-area{width:100%;padding:0}
body.woocommerce-checkout #main-content .container:before{display:none}
body.woocommerce-checkout #main-content #sidebar{display:none}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content{color:#49463d;font-size:16px;line-height:1.7}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,4vw,46px);line-height:1.2;color:#35382a;margin:0 0 30px;padding:0}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content h2{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.3;color:#41482f;letter-spacing:0;text-transform:none}
#main-content .wc-block-components-sidebar-layout{gap:32px;align-items:flex-start}
#main-content .wc-block-components-sidebar-layout .wc-block-components-main{width:calc(65% - 16px);padding:28px;background:#fffdf8;border:1px solid #e4dece;border-radius:18px;box-shadow:0 10px 32px #393a2510}
#main-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:calc(35% - 16px);padding:24px;background:#f0f1e6;border:1px solid #dce0cd;border-radius:18px}
#main-content .wc-block-cart__totals-title{padding:0 0 20px;text-align:left}
#main-content .wc-block-cart-items{border:0;margin:0}
#main-content .wc-block-cart-items th{color:#6b6e5d;font-size:12px;letter-spacing:.08em;padding-top:0}
#main-content .wc-block-cart-items td{border-color:#e4dece;padding-top:24px;padding-bottom:24px}
#main-content .wc-block-cart-item__image img,#main-content .wc-block-components-order-summary-item__image img{border-radius:10px}
#main-content .wc-block-components-product-name{color:#4d5939;font-weight:600;text-decoration:none;line-height:1.5}
#main-content .wc-block-components-product-metadata{font-size:14px;line-height:1.6;color:#68665d}
#main-content .wc-block-components-sale-badge{background:#e9ecdd;color:#52603a;border:0;border-radius:5px;padding:4px 7px;font-size:11px}
#main-content .wc-block-components-totals-footer-item{color:#3c432e;font-weight:600}
#main-content .wc-block-components-totals-wrapper{border-color:#dce0cd}
#main-content .wc-block-components-checkout-step{margin-bottom:28px}
#main-content .wc-block-components-checkout-step__title{padding-bottom:8px}
#main-content .wc-block-components-text-input input,#main-content .wc-blocks-components-select__select,#main-content .wc-block-components-textarea{border:1px solid #c9c8b8;border-radius:9px;background:#fff;color:#3f4137;box-shadow:none}
#main-content .wc-block-components-text-input label,#main-content .wc-blocks-components-select__label{color:#626657}
#main-content .wc-block-components-text-input input:focus,#main-content .wc-blocks-components-select__select:focus,#main-content .wc-block-components-textarea:focus{border-color:#69764c;box-shadow:0 0 0 2px #69764c26;outline:0}
#main-content .wc-block-components-text-input.has-error input{border-color:#a43e32}
#main-content .wc-block-components-address-card,#main-content .wc-block-components-radio-control-accordion-option{border:1px solid #d9ddca;border-radius:10px;background:#f7f7ee}
#main-content .wc-block-components-radio-control{border-radius:10px}
#main-content .wc-block-components-checkbox__input,#main-content .wc-block-components-radio-control__input{accent-color:#59653e}
#main-content .wc-block-components-checkout-order-summary__title{font-family:'Playfair Display',Georgia,serif;color:#41482f;font-size:25px}
#main-content .wc-block-components-order-summary{border-color:#dce0cd}
#main-content .wc-block-components-button:not(.is-link){background:#37352b;color:#fff;border:1px solid #37352b;border-radius:10px;min-height:52px;padding:14px 20px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:none}
#main-content .wc-block-components-button:not(.is-link):hover{background:#56623e;border-color:#56623e;color:#fff}
#main-content .wc-block-components-button:disabled{opacity:.55;cursor:not-allowed}
#main-content .wc-block-components-button:focus-visible,#main-content .wc-block-components-panel__button:focus-visible{outline:3px solid #8a966b;outline-offset:3px}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content a:not(.wc-block-components-button):not(.button){color:#52623a;text-underline-offset:3px}
body.woocommerce #main-content .woocommerce-message,body.woocommerce #main-content .woocommerce-info{background:#edf0e2!important;color:#3f4930!important;border:1px solid #d7dec7;border-left:4px solid #748452;border-radius:10px;padding:20px 24px!important;line-height:1.6}
body.woocommerce #main-content .woocommerce-message:before,body.woocommerce #main-content .woocommerce-info:before{display:none}
body.woocommerce #main-content .woocommerce-message a.button,body.woocommerce #main-content .woocommerce-info a.button{color:#fff!important;background:#56623e!important;border:0!important;border-radius:8px;font-size:14px;padding:10px 18px!important}
body.woocommerce #main-content .wc-block-components-notice-banner.is-success,body.woocommerce #main-content .wc-block-components-notice-banner.is-info{background:#edf0e2;border-color:#d7dec7;color:#3f4930;border-radius:10px}
body.woocommerce-checkout #main-content .woocommerce-order,body.woocommerce-order-pay #main-content .entry-content>.woocommerce{background:#fffdf8;padding:clamp(20px,3vw,36px);border:1px solid #e4dece;border-radius:18px}
body.woocommerce-checkout #main-content .woocommerce-thankyou-order-received{font-size:20px;color:#4c5b35;margin-bottom:24px}
body.woocommerce-checkout #main-content ul.order_details{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0 32px;padding:22px!important;background:#eef0e3;border-radius:12px}
body.woocommerce-checkout #main-content ul.order_details li{float:none;flex:1 1 150px;border:0;margin:0;padding:0;line-height:1.6;color:#646954}
body.woocommerce-checkout #main-content ul.order_details li strong{font-size:15px;color:#3d452d;overflow-wrap:anywhere}
body.woocommerce-checkout #main-content table.shop_table{border:1px solid #e1ddcf;border-radius:10px;background:#fff;overflow:hidden;border-spacing:0}
body.woocommerce-checkout #main-content table.shop_table th,body.woocommerce-checkout #main-content table.shop_table td{padding:14px 18px;border-color:#e1ddcf}
body.woocommerce-checkout #main-content table.shop_table thead{background:#eef0e3;color:#444d32}
body.woocommerce-checkout #main-content .woocommerce-customer-details address{padding:22px;background:#f4f3eb;border:1px solid #e1ddcf;border-radius:12px;line-height:1.8}
body.woocommerce-checkout #main-content .woocommerce .button,body.woocommerce-checkout #main-content input[type=submit]{background:#37352b;color:#fff;border:1px solid #37352b;border-radius:9px;min-height:48px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1.5}
body.woocommerce-checkout #main-content .woocommerce .button:after{display:none}
body.woocommerce-order-pay .blockUI.blockMsg{background:#fffdf8!important;color:#41482f!important;border:1px solid #d8dcc9!important;border-radius:14px!important;padding:24px!important;box-shadow:0 16px 50px #33332226!important}
@media(max-width:782px){
#main-content .wc-block-components-sidebar-layout{gap:24px}
#main-content .wc-block-components-sidebar-layout .wc-block-components-main,#main-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%;padding:20px;border-radius:14px}
body.woocommerce-cart #main-content .et_pb_section{padding:28px 0 40px}
body.woocommerce-checkout #main-content .container{padding-top:28px;padding-bottom:40px}
#main-content .wc-block-cart-items td{padding-top:16px;padding-bottom:16px}
body.woocommerce #main-content .woocommerce-message a.button{float:none;display:inline-block;margin:0 0 12px}
body.woocommerce-checkout #main-content table.shop_table th,body.woocommerce-checkout #main-content table.shop_table td{padding:12px;overflow-wrap:anywhere}
body.woocommerce-checkout #main-content ul.order_details{gap:18px;padding:18px!important}
}

/* Stack basket totals below product details on narrow screens. */
@media(max-width:600px){
#main-content table.wc-block-cart-items,#main-content .wc-block-cart-items tbody{display:block;width:100%;min-width:0}
#main-content .wc-block-cart-items .wc-block-cart-items__row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 14px;width:100%;padding:8px 0}
#main-content .wc-block-cart-items .wc-block-cart-item__image{grid-column:1;grid-row:1 / 3;padding:0;width:64px}
#main-content .wc-block-cart-items .wc-block-cart-item__product{grid-column:2;grid-row:1;padding:0;min-width:0;width:auto}
#main-content .wc-block-cart-items .wc-block-cart-item__total{grid-column:2;grid-row:2;padding:8px 0 0;min-width:0;width:auto;justify-content:flex-start}
#main-content .wc-block-cart-item__total-price-and-sale-badge-wrapper{align-items:flex-start}
#main-content .wc-block-cart-items .wc-block-components-product-name{overflow-wrap:anywhere}
}
/*
Theme Name: Annelien
Theme URI: https://annelienpienaar.co.za
Description: Custom child theme for Annelien Pienaar
Author: Stef
Template: Divi
Version: 1.0.14
*/

/* ===============================
   GLOBAL RESET & BASE
================================= */

body {
    font-family: 'Open Sans', sans-serif;
    background-color: #f9f7f2;
    color: #2b2b2b;
    line-height: 1.6;
    margin: 0;
}

/* Smooth typography */
h1,
h2,
h3,
h4,
h5 {
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    color: #1f1f1f;
}

p {
    margin-bottom: 15px;
}

/* ===============================
   SAFER DIVI BASE LAYOUT
   Important: Do not force spacing
   on the custom header.
================================= */

body:not(.et-fb) .et_pb_section:not(.et_pb_fullwidth_section):not(.ap-custom-header-section) {
    padding-top: 60px;
    padding-bottom: 60px;
}

body:not(.et-fb) .et_pb_section.ap-custom-header-section {
    padding: 0 !important;
}

/* Normal page rows only, not the custom header row */
body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_row {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.et_pb_row_fullwidth {
    width: 100%;
    max-width: 100%;
}

/* Normal page module spacing only, not header modules */
body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_module {
    margin-bottom: 20px;
}

body:not(.et-fb) .ap-custom-header-section .et_pb_module {
    margin-bottom: 0 !important;
}

/* ===============================
   HERO / FULL WIDTH SECTIONS
================================= */

.fullwidth-hero {
    position: relative;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fullwidth-hero h1 {
    color: #ffffff;
    font-size: 48px;
    text-align: center;
}

.fullwidth-hero p {
    max-width: 600px;
    margin: 0 auto;
}

/* ===============================
   BUTTONS
================================= */

.et_pb_button {
    border-radius: 30px !important;
    background-color: #c9a66b !important;
    color: #ffffff !important;
    padding: 12px 26px !important;
    font-weight: 600;
    letter-spacing: 1px;
    border: none !important;
    transition: all 0.3s ease;
}

.et_pb_button:hover {
    background-color: #b8955e !important;
    transform: translateY(-2px);
}

/* ===============================
   IMAGES
   Do not round all images globally,
   because it affects logos and icons.
================================= */

img {
    max-width: 100%;
}

/* ===============================
   DEFAULT DIVI HEADER CLEANUP
   Used only if the default Divi header
   appears anywhere.
================================= */

#main-header {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

#top-menu a {
    font-weight: 500;
    letter-spacing: 0.5px;
}

#top-menu a:hover {
    color: #c9a66b;
}

/* ===============================
   ANNELIEN CUSTOM HEADER
================================= */

.ap-custom-header-section {
    padding: 0 !important;
    background: #e8d5ac;
    position: relative;
    z-index: 9999;
    overflow: visible !important;
}

.ap-custom-header-row {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 104px;
    padding: 10px 22px 12px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}

.ap-custom-header-row .et_pb_column {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Left menu column */
.ap-custom-header-row .et_pb_column:nth-child(1) {
    justify-content: flex-start !important;
    align-self: flex-end !important;
    padding-bottom: 18px !important;
}

/* Logo column */
.ap-custom-header-row .et_pb_column:nth-child(2) {
    justify-content: center !important;
    align-self: center !important;
}

/* Right action column */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    justify-content: flex-end !important;
    align-self: flex-end !important;
    padding-bottom: 18px !important;
}

/* Modules */
.ap-custom-header-row .et_pb_module {
    margin-bottom: 0 !important;
}

/* Logo image module */
.ap-custom-header-row .et_pb_image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    line-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Logo image */
.ap-custom-header-row .et_pb_image img {
    display: block !important;
    max-height: 74px;
    width: auto;
    border-radius: 0 !important;
    object-fit: contain;
}

/* Left menu alignment */
.ap-custom-header-row .et_pb_menu,
.ap-custom-header-row .et_pb_menu_inner_container,
.ap-custom-header-row .et_pb_menu__wrap {
    align-items: center !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li {
    padding: 0 11px !important;
    margin: 0 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li > a {
    padding: 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    color: #3b332b !important;
    line-height: 1 !important;
}

.ap-custom-header-row .et_pb_menu__menu > nav > ul > li > a:hover {
    color: #a9825d !important;
}

/* Fine-tune right header actions alignment */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    padding-bottom: 20px !important;
}

.ap-header-actions {
    align-items: center !important;
}

.ap-header-account,
.ap-header-cart,
.ap-header-member {
    transform: translateY(-2px);
}

/* Fine-tune right column vertical alignment */
.ap-custom-header-row .et_pb_column:nth-child(3) {
    padding-bottom: 21px !important;
}

.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul {
    padding: 18px !important;
}

/* ===============================
   ANNELIEN HEADER RIGHT ACTIONS
   Used by:
   [annelien_header_actions member_url="/word-n-lid/"]
================================= */

.ap-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    line-height: 1;
}

.ap-header-actions a,
.ap-header-actions button {
    text-decoration: none !important;
    box-shadow: none !important;
}

.ap-header-account {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #1f1a17 !important;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ap-header-account-text {
    position: relative;
    top: 0;
}

.ap-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    color: #1f1a17;
    line-height: 1;
}

.ap-header-icon svg {
    display: block;
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.ap-header-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #1f1a17 !important;
    line-height: 1;
}

.ap-header-cart .ap-header-icon {
    width: 18px;
    height: 18px;
}

.ap-header-cart .ap-header-icon svg {
    width: 18px;
    height: 18px;
}

.ap-cart-count-wrap {
    position: absolute;
    top: -9px;
    right: -10px;
    display: block;
}

.ap-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef8f83;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.ap-header-member {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 34px;
    padding: 8px 14px;
    border: 1px solid #ff6b1a;
    color: #ff6b1a !important;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.ap-header-member:hover {
    background: #ff6b1a;
    color: #ffffff !important;
}

.ap-member-plus {
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: -1px;
}

/* Remove possible Divi/WooCommerce pseudo styling */
.ap-header-actions a::before,
.ap-header-actions a::after,
.ap-header-actions span::before,
.ap-header-actions span::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}

/* ===============================
   BLOG / POST CLEANUP
================================= */

.et_pb_post {
    border: none;
    box-shadow: none;
}

.et_pb_post h2 {
    font-size: 28px;
}

.et_pb_post .post-meta {
    font-size: 14px;
    color: #777777;
}

/* ===============================
   RECIPE STYLE BLOCKS
================================= */

.recipe-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

.ingredients {
    background: #f3efe7;
    padding: 20px;
    border-radius: 12px;
}

.steps {
    padding-left: 20px;
}

.steps li {
    margin-bottom: 10px;
}

/* ===============================
   CREATE RECIPE / FORMIDABLE
================================= */

.create-recipe-wrap {
    max-width: 980px;
    margin: 40px auto 70px;
    padding: 0 20px;
}

.create-recipe-card {
    background: #ffffff;
    border: 1px solid #e7e4dc;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    padding: 36px;
}

.create-recipe-header {
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid #ece8df;
}

.create-recipe-header h1 {
    margin: 0 0 8px;
    font-size: 40px;
    line-height: 1.1;
}

.create-recipe-header p {
    margin: 0;
    color: #666666;
    font-size: 16px;
}

.frm_forms .frm_form_field label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: #2e2e2e;
}

.frm_forms input[type="text"],
.frm_forms input[type="number"],
.frm_forms input[type="email"],
.frm_forms textarea,
.frm_forms select {
    width: 100%;
    border: 1px solid #d9d9d2;
    border-radius: 12px;
    background: #fcfbf8;
    padding: 14px 16px;
    font-size: 15px;
    transition: all 0.2s ease;
}

.frm_forms textarea {
    min-height: 160px;
    resize: vertical;
}

.frm_forms input:focus,
.frm_forms textarea:focus,
.frm_forms select:focus {
    border-color: #78b4be;
    box-shadow: 0 0 0 3px rgba(120, 180, 190, 0.18);
    outline: none;
    background: #ffffff;
}

.frm_forms .frm_submit button,
.frm_forms .frm_button_submit {
    background: #78b4be;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.frm_forms .frm_submit button:hover,
.frm_forms .frm_button_submit:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

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

.annelien-breadcrumb {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a7f73;
    background: rgba(255, 255, 255, 0.75);
    padding: 8px 14px;
    border-radius: 30px;
    margin-bottom: 18px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    word-spacing: 6px;
}

.annelien-breadcrumb a {
    color: #6f6257;
    text-decoration: none;
    transition: all 0.25s ease;
}

.annelien-breadcrumb a:hover {
    color: #c6a27a;
}

.annelien-breadcrumb span,
.annelien-breadcrumb strong {
    color: #1f1a17;
    font-weight: 500;
}

/* ===============================
   SPACING HELPERS
================================= */

.section-tight {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.section-large {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* ===============================
   REMOVE DIVI SHADOWS / BORDERS
================================= */

.et_pb_column {
    box-shadow: none !important;
}

/* ===============================
   SUBTLE ANIMATIONS
   Do not animate every module globally,
   because it breaks headers and layouts.
================================= */

.et_pb_module {
    transition: all 0.3s ease;
}

.et_pb_module:hover {
    transform: none;
}

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

@media (max-width: 980px) {
    .ap-custom-header-row {
        min-height: auto;
        padding: 14px 18px !important;
        flex-wrap: wrap;
        gap: 12px;
    }

    .ap-custom-header-row .et_pb_column {
        width: 100% !important;
        justify-content: center !important;
        margin-bottom: 0 !important;
    }

    .ap-custom-header-row .et_pb_column:nth-child(1),
    .ap-custom-header-row .et_pb_column:nth-child(2),
    .ap-custom-header-row .et_pb_column:nth-child(3) {
        justify-content: center !important;
    }

    .ap-custom-header-row .et_pb_image img {
        max-height: 64px;
    }

    .ap-header-actions {
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .ap-header-member {
        min-height: 34px;
        padding: 8px 14px;
    }
}

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

@media (max-width: 768px) {
    body:not(.et-fb) .et_pb_section:not(.ap-custom-header-section) .et_pb_row {
        width: 92%;
    }

    h1 {
        font-size: 28px;
    }

    .fullwidth-hero {
        height: 50vh;
    }

    .et_pb_button {
        width: 100%;
        text-align: center;
    }

    .create-recipe-card {
        padding: 24px;
    }

    .create-recipe-header h1 {
        font-size: 30px;
    }
}
/* ===============================
   ANNELIEN FOOTER SIGNUP FORM
   Formidable Form ID 5
================================= */

.ap-footer-signup-form {
    width: min(92vw, 1100px) !important;
    max-width: 1100px !important;
    margin: 0 auto 60px !important;
}

/* Force Formidable container full width */
.ap-footer-signup-form #frm_form_5_container,
.ap-footer-signup-form #frm_form_5_container form,
.ap-footer-signup-form #frm_form_5_container fieldset {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Override Formidable grid layout */
.ap-footer-signup-form #frm_form_5_container .frm_fields_container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Each field full width */
.ap-footer-signup-form #frm_form_5_container .frm_form_field {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

/* Hide labels if you are using placeholders */
.ap-footer-signup-form #frm_form_5_container .frm_primary_label {
    display: none !important;
}

/* Inputs */
.ap-footer-signup-form #frm_form_5_container input[type="text"],
.ap-footer-signup-form #frm_form_5_container input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 78px !important;
    min-height: 78px !important;
    border: 2px solid #6f7884 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #2f2f2f !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    padding: 0 28px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Placeholder text */
.ap-footer-signup-form #frm_form_5_container input::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}

/* Submit area */
.ap-footer-signup-form #frm_form_5_container .frm_submit {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
}

/* Submit button */
.ap-footer-signup-form #frm_form_5_container .frm_submit button,
.ap-footer-signup-form #frm_form_5_container .frm_button_submit {
    min-width: 200px !important;
    height: 82px !important;
    border: none !important;
    border-radius: 28px !important;
    background: #bca392 !important;
    color: #ffffff !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 38px !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.ap-footer-signup-form #frm_form_5_container .frm_submit button:hover,
.ap-footer-signup-form #frm_form_5_container .frm_button_submit:hover {
    background: #a98d7c !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 767px) {
    .ap-footer-signup-form {
        width: 92vw !important;
        margin-bottom: 40px !important;
    }

    .ap-footer-signup-form #frm_form_5_container input[type="text"],
    .ap-footer-signup-form #frm_form_5_container input[type="email"] {
        height: 58px !important;
        min-height: 58px !important;
        font-size: 18px !important;
        padding: 0 20px !important;
    }

    .ap-footer-signup-form #frm_form_5_container .frm_submit {
        justify-content: stretch !important;
    }

    .ap-footer-signup-form #frm_form_5_container .frm_submit button,
    .ap-footer-signup-form #frm_form_5_container .frm_button_submit {
        width: 100% !important;
        min-width: 0 !important;
        height: 62px !important;
        font-size: 22px !important;
        border-radius: 22px !important;
    }
}

/* ===============================
   WOOCOMMERCE SHOP CATEGORY PREVIEWS
================================= */
body.woocommerce-shop #left-area > .woocommerce-result-count,
body.woocommerce-shop #left-area > .woocommerce-ordering,
body.woocommerce-shop #left-area > ul.products,
body.woocommerce-shop #left-area > nav.woocommerce-pagination {
    display: none !important;
}

.ap-shop-category-previews {
    max-width: 1200px;
    margin: 34px auto 60px;
}

.ap-shop-category-section {
    padding: 34px 0 42px;
    border-top: 1px solid #ded9cd;
}

.ap-shop-category-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.ap-shop-category-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.ap-shop-category-heading h2 {
    margin: 0;
    font-size: 34px;
    line-height: 1.2;
}

.ap-shop-category-heading a {
    color: #77784e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.ap-shop-category-heading a:hover {
    color: #4b4c2f;
}

.ap-shop-category-previews .woocommerce ul.products {
    margin-bottom: 0;
}

.ap-shop-category-previews .woocommerce ul.products li.product {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .ap-shop-category-previews {
        margin-top: 24px;
    }

    .ap-shop-category-section {
        padding: 28px 0 34px;
    }

    .ap-shop-category-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .ap-shop-category-heading h2 {
        font-size: 28px;
    }
}


/* Hide the original mixed WooCommerce loop below the grouped previews. */
body.woocommerce-shop #left-area .woocommerce-result-count,
body.woocommerce-shop #left-area .woocommerce-ordering,
body.woocommerce-shop #left-area nav.woocommerce-pagination,
body.woocommerce-shop #left-area .woocommerce-pagination,
body.woocommerce-shop #left-area ul.products:not(.ap-shop-category-previews ul.products) {
    display: none !important;
}

/* Keep the three desktop preview cards balanced across the full row. */
@media (min-width: 981px) {
    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product {
        width: 30.75% !important;
        margin-right: 3.8% !important;
        clear: none !important;
    }

    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product:nth-child(3n) {
        margin-right: 0 !important;
    }
}

/* Divi uses a grid for product shortcodes; make this a true three-column row. */
@media (min-width: 981px) {
    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.woocommerce-shop .ap-shop-category-previews .woocommerce.columns-3 ul.products li.product {
        width: 100% !important;
        margin-right: 0 !important;
    }
}
/* September 2026: responsive footer and recipe hero. */
body.single-recipe:not(.et-fb) .et-l--body .et_pb_row_0_tb_body { margin-top: 0 !important; }
body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { display: grid !important; grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr)); gap: 36px !important; align-items: start; }
body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer > .et_pb_column { width: auto !important; max-width: 100% !important; min-width: 0; margin: 0 !important; }
footer.et-l--footer h4 { font-size: 25px; line-height: 1.25; }
footer.et-l--footer p { font-size: 15px; line-height: 1.8; }
footer.et-l--footer .et_pb_text_inner a { display: inline-block; padding: 5px 0; overflow-wrap: normal; word-break: normal; }
footer.et-l--footer #frm_form_5_container { margin-top: 22px; }
footer.et-l--footer #frm_form_5_container fieldset { padding: 0; }
footer.et-l--footer #frm_form_5_container .frm_fields_container { display: grid; grid-template-columns: 1fr; gap: 14px; }
footer.et-l--footer #frm_form_5_container .frm_form_field { margin: 0 !important; min-width: 0; }
footer.et-l--footer #frm_form_5_container input { min-height: 54px; font-size: 16px; border-radius: 10px; }
footer.et-l--footer #frm_form_5_container .frm_submit { margin: 0; }
footer.et-l--footer #frm_form_5_container .frm_button_submit { background: #403c33 !important; color: #fff !important; border: 1px solid #403c33 !important; border-radius: 999px !important; padding: 14px 26px !important; font-size: 16px !important; min-height: 48px; box-shadow: none !important; }
footer.et-l--footer #frm_form_5_container .frm_button_submit:hover { background: #2c2923 !important; }
@media (max-width:980px) {
 body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_column_0_tb_footer { grid-column: 1 / -1; }
 body.single-recipe:not(.et-fb) .et-l--body .et_pb_row_0_tb_body { margin-bottom: 0 !important; padding: 38px 20px !important; width: 100% !important; }
 body.single-recipe .et_pb_heading_0_tb_body h1 { font-size: clamp(28px,7.2vw,42px) !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
}
@media (max-width:600px) {
 body:not(.et-fb) footer.et-l--footer .et_pb_row_0_tb_footer { grid-template-columns: minmax(0,1fr); gap: 24px !important; }
 footer.et-l--footer .et_pb_image img { max-width: 290px; width: 100%; }
 footer.et-l--footer #frm_form_5_container .frm_button_submit { width: 100% !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_section { padding: 40px 0 24px !important; }
 body:not(.et-fb) footer.et-l--footer .et_pb_row_1_tb_footer, body:not(.et-fb) footer.et-l--footer .et_pb_row_2_tb_footer { padding: 12px 0 !important; }
}

@media (max-width:980px) { body.single-recipe #et-boc .et-l--body .et_pb_row.et_pb_row_0_tb_body { margin: 0 auto !important; padding: 38px 20px !important; width: 100% !important; } }

/* Mobile recipe facts: compact cards, with room for longer serving descriptions. */
@media (max-width:980px) {
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; width:92% !important; padding:0 !important; margin:0 auto 10px !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body)::after { display:none !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) > .et_pb_column { width:auto !important; min-width:0; margin:0 !important; padding:14px !important; background:#eeeee3; border:1px solid #d9dac8; border-radius:10px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) .et_pb_text { margin:0 !important; padding:0 !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) p { margin:0 !important; padding:0 !important; font-size:14px !important; line-height:1.65 !important; color:#514f44; overflow-wrap:normal; word-break:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) b { color:#656a46; font-weight:700; font-size:13px; white-space:nowrap; display:inline-block; margin-right:4px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) i { font-style:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_9_tb_body { grid-column:1 / -1; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_10_tb_body:not(:has(.et_pb_module)) { display:none !important; }
}

@media(max-width:360px){ body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body){grid-template-columns:minmax(0,1fr);} }

/* Desktop recipe facts: matching cards in a four-column layout. */
@media (min-width:981px) {
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px !important; width:90% !important; padding:0 !important; margin:0 auto 16px !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body)::after { display:none !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) > .et_pb_column { width:auto !important; min-width:0; margin:0 !important; padding:22px !important; background:#eeeee3; border:1px solid #d9dac8; border-radius:12px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) .et_pb_text { margin:0 !important; padding:0 !important; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) p { margin:0 !important; padding:0 !important; font-size:16px !important; line-height:1.65 !important; color:#514f44; overflow-wrap:normal; word-break:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) b { color:#656a46; font-weight:700; font-size:15px; white-space:nowrap; display:inline-block; margin-right:4px; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_3_tb_body,.et_pb_row_4_tb_body) i { font-style:normal; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_9_tb_body { grid-column:3 / 5; }
 body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_4_tb_body > .et_pb_column_10_tb_body:not(:has(.et_pb_module)) { display:none !important; }
}


/* Recipe header must stick to the viewport, not an overflow container. */
body.single-recipe:not(.et-fb) { overflow-x:clip !important; overflow-y:visible !important; }
body.single-recipe:not(.et-fb) #page-container { overflow:visible !important; }
body.single-recipe:not(.et-fb) header.et-l--header { position:sticky !important; top:0 !important; z-index:9990; }
body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:32px !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_row_0_tb_body { margin:0 auto !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body .et_pb_section_1_tb_body { margin:0 !important; padding-top:32px !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_1_tb_body,.et_pb_row_2_tb_body) { margin:0 auto 24px !important; padding:0 !important; }
body.single-recipe:not(.et-fb) #et-boc .et-l--body :is(.et_pb_row_1_tb_body,.et_pb_row_2_tb_body) :is(.et_pb_column,.et_pb_module) { margin-bottom:0 !important; }
body.single-recipe .ap-recipe-actions, body.single-recipe .ap-recipe-breadcrumb { margin:0 !important; }
body.single-recipe .ap-recipe-actions__message:empty { display:none; }
@media (max-width:782px) { body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:46px !important; } }
@media (max-width:600px) { body.single-recipe.admin-bar:not(.et-fb) header.et-l--header { top:0 !important; } }

/* Recipe tips: aligned editorial heading and a lighter inset panel. */
body.single-recipe:not(.et-fb) #et-boc .et_pb_row_5_tb_body { padding:28px !important; border:1px solid #d9dac8 !important; border-radius:16px !important; background:#eeeee3 !important; }
body.single-recipe #et-boc .et_pb_blurb_0_tb_body { margin:0 0 20px !important; padding:0 0 16px !important; border-bottom:1px solid #d0d2bc; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_main_blurb_image { display:none !important; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_blurb_content { max-width:none !important; }
body.single-recipe .et_pb_blurb_0_tb_body .et_pb_blurb_container { display:block !important; padding:0 !important; }
body.single-recipe #et-boc .et_pb_blurb_0_tb_body .et_pb_module_header { text-align:left !important; margin:0 !important; padding:0 !important; color:#53583b !important; font-size:28px !important; line-height:1.25 !important; letter-spacing:0 !important; }
body.single-recipe #et-boc .et_pb_text_9_tb_body { margin:0 !important; }
body.single-recipe .ap-tips-preview__summary, body.single-recipe .ap-recipe-field--tips .ap-recipe-field-value { background:#f9f7f2 !important; border:1px solid #dedfce !important; border-radius:12px !important; box-shadow:none !important; padding:24px !important; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__title { color:#53583b; font-size:22px; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle { background:#656a46; color:#fff; border-color:#656a46; margin-top:18px; font-size:14px; }
body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle:hover { background:#494e31; color:#fff; }
@media(max-width:767px) {
 body.single-recipe:not(.et-fb) #et-boc .et_pb_row_5_tb_body { padding:18px !important; }
 body.single-recipe #et-boc .et_pb_blurb_0_tb_body .et_pb_module_header { font-size:24px !important; }
 body.single-recipe .ap-tips-preview__summary, body.single-recipe .ap-recipe-field--tips .ap-recipe-field-value { padding:18px !important; }
}

body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle, body.single-recipe .ap-tips-preview-module .ap-tips-preview__toggle span { color:#fff !important; }

/* Legal policy navigation polish — 9 September 2026 */
#et-boc .ap-legal .ap-toc ol{list-style:none;padding-left:0}
#et-boc .ap-legal h2[id]{padding-top:104px;margin-top:-42px;border-top:0}

/* Annelien commerce styling — 9 September 2026 */
body.woocommerce-cart #main-content,body.woocommerce-checkout #main-content{background:#faf8f3}
body.woocommerce-cart #main-content .et_pb_section,body.woocommerce-checkout #main-content .et_pb_section{background:transparent}
body.woocommerce-cart #main-content .et_pb_row,body.woocommerce-checkout #main-content .container{width:90%;max-width:1200px}
body.woocommerce-cart #main-content .et_pb_section{padding:48px 0 64px}
body.woocommerce-cart #main-content .et_pb_row{padding:0}
body.woocommerce-checkout #main-content .container{padding-top:48px;padding-bottom:64px}
body.woocommerce-checkout #main-content #left-area{width:100%;padding:0}
body.woocommerce-checkout #main-content .container:before{display:none}
body.woocommerce-checkout #main-content #sidebar{display:none}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content{color:#49463d;font-size:16px;line-height:1.7}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,4vw,46px);line-height:1.2;color:#35382a;margin:0 0 30px;padding:0}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content h2{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.3;color:#41482f;letter-spacing:0;text-transform:none}
#main-content .wc-block-components-sidebar-layout{gap:32px;align-items:flex-start}
#main-content .wc-block-components-sidebar-layout .wc-block-components-main{width:calc(65% - 16px);padding:28px;background:#fffdf8;border:1px solid #e4dece;border-radius:18px;box-shadow:0 10px 32px #393a2510}
#main-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:calc(35% - 16px);padding:24px;background:#f0f1e6;border:1px solid #dce0cd;border-radius:18px}
#main-content .wc-block-cart__totals-title{padding:0 0 20px;text-align:left}
#main-content .wc-block-cart-items{border:0;margin:0}
#main-content .wc-block-cart-items th{color:#6b6e5d;font-size:12px;letter-spacing:.08em;padding-top:0}
#main-content .wc-block-cart-items td{border-color:#e4dece;padding-top:24px;padding-bottom:24px}
#main-content .wc-block-cart-item__image img,#main-content .wc-block-components-order-summary-item__image img{border-radius:10px}
#main-content .wc-block-components-product-name{color:#4d5939;font-weight:600;text-decoration:none;line-height:1.5}
#main-content .wc-block-components-product-metadata{font-size:14px;line-height:1.6;color:#68665d}
#main-content .wc-block-components-sale-badge{background:#e9ecdd;color:#52603a;border:0;border-radius:5px;padding:4px 7px;font-size:11px}
#main-content .wc-block-components-totals-footer-item{color:#3c432e;font-weight:600}
#main-content .wc-block-components-totals-wrapper{border-color:#dce0cd}
#main-content .wc-block-components-checkout-step{margin-bottom:28px}
#main-content .wc-block-components-checkout-step__title{padding-bottom:8px}
#main-content .wc-block-components-text-input input,#main-content .wc-blocks-components-select__select,#main-content .wc-block-components-textarea{border:1px solid #c9c8b8;border-radius:9px;background:#fff;color:#3f4137;box-shadow:none}
#main-content .wc-block-components-text-input label,#main-content .wc-blocks-components-select__label{color:#626657}
#main-content .wc-block-components-text-input input:focus,#main-content .wc-blocks-components-select__select:focus,#main-content .wc-block-components-textarea:focus{border-color:#69764c;box-shadow:0 0 0 2px #69764c26;outline:0}
#main-content .wc-block-components-text-input.has-error input{border-color:#a43e32}
#main-content .wc-block-components-address-card,#main-content .wc-block-components-radio-control-accordion-option{border:1px solid #d9ddca;border-radius:10px;background:#f7f7ee}
#main-content .wc-block-components-radio-control{border-radius:10px}
#main-content .wc-block-components-checkbox__input,#main-content .wc-block-components-radio-control__input{accent-color:#59653e}
#main-content .wc-block-components-checkout-order-summary__title{font-family:'Playfair Display',Georgia,serif;color:#41482f;font-size:25px}
#main-content .wc-block-components-order-summary{border-color:#dce0cd}
#main-content .wc-block-components-button:not(.is-link){background:#37352b;color:#fff;border:1px solid #37352b;border-radius:10px;min-height:52px;padding:14px 20px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:none}
#main-content .wc-block-components-button:not(.is-link):hover{background:#56623e;border-color:#56623e;color:#fff}
#main-content .wc-block-components-button:disabled{opacity:.55;cursor:not-allowed}
#main-content .wc-block-components-button:focus-visible,#main-content .wc-block-components-panel__button:focus-visible{outline:3px solid #8a966b;outline-offset:3px}
body:is(.woocommerce-cart,.woocommerce-checkout) #main-content a:not(.wc-block-components-button):not(.button){color:#52623a;text-underline-offset:3px}
body.woocommerce #main-content .woocommerce-message,body.woocommerce #main-content .woocommerce-info{background:#edf0e2!important;color:#3f4930!important;border:1px solid #d7dec7;border-left:4px solid #748452;border-radius:10px;padding:20px 24px!important;line-height:1.6}
body.woocommerce #main-content .woocommerce-message:before,body.woocommerce #main-content .woocommerce-info:before{display:none}
body.woocommerce #main-content .woocommerce-message a.button,body.woocommerce #main-content .woocommerce-info a.button{color:#fff!important;background:#56623e!important;border:0!important;border-radius:8px;font-size:14px;padding:10px 18px!important}
body.woocommerce #main-content .wc-block-components-notice-banner.is-success,body.woocommerce #main-content .wc-block-components-notice-banner.is-info{background:#edf0e2;border-color:#d7dec7;color:#3f4930;border-radius:10px}
body.woocommerce-checkout #main-content .woocommerce-order,body.woocommerce-order-pay #main-content .entry-content>.woocommerce{background:#fffdf8;padding:clamp(20px,3vw,36px);border:1px solid #e4dece;border-radius:18px}
body.woocommerce-checkout #main-content .woocommerce-thankyou-order-received{font-size:20px;color:#4c5b35;margin-bottom:24px}
body.woocommerce-checkout #main-content ul.order_details{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0 32px;padding:22px!important;background:#eef0e3;border-radius:12px}
body.woocommerce-checkout #main-content ul.order_details li{float:none;flex:1 1 150px;border:0;margin:0;padding:0;line-height:1.6;color:#646954}
body.woocommerce-checkout #main-content ul.order_details li strong{font-size:15px;color:#3d452d;overflow-wrap:anywhere}
body.woocommerce-checkout #main-content table.shop_table{border:1px solid #e1ddcf;border-radius:10px;background:#fff;overflow:hidden;border-spacing:0}
body.woocommerce-checkout #main-content table.shop_table th,body.woocommerce-checkout #main-content table.shop_table td{padding:14px 18px;border-color:#e1ddcf}
body.woocommerce-checkout #main-content table.shop_table thead{background:#eef0e3;color:#444d32}
body.woocommerce-checkout #main-content .woocommerce-customer-details address{padding:22px;background:#f4f3eb;border:1px solid #e1ddcf;border-radius:12px;line-height:1.8}
body.woocommerce-checkout #main-content .woocommerce .button,body.woocommerce-checkout #main-content input[type=submit]{background:#37352b;color:#fff;border:1px solid #37352b;border-radius:9px;min-height:48px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1.5}
body.woocommerce-checkout #main-content .woocommerce .button:after{display:none}
body.woocommerce-order-pay .blockUI.blockMsg{background:#fffdf8!important;color:#41482f!important;border:1px solid #d8dcc9!important;border-radius:14px!important;padding:24px!important;box-shadow:0 16px 50px #33332226!important}
@media(max-width:782px){
#main-content .wc-block-components-sidebar-layout{gap:24px}
#main-content .wc-block-components-sidebar-layout .wc-block-components-main,#main-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%;padding:20px;border-radius:14px}
body.woocommerce-cart #main-content .et_pb_section{padding:28px 0 40px}
body.woocommerce-checkout #main-content .container{padding-top:28px;padding-bottom:40px}
#main-content .wc-block-cart-items td{padding-top:16px;padding-bottom:16px}
body.woocommerce #main-content .woocommerce-message a.button{float:none;display:inline-block;margin:0 0 12px}
body.woocommerce-checkout #main-content table.shop_table th,body.woocommerce-checkout #main-content table.shop_table td{padding:12px;overflow-wrap:anywhere}
body.woocommerce-checkout #main-content ul.order_details{gap:18px;padding:18px!important}
}
