/* Retain the existing brand palette and typefaces; refine only known modules. */
body {
    --yunzy-focus: #245b30;
    --yunzy-field-border: #738578;
}
.yunzy-product-page #main-content .et_pb_section_0 h1 {
    font-size: clamp(2rem, 3.9vw, 3.125rem) !important;
    line-height: 1.18 !important;
    text-wrap: balance;
    padding-bottom: 16px;
}
.yunzy-product-page #main-content .et_pb_section_0 .et_pb_text_1 {
    max-width: 760px;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.65 !important;
}
.yunzy-product-page .yz-tab-btn {
    min-height: 44px;
    line-height: 1.4;
    white-space: normal;
}
.yunzy-product-page .yz-info-col p {
    line-height: 1.65;
}
/* Clip the kit's entrance animation without creating a nested scroll area. */
.yunzy-product-page .v12-kit-section {
    overflow-x: clip;
    overflow-y: visible;
}
/* V16's full-bleed module must exclude the browser scrollbar width. */
@media (min-width: 981px) {
    body.yunzy-product-page:not(.et_fb_builder_active) .v16-apps-section {
        width: calc(100vw - var(--yunzy-scrollbar-width, 15px)) !important;
    }
}
#et-boc :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--yunzy-focus) !important;
    outline-offset: 4px;
}
.wpcf7 :is(input:not([type="submit"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, select) {
    border: 1px solid var(--yunzy-field-border) !important;
    font-size: 16px !important;
    min-height: 44px;
}
.wpcf7 input[type="file"]::file-selector-button {
    min-height: 44px;
    padding: 8px 14px;
    margin-right: 12px;
    border: 1px solid var(--yunzy-field-border);
    border-radius: 6px;
    background: #fff;
    color: #245b30;
    font: inherit;
    cursor: pointer;
}
.wpcf7 .wpcf7-not-valid-tip {
    line-height: 1.5;
    margin-top: 6px;
}
#et-boc .wpcf7 input.wpcf7-submit {
    background-color: #1c5825 !important;
    color: #fff !important;
    border-color: #1c5825 !important;
}
#et-boc .wpcf7 input.wpcf7-submit:hover,
#et-boc .wpcf7 input.wpcf7-submit:focus-visible {
    background-color: #123a18 !important;
    color: #fff !important;
}
.yz-marquee-container:hover .yz-marquee-track,
.yz-marquee-container-reverse:hover .yz-marquee-track-reverse,
.yz-marquee-container:focus-within .yz-marquee-track,
.yz-marquee-container-reverse:focus-within .yz-marquee-track-reverse {
    animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
    .yz-marquee-track,
    .yz-marquee-track-reverse {
        animation: none !important;
        transform: none !important;
    }
    .yz-marquee-container,
    .yz-marquee-container-reverse {
        overflow-x: auto;
    }
    #et-boc :where(a, button, input, textarea, select) {
        transition: none !important;
    }
}
/* Avoid 100vw including the scrollbar and widening the document. */
.yz-gallery-section {
    width: 100% !important;
    max-width: 100%;
    left: 0 !important;
    margin-left: 0 !important;
}
.wpcf7 input[type="file"] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
@media (max-width: 980px) {
    /* Desktop mega-menu positioning and opacity must not leak into mobile. */
    .et_pb_menu .mobile_nav .et_mobile_menu {
        position: fixed !important;
        top: 60px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        max-height: calc(100vh - 76px) !important;
        max-height: calc(100dvh - 76px) !important;
        margin: 0 !important;
        padding: 12px !important;
        transform: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    .et_pb_menu .et_mobile_menu .sub-menu,
    .et_pb_menu .et_mobile_menu .mega-cards-container {
        position: static !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
    .et_pb_menu .et_mobile_menu .yz-mega-img-wrap,
    .et_pb_menu .et_mobile_menu .yz-mega-content p,
    .et_pb_menu .et_mobile_menu .yz-mega-btn,
    .et_pb_menu .et_mobile_menu .mega-header-section,
    .et_pb_menu .et_mobile_menu .mega-card-img,
    .et_pb_menu .et_mobile_menu .mega-card-desc,
    .et_pb_menu .et_mobile_menu .mega-card-action-btn {
        display: none !important;
    }
    #et-boc .et_pb_menu .mobile_nav .et_mobile_menu .mega-dropdown-grid .mega-card-img {
        display: none !important;
    }
    .et_pb_menu .et_mobile_menu .yz-mega-item,
    .et_pb_menu .et_mobile_menu .mega-card-link {
        display: block !important;
        height: auto !important;
        min-height: 44px;
        padding: 12px !important;
        margin: 0 !important;
    }
    .et_pb_menu .et_mobile_menu .mega-card-text {
        padding: 0 !important;
    }
    .et_pb_menu .et_mobile_menu h4 {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .et_pb_menu .mobile_menu_bar:focus-visible {
        outline: 3px solid var(--yunzy-focus);
        outline-offset: 4px;
    }
    .yz-master-container {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .yz-gallery-col,
    .yz-info-col {
        min-width: 0;
        max-width: 100%;
    }
    .yz-tab-controls {
        flex-wrap: wrap;
    }
}
@media (max-width: 767px) {
    .yunzy-contact-page #main-content h1 {
        font-size: clamp(2rem, 8vw, 2.75rem) !important;
        line-height: 1.2 !important;
    }
    #custom-scroll-top-container.custom-back-to-top-pill {
        bottom: 16px !important;
    }
    .yunzy-contact-page #main-content .et_pb_section_0 > .et_pb_row_0 {
        width: 92% !important;
    }
    .yunzy-contact-page #main-content .et_pb_section_0 > .et_pb_row_0 > .et_pb_column_0 {
        padding: 24px 20px !important;
    }
}
@media (min-width: 981px) {
    .et_pb_menu .et-menu .yz-tower-mega > .sub-menu,
    .et_pb_menu .et-menu .yz-tower-mega:hover > .sub-menu,
    .et_pb_menu .et-menu .yz-tower-mega:focus-within > .sub-menu {
        position: fixed !important;
        top: 60px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
    }
    .et-menu .growing-guide > .mega-dropdown-grid {
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        max-width: none !important;
    }
}
.yunzy-soil-note {
    display: flex;
    min-height: 300px;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px, 5vw, 56px);
    background: #f2eee6;
    color: #34452e;
}
.yunzy-image-notice {
    max-width: 70ch;
    margin: 20px auto;
    padding: 14px 18px !important;
    border-left: 3px solid #9d7835;
    background: #f4efdf;
    color: #4e442e;
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
}
.yunzy-soil-note strong { font-size: clamp(24px, 3vw, 36px); line-height: 1.2; }
.yunzy-soil-note p { margin-top: 16px; max-width: 34ch; line-height: 1.6; }
.yz-thumb[role="button"]:focus-visible,
.yz-tab-btn:focus-visible { outline: 3px solid #245a2a; outline-offset: 4px; }
.page-id-28028 .et_pb_promo_description a {
    color: #245a2a;
    text-decoration: underline;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}
