        :where(
        button,
        input[type="submit"],
        .wp-block-button__link
        ):not(.wp-color-result, .wc-block-mini-cart__button, .wpc-range-clear, .wpc-search-clear-icon) {
        font-size: 1rem;
        line-height: 1.2;
        padding: 0.6em 1.2em;
        border-radius: 4px;
        cursor: pointer;
        transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s;
        display: inline-block;
        text-decoration: none;
        border: none;
        background-color: var(--rc-clay-brown);
        color: #fff;
        font: inherit;
        }

        :where(
        .button-primary,
        form button,
        form input[type="submit"],
        form .wpcf7-submit
        ):not(.wp-color-result) {
        background-color: var(--rc-clay-brown) !important;
        color: #fff !important;
        border: none;
        }
        :where(
        .button-primary:hover,
        .button-primary:active,
        form button:hover,
        form input[type="submit"]:hover,
        form .wpcf7-submit:hover,
        form button:active,
        form input[type="submit"]:active,
        form .wpcf7-submit:active,
        button:hover,
        input[type="submit"]:hover,
        .wp-block-button__link:hover
        ):not(.wp-color-result) {
        color: var(--rc-charcoal-green) !important;
        }

        .mce-toolbar button,
        .mce-toolbar .mce-btn,
        .mce-menubar button,
        .quicktags-toolbar .ed_button,
        .wp-editor-tabs button {
        background-color: #f7f7f7 !important;
        background-image: linear-gradient(to bottom, #fcfcfc, #f1f1f1) !important;
        border: 1px solid #ccc !important;
        color: #555 !important;
        box-shadow: 0 1px 0 #ccc !important;
        padding: 2px 6px !important;
        }

        /* Keep TinyMCE icon fonts working — overrides the global Mulish rule */
        .mce-widget.mce-btn i.mce-ico,
        .mce-widget.mce-btn i.mce-ico::before,
        .mce-toolbar .mce-widget.mce-btn i.mce-ico,
        .mce-toolbar .mce-widget.mce-btn i.mce-ico::before,
        i.mce-ico,
        i.mce-ico::before {
        font-family: dashicons !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-variant: normal !important;
        text-transform: none !important;
        line-height: 1 !important;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        speak: none !important;
        }

        [class*="mce-i-"]::before {
        font-family: dashicons !important;
        }

        :where(.button-secondary):not(.wp-color-result){
        background: transparent;
        color: var(--rc-clay-brown);
        border: 2px solid var(--rc-clay-brown);
        }
        :where(.button-secondary:hover, .button-secondary:active):not(.wp-color-result){
        color: var(--rc-charcoal-green);
        border-color: var(--rc-charcoal-green);
        background: transparent;
        }

        /* Global border:none kills border-style, hiding the editor's outline border */
        :where(.wp-block-button.is-style-outline) .wp-block-button__link {
        background: #fff !important;
        color: var(--rc-clay-brown) !important;
        border: 2px solid var(--rc-clay-brown) !important;
        }
        :where(.wp-block-button.is-style-outline) .wp-block-button__link:hover,
        :where(.wp-block-button.is-style-outline) .wp-block-button__link:focus {
        background: var(--rc-clay-brown) !important;
        color: #fff !important;
        }

        :where(
        button:focus-visible,
        input[type="submit"]:focus-visible,
        .wp-block-button__link:focus-visible,
        .button-primary:focus-visible,
        .button-secondary:focus-visible
        ):not(.wp-color-result){
        outline: none;
        box-shadow: 0 0 0 2px rgba(44,54,57,.25);
        }

        button:disabled,
        input[type="submit"]:disabled,
        .wp-block-button__link:disabled {
        opacity: .6;
        cursor: not-allowed;
        }


form label,
        label {
        display: block;
        margin-bottom: .35rem;
        font-weight: 600;
        font-size: .95rem;
        color: var(--rc-charcoal-green);
        }

        input[type="text"],
        input[type="email"],
        input[type="password"],
        input[type="number"],
        input[type="url"],
        input[type="tel"],
        textarea,
        select {
        width: 100%;
        max-width: 100%;
        padding: .7em .9em;
        margin-bottom: 1rem;
        border: 1px solid var(--rc-warm-beige);
        border-radius: 4px;
        font: inherit;
        background: #fff;
        color: var(--rc-deep-black-green);
        box-sizing: border-box;
        transition: border-color .2s ease, box-shadow .2s ease;
        }

        input:focus,
        textarea:focus,
        select:focus {
        outline: none;
        border-color: var(--rc-clay-brown);
        box-shadow: 0 0 0 2px rgba(162,123,92,.22);
        }

        input[type="checkbox"],
        input[type="radio"] {
        margin-right: .5rem;
        }

        .wp-block-navigation__submenu-container{
        min-width: 260px;
        white-space: nowrap;
        background: #fff;
        border: 1px solid var(--rc-clay-brown);
        padding: 0;
        --wp--style--block-gap: 0;
        }

        .wp-block-navigation__submenu-container .wp-block-navigation-item{ margin: 0; }

        .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
        display: block;
        padding: .65em 1em;
        line-height: 1.2;
        background: #fff;
        text-decoration: none;
        border-bottom: 1px solid var(--rc-warm-beige);
        }
        .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child .wp-block-navigation-item__content{
        border-bottom: none;
        }

        .wp-block-navigation__submenu-container .wp-block-navigation-item__label{
        color: var(--rc-clay-brown) !important;
        transition: color .2s ease;
        }
        .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{
        color: var(--rc-clay-brown) !important;
        }
        .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
        .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus{
        color: var(--rc-charcoal-green) !important;
        }
        .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label{
        color: inherit !important;
        }

        .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content{
        color: var(--rc-clay-brown) !important;
        transition: color .2s ease;
        }
        .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content:hover,
        .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content:focus{
        color: var(--rc-charcoal-green) !important;
        }
        .wp-block-navigation .wp-block-navigation-item__content svg{
        fill: currentColor;
        color: currentColor;
        }

        header.wp-block-template-part .wp-block-navigation__container{ display:flex; align-items:center; }
        header.wp-block-template-part .wp-block-navigation__container > li{ margin:0; line-height:1; }
        header.wp-block-template-part .wp-block-navigation-item__content{ display:flex; align-items:center; padding-block:0; line-height:1.2; }

        header.wp-block-template-part .wp-block-navigation a.wp-block-navigation-item__content{
        color: var(--rc-clay-brown);
        font-weight: 600;
        text-decoration: none;
        }
        header.wp-block-template-part .wp-block-navigation a.wp-block-navigation-item__content:hover,
        header.wp-block-template-part .wp-block-navigation a.wp-block-navigation-item__content:focus{
        color: var(--rc-deep-black-green);
        text-decoration: none;
        }
        header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__current-menu-item > a,
        header.wp-block-template-part .wp-block-navigation .current-menu-item > a{
        color: var(--rc-clay-brown);
        font-weight: 600;
        }

        header.wp-block-template-part{
        position: sticky;
        top: 0;
        z-index: 9999;
        }

        /* Mobile header: logo + hamburger + cart on one row */
        @media (max-width: 600px){
        header.wp-block-template-part .wp-block-site-logo .custom-logo{
        max-width: 60px;
        height: auto;
        }

        header.wp-block-template-part [data-block-name="woocommerce/customer-account"]{
        display: none;
        }

        header.wp-block-template-part .wp-block-group.is-content-justification-space-between{
        flex-wrap: nowrap;
        }

        header.wp-block-template-part .wp-block-group.is-content-justification-left{
        gap: .5rem;
        }

        /* Cart icon first, hamburger last (closest to the edge) */
        header.wp-block-template-part .wp-block-group.is-content-justification-left nav.wp-block-navigation{
        order: 2;
        }
        header.wp-block-template-part [data-block-name="woocommerce/mini-cart"]{
        order: 1;
        }
        }

/* ===== Mobile Navigation (WP Nav block overlay) ===== */

        /* Overlay container under header */
        .wp-block-navigation__responsive-container.is-menu-open{
        position: fixed;
        inset-inline: 0;
        inset-block-start: var(--rc-header-height);
        height: calc(100dvh - var(--rc-header-height));
        overflow: auto;
        background: var(--rc-ivory);
        z-index: 9998;
        -webkit-overflow-scrolling: touch;
        }

        .wp-block-navigation__responsive-dialog{ padding: 1.25rem; }

        .wp-block-navigation__container{
        display: flex;
        align-items: flex-start;
        gap: .75rem;
        list-style: none;
        padding: 0;
        margin: 0;
        }
        .wp-block-navigation__container > li{
        margin: 0 !important;
        line-height: 1.25 !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content,
        .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content:visited{
        color: var(--rc-deep-black-green) !important;
        font-weight: 600;
        text-decoration: none;
        }
        .wp-block-navigation__responsive-container.is-menu-open nav.has-text-color .wp-block-navigation-item__content{
        color: var(--rc-deep-black-green) !important;
        }
        .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content:hover,
        .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content:focus{
        color: var(--rc-clay-brown) !important;
        text-decoration: underline;
        outline: none;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
        padding: 1rem 1.25rem;
        text-align: left;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        > .wp-block-navigation__responsive-dialog
        .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content{
        display: block;
        padding: .9rem 0;
        font-weight: 700;
        color: var(--rc-clay-brown);
        text-decoration: none;
        }

        :root{
        --rc-nav-gap: 1.2rem;
        --rc-nav-row: 1rem;
        --rc-nav-row-sub: 1.2rem;
        }

        .wp-block-navigation__responsive-container.is-menu-open nav.wp-block-navigation,
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
        --wp--style--block-gap: var(--rc-nav-gap) !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        display: flex !important;
        flex-direction: column !important;
        gap: var(--rc-nav-gap) !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        > .wp-block-navigation__responsive-dialog
        .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content{
        display: block !important;
        padding-block: var(--rc-nav-row) !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
        display: block !important;
        padding: var(--rc-nav-row-sub) 0 var(--rc-nav-row-sub) var(--rc-nav-indent) !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
        margin-block: 0 !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
        background: transparent;
        border: 0;
        padding: 0;
        --wp--style--block-gap: 0;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
        display: block;
        padding: .6rem 0 .6rem 1rem;
        background: transparent;
        border: 0;
        color: var(--rc-deep-black-green) !important;
        text-decoration: none;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item__content:hover,
        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item__content:focus{
        color: var(--rc-clay-brown) !important;
        text-decoration: underline;
        outline: none;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item__current-menu-item > a,
        .wp-block-navigation__responsive-container.is-menu-open
        .current-menu-item > a{
        color: var(--rc-clay-brown) !important;
        font-weight: 700;
        text-decoration: none;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item__content svg{
        width: 1em; height: 1em;
        margin-left: .25rem;
        color: currentColor;
        fill: currentColor;
        }

        .wp-block-navigation__responsive-container.is-menu-open,
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation,
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .has-text-align-center,
        .wp-block-navigation__responsive-container.is-menu-open [style*="text-align:center"] {
        text-align: left !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        align-self: stretch !important;
        width: 100% !important;
        }
        .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content {
        display: block !important;
        width: 100% !important;
        padding: .5rem 0;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        padding: .6rem 0 .6rem 1rem;
        text-align: left !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__current-menu-item > a,
        .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a{
        color: var(--rc-clay-brown) !important;
        font-weight: 600;
        }

        :root {
        --rc-nav-pad: 1.25rem;
        --rc-nav-indent: 1rem;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
        padding: 1rem var(--rc-nav-pad) !important;
        }

        /* WP sets overlay alignment via a CSS var on this div; override directly
           since !important beats the var() regardless of its value */
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation,
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        margin: 0 !important;
        padding: 0 !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        > .wp-block-navigation__responsive-dialog
        .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content{
        padding: .5rem 0 !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
        padding: .35rem 0 .35rem var(--rc-nav-indent) !important;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
        position: absolute;
        top: .75rem;
        right: .75rem;
        display: inline-flex;
        align-items: center; justify-content: center;
        width: 40px; height: 40px; padding: 0;
        border: 0; background: transparent;
        color: var(--rc-clay-brown) !important;
        z-index: 10000;
        cursor: pointer;
        }
        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{
        width: 22px; height: 22px;
        }

        .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        display:flex; flex-direction:column; gap:.75rem;
        }
        @media (min-width: 768px){
        header.wp-block-template-part .wp-block-navigation__container{
            display:flex; flex-direction:row; gap:2rem; align-items:center;
        }
        }

.wp-block-column.has-background { background-color: var(--rc-ivory) !important; }

/* Pill styling here (not blog.css/content.css) since pills appear on both
   the blog list and single posts. is-style-pill's default background is
   hardcoded in WP core and can't be changed via the editor UI. */
.is-style-pill a,
.is-style-pill span:not([class], [data-rich-text-placeholder]),
.wp-block-post-terms.taxonomy-category a {
        display: inline-block;
        background-color: var(--rc-warm-beige, #dcd7c9) !important;
        color: var(--rc-charcoal-green, #2c3639) !important;
        font-weight: 600;
        font-size: 0.8rem;
        padding: 0.375rem 0.875rem;
        border-radius: var(--wp--preset--spacing--20, 9999px);
        text-decoration: none;
}
.is-style-pill a:hover,
.wp-block-post-terms.taxonomy-category a:hover {
        background-color: var(--rc-clay-brown, #a27b5c) !important;
        color: #fff !important;
}

footer.wp-block-template-part .wc-block-product-categories-list {
        list-style: none;
        margin: 0;
        padding: 0;
}
footer.wp-block-template-part .wc-block-product-categories-list-item {
        margin: 0;
        padding: 0;
}

@media (max-width: 781px) {
        footer.wp-block-template-part .wp-block-column:has(.wc-block-product-categories) {
                display: none;
        }

        /* is-content-justification-right compiles to align-items:flex-end on this
           vertical flex container, which right-aligns instead of left when stacked */
        footer.wp-block-template-part .wp-block-column .wp-block-group.is-content-justification-right {
                align-items: flex-start !important;
        }
}
